From 927add1b301c9f38808f3d35854d3ce896bff095 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Sat, 19 May 2012 11:12:34 +0000 Subject: adding SpellChecker plugin git-svn-id: http://svn.miranda-ng.org/main/trunk@69 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Updater/Docs/licence_updater.txt | 52 + plugins/Updater/allocations.cpp | 5 + plugins/Updater/allocations.h | 72 + plugins/Updater/bzip2-1.0.3/CHANGES | 327 + plugins/Updater/bzip2-1.0.3/LICENSE | 42 + plugins/Updater/bzip2-1.0.3/Makefile | 217 + plugins/Updater/bzip2-1.0.3/Makefile-libbz2_so | 59 + plugins/Updater/bzip2-1.0.3/README | 215 + .../bzip2-1.0.3/README.COMPILATION.PROBLEMS | 58 + plugins/Updater/bzip2-1.0.3/README.XML.STUFF | 45 + plugins/Updater/bzip2-1.0.3/Y2K_INFO | 34 + plugins/Updater/bzip2-1.0.3/blocksort.c | 1094 + plugins/Updater/bzip2-1.0.3/bz-common.xsl | 39 + plugins/Updater/bzip2-1.0.3/bz-fo.xsl | 276 + plugins/Updater/bzip2-1.0.3/bz-html.xsl | 20 + plugins/Updater/bzip2-1.0.3/bzdiff | 76 + plugins/Updater/bzip2-1.0.3/bzdiff.1 | 47 + plugins/Updater/bzip2-1.0.3/bzgrep | 75 + plugins/Updater/bzip2-1.0.3/bzgrep.1 | 56 + plugins/Updater/bzip2-1.0.3/bzip.css | 74 + plugins/Updater/bzip2-1.0.3/bzip2.1 | 454 + plugins/Updater/bzip2-1.0.3/bzip2.1.preformatted | 399 + plugins/Updater/bzip2-1.0.3/bzip2.c | 2034 + plugins/Updater/bzip2-1.0.3/bzip2.txt | 391 + plugins/Updater/bzip2-1.0.3/bzip2recover.c | 514 + plugins/Updater/bzip2-1.0.3/bzlib.c | 1572 + plugins/Updater/bzip2-1.0.3/bzlib.h | 282 + plugins/Updater/bzip2-1.0.3/bzlib_private.h | 509 + plugins/Updater/bzip2-1.0.3/bzmore | 61 + plugins/Updater/bzip2-1.0.3/bzmore.1 | 152 + plugins/Updater/bzip2-1.0.3/compress.c | 672 + plugins/Updater/bzip2-1.0.3/crctable.c | 104 + plugins/Updater/bzip2-1.0.3/decompress.c | 646 + plugins/Updater/bzip2-1.0.3/dlltest.c | 175 + plugins/Updater/bzip2-1.0.3/dlltest.dsp | 93 + plugins/Updater/bzip2-1.0.3/entities.xml | 9 + plugins/Updater/bzip2-1.0.3/format.pl | 68 + plugins/Updater/bzip2-1.0.3/huffman.c | 205 + plugins/Updater/bzip2-1.0.3/libbz2.001 | 130 + plugins/Updater/bzip2-1.0.3/libbz2.def | 27 + plugins/Updater/bzip2-1.0.3/libbz2.dll | Bin 0 -> 344187 bytes plugins/Updater/bzip2-1.0.3/libbz2.dsp | 130 + plugins/Updater/bzip2-1.0.3/libbz2.dsw | 29 + plugins/Updater/bzip2-1.0.3/libbz2.ilk | Bin 0 -> 311456 bytes plugins/Updater/bzip2-1.0.3/libbz2.plg | 95 + plugins/Updater/bzip2-1.0.3/makefile.msc | 63 + plugins/Updater/bzip2-1.0.3/manual.html | 2540 + plugins/Updater/bzip2-1.0.3/manual.pdf | Bin 0 -> 256905 bytes plugins/Updater/bzip2-1.0.3/manual.ps | 72843 +++++++++++++++++++ plugins/Updater/bzip2-1.0.3/manual.xml | 2964 + plugins/Updater/bzip2-1.0.3/mk251.c | 31 + plugins/Updater/bzip2-1.0.3/randtable.c | 84 + plugins/Updater/bzip2-1.0.3/sample1.bz2 | Bin 0 -> 32348 bytes plugins/Updater/bzip2-1.0.3/sample1.ref | Bin 0 -> 98696 bytes plugins/Updater/bzip2-1.0.3/sample2.bz2 | Bin 0 -> 73732 bytes plugins/Updater/bzip2-1.0.3/sample2.ref | Bin 0 -> 212340 bytes plugins/Updater/bzip2-1.0.3/sample3.bz2 | Bin 0 -> 235 bytes plugins/Updater/bzip2-1.0.3/sample3.ref | 30007 ++++++++ plugins/Updater/bzip2-1.0.3/spewG.c | 54 + plugins/Updater/bzip2-1.0.3/unzcrash.c | 141 + plugins/Updater/bzip2-1.0.3/words0 | 9 + plugins/Updater/bzip2-1.0.3/words1 | 4 + plugins/Updater/bzip2-1.0.3/words2 | 5 + plugins/Updater/bzip2-1.0.3/words3 | 30 + plugins/Updater/bzip2-1.0.3/xmlproc.sh | 114 + plugins/Updater/common.cpp | 72 + plugins/Updater/common.h | 145 + plugins/Updater/conf_comp_dialog.cpp | 204 + plugins/Updater/conf_comp_dialog.h | 8 + plugins/Updater/conf_dialog.cpp | 289 + plugins/Updater/conf_dialog.h | 14 + plugins/Updater/extern.cpp | 524 + plugins/Updater/extern.h | 20 + plugins/Updater/ezxml.c | 967 + plugins/Updater/ezxml.h | 165 + plugins/Updater/icons.cpp | 56 + plugins/Updater/icons.h | 13 + plugins/Updater/options.cpp | 508 + plugins/Updater/options.h | 49 + plugins/Updater/popups.cpp | 212 + plugins/Updater/popups.h | 32 + plugins/Updater/progress_dialog.cpp | 111 + plugins/Updater/progress_dialog.h | 13 + plugins/Updater/resource.h | 57 + plugins/Updater/resource.rc | 6 + plugins/Updater/restart.ico | Bin 0 -> 2550 bytes plugins/Updater/scan.cpp | 396 + plugins/Updater/scan.h | 18 + plugins/Updater/services.cpp | 889 + plugins/Updater/services.h | 78 + plugins/Updater/socket.cpp | 355 + plugins/Updater/socket.h | 20 + plugins/Updater/u.ico | Bin 0 -> 2550 bytes plugins/Updater/ue.ico | Bin 0 -> 2550 bytes plugins/Updater/unzipfile.cpp | 108 + plugins/Updater/updater.cpp | 300 + plugins/Updater/updater.def | 3 + plugins/Updater/updater.h | 19 + plugins/Updater/updater.rc | 213 + plugins/Updater/updater_10.sln | 26 + plugins/Updater/updater_10.vcxproj | 339 + plugins/Updater/updater_10.vcxproj.filters | 214 + plugins/Updater/utils.cpp | 248 + plugins/Updater/utils.h | 20 + plugins/Updater/version.h | 32 + plugins/Updater/version.rc | 33 + plugins/Updater/xmldata.cpp | 495 + plugins/Updater/xmldata.h | 29 + plugins/Updater/zbin/minizip/crypt.h | 131 + plugins/Updater/zbin/minizip/ioapi.c | 246 + plugins/Updater/zbin/minizip/ioapi.h | 200 + plugins/Updater/zbin/minizip/ioapi_mem.c | 270 + plugins/Updater/zbin/minizip/iowin32.c | 389 + plugins/Updater/zbin/minizip/iowin32.h | 28 + plugins/Updater/zbin/minizip/miniunz.c | 648 + plugins/Updater/zbin/minizip/minizip.c | 507 + plugins/Updater/zbin/minizip/mztools.c | 281 + plugins/Updater/zbin/minizip/mztools.h | 31 + plugins/Updater/zbin/minizip/unzip.c | 2125 + plugins/Updater/zbin/minizip/unzip.h | 437 + plugins/Updater/zbin/minizip/zip.c | 2004 + plugins/Updater/zbin/minizip/zip.h | 362 + plugins/Updater/zbin/x32/zlib.lib | Bin 0 -> 10532 bytes plugins/Updater/zbin/x64/zlib.lib | Bin 0 -> 10278 bytes plugins/Updater/zbin/zconf.h | 428 + plugins/Updater/zbin/zlib.h | 1613 + 126 files changed, 137523 insertions(+) create mode 100644 plugins/Updater/Docs/licence_updater.txt create mode 100644 plugins/Updater/allocations.cpp create mode 100644 plugins/Updater/allocations.h create mode 100644 plugins/Updater/bzip2-1.0.3/CHANGES create mode 100644 plugins/Updater/bzip2-1.0.3/LICENSE create mode 100644 plugins/Updater/bzip2-1.0.3/Makefile create mode 100644 plugins/Updater/bzip2-1.0.3/Makefile-libbz2_so create mode 100644 plugins/Updater/bzip2-1.0.3/README create mode 100644 plugins/Updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS create mode 100644 plugins/Updater/bzip2-1.0.3/README.XML.STUFF create mode 100644 plugins/Updater/bzip2-1.0.3/Y2K_INFO create mode 100644 plugins/Updater/bzip2-1.0.3/blocksort.c create mode 100644 plugins/Updater/bzip2-1.0.3/bz-common.xsl create mode 100644 plugins/Updater/bzip2-1.0.3/bz-fo.xsl create mode 100644 plugins/Updater/bzip2-1.0.3/bz-html.xsl create mode 100644 plugins/Updater/bzip2-1.0.3/bzdiff create mode 100644 plugins/Updater/bzip2-1.0.3/bzdiff.1 create mode 100644 plugins/Updater/bzip2-1.0.3/bzgrep create mode 100644 plugins/Updater/bzip2-1.0.3/bzgrep.1 create mode 100644 plugins/Updater/bzip2-1.0.3/bzip.css create mode 100644 plugins/Updater/bzip2-1.0.3/bzip2.1 create mode 100644 plugins/Updater/bzip2-1.0.3/bzip2.1.preformatted create mode 100644 plugins/Updater/bzip2-1.0.3/bzip2.c create mode 100644 plugins/Updater/bzip2-1.0.3/bzip2.txt create mode 100644 plugins/Updater/bzip2-1.0.3/bzip2recover.c create mode 100644 plugins/Updater/bzip2-1.0.3/bzlib.c create mode 100644 plugins/Updater/bzip2-1.0.3/bzlib.h create mode 100644 plugins/Updater/bzip2-1.0.3/bzlib_private.h create mode 100644 plugins/Updater/bzip2-1.0.3/bzmore create mode 100644 plugins/Updater/bzip2-1.0.3/bzmore.1 create mode 100644 plugins/Updater/bzip2-1.0.3/compress.c create mode 100644 plugins/Updater/bzip2-1.0.3/crctable.c create mode 100644 plugins/Updater/bzip2-1.0.3/decompress.c create mode 100644 plugins/Updater/bzip2-1.0.3/dlltest.c create mode 100644 plugins/Updater/bzip2-1.0.3/dlltest.dsp create mode 100644 plugins/Updater/bzip2-1.0.3/entities.xml create mode 100644 plugins/Updater/bzip2-1.0.3/format.pl create mode 100644 plugins/Updater/bzip2-1.0.3/huffman.c create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.001 create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.def create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.dll create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.dsp create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.dsw create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.ilk create mode 100644 plugins/Updater/bzip2-1.0.3/libbz2.plg create mode 100644 plugins/Updater/bzip2-1.0.3/makefile.msc create mode 100644 plugins/Updater/bzip2-1.0.3/manual.html create mode 100644 plugins/Updater/bzip2-1.0.3/manual.pdf create mode 100644 plugins/Updater/bzip2-1.0.3/manual.ps create mode 100644 plugins/Updater/bzip2-1.0.3/manual.xml create mode 100644 plugins/Updater/bzip2-1.0.3/mk251.c create mode 100644 plugins/Updater/bzip2-1.0.3/randtable.c create mode 100644 plugins/Updater/bzip2-1.0.3/sample1.bz2 create mode 100644 plugins/Updater/bzip2-1.0.3/sample1.ref create mode 100644 plugins/Updater/bzip2-1.0.3/sample2.bz2 create mode 100644 plugins/Updater/bzip2-1.0.3/sample2.ref create mode 100644 plugins/Updater/bzip2-1.0.3/sample3.bz2 create mode 100644 plugins/Updater/bzip2-1.0.3/sample3.ref create mode 100644 plugins/Updater/bzip2-1.0.3/spewG.c create mode 100644 plugins/Updater/bzip2-1.0.3/unzcrash.c create mode 100644 plugins/Updater/bzip2-1.0.3/words0 create mode 100644 plugins/Updater/bzip2-1.0.3/words1 create mode 100644 plugins/Updater/bzip2-1.0.3/words2 create mode 100644 plugins/Updater/bzip2-1.0.3/words3 create mode 100644 plugins/Updater/bzip2-1.0.3/xmlproc.sh create mode 100644 plugins/Updater/common.cpp create mode 100644 plugins/Updater/common.h create mode 100644 plugins/Updater/conf_comp_dialog.cpp create mode 100644 plugins/Updater/conf_comp_dialog.h create mode 100644 plugins/Updater/conf_dialog.cpp create mode 100644 plugins/Updater/conf_dialog.h create mode 100644 plugins/Updater/extern.cpp create mode 100644 plugins/Updater/extern.h create mode 100644 plugins/Updater/ezxml.c create mode 100644 plugins/Updater/ezxml.h create mode 100644 plugins/Updater/icons.cpp create mode 100644 plugins/Updater/icons.h create mode 100644 plugins/Updater/options.cpp create mode 100644 plugins/Updater/options.h create mode 100644 plugins/Updater/popups.cpp create mode 100644 plugins/Updater/popups.h create mode 100644 plugins/Updater/progress_dialog.cpp create mode 100644 plugins/Updater/progress_dialog.h create mode 100644 plugins/Updater/resource.h create mode 100644 plugins/Updater/resource.rc create mode 100644 plugins/Updater/restart.ico create mode 100644 plugins/Updater/scan.cpp create mode 100644 plugins/Updater/scan.h create mode 100644 plugins/Updater/services.cpp create mode 100644 plugins/Updater/services.h create mode 100644 plugins/Updater/socket.cpp create mode 100644 plugins/Updater/socket.h create mode 100644 plugins/Updater/u.ico create mode 100644 plugins/Updater/ue.ico create mode 100644 plugins/Updater/unzipfile.cpp create mode 100644 plugins/Updater/updater.cpp create mode 100644 plugins/Updater/updater.def create mode 100644 plugins/Updater/updater.h create mode 100644 plugins/Updater/updater.rc create mode 100644 plugins/Updater/updater_10.sln create mode 100644 plugins/Updater/updater_10.vcxproj create mode 100644 plugins/Updater/updater_10.vcxproj.filters create mode 100644 plugins/Updater/utils.cpp create mode 100644 plugins/Updater/utils.h create mode 100644 plugins/Updater/version.h create mode 100644 plugins/Updater/version.rc create mode 100644 plugins/Updater/xmldata.cpp create mode 100644 plugins/Updater/xmldata.h create mode 100644 plugins/Updater/zbin/minizip/crypt.h create mode 100644 plugins/Updater/zbin/minizip/ioapi.c create mode 100644 plugins/Updater/zbin/minizip/ioapi.h create mode 100644 plugins/Updater/zbin/minizip/ioapi_mem.c create mode 100644 plugins/Updater/zbin/minizip/iowin32.c create mode 100644 plugins/Updater/zbin/minizip/iowin32.h create mode 100644 plugins/Updater/zbin/minizip/miniunz.c create mode 100644 plugins/Updater/zbin/minizip/minizip.c create mode 100644 plugins/Updater/zbin/minizip/mztools.c create mode 100644 plugins/Updater/zbin/minizip/mztools.h create mode 100644 plugins/Updater/zbin/minizip/unzip.c create mode 100644 plugins/Updater/zbin/minizip/unzip.h create mode 100644 plugins/Updater/zbin/minizip/zip.c create mode 100644 plugins/Updater/zbin/minizip/zip.h create mode 100644 plugins/Updater/zbin/x32/zlib.lib create mode 100644 plugins/Updater/zbin/x64/zlib.lib create mode 100644 plugins/Updater/zbin/zconf.h create mode 100644 plugins/Updater/zbin/zlib.h (limited to 'plugins/Updater') diff --git a/plugins/Updater/Docs/licence_updater.txt b/plugins/Updater/Docs/licence_updater.txt new file mode 100644 index 0000000000..1ee28cf3c7 --- /dev/null +++ b/plugins/Updater/Docs/licence_updater.txt @@ -0,0 +1,52 @@ +// This software is Copyright (c) 2005 Scott Ellis (mail@scottellis.com.au) +// http://www.scottellis.com.au +// It is released under the General Public Licence, available here: +// http://www.gnu.org/copyleft/gpl.html + +// *except* for the zip decompression, which is covered by the following licence: + + +// Copyright (c) 1990-1999 Info-ZIP. All rights reserved. +// +// For the purposes of this copyright and license, "Info-ZIP" is defined as +// the following set of individuals: +// +// Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, +// Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase, +// Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, +// Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, +// Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, +// Steve Salisbury, Dave Smith, Christian Spieler, Antoine Verheijen, +// Paul von Behren, Rich Wales, Mike White +// +// This software is provided "as is," without warranty of any kind, express +// or implied. In no event shall Info-ZIP or its contributors be held liable +// for any direct, indirect, incidental, special or consequential damages +// arising out of the use of or inability to use this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. Redistributions of source code must retain the above copyright notice, +// definition, disclaimer, and this list of conditions. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, definition, disclaimer, and this list of conditions in +// documentation and/or other materials provided with the distribution. +// +// 3. Altered versions--including, but not limited to, ports to new operating +// systems, existing ports with new graphical interfaces, and dynamic, +// shared, or static library versions--must be plainly marked as such +// and must not be misrepresented as being the original source. Such +// altered versions also must not be misrepresented as being Info-ZIP +// releases--including, but not limited to, labeling of the altered +// versions with the names "Info-ZIP" (or any variation thereof, including, +// but not limited to, different capitalizations), "Pocket UnZip," "WiZ" +// or "MacZip" without the explicit permission of Info-ZIP. Such altered +// versions are further prohibited from misrepresentative use of the +// Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s). +// +// 4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," +// "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and +// binary releases. diff --git a/plugins/Updater/allocations.cpp b/plugins/Updater/allocations.cpp new file mode 100644 index 0000000000..733e4145bf --- /dev/null +++ b/plugins/Updater/allocations.cpp @@ -0,0 +1,5 @@ +#include "common.h" +#include "allocations.h" + +Allocations allocations; + diff --git a/plugins/Updater/allocations.h b/plugins/Updater/allocations.h new file mode 100644 index 0000000000..842d7daf01 --- /dev/null +++ b/plugins/Updater/allocations.h @@ -0,0 +1,72 @@ +#ifndef _ALLOCATION_INC +#define _ALLOCATION_INC + +// store allocated memory pointers for deallocation when shutting down +class Allocations { +public: + Allocations(): head(0) {} + virtual ~Allocations() { free_all(); } + + void push_back(void *pt) { Node *n = new Node; n->value = pt; n->next = head; head = n;} + +protected: + + class Node { + public: + void *value; + Node *next; + }; + + Node *head; + + void free_all() { + Node *current; + while(head) { + current = head; + head = head->next; + free(current->value); + delete current; + } + } +}; + +extern Allocations allocations; + +__inline static void *safe_alloc(size_t bytes) { + if(bytes == 0) return 0; + void *ret = malloc(bytes); + allocations.push_back(ret); + return ret; +} + +__inline static char *safe_strdup(const char *s) { + if(!s) return 0; + char *ret = _strdup(s); + allocations.push_back(ret); + return ret; +} + +__inline static wchar_t *safe_wstrdup(const wchar_t *s) { + if(!s) return 0; + wchar_t *ret = _wcsdup(s); + allocations.push_back(ret); + return ret; +} + +#ifdef _UNICODE +#define safe_tstrdup(x) safe_wstrdup(x) +#else +#define sage_tstrdup(x) safe_strdup(x) +#endif + +__inline static BYTE *safe_bytedup(BYTE *bytes, int size) { + if(!bytes || size == 0) return 0; + + BYTE *ret = (BYTE *)malloc(size + 1); + memcpy(ret, bytes, size); + *(ret + size) = 0; + allocations.push_back(ret); + return ret; +} + +#endif diff --git a/plugins/Updater/bzip2-1.0.3/CHANGES b/plugins/Updater/bzip2-1.0.3/CHANGES new file mode 100644 index 0000000000..81e97ca6fa --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/CHANGES @@ -0,0 +1,327 @@ + ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ + + +0.9.0 +~~~~~ +First version. + + +0.9.0a +~~~~~~ +Removed 'ranlib' from Makefile, since most modern Unix-es +don't need it, or even know about it. + + +0.9.0b +~~~~~~ +Fixed a problem with error reporting in bzip2.c. This does not effect +the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the +program proper) compress and decompress correctly, but give misleading +error messages (internal panics) when an I/O error occurs, instead of +reporting the problem correctly. This shouldn't give any data loss +(as far as I can see), but is confusing. + +Made the inline declarations disappear for non-GCC compilers. + + +0.9.0c +~~~~~~ +Fixed some problems in the library pertaining to some boundary cases. +This makes the library behave more correctly in those situations. The +fixes apply only to features (calls and parameters) not used by +bzip2.c, so the non-fixedness of them in previous versions has no +effect on reliability of bzip2.c. + +In bzlib.c: + * made zero-length BZ_FLUSH work correctly in bzCompress(). + * fixed bzWrite/bzRead to ignore zero-length requests. + * fixed bzread to correctly handle read requests after EOF. + * wrong parameter order in call to bzDecompressInit in + bzBuffToBuffDecompress. Fixed. + +In compress.c: + * changed setting of nGroups in sendMTFValues() so as to + do a bit better on small files. This _does_ effect + bzip2.c. + + +0.9.5a +~~~~~~ +Major change: add a fallback sorting algorithm (blocksort.c) +to give reasonable behaviour even for very repetitive inputs. +Nuked --repetitive-best and --repetitive-fast since they are +no longer useful. + +Minor changes: mostly a whole bunch of small changes/ +bugfixes in the driver (bzip2.c). Changes pertaining to the +user interface are: + + allow decompression of symlink'd files to stdout + decompress/test files even without .bz2 extension + give more accurate error messages for I/O errors + when compressing/decompressing to stdout, don't catch control-C + read flags from BZIP2 and BZIP environment variables + decline to break hard links to a file unless forced with -f + allow -c flag even with no filenames + preserve file ownerships as far as possible + make -s -1 give the expected block size (100k) + add a flag -q --quiet to suppress nonessential warnings + stop decoding flags after --, so files beginning in - can be handled + resolved inconsistent naming: bzcat or bz2cat ? + bzip2 --help now returns 0 + +Programming-level changes are: + + fixed syntax error in GET_LL4 for Borland C++ 5.02 + let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC} + fix overshoot of mode-string end in bzopen_or_bzdopen + wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... } + close file handles under all error conditions + added minor mods so it compiles with DJGPP out of the box + fixed Makefile so it doesn't give problems with BSD make + fix uninitialised memory reads in dlltest.c + +0.9.5b +~~~~~~ +Open stdin/stdout in binary mode for DJGPP. + +0.9.5c +~~~~~~ +Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1 +version could cause the sorted order to be wrong in some extremely +obscure cases. Also changed setting of quadrant in blocksort.c. + +0.9.5d +~~~~~~ +The only functional change is to make bzlibVersion() in the library +return the correct string. This has no effect whatsoever on the +functioning of the bzip2 program or library. Added a couple of casts +so the library compiles without warnings at level 3 in MS Visual +Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other +changes are minor documentation changes. + +1.0 +~~~ +Several minor bugfixes and enhancements: + +* Large file support. The library uses 64-bit counters to + count the volume of data passing through it. bzip2.c + is now compiled with -D_FILE_OFFSET_BITS=64 to get large + file support from the C library. -v correctly prints out + file sizes greater than 4 gigabytes. All these changes have + been made without assuming a 64-bit platform or a C compiler + which supports 64-bit ints, so, except for the C library + aspect, they are fully portable. + +* Decompression robustness. The library/program should be + robust to any corruption of compressed data, detecting and + handling _all_ corruption, instead of merely relying on + the CRCs. What this means is that the program should + never crash, given corrupted data, and the library should + always return BZ_DATA_ERROR. + +* Fixed an obscure race-condition bug only ever observed on + Solaris, in which, if you were very unlucky and issued + control-C at exactly the wrong time, both input and output + files would be deleted. + +* Don't run out of file handles on test/decompression when + large numbers of files have invalid magic numbers. + +* Avoid library namespace pollution. Prefix all exported + symbols with BZ2_. + +* Minor sorting enhancements from my DCC2000 paper. + +* Advance the version number to 1.0, so as to counteract the + (false-in-this-case) impression some people have that programs + with version numbers less than 1.0 are in some way, experimental, + pre-release versions. + +* Create an initial Makefile-libbz2_so to build a shared library. + Yes, I know I should really use libtool et al ... + +* Make the program exit with 2 instead of 0 when decompression + fails due to a bad magic number (ie, an invalid bzip2 header). + Also exit with 1 (as the manual claims :-) whenever a diagnostic + message would have been printed AND the corresponding operation + is aborted, for example + bzip2: Output file xx already exists. + When a diagnostic message is printed but the operation is not + aborted, for example + bzip2: Can't guess original name for wurble -- using wurble.out + then the exit value 0 is returned, unless some other problem is + also detected. + + I think it corresponds more closely to what the manual claims now. + + +1.0.1 +~~~~~ +* Modified dlltest.c so it uses the new BZ2_ naming scheme. +* Modified makefile-msc to fix minor build probs on Win2k. +* Updated README.COMPILATION.PROBLEMS. + +There are no functionality changes or bug fixes relative to version +1.0.0. This is just a documentation update + a fix for minor Win32 +build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is +utterly pointless. Don't bother. + + +1.0.2 +~~~~~ +A bug fix release, addressing various minor issues which have appeared +in the 18 or so months since 1.0.1 was released. Most of the fixes +are to do with file-handling or documentation bugs. To the best of my +knowledge, there have been no data-loss-causing bugs reported in the +compression/decompression engine of 1.0.0 or 1.0.1. + +Note that this release does not improve the rather crude build system +for Unix platforms. The general plan here is to autoconfiscate/ +libtoolise 1.0.2 soon after release, and release the result as 1.1.0 +or perhaps 1.2.0. That, however, is still just a plan at this point. + +Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in +parentheses. + +* Fix an infinite segfault loop in 1.0.1 when a directory is + encountered in -f (force) mode. + (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt) + +* Avoid double fclose() of output file on certain I/O error paths. + (Solar Designer) + +* Don't fail with internal error 1007 when fed a long stream (> 48MB) + of byte 251. Also print useful message suggesting that 1007s may be + caused by bad memory. + (noticed by Juan Pedro Vallejo, fixed by me) + +* Fix uninitialised variable silly bug in demo prog dlltest.c. + (Jorj Bauer) + +* Remove 512-MB limitation on recovered file size for bzip2recover + on selected platforms which support 64-bit ints. At the moment + all GCC supported platforms, and Win32. + (me, Alson van der Meulen) + +* Hard-code header byte values, to give correct operation on platforms + using EBCDIC as their native character set (IBM's OS/390). + (Leland Lucius) + +* Copy file access times correctly. + (Marty Leisner) + +* Add distclean and check targets to Makefile. + (Michael Carmack) + +* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS). + (Rich Ireland, Bo Thorsen) + +* Pass -p (create parent dirs as needed) to mkdir during make install. + (Jeremy Fusco) + +* Dereference symlinks when copying file permissions in -f mode. + (Volker Schmidt) + +* Majorly simplify implementation of uInt64_qrm10. + (Bo Lindbergh) + +* Check the input file still exists before deleting the output one, + when aborting in cleanUpAndFail(). + (Joerg Prante, Robert Linden, Matthias Krings) + +Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer +of bzip2: + +* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore. + +* Spelling changes and minor enhancements in bzip2.1. + +* Avoid race condition between creating the output file and setting its + interim permissions safely, by using fopen_output_safely(). + No changes to bzip2recover since there is no issue with file + permissions there. + +* do not print senseless report with -v when compressing an empty + file. + +* bzcat -f works on non-bzip2 files. + +* do not try to escape shell meta-characters on unix (the shell takes + care of these). + +* added --fast and --best aliases for -1 -9 for gzip compatibility. + + +1.0.3 (15 Feb 05) +~~~~~~~~~~~~~~~~~ +Fixes some minor bugs since the last version, 1.0.2. + +* Further robustification against corrupted compressed data. + There are currently no known bitstreams which can cause the + decompressor to crash, loop or access memory which does not + belong to it. If you are using bzip2 or the library to + decompress bitstreams from untrusted sources, an upgrade + to 1.0.3 is recommended. This fixes CAN-2005-1260. + +* The documentation has been converted to XML, from which html + and pdf can be derived. + +* Various minor bugs in the documentation have been fixed. + +* Fixes for various compilation warnings with newer versions of + gcc, and on 64-bit platforms. + +* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2. + This has been fixed. + + +1.0.4 (20 Dec 06) +~~~~~~~~~~~~~~~~~ +Fixes some minor bugs since the last version, 1.0.3. + +* Fix file permissions race problem (CAN-2005-0953). + +* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD + scan. + +* 'const'/prototype cleanups in the C code. + +* Change default install location to /usr/local, and handle multiple + 'make install's without error. + +* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758 + to the extent that applies to bzgrep. + +* Use 'mktemp' rather than 'tempfile' in bzdiff. + +* Tighten up a couple of assertions in blocksort.c following automated + analysis. + +* Fix minor doc/comment bugs. + + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + + +1.0.6 (6 Sept 10) +~~~~~~~~~~~~~~~~~ + +* Security fix for CVE-2010-0405. This was reported by Mikolaj + Izdebski. + +* Make the documentation build on Ubuntu 10.04 diff --git a/plugins/Updater/bzip2-1.0.3/LICENSE b/plugins/Updater/bzip2-1.0.3/LICENSE new file mode 100644 index 0000000000..cc614178cf --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/LICENSE @@ -0,0 +1,42 @@ + +-------------------------------------------------------------------------- + +This program, "bzip2", the associated library "libbzip2", and all +documentation, are copyright (C) 1996-2010 Julian R Seward. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.6 of 6 September 2010 + +-------------------------------------------------------------------------- diff --git a/plugins/Updater/bzip2-1.0.3/Makefile b/plugins/Updater/bzip2-1.0.3/Makefile new file mode 100644 index 0000000000..9754ddf286 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/Makefile @@ -0,0 +1,217 @@ +# ------------------------------------------------------------------ +# This file is part of bzip2/libbzip2, a program and library for +# lossless, block-sorting data compression. +# +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward +# +# Please read the WARNING, DISCLAIMER and PATENTS sections in the +# README file. +# +# This program is released under the terms of the license contained +# in the file LICENSE. +# ------------------------------------------------------------------ + +SHELL=/bin/sh + +# To assist in cross-compiling +CC=gcc +AR=ar +RANLIB=ranlib +LDFLAGS= + +BIGFILES=-D_FILE_OFFSET_BITS=64 +CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) + +# Where you want it installed when you do 'make install' +PREFIX=/usr/local + + +OBJS= blocksort.o \ + huffman.o \ + crctable.o \ + randtable.o \ + compress.o \ + decompress.o \ + bzlib.o + +all: libbz2.a bzip2 bzip2recover test + +bzip2: libbz2.a bzip2.o + $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2 + +bzip2recover: bzip2recover.o + $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o + +libbz2.a: $(OBJS) + rm -f libbz2.a + $(AR) cq libbz2.a $(OBJS) + @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \ + -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \ + echo $(RANLIB) libbz2.a ; \ + $(RANLIB) libbz2.a ; \ + fi + +check: test +test: bzip2 + @cat words1 + ./bzip2 -1 < sample1.ref > sample1.rb2 + ./bzip2 -2 < sample2.ref > sample2.rb2 + ./bzip2 -3 < sample3.ref > sample3.rb2 + ./bzip2 -d < sample1.bz2 > sample1.tst + ./bzip2 -d < sample2.bz2 > sample2.tst + ./bzip2 -ds < sample3.bz2 > sample3.tst + cmp sample1.bz2 sample1.rb2 + cmp sample2.bz2 sample2.rb2 + cmp sample3.bz2 sample3.rb2 + cmp sample1.tst sample1.ref + cmp sample2.tst sample2.ref + cmp sample3.tst sample3.ref + @cat words3 + +install: bzip2 bzip2recover + if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi + if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi + if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi + if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi + if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi + cp -f bzip2 $(PREFIX)/bin/bzip2 + cp -f bzip2 $(PREFIX)/bin/bunzip2 + cp -f bzip2 $(PREFIX)/bin/bzcat + cp -f bzip2recover $(PREFIX)/bin/bzip2recover + chmod a+x $(PREFIX)/bin/bzip2 + chmod a+x $(PREFIX)/bin/bunzip2 + chmod a+x $(PREFIX)/bin/bzcat + chmod a+x $(PREFIX)/bin/bzip2recover + cp -f bzip2.1 $(PREFIX)/man/man1 + chmod a+r $(PREFIX)/man/man1/bzip2.1 + cp -f bzlib.h $(PREFIX)/include + chmod a+r $(PREFIX)/include/bzlib.h + cp -f libbz2.a $(PREFIX)/lib + chmod a+r $(PREFIX)/lib/libbz2.a + cp -f bzgrep $(PREFIX)/bin/bzgrep + ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep + ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep + chmod a+x $(PREFIX)/bin/bzgrep + cp -f bzmore $(PREFIX)/bin/bzmore + ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless + chmod a+x $(PREFIX)/bin/bzmore + cp -f bzdiff $(PREFIX)/bin/bzdiff + ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp + chmod a+x $(PREFIX)/bin/bzdiff + cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 + chmod a+r $(PREFIX)/man/man1/bzgrep.1 + chmod a+r $(PREFIX)/man/man1/bzmore.1 + chmod a+r $(PREFIX)/man/man1/bzdiff.1 + echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1 + echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 + echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 + echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 + +clean: + rm -f *.o libbz2.a bzip2 bzip2recover \ + sample1.rb2 sample2.rb2 sample3.rb2 \ + sample1.tst sample2.tst sample3.tst + +blocksort.o: blocksort.c + @cat words0 + $(CC) $(CFLAGS) -c blocksort.c +huffman.o: huffman.c + $(CC) $(CFLAGS) -c huffman.c +crctable.o: crctable.c + $(CC) $(CFLAGS) -c crctable.c +randtable.o: randtable.c + $(CC) $(CFLAGS) -c randtable.c +compress.o: compress.c + $(CC) $(CFLAGS) -c compress.c +decompress.o: decompress.c + $(CC) $(CFLAGS) -c decompress.c +bzlib.o: bzlib.c + $(CC) $(CFLAGS) -c bzlib.c +bzip2.o: bzip2.c + $(CC) $(CFLAGS) -c bzip2.c +bzip2recover.o: bzip2recover.c + $(CC) $(CFLAGS) -c bzip2recover.c + + +distclean: clean + rm -f manual.ps manual.html manual.pdf + +DISTNAME=bzip2-1.0.6 +dist: check manual + rm -f $(DISTNAME) + ln -s -f . $(DISTNAME) + tar cvf $(DISTNAME).tar \ + $(DISTNAME)/blocksort.c \ + $(DISTNAME)/huffman.c \ + $(DISTNAME)/crctable.c \ + $(DISTNAME)/randtable.c \ + $(DISTNAME)/compress.c \ + $(DISTNAME)/decompress.c \ + $(DISTNAME)/bzlib.c \ + $(DISTNAME)/bzip2.c \ + $(DISTNAME)/bzip2recover.c \ + $(DISTNAME)/bzlib.h \ + $(DISTNAME)/bzlib_private.h \ + $(DISTNAME)/Makefile \ + $(DISTNAME)/LICENSE \ + $(DISTNAME)/bzip2.1 \ + $(DISTNAME)/bzip2.1.preformatted \ + $(DISTNAME)/bzip2.txt \ + $(DISTNAME)/words0 \ + $(DISTNAME)/words1 \ + $(DISTNAME)/words2 \ + $(DISTNAME)/words3 \ + $(DISTNAME)/sample1.ref \ + $(DISTNAME)/sample2.ref \ + $(DISTNAME)/sample3.ref \ + $(DISTNAME)/sample1.bz2 \ + $(DISTNAME)/sample2.bz2 \ + $(DISTNAME)/sample3.bz2 \ + $(DISTNAME)/dlltest.c \ + $(DISTNAME)/manual.html \ + $(DISTNAME)/manual.pdf \ + $(DISTNAME)/manual.ps \ + $(DISTNAME)/README \ + $(DISTNAME)/README.COMPILATION.PROBLEMS \ + $(DISTNAME)/README.XML.STUFF \ + $(DISTNAME)/CHANGES \ + $(DISTNAME)/libbz2.def \ + $(DISTNAME)/libbz2.dsp \ + $(DISTNAME)/dlltest.dsp \ + $(DISTNAME)/makefile.msc \ + $(DISTNAME)/unzcrash.c \ + $(DISTNAME)/spewG.c \ + $(DISTNAME)/mk251.c \ + $(DISTNAME)/bzdiff \ + $(DISTNAME)/bzdiff.1 \ + $(DISTNAME)/bzmore \ + $(DISTNAME)/bzmore.1 \ + $(DISTNAME)/bzgrep \ + $(DISTNAME)/bzgrep.1 \ + $(DISTNAME)/Makefile-libbz2_so \ + $(DISTNAME)/bz-common.xsl \ + $(DISTNAME)/bz-fo.xsl \ + $(DISTNAME)/bz-html.xsl \ + $(DISTNAME)/bzip.css \ + $(DISTNAME)/entities.xml \ + $(DISTNAME)/manual.xml \ + $(DISTNAME)/format.pl \ + $(DISTNAME)/xmlproc.sh + gzip -v $(DISTNAME).tar + +# For rebuilding the manual from sources on my SuSE 9.1 box + +MANUAL_SRCS= bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \ + entities.xml manual.xml + +manual: manual.html manual.ps manual.pdf + +manual.ps: $(MANUAL_SRCS) + ./xmlproc.sh -ps manual.xml + +manual.pdf: $(MANUAL_SRCS) + ./xmlproc.sh -pdf manual.xml + +manual.html: $(MANUAL_SRCS) + ./xmlproc.sh -html manual.xml diff --git a/plugins/Updater/bzip2-1.0.3/Makefile-libbz2_so b/plugins/Updater/bzip2-1.0.3/Makefile-libbz2_so new file mode 100644 index 0000000000..e58791b3b3 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/Makefile-libbz2_so @@ -0,0 +1,59 @@ + +# This Makefile builds a shared version of the library, +# libbz2.so.1.0.6, with soname libbz2.so.1.0, +# at least on x86-Linux (RedHat 7.2), +# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98). +# Please see the README file for some important info +# about building the library like this. + +# ------------------------------------------------------------------ +# This file is part of bzip2/libbzip2, a program and library for +# lossless, block-sorting data compression. +# +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward +# +# Please read the WARNING, DISCLAIMER and PATENTS sections in the +# README file. +# +# This program is released under the terms of the license contained +# in the file LICENSE. +# ------------------------------------------------------------------ + + +SHELL=/bin/sh +CC=gcc +BIGFILES=-D_FILE_OFFSET_BITS=64 +CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) + +OBJS= blocksort.o \ + huffman.o \ + crctable.o \ + randtable.o \ + compress.o \ + decompress.o \ + bzlib.o + +all: $(OBJS) + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6 + rm -f libbz2.so.1.0 + ln -s libbz2.so.1.0.6 libbz2.so.1.0 + +clean: + rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared + +blocksort.o: blocksort.c + $(CC) $(CFLAGS) -c blocksort.c +huffman.o: huffman.c + $(CC) $(CFLAGS) -c huffman.c +crctable.o: crctable.c + $(CC) $(CFLAGS) -c crctable.c +randtable.o: randtable.c + $(CC) $(CFLAGS) -c randtable.c +compress.o: compress.c + $(CC) $(CFLAGS) -c compress.c +decompress.o: decompress.c + $(CC) $(CFLAGS) -c decompress.c +bzlib.o: bzlib.c + $(CC) $(CFLAGS) -c bzlib.c diff --git a/plugins/Updater/bzip2-1.0.3/README b/plugins/Updater/bzip2-1.0.3/README new file mode 100644 index 0000000000..9fb0f63601 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/README @@ -0,0 +1,215 @@ + +This is the README for bzip2/libzip2. +This version is fully compatible with the previous public releases. + +------------------------------------------------------------------ +This file is part of bzip2/libbzip2, a program and library for +lossless, block-sorting data compression. + +bzip2/libbzip2 version 1.0.6 of 6 September 2010 +Copyright (C) 1996-2010 Julian Seward + +Please read the WARNING, DISCLAIMER and PATENTS sections in this file. + +This program is released under the terms of the license contained +in the file LICENSE. +------------------------------------------------------------------ + +Complete documentation is available in Postscript form (manual.ps), +PDF (manual.pdf) or html (manual.html). A plain-text version of the +manual page is available as bzip2.txt. + + +HOW TO BUILD -- UNIX + +Type 'make'. This builds the library libbz2.a and then the programs +bzip2 and bzip2recover. Six self-tests are run. If the self-tests +complete ok, carry on to installation: + +To install in /usr/local/bin, /usr/local/lib, /usr/local/man and +/usr/local/include, type + + make install + +To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type + + make install PREFIX=/xxx/yyy + +If you are (justifiably) paranoid and want to see what 'make install' +is going to do, you can first do + + make -n install or + make -n install PREFIX=/xxx/yyy respectively. + +The -n instructs make to show the commands it would execute, but not +actually execute them. + + +HOW TO BUILD -- UNIX, shared library libbz2.so. + +Do 'make -f Makefile-libbz2_so'. This Makefile seems to work for +Linux-ELF (RedHat 7.2 on an x86 box), with gcc. I make no claims +that it works for any other platform, though I suspect it probably +will work for most platforms employing both ELF and gcc. + +bzip2-shared, a client of the shared library, is also built, but not +self-tested. So I suggest you also build using the normal Makefile, +since that conducts a self-test. A second reason to prefer the +version statically linked to the library is that, on x86 platforms, +building shared objects makes a valuable register (%ebx) unavailable +to gcc, resulting in a slowdown of 10%-20%, at least for bzip2. + +Important note for people upgrading .so's from 0.9.0/0.9.5 to version +1.0.X. All the functions in the library have been renamed, from (eg) +bzCompress to BZ2_bzCompress, to avoid namespace pollution. +Unfortunately this means that the libbz2.so created by +Makefile-libbz2_so will not work with any program which used an older +version of the library. I do encourage library clients to make the +effort to upgrade to use version 1.0, since it is both faster and more +robust than previous versions. + + +HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc. + +It's difficult for me to support compilation on all these platforms. +My approach is to collect binaries for these platforms, and put them +on the master web site (http://www.bzip.org). Look there. However +(FWIW), bzip2-1.0.X is very standard ANSI C and should compile +unmodified with MS Visual C. If you have difficulties building, you +might want to read README.COMPILATION.PROBLEMS. + +At least using MS Visual C++ 6, you can build from the unmodified +sources by issuing, in a command shell: + + nmake -f makefile.msc + +(you may need to first run the MSVC-provided script VCVARS32.BAT + so as to set up paths to the MSVC tools correctly). + + +VALIDATION + +Correct operation, in the sense that a compressed file can always be +decompressed to reproduce the original, is obviously of paramount +importance. To validate bzip2, I used a modified version of Mark +Nelson's churn program. Churn is an automated test driver which +recursively traverses a directory structure, using bzip2 to compress +and then decompress each file it encounters, and checking that the +decompressed data is the same as the original. + + + +Please read and be aware of the following: + +WARNING: + + This program and library (attempts to) compress data by + performing several non-trivial transformations on it. + Unless you are 100% familiar with *all* the algorithms + contained herein, and with the consequences of modifying them, + you should NOT meddle with the compression or decompression + machinery. Incorrect changes can and very likely *will* + lead to disastrous loss of data. + + +DISCLAIMER: + + I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE + USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED. + + Every compression of a file implies an assumption that the + compressed file can be decompressed to reproduce the original. + Great efforts in design, coding and testing have been made to + ensure that this program works correctly. However, the complexity + of the algorithms, and, in particular, the presence of various + special cases in the code which occur with very low but non-zero + probability make it impossible to rule out the possibility of bugs + remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS + PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER + SMALL, THAT THE DATA WILL NOT BE RECOVERABLE. + + That is not to say this program is inherently unreliable. + Indeed, I very much hope the opposite is true. bzip2/libbzip2 + has been carefully constructed and extensively tested. + + +PATENTS: + + To the best of my knowledge, bzip2/libbzip2 does not use any + patented algorithms. However, I do not have the resources + to carry out a patent search. Therefore I cannot give any + guarantee of the above statement. + + + +WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ? + + * Approx 10% faster compression, 30% faster decompression + * -t (test mode) is a lot quicker + * Can decompress concatenated compressed files + * Programming interface, so programs can directly read/write .bz2 files + * Less restrictive (BSD-style) licensing + * Flag handling more compatible with GNU gzip + * Much more documentation, i.e., a proper user manual + * Hopefully, improved portability (at least of the library) + +WHAT'S NEW IN 0.9.5 ? + + * Compression speed is much less sensitive to the input + data than in previous versions. Specifically, the very + slow performance caused by repetitive data is fixed. + * Many small improvements in file and flag handling. + * A Y2K statement. + +WHAT'S NEW IN 1.0.0 ? + + See the CHANGES file. + +WHAT'S NEW IN 1.0.2 ? + + See the CHANGES file. + +WHAT'S NEW IN 1.0.3 ? + + See the CHANGES file. + +WHAT'S NEW IN 1.0.4 ? + + See the CHANGES file. + +WHAT'S NEW IN 1.0.5 ? + + See the CHANGES file. + +WHAT'S NEW IN 1.0.6 ? + + See the CHANGES file. + + +I hope you find bzip2 useful. Feel free to contact me at + jseward@bzip.org +if you have any suggestions or queries. Many people mailed me with +comments, suggestions and patches after the releases of bzip-0.15, +bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, +1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this +feedback. I thank you for your comments. + +bzip2's "home" is http://www.bzip.org/ + +Julian Seward +jseward@bzip.org +Cambridge, UK. + +18 July 1996 (version 0.15) +25 August 1996 (version 0.21) + 7 August 1997 (bzip2, version 0.1) +29 August 1997 (bzip2, version 0.1pl2) +23 August 1998 (bzip2, version 0.9.0) + 8 June 1999 (bzip2, version 0.9.5) + 4 Sept 1999 (bzip2, version 0.9.5d) + 5 May 2000 (bzip2, version 1.0pre8) +30 December 2001 (bzip2, version 1.0.2pre1) +15 February 2005 (bzip2, version 1.0.3) +20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) + 6 Sept 2010 (bzip2, version 1.0.6) diff --git a/plugins/Updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS b/plugins/Updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS new file mode 100644 index 0000000000..667d0d6dfe --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS @@ -0,0 +1,58 @@ +------------------------------------------------------------------ +This file is part of bzip2/libbzip2, a program and library for +lossless, block-sorting data compression. + +bzip2/libbzip2 version 1.0.6 of 6 September 2010 +Copyright (C) 1996-2010 Julian Seward + +Please read the WARNING, DISCLAIMER and PATENTS sections in the +README file. + +This program is released under the terms of the license contained +in the file LICENSE. +------------------------------------------------------------------ + +bzip2-1.0.6 should compile without problems on the vast majority of +platforms. Using the supplied Makefile, I've built and tested it +myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ +6.0 and nmake, you can build a native Win32 version too. Large file +support seems to work correctly on at least on amd64-linux. + +When I say "large file" I mean a file of size 2,147,483,648 (2^31) +bytes or above. Many older OSs can't handle files above this size, +but many newer ones can. Large files are pretty huge -- most files +you'll encounter are not Large Files. + +Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety +of platforms without difficulty, and I hope this version will continue +in that tradition. However, in order to support large files, I've had +to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This +can cause problems. + +The technique of adding -D_FILE_OFFSET_BITS=64 to get large file +support is, as far as I know, the Recommended Way to get correct large +file support. For more details, see the Large File Support +Specification, published by the Large File Summit, at + + http://ftp.sas.com/standards/large.file + +As a general comment, if you get compilation errors which you think +are related to large file support, try removing the above define from +the Makefile, ie, delete the line + + BIGFILES=-D_FILE_OFFSET_BITS=64 + +from the Makefile, and do 'make clean ; make'. This will give you a +version of bzip2 without large file support, which, for most +applications, is probably not a problem. + +Alternatively, try some of the platform-specific hints listed below. + +You can use the spewG.c program to generate huge files to test bzip2's +large file support, if you are feeling paranoid. Be aware though that +any compilation problems which affect bzip2 will also affect spewG.c, +alas. + +AIX: I have reports that for large file support, you need to specify +-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested +this myself. diff --git a/plugins/Updater/bzip2-1.0.3/README.XML.STUFF b/plugins/Updater/bzip2-1.0.3/README.XML.STUFF new file mode 100644 index 0000000000..3a57f3fa89 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/README.XML.STUFF @@ -0,0 +1,45 @@ + ---------------------------------------------------------------- + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ---------------------------------------------------------------- + +The script xmlproc.sh takes an xml file as input, +and processes it to create .pdf, .html or .ps output. +It uses format.pl, a perl script to format
 blocks nicely,
+ and add CDATA tags so writers do not have to use eg. < 
+
+The file "entities.xml" must be edited to reflect current
+version, year, etc.
+
+
+Usage:
+
+  ./xmlproc.sh -v manual.xml
+  Validates an xml file to ensure no dtd-compliance errors
+
+  ./xmlproc.sh -html manual.xml
+  Output: manual.html
+
+  ./xmlproc.sh -pdf manual.xml
+  Output: manual.pdf
+
+  ./xmlproc.sh -ps manual.xml
+  Output: manual.ps
+
+
+Notum bene: 
+- pdfxmltex barfs if given a filename with an underscore in it
+
+- xmltex won't work yet - there's a bug in passivetex
+    which we are all waiting for Sebastian to fix.
+  So we are going the xml -> pdf -> ps route for the time being,
+    using pdfxmltex.
diff --git a/plugins/Updater/bzip2-1.0.3/Y2K_INFO b/plugins/Updater/bzip2-1.0.3/Y2K_INFO
new file mode 100644
index 0000000000..55fd56a2ed
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/Y2K_INFO
@@ -0,0 +1,34 @@
+
+Y2K status of bzip2 and libbzip2, versions 0.1, 0.9.0 and 0.9.5
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Informally speaking:
+   bzip2 is a compression program built on top of libbzip2, 
+   a library which does the real work of compression and 
+   decompression.  As far as I am aware, libbzip2 does not have 
+   any date-related code at all.
+
+   bzip2 itself copies dates from source to destination files 
+   when compressing or decompressing, using the 'stat' and 'utime' 
+   UNIX system calls.  It doesn't examine, manipulate or store the 
+   dates in any way.  So as far as I can see, there shouldn't be any 
+   problem with bzip2 providing 'stat' and 'utime' work correctly 
+   on your system.
+
+   On non-unix platforms (those for which BZ_UNIX in bzip2.c is
+   not set to 1), bzip2 doesn't even do the date copying.
+
+   Overall, informally speaking, I don't think bzip2 or libbzip2 
+   have a Y2K problem.
+
+Formally speaking:
+   I am not prepared to offer you any assurance whatsoever 
+   regarding Y2K issues in my software.  You alone assume the 
+   entire risk of using the software.  The disclaimer of liability 
+   in the LICENSE file in the bzip2 source distribution continues 
+   to apply on this issue as with every other issue pertaining 
+   to the software.
+
+Julian Seward
+Cambridge, UK
+25 August 1999
diff --git a/plugins/Updater/bzip2-1.0.3/blocksort.c b/plugins/Updater/bzip2-1.0.3/blocksort.c
new file mode 100644
index 0000000000..d0d662cd4e
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/blocksort.c
@@ -0,0 +1,1094 @@
+
+/*-------------------------------------------------------------*/
+/*--- Block sorting machinery                               ---*/
+/*---                                           blocksort.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#include "bzlib_private.h"
+
+/*---------------------------------------------*/
+/*--- Fallback O(N log(N)^2) sorting        ---*/
+/*--- algorithm, for repetitive blocks      ---*/
+/*---------------------------------------------*/
+
+/*---------------------------------------------*/
+static 
+__inline__
+void fallbackSimpleSort ( UInt32* fmap, 
+                          UInt32* eclass, 
+                          Int32   lo, 
+                          Int32   hi )
+{
+   Int32 i, j, tmp;
+   UInt32 ec_tmp;
+
+   if (lo == hi) return;
+
+   if (hi - lo > 3) {
+      for ( i = hi-4; i >= lo; i-- ) {
+         tmp = fmap[i];
+         ec_tmp = eclass[tmp];
+         for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
+            fmap[j-4] = fmap[j];
+         fmap[j-4] = tmp;
+      }
+   }
+
+   for ( i = hi-1; i >= lo; i-- ) {
+      tmp = fmap[i];
+      ec_tmp = eclass[tmp];
+      for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
+         fmap[j-1] = fmap[j];
+      fmap[j-1] = tmp;
+   }
+}
+
+
+/*---------------------------------------------*/
+#define fswap(zz1, zz2) \
+   { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
+
+#define fvswap(zzp1, zzp2, zzn)       \
+{                                     \
+   Int32 yyp1 = (zzp1);               \
+   Int32 yyp2 = (zzp2);               \
+   Int32 yyn  = (zzn);                \
+   while (yyn > 0) {                  \
+      fswap(fmap[yyp1], fmap[yyp2]);  \
+      yyp1++; yyp2++; yyn--;          \
+   }                                  \
+}
+
+
+#define fmin(a,b) ((a) < (b)) ? (a) : (b)
+
+#define fpush(lz,hz) { stackLo[sp] = lz; \
+                       stackHi[sp] = hz; \
+                       sp++; }
+
+#define fpop(lz,hz) { sp--;              \
+                      lz = stackLo[sp];  \
+                      hz = stackHi[sp]; }
+
+#define FALLBACK_QSORT_SMALL_THRESH 10
+#define FALLBACK_QSORT_STACK_SIZE   100
+
+
+static
+void fallbackQSort3 ( UInt32* fmap, 
+                      UInt32* eclass,
+                      Int32   loSt, 
+                      Int32   hiSt )
+{
+   Int32 unLo, unHi, ltLo, gtHi, n, m;
+   Int32 sp, lo, hi;
+   UInt32 med, r, r3;
+   Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
+   Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
+
+   r = 0;
+
+   sp = 0;
+   fpush ( loSt, hiSt );
+
+   while (sp > 0) {
+
+      AssertH ( sp < FALLBACK_QSORT_STACK_SIZE - 1, 1004 );
+
+      fpop ( lo, hi );
+      if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
+         fallbackSimpleSort ( fmap, eclass, lo, hi );
+         continue;
+      }
+
+      /* Random partitioning.  Median of 3 sometimes fails to
+         avoid bad cases.  Median of 9 seems to help but 
+         looks rather expensive.  This too seems to work but
+         is cheaper.  Guidance for the magic constants 
+         7621 and 32768 is taken from Sedgewick's algorithms
+         book, chapter 35.
+      */
+      r = ((r * 7621) + 1) % 32768;
+      r3 = r % 3;
+      if (r3 == 0) med = eclass[fmap[lo]]; else
+      if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
+                   med = eclass[fmap[hi]];
+
+      unLo = ltLo = lo;
+      unHi = gtHi = hi;
+
+      while (1) {
+         while (1) {
+            if (unLo > unHi) break;
+            n = (Int32)eclass[fmap[unLo]] - (Int32)med;
+            if (n == 0) { 
+               fswap(fmap[unLo], fmap[ltLo]); 
+               ltLo++; unLo++; 
+               continue; 
+            };
+            if (n > 0) break;
+            unLo++;
+         }
+         while (1) {
+            if (unLo > unHi) break;
+            n = (Int32)eclass[fmap[unHi]] - (Int32)med;
+            if (n == 0) { 
+               fswap(fmap[unHi], fmap[gtHi]); 
+               gtHi--; unHi--; 
+               continue; 
+            };
+            if (n < 0) break;
+            unHi--;
+         }
+         if (unLo > unHi) break;
+         fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
+      }
+
+      AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
+
+      if (gtHi < ltLo) continue;
+
+      n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
+      m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
+
+      n = lo + unLo - ltLo - 1;
+      m = hi - (gtHi - unHi) + 1;
+
+      if (n - lo > hi - m) {
+         fpush ( lo, n );
+         fpush ( m, hi );
+      } else {
+         fpush ( m, hi );
+         fpush ( lo, n );
+      }
+   }
+}
+
+#undef fmin
+#undef fpush
+#undef fpop
+#undef fswap
+#undef fvswap
+#undef FALLBACK_QSORT_SMALL_THRESH
+#undef FALLBACK_QSORT_STACK_SIZE
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > 0
+      eclass exists for [0 .. nblock-1]
+      ((UChar*)eclass) [0 .. nblock-1] holds block
+      ptr exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)eclass) [0 .. nblock-1] holds block
+      All other areas of eclass destroyed
+      fmap [0 .. nblock-1] holds sorted order
+      bhtab [ 0 .. 2+(nblock/32) ] destroyed
+*/
+
+#define       SET_BH(zz)  bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
+#define     CLEAR_BH(zz)  bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
+#define     ISSET_BH(zz)  (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
+#define      WORD_BH(zz)  bhtab[(zz) >> 5]
+#define UNALIGNED_BH(zz)  ((zz) & 0x01f)
+
+static
+void fallbackSort ( UInt32* fmap, 
+                    UInt32* eclass, 
+                    UInt32* bhtab,
+                    Int32   nblock,
+                    Int32   verb )
+{
+   Int32 ftab[257];
+   Int32 ftabCopy[256];
+   Int32 H, i, j, k, l, r, cc, cc1;
+   Int32 nNotDone;
+   Int32 nBhtab;
+   UChar* eclass8 = (UChar*)eclass;
+
+   /*--
+      Initial 1-char radix sort to generate
+      initial fmap and initial BH bits.
+   --*/
+   if (verb >= 4)
+      VPrintf0 ( "        bucket sorting ...\n" );
+   for (i = 0; i < 257;    i++) ftab[i] = 0;
+   for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
+   for (i = 0; i < 256;    i++) ftabCopy[i] = ftab[i];
+   for (i = 1; i < 257;    i++) ftab[i] += ftab[i-1];
+
+   for (i = 0; i < nblock; i++) {
+      j = eclass8[i];
+      k = ftab[j] - 1;
+      ftab[j] = k;
+      fmap[k] = i;
+   }
+
+   nBhtab = 2 + (nblock / 32);
+   for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
+   for (i = 0; i < 256; i++) SET_BH(ftab[i]);
+
+   /*--
+      Inductively refine the buckets.  Kind-of an
+      "exponential radix sort" (!), inspired by the
+      Manber-Myers suffix array construction algorithm.
+   --*/
+
+   /*-- set sentinel bits for block-end detection --*/
+   for (i = 0; i < 32; i++) { 
+      SET_BH(nblock + 2*i);
+      CLEAR_BH(nblock + 2*i + 1);
+   }
+
+   /*-- the log(N) loop --*/
+   H = 1;
+   while (1) {
+
+      if (verb >= 4) 
+         VPrintf1 ( "        depth %6d has ", H );
+
+      j = 0;
+      for (i = 0; i < nblock; i++) {
+         if (ISSET_BH(i)) j = i;
+         k = fmap[i] - H; if (k < 0) k += nblock;
+         eclass[k] = j;
+      }
+
+      nNotDone = 0;
+      r = -1;
+      while (1) {
+
+	 /*-- find the next non-singleton bucket --*/
+         k = r + 1;
+         while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
+         if (ISSET_BH(k)) {
+            while (WORD_BH(k) == 0xffffffff) k += 32;
+            while (ISSET_BH(k)) k++;
+         }
+         l = k - 1;
+         if (l >= nblock) break;
+         while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
+         if (!ISSET_BH(k)) {
+            while (WORD_BH(k) == 0x00000000) k += 32;
+            while (!ISSET_BH(k)) k++;
+         }
+         r = k - 1;
+         if (r >= nblock) break;
+
+         /*-- now [l, r] bracket current bucket --*/
+         if (r > l) {
+            nNotDone += (r - l + 1);
+            fallbackQSort3 ( fmap, eclass, l, r );
+
+            /*-- scan bucket and generate header bits-- */
+            cc = -1;
+            for (i = l; i <= r; i++) {
+               cc1 = eclass[fmap[i]];
+               if (cc != cc1) { SET_BH(i); cc = cc1; };
+            }
+         }
+      }
+
+      if (verb >= 4) 
+         VPrintf1 ( "%6d unresolved strings\n", nNotDone );
+
+      H *= 2;
+      if (H > nblock || nNotDone == 0) break;
+   }
+
+   /*-- 
+      Reconstruct the original block in
+      eclass8 [0 .. nblock-1], since the
+      previous phase destroyed it.
+   --*/
+   if (verb >= 4)
+      VPrintf0 ( "        reconstructing block ...\n" );
+   j = 0;
+   for (i = 0; i < nblock; i++) {
+      while (ftabCopy[j] == 0) j++;
+      ftabCopy[j]--;
+      eclass8[fmap[i]] = (UChar)j;
+   }
+   AssertH ( j < 256, 1005 );
+}
+
+#undef       SET_BH
+#undef     CLEAR_BH
+#undef     ISSET_BH
+#undef      WORD_BH
+#undef UNALIGNED_BH
+
+
+/*---------------------------------------------*/
+/*--- The main, O(N^2 log(N)) sorting       ---*/
+/*--- algorithm.  Faster for "normal"       ---*/
+/*--- non-repetitive blocks.                ---*/
+/*---------------------------------------------*/
+
+/*---------------------------------------------*/
+static
+__inline__
+Bool mainGtU ( UInt32  i1, 
+               UInt32  i2,
+               UChar*  block, 
+               UInt16* quadrant,
+               UInt32  nblock,
+               Int32*  budget )
+{
+   Int32  k;
+   UChar  c1, c2;
+   UInt16 s1, s2;
+
+   AssertD ( i1 != i2, "mainGtU" );
+   /* 1 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 2 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 3 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 4 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 5 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 6 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 7 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 8 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 9 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 10 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 11 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 12 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+
+   k = nblock + 8;
+
+   do {
+      /* 1 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 2 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 3 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 4 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 5 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 6 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 7 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 8 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+
+      if (i1 >= nblock) i1 -= nblock;
+      if (i2 >= nblock) i2 -= nblock;
+
+      k -= 8;
+      (*budget)--;
+   }
+      while (k >= 0);
+
+   return False;
+}
+
+
+/*---------------------------------------------*/
+/*--
+   Knuth's increments seem to work better
+   than Incerpi-Sedgewick here.  Possibly
+   because the number of elems to sort is
+   usually small, typically <= 20.
+--*/
+static
+Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
+                   9841, 29524, 88573, 265720,
+                   797161, 2391484 };
+
+static
+void mainSimpleSort ( UInt32* ptr,
+                      UChar*  block,
+                      UInt16* quadrant,
+                      Int32   nblock,
+                      Int32   lo, 
+                      Int32   hi, 
+                      Int32   d,
+                      Int32*  budget )
+{
+   Int32 i, j, h, bigN, hp;
+   UInt32 v;
+
+   bigN = hi - lo + 1;
+   if (bigN < 2) return;
+
+   hp = 0;
+   while (incs[hp] < bigN) hp++;
+   hp--;
+
+   for (; hp >= 0; hp--) {
+      h = incs[hp];
+
+      i = lo + h;
+      while (True) {
+
+         /*-- copy 1 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         /*-- copy 2 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         /*-- copy 3 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         if (*budget < 0) return;
+      }
+   }
+}
+
+
+/*---------------------------------------------*/
+/*--
+   The following is an implementation of
+   an elegant 3-way quicksort for strings,
+   described in a paper "Fast Algorithms for
+   Sorting and Searching Strings", by Robert
+   Sedgewick and Jon L. Bentley.
+--*/
+
+#define mswap(zz1, zz2) \
+   { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
+
+#define mvswap(zzp1, zzp2, zzn)       \
+{                                     \
+   Int32 yyp1 = (zzp1);               \
+   Int32 yyp2 = (zzp2);               \
+   Int32 yyn  = (zzn);                \
+   while (yyn > 0) {                  \
+      mswap(ptr[yyp1], ptr[yyp2]);    \
+      yyp1++; yyp2++; yyn--;          \
+   }                                  \
+}
+
+static 
+__inline__
+UChar mmed3 ( UChar a, UChar b, UChar c )
+{
+   UChar t;
+   if (a > b) { t = a; a = b; b = t; };
+   if (b > c) { 
+      b = c;
+      if (a > b) b = a;
+   }
+   return b;
+}
+
+#define mmin(a,b) ((a) < (b)) ? (a) : (b)
+
+#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
+                          stackHi[sp] = hz; \
+                          stackD [sp] = dz; \
+                          sp++; }
+
+#define mpop(lz,hz,dz) { sp--;             \
+                         lz = stackLo[sp]; \
+                         hz = stackHi[sp]; \
+                         dz = stackD [sp]; }
+
+
+#define mnextsize(az) (nextHi[az]-nextLo[az])
+
+#define mnextswap(az,bz)                                        \
+   { Int32 tz;                                                  \
+     tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
+     tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
+     tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
+
+
+#define MAIN_QSORT_SMALL_THRESH 20
+#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
+#define MAIN_QSORT_STACK_SIZE 100
+
+static
+void mainQSort3 ( UInt32* ptr,
+                  UChar*  block,
+                  UInt16* quadrant,
+                  Int32   nblock,
+                  Int32   loSt, 
+                  Int32   hiSt, 
+                  Int32   dSt,
+                  Int32*  budget )
+{
+   Int32 unLo, unHi, ltLo, gtHi, n, m, med;
+   Int32 sp, lo, hi, d;
+
+   Int32 stackLo[MAIN_QSORT_STACK_SIZE];
+   Int32 stackHi[MAIN_QSORT_STACK_SIZE];
+   Int32 stackD [MAIN_QSORT_STACK_SIZE];
+
+   Int32 nextLo[3];
+   Int32 nextHi[3];
+   Int32 nextD [3];
+
+   sp = 0;
+   mpush ( loSt, hiSt, dSt );
+
+   while (sp > 0) {
+
+      AssertH ( sp < MAIN_QSORT_STACK_SIZE - 2, 1001 );
+
+      mpop ( lo, hi, d );
+      if (hi - lo < MAIN_QSORT_SMALL_THRESH || 
+          d > MAIN_QSORT_DEPTH_THRESH) {
+         mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
+         if (*budget < 0) return;
+         continue;
+      }
+
+      med = (Int32) 
+            mmed3 ( block[ptr[ lo         ]+d],
+                    block[ptr[ hi         ]+d],
+                    block[ptr[ (lo+hi)>>1 ]+d] );
+
+      unLo = ltLo = lo;
+      unHi = gtHi = hi;
+
+      while (True) {
+         while (True) {
+            if (unLo > unHi) break;
+            n = ((Int32)block[ptr[unLo]+d]) - med;
+            if (n == 0) { 
+               mswap(ptr[unLo], ptr[ltLo]); 
+               ltLo++; unLo++; continue; 
+            };
+            if (n >  0) break;
+            unLo++;
+         }
+         while (True) {
+            if (unLo > unHi) break;
+            n = ((Int32)block[ptr[unHi]+d]) - med;
+            if (n == 0) { 
+               mswap(ptr[unHi], ptr[gtHi]); 
+               gtHi--; unHi--; continue; 
+            };
+            if (n <  0) break;
+            unHi--;
+         }
+         if (unLo > unHi) break;
+         mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
+      }
+
+      AssertD ( unHi == unLo-1, "mainQSort3(2)" );
+
+      if (gtHi < ltLo) {
+         mpush(lo, hi, d+1 );
+         continue;
+      }
+
+      n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
+      m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
+
+      n = lo + unLo - ltLo - 1;
+      m = hi - (gtHi - unHi) + 1;
+
+      nextLo[0] = lo;  nextHi[0] = n;   nextD[0] = d;
+      nextLo[1] = m;   nextHi[1] = hi;  nextD[1] = d;
+      nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
+
+      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
+      if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
+      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
+
+      AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
+      AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
+
+      mpush (nextLo[0], nextHi[0], nextD[0]);
+      mpush (nextLo[1], nextHi[1], nextD[1]);
+      mpush (nextLo[2], nextHi[2], nextD[2]);
+   }
+}
+
+#undef mswap
+#undef mvswap
+#undef mpush
+#undef mpop
+#undef mmin
+#undef mnextsize
+#undef mnextswap
+#undef MAIN_QSORT_SMALL_THRESH
+#undef MAIN_QSORT_DEPTH_THRESH
+#undef MAIN_QSORT_STACK_SIZE
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > N_OVERSHOOT
+      block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
+      ((UChar*)block32) [0 .. nblock-1] holds block
+      ptr exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)block32) [0 .. nblock-1] holds block
+      All other areas of block32 destroyed
+      ftab [0 .. 65536 ] destroyed
+      ptr [0 .. nblock-1] holds sorted order
+      if (*budget < 0), sorting was abandoned
+*/
+
+#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
+#define SETMASK (1 << 21)
+#define CLEARMASK (~(SETMASK))
+
+static
+void mainSort ( UInt32* ptr, 
+                UChar*  block,
+                UInt16* quadrant, 
+                UInt32* ftab,
+                Int32   nblock,
+                Int32   verb,
+                Int32*  budget )
+{
+   Int32  i, j, k, ss, sb;
+   Int32  runningOrder[256];
+   Bool   bigDone[256];
+   Int32  copyStart[256];
+   Int32  copyEnd  [256];
+   UChar  c1;
+   Int32  numQSorted;
+   UInt16 s;
+   if (verb >= 4) VPrintf0 ( "        main sort initialise ...\n" );
+
+   /*-- set up the 2-byte frequency table --*/
+   for (i = 65536; i >= 0; i--) ftab[i] = 0;
+
+   j = block[0] << 8;
+   i = nblock-1;
+   for (; i >= 3; i -= 4) {
+      quadrant[i] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i]) << 8);
+      ftab[j]++;
+      quadrant[i-1] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
+      ftab[j]++;
+      quadrant[i-2] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
+      ftab[j]++;
+      quadrant[i-3] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
+      ftab[j]++;
+   }
+   for (; i >= 0; i--) {
+      quadrant[i] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i]) << 8);
+      ftab[j]++;
+   }
+
+   /*-- (emphasises close relationship of block & quadrant) --*/
+   for (i = 0; i < BZ_N_OVERSHOOT; i++) {
+      block   [nblock+i] = block[i];
+      quadrant[nblock+i] = 0;
+   }
+
+   if (verb >= 4) VPrintf0 ( "        bucket sorting ...\n" );
+
+   /*-- Complete the initial radix sort --*/
+   for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
+
+   s = block[0] << 8;
+   i = nblock-1;
+   for (; i >= 3; i -= 4) {
+      s = (s >> 8) | (block[i] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i;
+      s = (s >> 8) | (block[i-1] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-1;
+      s = (s >> 8) | (block[i-2] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-2;
+      s = (s >> 8) | (block[i-3] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-3;
+   }
+   for (; i >= 0; i--) {
+      s = (s >> 8) | (block[i] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i;
+   }
+
+   /*--
+      Now ftab contains the first loc of every small bucket.
+      Calculate the running order, from smallest to largest
+      big bucket.
+   --*/
+   for (i = 0; i <= 255; i++) {
+      bigDone     [i] = False;
+      runningOrder[i] = i;
+   }
+
+   {
+      Int32 vv;
+      Int32 h = 1;
+      do h = 3 * h + 1; while (h <= 256);
+      do {
+         h = h / 3;
+         for (i = h; i <= 255; i++) {
+            vv = runningOrder[i];
+            j = i;
+            while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
+               runningOrder[j] = runningOrder[j-h];
+               j = j - h;
+               if (j <= (h - 1)) goto zero;
+            }
+            zero:
+            runningOrder[j] = vv;
+         }
+      } while (h != 1);
+   }
+
+   /*--
+      The main sorting loop.
+   --*/
+
+   numQSorted = 0;
+
+   for (i = 0; i <= 255; i++) {
+
+      /*--
+         Process big buckets, starting with the least full.
+         Basically this is a 3-step process in which we call
+         mainQSort3 to sort the small buckets [ss, j], but
+         also make a big effort to avoid the calls if we can.
+      --*/
+      ss = runningOrder[i];
+
+      /*--
+         Step 1:
+         Complete the big bucket [ss] by quicksorting
+         any unsorted small buckets [ss, j], for j != ss.  
+         Hopefully previous pointer-scanning phases have already
+         completed many of the small buckets [ss, j], so
+         we don't have to sort them at all.
+      --*/
+      for (j = 0; j <= 255; j++) {
+         if (j != ss) {
+            sb = (ss << 8) + j;
+            if ( ! (ftab[sb] & SETMASK) ) {
+               Int32 lo = ftab[sb]   & CLEARMASK;
+               Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
+               if (hi > lo) {
+                  if (verb >= 4)
+                     VPrintf4 ( "        qsort [0x%x, 0x%x]   "
+                                "done %d   this %d\n",
+                                ss, j, numQSorted, hi - lo + 1 );
+                  mainQSort3 ( 
+                     ptr, block, quadrant, nblock, 
+                     lo, hi, BZ_N_RADIX, budget 
+                  );   
+                  numQSorted += (hi - lo + 1);
+                  if (*budget < 0) return;
+               }
+            }
+            ftab[sb] |= SETMASK;
+         }
+      }
+
+      AssertH ( !bigDone[ss], 1006 );
+
+      /*--
+         Step 2:
+         Now scan this big bucket [ss] so as to synthesise the
+         sorted order for small buckets [t, ss] for all t,
+         including, magically, the bucket [ss,ss] too.
+         This will avoid doing Real Work in subsequent Step 1's.
+      --*/
+      {
+         for (j = 0; j <= 255; j++) {
+            copyStart[j] =  ftab[(j << 8) + ss]     & CLEARMASK;
+            copyEnd  [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
+         }
+         for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
+            k = ptr[j]-1; if (k < 0) k += nblock;
+            c1 = block[k];
+            if (!bigDone[c1])
+               ptr[ copyStart[c1]++ ] = k;
+         }
+         for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
+            k = ptr[j]-1; if (k < 0) k += nblock;
+            c1 = block[k];
+            if (!bigDone[c1]) 
+               ptr[ copyEnd[c1]-- ] = k;
+         }
+      }
+
+      AssertH ( (copyStart[ss]-1 == copyEnd[ss])
+                || 
+                /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
+                   Necessity for this case is demonstrated by compressing 
+                   a sequence of approximately 48.5 million of character 
+                   251; 1.0.0/1.0.1 will then die here. */
+                (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
+                1007 )
+
+      for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
+
+      /*--
+         Step 3:
+         The [ss] big bucket is now done.  Record this fact,
+         and update the quadrant descriptors.  Remember to
+         update quadrants in the overshoot area too, if
+         necessary.  The "if (i < 255)" test merely skips
+         this updating for the last bucket processed, since
+         updating for the last bucket is pointless.
+
+         The quadrant array provides a way to incrementally
+         cache sort orderings, as they appear, so as to 
+         make subsequent comparisons in fullGtU() complete
+         faster.  For repetitive blocks this makes a big
+         difference (but not big enough to be able to avoid
+         the fallback sorting mechanism, exponential radix sort).
+
+         The precise meaning is: at all times:
+
+            for 0 <= i < nblock and 0 <= j <= nblock
+
+            if block[i] != block[j], 
+
+               then the relative values of quadrant[i] and 
+                    quadrant[j] are meaningless.
+
+               else {
+                  if quadrant[i] < quadrant[j]
+                     then the string starting at i lexicographically
+                     precedes the string starting at j
+
+                  else if quadrant[i] > quadrant[j]
+                     then the string starting at j lexicographically
+                     precedes the string starting at i
+
+                  else
+                     the relative ordering of the strings starting
+                     at i and j has not yet been determined.
+               }
+      --*/
+      bigDone[ss] = True;
+
+      if (i < 255) {
+         Int32 bbStart  = ftab[ss << 8] & CLEARMASK;
+         Int32 bbSize   = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
+         Int32 shifts   = 0;
+
+         while ((bbSize >> shifts) > 65534) shifts++;
+
+         for (j = bbSize-1; j >= 0; j--) {
+            Int32 a2update     = ptr[bbStart + j];
+            UInt16 qVal        = (UInt16)(j >> shifts);
+            quadrant[a2update] = qVal;
+            if (a2update < BZ_N_OVERSHOOT)
+               quadrant[a2update + nblock] = qVal;
+         }
+         AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
+      }
+
+   }
+
+   if (verb >= 4)
+      VPrintf3 ( "        %d pointers, %d sorted, %d scanned\n",
+                 nblock, numQSorted, nblock - numQSorted );
+}
+
+#undef BIGFREQ
+#undef SETMASK
+#undef CLEARMASK
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > 0
+      arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
+      ((UChar*)arr2)  [0 .. nblock-1] holds block
+      arr1 exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)arr2) [0 .. nblock-1] holds block
+      All other areas of block destroyed
+      ftab [ 0 .. 65536 ] destroyed
+      arr1 [0 .. nblock-1] holds sorted order
+*/
+void BZ2_blockSort ( EState* s )
+{
+   UInt32* ptr    = s->ptr; 
+   UChar*  block  = s->block;
+   UInt32* ftab   = s->ftab;
+   Int32   nblock = s->nblock;
+   Int32   verb   = s->verbosity;
+   Int32   wfact  = s->workFactor;
+   UInt16* quadrant;
+   Int32   budget;
+   Int32   budgetInit;
+   Int32   i;
+
+   if (nblock < 10000) {
+      fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
+   } else {
+      /* Calculate the location for quadrant, remembering to get
+         the alignment right.  Assumes that &(block[0]) is at least
+         2-byte aligned -- this should be ok since block is really
+         the first section of arr2.
+      */
+      i = nblock+BZ_N_OVERSHOOT;
+      if (i & 1) i++;
+      quadrant = (UInt16*)(&(block[i]));
+
+      /* (wfact-1) / 3 puts the default-factor-30
+         transition point at very roughly the same place as 
+         with v0.1 and v0.9.0.  
+         Not that it particularly matters any more, since the
+         resulting compressed stream is now the same regardless
+         of whether or not we use the main sort or fallback sort.
+      */
+      if (wfact < 1  ) wfact = 1;
+      if (wfact > 100) wfact = 100;
+      budgetInit = nblock * ((wfact-1) / 3);
+      budget = budgetInit;
+
+      mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
+      if (verb >= 3) 
+         VPrintf3 ( "      %d work, %d block, ratio %5.2f\n",
+                    budgetInit - budget,
+                    nblock, 
+                    (float)(budgetInit - budget) /
+                    (float)(nblock==0 ? 1 : nblock) ); 
+      if (budget < 0) {
+         if (verb >= 2) 
+            VPrintf0 ( "    too repetitive; using fallback"
+                       " sorting algorithm\n" );
+         fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
+      }
+   }
+
+   s->origPtr = -1;
+   for (i = 0; i < s->nblock; i++)
+      if (ptr[i] == 0)
+         { s->origPtr = i; break; };
+
+   AssertH( s->origPtr != -1, 1003 );
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                       blocksort.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bz-common.xsl b/plugins/Updater/bzip2-1.0.3/bz-common.xsl
new file mode 100644
index 0000000000..66fcd6fe0b
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bz-common.xsl
@@ -0,0 +1,39 @@
+ 
+
+
+
+ 
+
+
+
+ 
+ 
+   
+    
+      
+     
+  
+
+
+
+
+set       toc,title
+book      toc,title,figure,table,example,equation
+chapter   toc,title
+section   toc
+sect1     toc
+sect2     toc
+sect3     toc
+sect4     nop
+sect5     nop
+qandaset  toc
+qandadiv  nop
+appendix  toc,title
+article/appendix  nop
+article   toc,title
+preface   toc,title
+reference toc,title
+
+
+
diff --git a/plugins/Updater/bzip2-1.0.3/bz-fo.xsl b/plugins/Updater/bzip2-1.0.3/bz-fo.xsl
new file mode 100644
index 0000000000..ba3e30123f
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bz-fo.xsl
@@ -0,0 +1,276 @@
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+      
+     
+   
+
+
+
+
+ 
+
+
+
+
+
+
+  
+
+
+
+
+  blue
+
+
+
+
+  
+    
+  
+
+
+
+  
+    
+  
+
+
+
+
+  
+  
+  
+    
+      
+    
+  
+  
+    
+      
+        
+          
+          
+          
+        
+      
+    
+    
+          
+    
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+
+  
+  
+  
+    
+      
+        
+      
+    
+    
+          
+    
+  
+  
+    
+      
+        
+      
+    
+    
+      
+        
+      
+    
+  
+
+
+
+
+
+  
+    
+  
+    
+  
+  
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+      0pt
+    
+  
+  
+    
+      
+      
+      
+        
+          
+            baseline
+             
+               
+            
+          
+          
+            baseline
+            
+              
+                
+                
+                
+                
+              
+            
+          
+        
+      
+    
+  
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+  
+  
+  
+  
+    
+      0pt
+    
+  
+  
+    
+      
+        
+        
+        
+      
+      
+      
+      
+        
+          
+            baseline
+            
+               
+            
+          
+          
+            baseline
+            
+              
+                
+                
+                
+                
+              
+            
+          
+        
+      
+    
+  
+  
+  
+    
+      
+    
+    
+      
+    
+    
+      
+    
+  
+
+
+
+
+
+
+  always
+  
+    
+  
+  
+    
+    pt
+  
+  
+    
+    pt
+  
+  false
+
+
+
+
diff --git a/plugins/Updater/bzip2-1.0.3/bz-html.xsl b/plugins/Updater/bzip2-1.0.3/bz-html.xsl
new file mode 100644
index 0000000000..1785fffbc9
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bz-html.xsl
@@ -0,0 +1,20 @@
+ 
+ ]>
+
+
+
+
+
+
+
+
+
+
+  
+  
+
+
+
diff --git a/plugins/Updater/bzip2-1.0.3/bzdiff b/plugins/Updater/bzip2-1.0.3/bzdiff
new file mode 100644
index 0000000000..6fc38f92d2
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzdiff
@@ -0,0 +1,76 @@
+#!/bin/sh
+# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
+
+# Bzcmp/diff wrapped for bzip2, 
+# adapted from zdiff by Philippe Troin  for Debian GNU/Linux.
+
+# Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro-
+# gram  on compressed files.  All options specified are passed
+# directly to cmp or diff.  If only 1 file is specified,  then
+# the  files  compared  are file1 and an uncompressed file1.gz.
+# If two files are specified, then they are  uncompressed  (if
+# necessary) and fed to cmp or diff.  The exit status from cmp
+# or diff is preserved.
+
+PATH="/usr/bin:/bin:$PATH"; export PATH
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+  *cmp) comp=${CMP-cmp}   ;;
+  *)    comp=${DIFF-diff} ;;
+esac
+
+OPTIONS=
+FILES=
+for ARG
+do
+    case "$ARG" in
+    -*)	OPTIONS="$OPTIONS $ARG";;
+     *)	if test -f "$ARG"; then
+            FILES="$FILES $ARG"
+        else
+            echo "${prog}: $ARG not found or not a regular file"
+	    exit 1
+        fi ;;
+    esac
+done
+if test -z "$FILES"; then
+	echo "Usage: $prog [${comp}_options] file [file]"
+	exit 1
+fi
+tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
+      echo 'cannot create a temporary file' >&2
+      exit 1
+}
+set $FILES
+if test $# -eq 1; then
+	FILE=`echo "$1" | sed 's/.bz2$//'`
+	bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
+	STAT="$?"
+
+elif test $# -eq 2; then
+	case "$1" in
+        *.bz2)
+                case "$2" in
+	        *.bz2)
+			F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
+                        bzip2 -cdfq "$2" > $tmp
+                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
+                        STAT="$?"
+			/bin/rm -f $tmp;;
+
+                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
+                        STAT="$?";;
+                esac;;
+        *)      case "$2" in
+	        *.bz2)
+                        bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
+                        STAT="$?";;
+                *)      $comp $OPTIONS "$1" "$2"
+                        STAT="$?";;
+                esac;;
+	esac
+        exit "$STAT"
+else
+	echo "Usage: $prog [${comp}_options] file [file]"
+	exit 1
+fi
diff --git a/plugins/Updater/bzip2-1.0.3/bzdiff.1 b/plugins/Updater/bzip2-1.0.3/bzdiff.1
new file mode 100644
index 0000000000..adb7a8e724
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzdiff.1
@@ -0,0 +1,47 @@
+\"Shamelessly copied from zmore.1 by Philippe Troin 
+\"for Debian GNU/Linux
+.TH BZDIFF 1
+.SH NAME
+bzcmp, bzdiff \- compare bzip2 compressed files
+.SH SYNOPSIS
+.B bzcmp
+[ cmp_options ] file1
+[ file2 ]
+.br
+.B bzdiff
+[ diff_options ] file1
+[ file2 ]
+.SH DESCRIPTION
+.I  Bzcmp
+and 
+.I bzdiff
+are used to invoke the
+.I cmp
+or the
+.I diff
+program on bzip2 compressed files.  All options specified are passed
+directly to
+.I cmp
+or
+.IR diff "."
+If only 1 file is specified, then the files compared are
+.I file1
+and an uncompressed
+.IR file1 ".bz2."
+If two files are specified, then they are uncompressed if necessary and fed to
+.I cmp
+or
+.IR diff "."
+The exit status from 
+.I cmp
+or
+.I diff
+is preserved.
+.SH "SEE ALSO"
+cmp(1), diff(1), bzmore(1), bzless(1), bzgrep(1), bzip2(1)
+.SH BUGS
+Messages from the
+.I cmp
+or
+.I diff
+programs refer to temporary filenames instead of those specified.
diff --git a/plugins/Updater/bzip2-1.0.3/bzgrep b/plugins/Updater/bzip2-1.0.3/bzgrep
new file mode 100644
index 0000000000..9a04b8337d
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzgrep
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+# Bzgrep wrapped for bzip2, 
+# adapted from zgrep by Philippe Troin  for Debian GNU/Linux.
+## zgrep notice:
+## zgrep -- a wrapper around a grep program that decompresses files as needed
+## Adapted from a version sent by Charles Levert 
+
+PATH="/usr/bin:$PATH"; export PATH
+
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+	*egrep)	grep=${EGREP-egrep}	;;
+	*fgrep)	grep=${FGREP-fgrep}	;;
+	*)	grep=${GREP-grep}	;;
+esac
+pat=""
+while test $# -ne 0; do
+  case "$1" in
+  -e | -f) opt="$opt $1"; shift; pat="$1"
+           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
+             grep=egrep
+           fi;;
+  -A | -B) opt="$opt $1 $2"; shift;;
+  -*)	   opt="$opt $1";;
+   *)      if test -z "$pat"; then
+	     pat="$1"
+	   else
+	     break;
+           fi;;
+  esac
+  shift
+done
+
+if test -z "$pat"; then
+  echo "grep through bzip2 files"
+  echo "usage: $prog [grep_options] pattern [files]"
+  exit 1
+fi
+
+list=0
+silent=0
+op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
+case "$op" in
+  *l*) list=1
+esac
+case "$op" in
+  *h*) silent=1
+esac
+
+if test $# -eq 0; then
+  bzip2 -cdfq | $grep $opt "$pat"
+  exit $?
+fi
+
+res=0
+for i do
+  if test -f "$i"; then :; else if test -f "$i.bz2"; then i="$i.bz2"; fi; fi
+  if test $list -eq 1; then
+    bzip2 -cdfq "$i" | $grep $opt "$pat" 2>&1 > /dev/null && echo $i
+    r=$?
+  elif test $# -eq 1 -o $silent -eq 1; then
+    bzip2 -cdfq "$i" | $grep $opt "$pat"
+    r=$?
+  else
+    j=${i//\\/\\\\}
+    j=${j//|/\\|}
+    j=${j//&/\\&}
+    j=`printf "%s" "$j" | tr '\n' ' '`
+    bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
+    r=$?
+  fi
+  test "$r" -ne 0 && res="$r"
+done
+exit $res
diff --git a/plugins/Updater/bzip2-1.0.3/bzgrep.1 b/plugins/Updater/bzip2-1.0.3/bzgrep.1
new file mode 100644
index 0000000000..930af8c7fc
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzgrep.1
@@ -0,0 +1,56 @@
+\"Shamelessly copied from zmore.1 by Philippe Troin 
+\"for Debian GNU/Linux
+.TH BZGREP 1
+.SH NAME
+bzgrep, bzfgrep, bzegrep \- search possibly bzip2 compressed files for a regular expression
+.SH SYNOPSIS
+.B bzgrep
+[ grep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.br
+.B bzegrep
+[ egrep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.br
+.B bzfgrep
+[ fgrep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.SH DESCRIPTION
+.IR  Bzgrep
+is used to invoke the
+.I grep
+on bzip2-compressed files. All options specified are passed directly to
+.I grep.
+If no file is specified, then the standard input is decompressed
+if necessary and fed to grep.
+Otherwise the given files are uncompressed if necessary and fed to
+.I grep.
+.PP
+If
+.I bzgrep
+is invoked as
+.I bzegrep
+or
+.I bzfgrep
+then
+.I egrep
+or
+.I fgrep
+is used instead of
+.I grep.
+If the GREP environment variable is set,
+.I bzgrep
+uses it as the
+.I grep
+program to be invoked. For example:
+
+    for sh:  GREP=fgrep  bzgrep string files
+    for csh: (setenv GREP fgrep; bzgrep string files)
+.SH AUTHOR
+Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe
+Troin  for Debian GNU/Linux.
+.SH "SEE ALSO"
+grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)
diff --git a/plugins/Updater/bzip2-1.0.3/bzip.css b/plugins/Updater/bzip2-1.0.3/bzip.css
new file mode 100644
index 0000000000..43193d8db0
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip.css
@@ -0,0 +1,74 @@
+/* Colours:
+#74240f  dark brown      h1, h2, h3, h4
+#336699  medium blue     links
+#339999  turquoise       link hover colour
+#202020  almost black    general text
+#761596  purple          md5sum text
+#626262  dark gray       pre border
+#eeeeee  very light gray pre background
+#f2f2f9  very light blue nav table background
+#3366cc  medium blue     nav table border
+*/
+
+a, a:link, a:visited, a:active { color: #336699; }
+a:hover { color: #339999; }
+
+body { font: 80%/126% sans-serif; }
+h1, h2, h3, h4 { color: #74240f; }
+
+dt { color: #336699; font-weight: bold }
+dd { 
+ margin-left: 1.5em; 
+ padding-bottom: 0.8em;
+}
+
+/* -- ruler -- */
+div.hr_blue { 
+  height:  3px; 
+  background:#ffffff url("/images/hr_blue.png") repeat-x; }
+div.hr_blue hr { display:none; }
+
+/* release styles */
+#release p { margin-top: 0.4em; }
+#release .md5sum { color: #761596; }
+
+
+/* ------ styles for docs|manuals|howto ------ */
+/* -- lists -- */
+ul  { 
+ margin:     0px 4px 16px 16px;
+ padding:    0px;
+ list-style: url("/images/li-blue.png"); 
+}
+ul li { 
+ margin-bottom: 10px;
+}
+ul ul	{ 
+ list-style-type:  none; 
+ list-style-image: none; 
+ margin-left:      0px; 
+}
+
+/* header / footer nav tables */
+table.nav {
+ border:     solid 1px #3366cc;
+ background: #f2f2f9;
+ background-color: #f2f2f9;
+ margin-bottom: 0.5em;
+}
+/* don't have underlined links in chunked nav menus */
+table.nav a { text-decoration: none; }
+table.nav a:hover { text-decoration: underline; }
+table.nav td { font-size: 85%; }
+
+code, tt, pre { font-size: 120%; }
+code, tt { color: #761596; }
+
+div.literallayout, pre.programlisting, pre.screen {
+ color:      #000000;
+ padding:    0.5em;
+ background: #eeeeee;
+ border:     1px solid #626262;
+ background-color: #eeeeee;
+ margin: 4px 0px 4px 0px; 
+}
diff --git a/plugins/Updater/bzip2-1.0.3/bzip2.1 b/plugins/Updater/bzip2-1.0.3/bzip2.1
new file mode 100644
index 0000000000..ce3a78e6b4
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip2.1
@@ -0,0 +1,454 @@
+.PU
+.TH bzip2 1
+.SH NAME
+bzip2, bunzip2 \- a block-sorting file compressor, v1.0.6
+.br
+bzcat \- decompresses files to stdout
+.br
+bzip2recover \- recovers data from damaged bzip2 files
+
+.SH SYNOPSIS
+.ll +8
+.B bzip2
+.RB [ " \-cdfkqstvzVL123456789 " ]
+[
+.I "filenames \&..."
+]
+.ll -8
+.br
+.B bunzip2
+.RB [ " \-fkvsVL " ]
+[ 
+.I "filenames \&..."
+]
+.br
+.B bzcat
+.RB [ " \-s " ]
+[ 
+.I "filenames \&..."
+]
+.br
+.B bzip2recover
+.I "filename"
+
+.SH DESCRIPTION
+.I bzip2
+compresses files using the Burrows-Wheeler block sorting
+text compression algorithm, and Huffman coding.  Compression is
+generally considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of the PPM
+family of statistical compressors.
+
+The command-line options are deliberately very similar to 
+those of 
+.I GNU gzip, 
+but they are not identical.
+
+.I bzip2
+expects a list of file names to accompany the
+command-line flags.  Each file is replaced by a compressed version of
+itself, with the name "original_name.bz2".  
+Each compressed file
+has the same modification date, permissions, and, when possible,
+ownership as the corresponding original, so that these properties can
+be correctly restored at decompression time.  File name handling is
+naive in the sense that there is no mechanism for preserving original
+file names, permissions, ownerships or dates in filesystems which lack
+these concepts, or have serious file name length restrictions, such as
+MS-DOS.
+
+.I bzip2
+and
+.I bunzip2
+will by default not overwrite existing
+files.  If you want this to happen, specify the \-f flag.
+
+If no file names are specified,
+.I bzip2
+compresses from standard
+input to standard output.  In this case,
+.I bzip2
+will decline to
+write compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.
+
+.I bunzip2
+(or
+.I bzip2 \-d) 
+decompresses all
+specified files.  Files which were not created by 
+.I bzip2
+will be detected and ignored, and a warning issued.  
+.I bzip2
+attempts to guess the filename for the decompressed file 
+from that of the compressed file as follows:
+
+       filename.bz2    becomes   filename
+       filename.bz     becomes   filename
+       filename.tbz2   becomes   filename.tar
+       filename.tbz    becomes   filename.tar
+       anyothername    becomes   anyothername.out
+
+If the file does not end in one of the recognised endings, 
+.I .bz2, 
+.I .bz, 
+.I .tbz2
+or
+.I .tbz, 
+.I bzip2 
+complains that it cannot
+guess the name of the original file, and uses the original name
+with
+.I .out
+appended.
+
+As with compression, supplying no
+filenames causes decompression from 
+standard input to standard output.
+
+.I bunzip2 
+will correctly decompress a file which is the
+concatenation of two or more compressed files.  The result is the
+concatenation of the corresponding uncompressed files.  Integrity
+testing (\-t) 
+of concatenated 
+compressed files is also supported.
+
+You can also compress or decompress files to the standard output by
+giving the \-c flag.  Multiple files may be compressed and
+decompressed like this.  The resulting outputs are fed sequentially to
+stdout.  Compression of multiple files 
+in this manner generates a stream
+containing multiple compressed file representations.  Such a stream
+can be decompressed correctly only by
+.I bzip2 
+version 0.9.0 or
+later.  Earlier versions of
+.I bzip2
+will stop after decompressing
+the first file in the stream.
+
+.I bzcat
+(or
+.I bzip2 -dc) 
+decompresses all specified files to
+the standard output.
+
+.I bzip2
+will read arguments from the environment variables
+.I BZIP2
+and
+.I BZIP,
+in that order, and will process them
+before any arguments read from the command line.  This gives a 
+convenient way to supply default arguments.
+
+Compression is always performed, even if the compressed 
+file is slightly
+larger than the original.  Files of less than about one hundred bytes
+tend to get larger, since the compression mechanism has a constant
+overhead in the region of 50 bytes.  Random data (including the output
+of most file compressors) is coded at about 8.05 bits per byte, giving
+an expansion of around 0.5%.
+
+As a self-check for your protection, 
+.I 
+bzip2
+uses 32-bit CRCs to
+make sure that the decompressed version of a file is identical to the
+original.  This guards against corruption of the compressed data, and
+against undetected bugs in
+.I bzip2
+(hopefully very unlikely).  The
+chances of data corruption going undetected is microscopic, about one
+chance in four billion for each file processed.  Be aware, though, that
+the check occurs upon decompression, so it can only tell you that
+something is wrong.  It can't help you 
+recover the original uncompressed
+data.  You can use 
+.I bzip2recover
+to try to recover data from
+damaged files.
+
+Return values: 0 for a normal exit, 1 for environmental problems (file
+not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
+compressed file, 3 for an internal consistency error (eg, bug) which
+caused
+.I bzip2
+to panic.
+
+.SH OPTIONS
+.TP
+.B \-c --stdout
+Compress or decompress to standard output.
+.TP
+.B \-d --decompress
+Force decompression.  
+.I bzip2, 
+.I bunzip2 
+and
+.I bzcat 
+are
+really the same program, and the decision about what actions to take is
+done on the basis of which name is used.  This flag overrides that
+mechanism, and forces 
+.I bzip2
+to decompress.
+.TP
+.B \-z --compress
+The complement to \-d: forces compression, regardless of the
+invocation name.
+.TP
+.B \-t --test
+Check integrity of the specified file(s), but don't decompress them.
+This really performs a trial decompression and throws away the result.
+.TP
+.B \-f --force
+Force overwrite of output files.  Normally,
+.I bzip2 
+will not overwrite
+existing output files.  Also forces 
+.I bzip2 
+to break hard links
+to files, which it otherwise wouldn't do.
+
+bzip2 normally declines to decompress files which don't have the
+correct magic header bytes.  If forced (-f), however, it will pass
+such files through unmodified.  This is how GNU gzip behaves.
+.TP
+.B \-k --keep
+Keep (don't delete) input files during compression
+or decompression.
+.TP
+.B \-s --small
+Reduce memory usage, for compression, decompression and testing.  Files
+are decompressed and tested using a modified algorithm which only
+requires 2.5 bytes per block byte.  This means any file can be
+decompressed in 2300k of memory, albeit at about half the normal speed.
+
+During compression, \-s selects a block size of 200k, which limits
+memory use to around the same figure, at the expense of your compression
+ratio.  In short, if your machine is low on memory (8 megabytes or
+less), use \-s for everything.  See MEMORY MANAGEMENT below.
+.TP
+.B \-q --quiet
+Suppress non-essential warning messages.  Messages pertaining to
+I/O errors and other critical events will not be suppressed.
+.TP
+.B \-v --verbose
+Verbose mode -- show the compression ratio for each file processed.
+Further \-v's increase the verbosity level, spewing out lots of
+information which is primarily of interest for diagnostic purposes.
+.TP
+.B \-L --license -V --version
+Display the software version, license terms and conditions.
+.TP
+.B \-1 (or \-\-fast) to \-9 (or \-\-best)
+Set the block size to 100 k, 200 k ..  900 k when compressing.  Has no
+effect when decompressing.  See MEMORY MANAGEMENT below.
+The \-\-fast and \-\-best aliases are primarily for GNU gzip 
+compatibility.  In particular, \-\-fast doesn't make things
+significantly faster.  
+And \-\-best merely selects the default behaviour.
+.TP
+.B \--
+Treats all subsequent arguments as file names, even if they start
+with a dash.  This is so you can handle files with names beginning
+with a dash, for example: bzip2 \-- \-myfilename.
+.TP
+.B \--repetitive-fast --repetitive-best
+These flags are redundant in versions 0.9.5 and above.  They provided
+some coarse control over the behaviour of the sorting algorithm in
+earlier versions, which was sometimes useful.  0.9.5 and above have an
+improved algorithm which renders these flags irrelevant.
+
+.SH MEMORY MANAGEMENT
+.I bzip2 
+compresses large files in blocks.  The block size affects
+both the compression ratio achieved, and the amount of memory needed for
+compression and decompression.  The flags \-1 through \-9
+specify the block size to be 100,000 bytes through 900,000 bytes (the
+default) respectively.  At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+.I bunzip2
+then allocates itself just enough memory to decompress
+the file.  Since block sizes are stored in compressed files, it follows
+that the flags \-1 to \-9 are irrelevant to and so ignored
+during decompression.
+
+Compression and decompression requirements, 
+in bytes, can be estimated as:
+
+       Compression:   400k + ( 8 x block size )
+
+       Decompression: 100k + ( 4 x block size ), or
+                      100k + ( 2.5 x block size )
+
+Larger block sizes give rapidly diminishing marginal returns.  Most of
+the compression comes from the first two or three hundred k of block
+size, a fact worth bearing in mind when using
+.I bzip2
+on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block size.
+
+For files compressed with the default 900k block size,
+.I bunzip2
+will require about 3700 kbytes to decompress.  To support decompression
+of any file on a 4 megabyte machine, 
+.I bunzip2
+has an option to
+decompress using approximately half this amount of memory, about 2300
+kbytes.  Decompression speed is also halved, so you should use this
+option only where necessary.  The relevant flag is -s.
+
+In general, try and use the largest block size memory constraints allow,
+since that maximises the compression achieved.  Compression and
+decompression speed are virtually unaffected by block size.
+
+Another significant point applies to files which fit in a single block
+-- that means most files you'd encounter using a large block size.  The
+amount of real memory touched is proportional to the size of the file,
+since the file is smaller than a block.  For example, compressing a file
+20,000 bytes long with the flag -9 will cause the compressor to
+allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
+kbytes of it.  Similarly, the decompressor will allocate 3700k but only
+touch 100k + 20000 * 4 = 180 kbytes.
+
+Here is a table which summarises the maximum memory usage for different
+block sizes.  Also recorded is the total compressed size for 14 files of
+the Calgary Text Compression Corpus totalling 3,141,622 bytes.  This
+column gives some feel for how compression varies with block size.
+These figures tend to understate the advantage of larger block sizes for
+larger files, since the Corpus is dominated by smaller files.
+
+           Compress   Decompress   Decompress   Corpus
+    Flag     usage      usage       -s usage     Size
+
+     -1      1200k       500k         350k      914704
+     -2      2000k       900k         600k      877703
+     -3      2800k      1300k         850k      860338
+     -4      3600k      1700k        1100k      846899
+     -5      4400k      2100k        1350k      845160
+     -6      5200k      2500k        1600k      838626
+     -7      6100k      2900k        1850k      834096
+     -8      6800k      3300k        2100k      828642
+     -9      7600k      3700k        2350k      828642
+
+.SH RECOVERING DATA FROM DAMAGED FILES
+.I bzip2
+compresses files in blocks, usually 900kbytes long.  Each
+block is handled independently.  If a media or transmission error causes
+a multi-block .bz2
+file to become damaged, it may be possible to
+recover data from the undamaged blocks in the file.
+
+The compressed representation of each block is delimited by a 48-bit
+pattern, which makes it possible to find the block boundaries with
+reasonable certainty.  Each block also carries its own 32-bit CRC, so
+damaged blocks can be distinguished from undamaged ones.
+
+.I bzip2recover
+is a simple program whose purpose is to search for
+blocks in .bz2 files, and write each block out into its own .bz2 
+file.  You can then use
+.I bzip2 
+\-t
+to test the
+integrity of the resulting files, and decompress those which are
+undamaged.
+
+.I bzip2recover
+takes a single argument, the name of the damaged file, 
+and writes a number of files "rec00001file.bz2",
+"rec00002file.bz2", etc, containing the  extracted  blocks.
+The  output  filenames  are  designed  so  that the use of
+wildcards in subsequent processing -- for example,  
+"bzip2 -dc  rec*file.bz2 > recovered_data" -- processes the files in
+the correct order.
+
+.I bzip2recover
+should be of most use dealing with large .bz2
+files,  as  these will contain many blocks.  It is clearly
+futile to use it on damaged single-block  files,  since  a
+damaged  block  cannot  be recovered.  If you wish to minimise 
+any potential data loss through media  or  transmission errors, 
+you might consider compressing with a smaller
+block size.
+
+.SH PERFORMANCE NOTES
+The sorting phase of compression gathers together similar strings in the
+file.  Because of this, files containing very long runs of repeated
+symbols, like "aabaabaabaab ..."  (repeated several hundred times) may
+compress more slowly than normal.  Versions 0.9.5 and above fare much
+better than previous versions in this respect.  The ratio between
+worst-case and average-case compression time is in the region of 10:1.
+For previous versions, this figure was more like 100:1.  You can use the
+\-vvvv option to monitor progress in great detail, if you want.
+
+Decompression speed is unaffected by these phenomena.
+
+.I bzip2
+usually allocates several megabytes of memory to operate
+in, and then charges all over it in a fairly random fashion.  This means
+that performance, both for compressing and decompressing, is largely
+determined by the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss rate have
+been observed to give disproportionately large performance improvements.
+I imagine 
+.I bzip2
+will perform best on machines with very large caches.
+
+.SH CAVEATS
+I/O error messages are not as helpful as they could be.
+.I bzip2
+tries hard to detect I/O errors and exit cleanly, but the details of
+what the problem is sometimes seem rather misleading.
+
+This manual page pertains to version 1.0.6 of
+.I bzip2.  
+Compressed data created by this version is entirely forwards and
+backwards compatible with the previous public releases, versions
+0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and above, but with the following
+exception: 0.9.0 and above can correctly decompress multiple
+concatenated compressed files.  0.1pl2 cannot do this; it will stop
+after decompressing just the first file in the stream.
+
+.I bzip2recover
+versions prior to 1.0.2 used 32-bit integers to represent
+bit positions in compressed files, so they could not handle compressed
+files more than 512 megabytes long.  Versions 1.0.2 and above use
+64-bit ints on some platforms which support them (GNU supported
+targets, and Windows).  To establish whether or not bzip2recover was
+built with such a limitation, run it without arguments.  In any event
+you can build yourself an unlimited version if you can recompile it
+with MaybeUInt64 set to be an unsigned 64-bit integer.
+
+
+
+.SH AUTHOR
+Julian Seward, jsewardbzip.org.
+
+http://www.bzip.org
+
+The ideas embodied in
+.I bzip2
+are due to (at least) the following
+people: Michael Burrows and David Wheeler (for the block sorting
+transformation), David Wheeler (again, for the Huffman coder), Peter
+Fenwick (for the structured coding model in the original
+.I bzip,
+and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original
+.I bzip).  
+I am much
+indebted for their help, support and advice.  See the manual in the
+source distribution for pointers to sources of documentation.  Christian
+von Roques encouraged me to look for faster sorting algorithms, so as to
+speed up compression.  Bela Lubkin encouraged me to improve the
+worst-case compression performance.  
+Donna Robinson XMLised the documentation.
+The bz* scripts are derived from those of GNU gzip.
+Many people sent patches, helped
+with portability problems, lent machines, gave advice and were generally
+helpful.
diff --git a/plugins/Updater/bzip2-1.0.3/bzip2.1.preformatted b/plugins/Updater/bzip2-1.0.3/bzip2.1.preformatted
new file mode 100644
index 0000000000..63c33be99e
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip2.1.preformatted
@@ -0,0 +1,399 @@
+bzip2(1)                                                 bzip2(1)
+
+
+
+NNAAMMEE
+       bzip2, bunzip2 − a blockâ€sorting file compressor, v1.0.6
+       bzcat − decompresses files to stdout
+       bzip2recover − recovers data from damaged bzip2 files
+
+
+SSYYNNOOPPSSIISS
+       bbzziipp22 [ −−ccddffkkqqssttvvzzVVLL112233445566778899 ] [ _f_i_l_e_n_a_m_e_s _._._.  ]
+       bbuunnzziipp22 [ −−ffkkvvssVVLL ] [ _f_i_l_e_n_a_m_e_s _._._.  ]
+       bbzzccaatt [ −−ss ] [ _f_i_l_e_n_a_m_e_s _._._.  ]
+       bbzziipp22rreeccoovveerr _f_i_l_e_n_a_m_e
+
+
+DDEESSCCRRIIPPTTIIOONN
+       _b_z_i_p_2  compresses  files  using  the Burrowsâ€Wheeler block
+       sorting text compression algorithm,  and  Huffman  coding.
+       Compression  is  generally  considerably  better than that
+       achieved by more conventional LZ77/LZ78â€based compressors,
+       and  approaches  the performance of the PPM family of sta­
+       tistical compressors.
+
+       The commandâ€line options are deliberately very similar  to
+       those of _G_N_U _g_z_i_p_, but they are not identical.
+
+       _b_z_i_p_2  expects  a list of file names to accompany the com­
+       mandâ€line flags.  Each file is replaced  by  a  compressed
+       version  of  itself,  with  the  name "original_name.bz2".
+       Each compressed file has the same modification date,  per­
+       missions, and, when possible, ownership as the correspond­
+       ing original, so that these properties  can  be  correctly
+       restored  at  decompression  time.   File name handling is
+       naive in the sense that there is no mechanism for preserv­
+       ing  original file names, permissions, ownerships or dates
+       in filesystems which lack these concepts, or have  serious
+       file name length restrictions, such as MSâ€DOS.
+
+       _b_z_i_p_2  and  _b_u_n_z_i_p_2 will by default not overwrite existing
+       files.  If you want this to happen, specify the −f flag.
+
+       If no file names  are  specified,  _b_z_i_p_2  compresses  from
+       standard  input  to  standard output.  In this case, _b_z_i_p_2
+       will decline to write compressed output to a terminal,  as
+       this  would  be  entirely  incomprehensible  and therefore
+       pointless.
+
+       _b_u_n_z_i_p_2 (or _b_z_i_p_2 _−_d_) decompresses  all  specified  files.
+       Files which were not created by _b_z_i_p_2 will be detected and
+       ignored, and a warning issued.  _b_z_i_p_2  attempts  to  guess
+       the  filename  for  the decompressed file from that of the
+       compressed file as follows:
+
+              filename.bz2    becomes   filename
+              filename.bz     becomes   filename
+              filename.tbz2   becomes   filename.tar
+              filename.tbz    becomes   filename.tar
+              anyothername    becomes   anyothername.out
+
+       If the file does not end in one of the recognised endings,
+       _._b_z_2_,  _._b_z_,  _._t_b_z_2 or _._t_b_z_, _b_z_i_p_2 complains that it cannot
+       guess the name of the original file, and uses the original
+       name with _._o_u_t appended.
+
+       As  with compression, supplying no filenames causes decom­
+       pression from standard input to standard output.
+
+       _b_u_n_z_i_p_2 will correctly decompress a file which is the con­
+       catenation of two or more compressed files.  The result is
+       the concatenation of the corresponding uncompressed files.
+       Integrity testing (−t) of concatenated compressed files is
+       also supported.
+
+       You can also compress or decompress files to the  standard
+       output  by giving the −c flag.  Multiple files may be com­
+       pressed and decompressed like this.  The resulting outputs
+       are  fed  sequentially to stdout.  Compression of multiple
+       files in this manner generates a stream containing  multi­
+       ple compressed file representations.  Such a stream can be
+       decompressed correctly only  by  _b_z_i_p_2  version  0.9.0  or
+       later.   Earlier  versions of _b_z_i_p_2 will stop after decom­
+       pressing the first file in the stream.
+
+       _b_z_c_a_t (or _b_z_i_p_2 _â€_d_c_) decompresses all specified  files  to
+       the standard output.
+
+       _b_z_i_p_2  will  read arguments from the environment variables
+       _B_Z_I_P_2 and _B_Z_I_P_, in  that  order,  and  will  process  them
+       before  any  arguments  read  from the command line.  This
+       gives a convenient way to supply default arguments.
+
+       Compression is always performed, even  if  the  compressed
+       file  is slightly larger than the original.  Files of less
+       than about one hundred bytes tend to get larger, since the
+       compression  mechanism  has  a  constant  overhead  in the
+       region of 50 bytes.  Random data (including the output  of
+       most  file  compressors)  is  coded at about 8.05 bits per
+       byte, giving an expansion of around 0.5%.
+
+       As a selfâ€check for your  protection,  _b_z_i_p_2  uses  32â€bit
+       CRCs  to make sure that the decompressed version of a file
+       is identical to the original.  This guards against corrup­
+       tion  of  the compressed data, and against undetected bugs
+       in _b_z_i_p_2 (hopefully very unlikely).  The chances  of  data
+       corruption  going  undetected  is  microscopic,  about one
+       chance in four billion for each file processed.  Be aware,
+       though,  that  the  check occurs upon decompression, so it
+       can only tell you that something is wrong.  It can’t  help
+       you  recover  the original uncompressed data.  You can use
+       _b_z_i_p_2_r_e_c_o_v_e_r to try to recover data from damaged files.
+
+       Return values: 0 for a normal exit,  1  for  environmental
+       problems  (file not found, invalid flags, I/O errors, &c),
+       2 to indicate a corrupt compressed file, 3 for an internal
+       consistency error (eg, bug) which caused _b_z_i_p_2 to panic.
+
+
+OOPPTTIIOONNSS
+       −−cc â€â€â€â€ssttddoouutt
+              Compress or decompress to standard output.
+
+       −−dd â€â€â€â€ddeeccoommpprreessss
+              Force  decompression.  _b_z_i_p_2_, _b_u_n_z_i_p_2 and _b_z_c_a_t are
+              really the same program,  and  the  decision  about
+              what  actions to take is done on the basis of which
+              name is used.  This flag overrides that  mechanism,
+              and forces _b_z_i_p_2 to decompress.
+
+       −−zz â€â€â€â€ccoommpprreessss
+              The   complement   to   −d:   forces   compression,
+              regardless of the invocation name.
+
+       −−tt â€â€â€â€tteesstt
+              Check integrity of the specified file(s), but don’t
+              decompress  them.   This  really  performs  a trial
+              decompression and throws away the result.
+
+       −−ff â€â€â€â€ffoorrccee
+              Force overwrite of output files.   Normally,  _b_z_i_p_2
+              will  not  overwrite  existing  output files.  Also
+              forces _b_z_i_p_2 to break hard links to files, which it
+              otherwise wouldn’t do.
+
+              bzip2  normally  declines to decompress files which
+              don’t have the  correct  magic  header  bytes.   If
+              forced  (â€f),  however,  it  will  pass  such files
+              through unmodified.  This is how GNU gzip  behaves.
+
+       −−kk â€â€â€â€kkeeeepp
+              Keep  (don’t delete) input files during compression
+              or decompression.
+
+       −−ss â€â€â€â€ssmmaallll
+              Reduce memory usage, for compression, decompression
+              and  testing.   Files  are  decompressed and tested
+              using a modified algorithm which only requires  2.5
+              bytes  per  block byte.  This means any file can be
+              decompressed in 2300k of memory,  albeit  at  about
+              half the normal speed.
+
+              During  compression,  −s  selects  a  block size of
+              200k, which limits memory use to  around  the  same
+              figure,  at  the expense of your compression ratio.
+              In short, if your  machine  is  low  on  memory  (8
+              megabytes  or  less),  use  −s for everything.  See
+              MEMORY MANAGEMENT below.
+
+       −−qq â€â€â€â€qquuiieett
+              Suppress nonâ€essential warning messages.   Messages
+              pertaining  to I/O errors and other critical events
+              will not be suppressed.
+
+       −−vv â€â€â€â€vveerrbboossee
+              Verbose mode â€â€ show the compression ratio for each
+              file  processed.   Further  −v’s  increase the ver­
+              bosity level, spewing out lots of information which
+              is primarily of interest for diagnostic purposes.
+
+       −−LL â€â€â€â€lliicceennssee â€â€VV â€â€â€â€vveerrssiioonn
+              Display  the  software  version,  license terms and
+              conditions.
+
+       −−11 ((oorr −−−−ffaasstt)) ttoo −−99 ((oorr −−−−bbeesstt))
+              Set the block size to 100 k, 200 k ..  900  k  when
+              compressing.   Has  no  effect  when decompressing.
+              See MEMORY MANAGEMENT below.  The −−fast and −−best
+              aliases  are  primarily for GNU gzip compatibility.
+              In particular, −−fast doesn’t make things  signifi­
+              cantly  faster.   And  −−best  merely  selects  the
+              default behaviour.
+
+       −−     Treats all subsequent arguments as file names, even
+              if they start with a dash.  This is so you can han­
+              dle files with names beginning  with  a  dash,  for
+              example: bzip2 −†−myfilename.
+
+       −−â€â€rreeppeettiittiivveeâ€â€ffaasstt â€â€â€â€rreeppeettiittiivveeâ€â€bbeesstt
+              These  flags  are  redundant  in versions 0.9.5 and
+              above.  They provided some coarse control over  the
+              behaviour  of the sorting algorithm in earlier ver­
+              sions, which was sometimes useful.  0.9.5 and above
+              have  an  improved  algorithm  which  renders these
+              flags irrelevant.
+
+
+MMEEMMOORRYY MMAANNAAGGEEMMEENNTT
+       _b_z_i_p_2 compresses large files in blocks.   The  block  size
+       affects  both  the  compression  ratio  achieved,  and the
+       amount of memory needed for compression and decompression.
+       The  flags  −1  through  −9  specify  the block size to be
+       100,000 bytes through 900,000 bytes (the default)  respec­
+       tively.   At  decompression  time, the block size used for
+       compression is read from  the  header  of  the  compressed
+       file, and _b_u_n_z_i_p_2 then allocates itself just enough memory
+       to decompress the file.  Since block sizes are  stored  in
+       compressed  files,  it follows that the flags −1 to −9 are
+       irrelevant to and so ignored during decompression.
+
+       Compression and decompression requirements, in bytes,  can
+       be estimated as:
+
+              Compression:   400k + ( 8 x block size )
+
+              Decompression: 100k + ( 4 x block size ), or
+                             100k + ( 2.5 x block size )
+
+       Larger  block  sizes  give  rapidly  diminishing  marginal
+       returns.  Most of the compression comes from the first two
+       or  three hundred k of block size, a fact worth bearing in
+       mind when using _b_z_i_p_2  on  small  machines.   It  is  also
+       important  to  appreciate  that  the  decompression memory
+       requirement is set at compression time by  the  choice  of
+       block size.
+
+       For  files  compressed  with  the default 900k block size,
+       _b_u_n_z_i_p_2 will require about 3700 kbytes to decompress.   To
+       support decompression of any file on a 4 megabyte machine,
+       _b_u_n_z_i_p_2 has an option to  decompress  using  approximately
+       half this amount of memory, about 2300 kbytes.  Decompres­
+       sion speed is also halved, so you should use  this  option
+       only where necessary.  The relevant flag is â€s.
+
+       In general, try and use the largest block size memory con­
+       straints  allow,  since  that  maximises  the  compression
+       achieved.   Compression and decompression speed are virtu­
+       ally unaffected by block size.
+
+       Another significant point applies to files which fit in  a
+       single  block  â€â€  that  means  most files you’d encounter
+       using a large block  size.   The  amount  of  real  memory
+       touched is proportional to the size of the file, since the
+       file is smaller than a block.  For example, compressing  a
+       file  20,000  bytes  long  with the flag â€9 will cause the
+       compressor to allocate around 7600k of  memory,  but  only
+       touch 400k + 20000 * 8 = 560 kbytes of it.  Similarly, the
+       decompressor will allocate 3700k but  only  touch  100k  +
+       20000 * 4 = 180 kbytes.
+
+       Here  is a table which summarises the maximum memory usage
+       for different block sizes.  Also  recorded  is  the  total
+       compressed  size for 14 files of the Calgary Text Compres­
+       sion Corpus totalling 3,141,622 bytes.  This column  gives
+       some  feel  for  how  compression  varies with block size.
+       These figures tend to understate the advantage  of  larger
+       block  sizes  for  larger files, since the Corpus is domi­
+       nated by smaller files.
+
+                  Compress   Decompress   Decompress   Corpus
+           Flag     usage      usage       â€s usage     Size
+
+            â€1      1200k       500k         350k      914704
+            â€2      2000k       900k         600k      877703
+            â€3      2800k      1300k         850k      860338
+            â€4      3600k      1700k        1100k      846899
+            â€5      4400k      2100k        1350k      845160
+            â€6      5200k      2500k        1600k      838626
+            â€7      6100k      2900k        1850k      834096
+            â€8      6800k      3300k        2100k      828642
+            â€9      7600k      3700k        2350k      828642
+
+
+RREECCOOVVEERRIINNGG DDAATTAA FFRROOMM DDAAMMAAGGEEDD FFIILLEESS
+       _b_z_i_p_2 compresses files in blocks, usually 900kbytes  long.
+       Each block is handled independently.  If a media or trans­
+       mission error causes a multiâ€block  .bz2  file  to  become
+       damaged,  it  may  be  possible  to  recover data from the
+       undamaged blocks in the file.
+
+       The compressed representation of each block  is  delimited
+       by  a  48â€bit pattern, which makes it possible to find the
+       block boundaries with reasonable  certainty.   Each  block
+       also  carries its own 32â€bit CRC, so damaged blocks can be
+       distinguished from undamaged ones.
+
+       _b_z_i_p_2_r_e_c_o_v_e_r is a  simple  program  whose  purpose  is  to
+       search  for blocks in .bz2 files, and write each block out
+       into its own .bz2 file.  You can then use _b_z_i_p_2 −t to test
+       the integrity of the resulting files, and decompress those
+       which are undamaged.
+
+       _b_z_i_p_2_r_e_c_o_v_e_r takes a single argument, the name of the dam­
+       aged    file,    and    writes    a    number   of   files
+       "rec00001file.bz2",  "rec00002file.bz2",  etc,  containing
+       the   extracted   blocks.   The   output   filenames   are
+       designed  so  that the use of wildcards in subsequent pro­
+       cessing  â€â€ for example, "bzip2 â€dc  rec*file.bz2 > recov­
+       ered_data" â€â€ processes the files in the correct order.
+
+       _b_z_i_p_2_r_e_c_o_v_e_r should be of most use dealing with large .bz2
+       files,  as  these will contain many blocks.  It is clearly
+       futile to use it on damaged singleâ€block  files,  since  a
+       damaged  block  cannot  be recovered.  If you wish to min­
+       imise any potential data loss through media  or  transmis­
+       sion errors, you might consider compressing with a smaller
+       block size.
+
+
+PPEERRFFOORRMMAANNCCEE NNOOTTEESS
+       The sorting phase of compression gathers together  similar
+       strings  in  the  file.  Because of this, files containing
+       very long runs of  repeated  symbols,  like  "aabaabaabaab
+       ..."   (repeated  several hundred times) may compress more
+       slowly than normal.  Versions 0.9.5 and  above  fare  much
+       better  than previous versions in this respect.  The ratio
+       between worstâ€case and averageâ€case compression time is in
+       the  region  of  10:1.  For previous versions, this figure
+       was more like 100:1.  You can use the −vvvv option to mon­
+       itor progress in great detail, if you want.
+
+       Decompression speed is unaffected by these phenomena.
+
+       _b_z_i_p_2  usually  allocates  several  megabytes of memory to
+       operate in, and then charges all over it in a fairly  ran­
+       dom  fashion.   This means that performance, both for com­
+       pressing and decompressing, is largely determined  by  the
+       speed  at  which  your  machine  can service cache misses.
+       Because of this, small changes to the code to  reduce  the
+       miss  rate  have  been observed to give disproportionately
+       large performance improvements.  I imagine _b_z_i_p_2 will per­
+       form best on machines with very large caches.
+
+
+CCAAVVEEAATTSS
+       I/O  error  messages  are not as helpful as they could be.
+       _b_z_i_p_2 tries hard to detect I/O errors  and  exit  cleanly,
+       but  the  details  of  what  the problem is sometimes seem
+       rather misleading.
+
+       This manual page pertains to version 1.0.6 of _b_z_i_p_2_.  Com­
+       pressed  data created by this version is entirely forwards
+       and  backwards  compatible  with   the   previous   public
+       releases,  versions  0.1pl2,  0.9.0,  0.9.5, 1.0.0, 1.0.1, 
+       1.0.2 and above, but with the  following  exception: 0.9.0
+       and above can  correctly decompress  multiple concatenated
+       compressed files.  0.1pl2  cannot do this;  it  will  stop 
+       after  decompressing just the first file in the stream.
+
+       _b_z_i_p_2_r_e_c_o_v_e_r  versions prior to 1.0.2 used 32â€bit integers
+       to represent bit positions in compressed  files,  so  they
+       could  not handle compressed files more than 512 megabytes
+       long.  Versions 1.0.2 and above use 64â€bit  ints  on  some
+       platforms  which  support them (GNU supported targets, and
+       Windows).  To establish whether or  not  bzip2recover  was
+       built  with  such  a limitation, run it without arguments.
+       In any event you can build yourself an  unlimited  version
+       if  you  can  recompile  it  with MaybeUInt64 set to be an
+       unsigned 64â€bit integer.
+
+
+
+
+AAUUTTHHOORR
+       Julian Seward, jsewardbzip.org.
+
+       http://www.bzip.org
+
+       The ideas embodied in _b_z_i_p_2 are due to (at least) the fol­
+       lowing  people: Michael Burrows and David Wheeler (for the
+       block sorting transformation), David Wheeler  (again,  for
+       the Huffman coder), Peter Fenwick (for the structured cod­
+       ing model in the original _b_z_i_p_, and many refinements), and
+       Alistair  Moffat,  Radford  Neal  and  Ian Witten (for the
+       arithmetic  coder  in  the  original  _b_z_i_p_)_.   I  am  much
+       indebted for their help, support and advice.  See the man­
+       ual in the source distribution for pointers to sources  of
+       documentation.  Christian von Roques encouraged me to look
+       for faster sorting algorithms, so as to speed up  compres­
+       sion.  Bela Lubkin encouraged me to improve the worstâ€case
+       compression performance.  Donna Robinson XMLised the docu­
+       mentation.   The bz* scripts are derived from those of GNU
+       gzip.  Many people sent patches, helped  with  portability
+       problems,  lent  machines,  gave advice and were generally
+       helpful.
+
+
+
+                                                         bzip2(1)
diff --git a/plugins/Updater/bzip2-1.0.3/bzip2.c b/plugins/Updater/bzip2-1.0.3/bzip2.c
new file mode 100644
index 0000000000..6de9d1d148
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip2.c
@@ -0,0 +1,2034 @@
+
+/*-----------------------------------------------------------*/
+/*--- A block-sorting, lossless compressor        bzip2.c ---*/
+/*-----------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+/* Place a 1 beside your platform, and 0 elsewhere.
+   Generic 32-bit Unix.
+   Also works on 64-bit Unix boxes.
+   This is the default.
+*/
+#define BZ_UNIX      1
+
+/*--
+  Win32, as seen by Jacob Navia's excellent
+  port of (Chris Fraser & David Hanson)'s excellent
+  lcc compiler.  Or with MS Visual C.
+  This is selected automatically if compiled by a compiler which
+  defines _WIN32, not including the Cygwin GCC.
+--*/
+#define BZ_LCCWIN32  0
+
+#if defined(_WIN32) && !defined(__CYGWIN__)
+#undef  BZ_LCCWIN32
+#define BZ_LCCWIN32 1
+#undef  BZ_UNIX
+#define BZ_UNIX 0
+#endif
+
+
+/*---------------------------------------------*/
+/*--
+  Some stuff for all platforms.
+--*/
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include "bzlib.h"
+
+#define ERROR_IF_EOF(i)       { if ((i) == EOF)  ioError(); }
+#define ERROR_IF_NOT_ZERO(i)  { if ((i) != 0)    ioError(); }
+#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); }
+
+
+/*---------------------------------------------*/
+/*--
+   Platform-specific stuff.
+--*/
+
+#if BZ_UNIX
+#   include 
+#   include 
+#   include 
+#   include 
+#   include 
+#   include 
+
+#   define PATH_SEP    '/'
+#   define MY_LSTAT    lstat
+#   define MY_STAT     stat
+#   define MY_S_ISREG  S_ISREG
+#   define MY_S_ISDIR  S_ISDIR
+
+#   define APPEND_FILESPEC(root, name) \
+      root=snocString((root), (name))
+
+#   define APPEND_FLAG(root, name) \
+      root=snocString((root), (name))
+
+#   define SET_BINARY_MODE(fd) /**/
+
+#   ifdef __GNUC__
+#      define NORETURN __attribute__ ((noreturn))
+#   else
+#      define NORETURN /**/
+#   endif
+
+#   ifdef __DJGPP__
+#     include 
+#     include 
+#     undef MY_LSTAT
+#     undef MY_STAT
+#     define MY_LSTAT stat
+#     define MY_STAT stat
+#     undef SET_BINARY_MODE
+#     define SET_BINARY_MODE(fd)                        \
+        do {                                            \
+           int retVal = setmode ( fileno ( fd ),        \
+                                  O_BINARY );           \
+           ERROR_IF_MINUS_ONE ( retVal );               \
+        } while ( 0 )
+#   endif
+
+#   ifdef __CYGWIN__
+#     include 
+#     include 
+#     undef SET_BINARY_MODE
+#     define SET_BINARY_MODE(fd)                        \
+        do {                                            \
+           int retVal = setmode ( fileno ( fd ),        \
+                                  O_BINARY );           \
+           ERROR_IF_MINUS_ONE ( retVal );               \
+        } while ( 0 )
+#   endif
+#endif /* BZ_UNIX */
+
+
+
+#if BZ_LCCWIN32
+#   include 
+#   include 
+#   include 
+
+#   define NORETURN       /**/
+#   define PATH_SEP       '\\'
+#   define MY_LSTAT       _stat
+#   define MY_STAT        _stat
+#   define MY_S_ISREG(x)  ((x) & _S_IFREG)
+#   define MY_S_ISDIR(x)  ((x) & _S_IFDIR)
+
+#   define APPEND_FLAG(root, name) \
+      root=snocString((root), (name))
+
+#   define APPEND_FILESPEC(root, name)                \
+      root = snocString ((root), (name))
+
+#   define SET_BINARY_MODE(fd)                        \
+      do {                                            \
+         int retVal = setmode ( fileno ( fd ),        \
+                                O_BINARY );           \
+         ERROR_IF_MINUS_ONE ( retVal );               \
+      } while ( 0 )
+
+#endif /* BZ_LCCWIN32 */
+
+
+/*---------------------------------------------*/
+/*--
+  Some more stuff for all platforms :-)
+--*/
+
+typedef char            Char;
+typedef unsigned char   Bool;
+typedef unsigned char   UChar;
+typedef int             Int32;
+typedef unsigned int    UInt32;
+typedef short           Int16;
+typedef unsigned short  UInt16;
+                                       
+#define True  ((Bool)1)
+#define False ((Bool)0)
+
+/*--
+  IntNative is your platform's `native' int size.
+  Only here to avoid probs with 64-bit platforms.
+--*/
+typedef int IntNative;
+
+
+/*---------------------------------------------------*/
+/*--- Misc (file handling) data decls             ---*/
+/*---------------------------------------------------*/
+
+Int32   verbosity;
+Bool    keepInputFiles, smallMode, deleteOutputOnInterrupt;
+Bool    forceOverwrite, testFailsExist, unzFailsExist, noisy;
+Int32   numFileNames, numFilesProcessed, blockSize100k;
+Int32   exitValue;
+
+/*-- source modes; F==file, I==stdin, O==stdout --*/
+#define SM_I2O           1
+#define SM_F2O           2
+#define SM_F2F           3
+
+/*-- operation modes --*/
+#define OM_Z             1
+#define OM_UNZ           2
+#define OM_TEST          3
+
+Int32   opMode;
+Int32   srcMode;
+
+#define FILE_NAME_LEN 1034
+
+Int32   longestFileName;
+Char    inName [FILE_NAME_LEN];
+Char    outName[FILE_NAME_LEN];
+Char    tmpName[FILE_NAME_LEN];
+Char    *progName;
+Char    progNameReally[FILE_NAME_LEN];
+FILE    *outputHandleJustInCase;
+Int32   workFactor;
+
+static void    panic                 ( const Char* ) NORETURN;
+static void    ioError               ( void )        NORETURN;
+static void    outOfMemory           ( void )        NORETURN;
+static void    configError           ( void )        NORETURN;
+static void    crcError              ( void )        NORETURN;
+static void    cleanUpAndFail        ( Int32 )       NORETURN;
+static void    compressedStreamEOF   ( void )        NORETURN;
+
+static void    copyFileName ( Char*, Char* );
+static void*   myMalloc     ( Int32 );
+static void    applySavedFileAttrToOutputFile ( IntNative fd );
+
+
+
+/*---------------------------------------------------*/
+/*--- An implementation of 64-bit ints.  Sigh.    ---*/
+/*--- Roll on widespread deployment of ANSI C9X ! ---*/
+/*---------------------------------------------------*/
+
+typedef
+   struct { UChar b[8]; } 
+   UInt64;
+
+
+static
+void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 )
+{
+   n->b[7] = (UChar)((hi32 >> 24) & 0xFF);
+   n->b[6] = (UChar)((hi32 >> 16) & 0xFF);
+   n->b[5] = (UChar)((hi32 >> 8)  & 0xFF);
+   n->b[4] = (UChar) (hi32        & 0xFF);
+   n->b[3] = (UChar)((lo32 >> 24) & 0xFF);
+   n->b[2] = (UChar)((lo32 >> 16) & 0xFF);
+   n->b[1] = (UChar)((lo32 >> 8)  & 0xFF);
+   n->b[0] = (UChar) (lo32        & 0xFF);
+}
+
+
+static
+double uInt64_to_double ( UInt64* n )
+{
+   Int32  i;
+   double base = 1.0;
+   double sum  = 0.0;
+   for (i = 0; i < 8; i++) {
+      sum  += base * (double)(n->b[i]);
+      base *= 256.0;
+   }
+   return sum;
+}
+
+
+static
+Bool uInt64_isZero ( UInt64* n )
+{
+   Int32 i;
+   for (i = 0; i < 8; i++)
+      if (n->b[i] != 0) return 0;
+   return 1;
+}
+
+
+/* Divide *n by 10, and return the remainder.  */
+static 
+Int32 uInt64_qrm10 ( UInt64* n )
+{
+   UInt32 rem, tmp;
+   Int32  i;
+   rem = 0;
+   for (i = 7; i >= 0; i--) {
+      tmp = rem * 256 + n->b[i];
+      n->b[i] = tmp / 10;
+      rem = tmp % 10;
+   }
+   return rem;
+}
+
+
+/* ... and the Whole Entire Point of all this UInt64 stuff is
+   so that we can supply the following function.
+*/
+static
+void uInt64_toAscii ( char* outbuf, UInt64* n )
+{
+   Int32  i, q;
+   UChar  buf[32];
+   Int32  nBuf   = 0;
+   UInt64 n_copy = *n;
+   do {
+      q = uInt64_qrm10 ( &n_copy );
+      buf[nBuf] = q + '0';
+      nBuf++;
+   } while (!uInt64_isZero(&n_copy));
+   outbuf[nBuf] = 0;
+   for (i = 0; i < nBuf; i++) 
+      outbuf[i] = buf[nBuf-i-1];
+}
+
+
+/*---------------------------------------------------*/
+/*--- Processing of complete files and streams    ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+static 
+Bool myfeof ( FILE* f )
+{
+   Int32 c = fgetc ( f );
+   if (c == EOF) return True;
+   ungetc ( c, f );
+   return False;
+}
+
+
+/*---------------------------------------------*/
+static 
+void compressStream ( FILE *stream, FILE *zStream )
+{
+   BZFILE* bzf = NULL;
+   UChar   ibuf[5000];
+   Int32   nIbuf;
+   UInt32  nbytes_in_lo32, nbytes_in_hi32;
+   UInt32  nbytes_out_lo32, nbytes_out_hi32;
+   Int32   bzerr, bzerr_dummy, ret;
+
+   SET_BINARY_MODE(stream);
+   SET_BINARY_MODE(zStream);
+
+   if (ferror(stream)) goto errhandler_io;
+   if (ferror(zStream)) goto errhandler_io;
+
+   bzf = BZ2_bzWriteOpen ( &bzerr, zStream, 
+                           blockSize100k, verbosity, workFactor );   
+   if (bzerr != BZ_OK) goto errhandler;
+
+   if (verbosity >= 2) fprintf ( stderr, "\n" );
+
+   while (True) {
+
+      if (myfeof(stream)) break;
+      nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream );
+      if (ferror(stream)) goto errhandler_io;
+      if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
+      if (bzerr != BZ_OK) goto errhandler;
+
+   }
+
+   BZ2_bzWriteClose64 ( &bzerr, bzf, 0, 
+                        &nbytes_in_lo32, &nbytes_in_hi32,
+                        &nbytes_out_lo32, &nbytes_out_hi32 );
+   if (bzerr != BZ_OK) goto errhandler;
+
+   if (ferror(zStream)) goto errhandler_io;
+   ret = fflush ( zStream );
+   if (ret == EOF) goto errhandler_io;
+   if (zStream != stdout) {
+      Int32 fd = fileno ( zStream );
+      if (fd < 0) goto errhandler_io;
+      applySavedFileAttrToOutputFile ( fd );
+      ret = fclose ( zStream );
+      outputHandleJustInCase = NULL;
+      if (ret == EOF) goto errhandler_io;
+   }
+   outputHandleJustInCase = NULL;
+   if (ferror(stream)) goto errhandler_io;
+   ret = fclose ( stream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (verbosity >= 1) {
+      if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) {
+	 fprintf ( stderr, " no data compressed.\n");
+      } else {
+	 Char   buf_nin[32], buf_nout[32];
+	 UInt64 nbytes_in,   nbytes_out;
+	 double nbytes_in_d, nbytes_out_d;
+	 uInt64_from_UInt32s ( &nbytes_in, 
+			       nbytes_in_lo32, nbytes_in_hi32 );
+	 uInt64_from_UInt32s ( &nbytes_out, 
+			       nbytes_out_lo32, nbytes_out_hi32 );
+	 nbytes_in_d  = uInt64_to_double ( &nbytes_in );
+	 nbytes_out_d = uInt64_to_double ( &nbytes_out );
+	 uInt64_toAscii ( buf_nin, &nbytes_in );
+	 uInt64_toAscii ( buf_nout, &nbytes_out );
+	 fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
+		   "%5.2f%% saved, %s in, %s out.\n",
+		   nbytes_in_d / nbytes_out_d,
+		   (8.0 * nbytes_out_d) / nbytes_in_d,
+		   100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
+		   buf_nin,
+		   buf_nout
+		 );
+      }
+   }
+
+   return;
+
+   errhandler:
+   BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1, 
+                        &nbytes_in_lo32, &nbytes_in_hi32,
+                        &nbytes_out_lo32, &nbytes_out_hi32 );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_MEM_ERROR:
+         outOfMemory (); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      default:
+         panic ( "compress:unexpected error" );
+   }
+
+   panic ( "compress:end" );
+   /*notreached*/
+}
+
+
+
+/*---------------------------------------------*/
+static 
+Bool uncompressStream ( FILE *zStream, FILE *stream )
+{
+   BZFILE* bzf = NULL;
+   Int32   bzerr, bzerr_dummy, ret, nread, streamNo, i;
+   UChar   obuf[5000];
+   UChar   unused[BZ_MAX_UNUSED];
+   Int32   nUnused;
+   void*   unusedTmpV;
+   UChar*  unusedTmp;
+
+   nUnused = 0;
+   streamNo = 0;
+
+   SET_BINARY_MODE(stream);
+   SET_BINARY_MODE(zStream);
+
+   if (ferror(stream)) goto errhandler_io;
+   if (ferror(zStream)) goto errhandler_io;
+
+   while (True) {
+
+      bzf = BZ2_bzReadOpen ( 
+               &bzerr, zStream, verbosity, 
+               (int)smallMode, unused, nUnused
+            );
+      if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
+      streamNo++;
+
+      while (bzerr == BZ_OK) {
+         nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
+         if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat;
+         if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
+            fwrite ( obuf, sizeof(UChar), nread, stream );
+         if (ferror(stream)) goto errhandler_io;
+      }
+      if (bzerr != BZ_STREAM_END) goto errhandler;
+
+      BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
+      if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
+
+      unusedTmp = (UChar*)unusedTmpV;
+      for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
+
+      BZ2_bzReadClose ( &bzerr, bzf );
+      if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
+
+      if (nUnused == 0 && myfeof(zStream)) break;
+   }
+
+   closeok:
+   if (ferror(zStream)) goto errhandler_io;
+   if (stream != stdout) {
+      Int32 fd = fileno ( stream );
+      if (fd < 0) goto errhandler_io;
+      applySavedFileAttrToOutputFile ( fd );
+   }
+   ret = fclose ( zStream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (ferror(stream)) goto errhandler_io;
+   ret = fflush ( stream );
+   if (ret != 0) goto errhandler_io;
+   if (stream != stdout) {
+      ret = fclose ( stream );
+      outputHandleJustInCase = NULL;
+      if (ret == EOF) goto errhandler_io;
+   }
+   outputHandleJustInCase = NULL;
+   if (verbosity >= 2) fprintf ( stderr, "\n    " );
+   return True;
+
+   trycat: 
+   if (forceOverwrite) {
+      rewind(zStream);
+      while (True) {
+      	 if (myfeof(zStream)) break;
+      	 nread = fread ( obuf, sizeof(UChar), 5000, zStream );
+      	 if (ferror(zStream)) goto errhandler_io;
+      	 if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
+      	 if (ferror(stream)) goto errhandler_io;
+      }
+      goto closeok;
+   }
+  
+   errhandler:
+   BZ2_bzReadClose ( &bzerr_dummy, bzf );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      case BZ_DATA_ERROR:
+         crcError();
+      case BZ_MEM_ERROR:
+         outOfMemory();
+      case BZ_UNEXPECTED_EOF:
+         compressedStreamEOF();
+      case BZ_DATA_ERROR_MAGIC:
+         if (zStream != stdin) fclose(zStream);
+         if (stream != stdout) fclose(stream);
+         if (streamNo == 1) {
+            return False;
+         } else {
+            if (noisy)
+            fprintf ( stderr, 
+                      "\n%s: %s: trailing garbage after EOF ignored\n",
+                      progName, inName );
+            return True;       
+         }
+      default:
+         panic ( "decompress:unexpected error" );
+   }
+
+   panic ( "decompress:end" );
+   return True; /*notreached*/
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool testStream ( FILE *zStream )
+{
+   BZFILE* bzf = NULL;
+   Int32   bzerr, bzerr_dummy, ret, nread, streamNo, i;
+   UChar   obuf[5000];
+   UChar   unused[BZ_MAX_UNUSED];
+   Int32   nUnused;
+   void*   unusedTmpV;
+   UChar*  unusedTmp;
+
+   nUnused = 0;
+   streamNo = 0;
+
+   SET_BINARY_MODE(zStream);
+   if (ferror(zStream)) goto errhandler_io;
+
+   while (True) {
+
+      bzf = BZ2_bzReadOpen ( 
+               &bzerr, zStream, verbosity, 
+               (int)smallMode, unused, nUnused
+            );
+      if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
+      streamNo++;
+
+      while (bzerr == BZ_OK) {
+         nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
+         if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
+      }
+      if (bzerr != BZ_STREAM_END) goto errhandler;
+
+      BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
+      if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
+
+      unusedTmp = (UChar*)unusedTmpV;
+      for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
+
+      BZ2_bzReadClose ( &bzerr, bzf );
+      if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
+      if (nUnused == 0 && myfeof(zStream)) break;
+
+   }
+
+   if (ferror(zStream)) goto errhandler_io;
+   ret = fclose ( zStream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (verbosity >= 2) fprintf ( stderr, "\n    " );
+   return True;
+
+   errhandler:
+   BZ2_bzReadClose ( &bzerr_dummy, bzf );
+   if (verbosity == 0) 
+      fprintf ( stderr, "%s: %s: ", progName, inName );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      case BZ_DATA_ERROR:
+         fprintf ( stderr,
+                   "data integrity (CRC) error in data\n" );
+         return False;
+      case BZ_MEM_ERROR:
+         outOfMemory();
+      case BZ_UNEXPECTED_EOF:
+         fprintf ( stderr,
+                   "file ends unexpectedly\n" );
+         return False;
+      case BZ_DATA_ERROR_MAGIC:
+         if (zStream != stdin) fclose(zStream);
+         if (streamNo == 1) {
+          fprintf ( stderr, 
+                    "bad magic number (file not created by bzip2)\n" );
+            return False;
+         } else {
+            if (noisy)
+            fprintf ( stderr, 
+                      "trailing garbage after EOF ignored\n" );
+            return True;       
+         }
+      default:
+         panic ( "test:unexpected error" );
+   }
+
+   panic ( "test:end" );
+   return True; /*notreached*/
+}
+
+
+/*---------------------------------------------------*/
+/*--- Error [non-] handling grunge                ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+static
+void setExit ( Int32 v )
+{
+   if (v > exitValue) exitValue = v;
+}
+
+
+/*---------------------------------------------*/
+static 
+void cadvise ( void )
+{
+   if (noisy)
+   fprintf (
+      stderr,
+      "\nIt is possible that the compressed file(s) have become corrupted.\n"
+        "You can use the -tvv option to test integrity of such files.\n\n"
+        "You can use the `bzip2recover' program to attempt to recover\n"
+        "data from undamaged sections of corrupted files.\n\n"
+    );
+}
+
+
+/*---------------------------------------------*/
+static 
+void showFileNames ( void )
+{
+   if (noisy)
+   fprintf (
+      stderr,
+      "\tInput file = %s, output file = %s\n",
+      inName, outName 
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void cleanUpAndFail ( Int32 ec )
+{
+   IntNative      retVal;
+   struct MY_STAT statBuf;
+
+   if ( srcMode == SM_F2F 
+        && opMode != OM_TEST
+        && deleteOutputOnInterrupt ) {
+
+      /* Check whether input file still exists.  Delete output file
+         only if input exists to avoid loss of data.  Joerg Prante, 5
+         January 2002.  (JRS 06-Jan-2002: other changes in 1.0.2 mean
+         this is less likely to happen.  But to be ultra-paranoid, we
+         do the check anyway.)  */
+      retVal = MY_STAT ( inName, &statBuf );
+      if (retVal == 0) {
+         if (noisy)
+            fprintf ( stderr, 
+                      "%s: Deleting output file %s, if it exists.\n",
+                      progName, outName );
+         if (outputHandleJustInCase != NULL)
+            fclose ( outputHandleJustInCase );
+         retVal = remove ( outName );
+         if (retVal != 0)
+            fprintf ( stderr,
+                      "%s: WARNING: deletion of output file "
+                      "(apparently) failed.\n",
+                      progName );
+      } else {
+         fprintf ( stderr,
+                   "%s: WARNING: deletion of output file suppressed\n",
+                    progName );
+         fprintf ( stderr,
+                   "%s:    since input file no longer exists.  Output file\n",
+                   progName );
+         fprintf ( stderr,
+                   "%s:    `%s' may be incomplete.\n",
+                   progName, outName );
+         fprintf ( stderr, 
+                   "%s:    I suggest doing an integrity test (bzip2 -tv)"
+                   " of it.\n",
+                   progName );
+      }
+   }
+
+   if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) {
+      fprintf ( stderr, 
+                "%s: WARNING: some files have not been processed:\n"
+                "%s:    %d specified on command line, %d not processed yet.\n\n",
+                progName, progName,
+                numFileNames, numFileNames - numFilesProcessed );
+   }
+   setExit(ec);
+   exit(exitValue);
+}
+
+
+/*---------------------------------------------*/
+static 
+void panic ( const Char* s )
+{
+   fprintf ( stderr,
+             "\n%s: PANIC -- internal consistency error:\n"
+             "\t%s\n"
+             "\tThis is a BUG.  Please report it to me at:\n"
+             "\tjseward@bzip.org\n",
+             progName, s );
+   showFileNames();
+   cleanUpAndFail( 3 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void crcError ( void )
+{
+   fprintf ( stderr,
+             "\n%s: Data integrity error when decompressing.\n",
+             progName );
+   showFileNames();
+   cadvise();
+   cleanUpAndFail( 2 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void compressedStreamEOF ( void )
+{
+  if (noisy) {
+    fprintf ( stderr,
+	      "\n%s: Compressed file ends unexpectedly;\n\t"
+	      "perhaps it is corrupted?  *Possible* reason follows.\n",
+	      progName );
+    perror ( progName );
+    showFileNames();
+    cadvise();
+  }
+  cleanUpAndFail( 2 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void ioError ( void )
+{
+   fprintf ( stderr,
+             "\n%s: I/O or other error, bailing out.  "
+             "Possible reason follows.\n",
+             progName );
+   perror ( progName );
+   showFileNames();
+   cleanUpAndFail( 1 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void mySignalCatcher ( IntNative n )
+{
+   fprintf ( stderr,
+             "\n%s: Control-C or similar caught, quitting.\n",
+             progName );
+   cleanUpAndFail(1);
+}
+
+
+/*---------------------------------------------*/
+static 
+void mySIGSEGVorSIGBUScatcher ( IntNative n )
+{
+   if (opMode == OM_Z)
+      fprintf ( 
+      stderr,
+      "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n"
+      "\n"
+      "   Possible causes are (most likely first):\n"
+      "   (1) This computer has unreliable memory or cache hardware\n"
+      "       (a surprisingly common problem; try a different machine.)\n"
+      "   (2) A bug in the compiler used to create this executable\n"
+      "       (unlikely, if you didn't compile bzip2 yourself.)\n"
+      "   (3) A real bug in bzip2 -- I hope this should never be the case.\n"
+      "   The user's manual, Section 4.3, has more info on (1) and (2).\n"
+      "   \n"
+      "   If you suspect this is a bug in bzip2, or are unsure about (1)\n"
+      "   or (2), feel free to report it to me at: jseward@bzip.org.\n"
+      "   Section 4.3 of the user's manual describes the info a useful\n"
+      "   bug report should have.  If the manual is available on your\n"
+      "   system, please try and read it before mailing me.  If you don't\n"
+      "   have the manual or can't be bothered to read it, mail me anyway.\n"
+      "\n",
+      progName );
+      else
+      fprintf ( 
+      stderr,
+      "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n"
+      "\n"
+      "   Possible causes are (most likely first):\n"
+      "   (1) The compressed data is corrupted, and bzip2's usual checks\n"
+      "       failed to detect this.  Try bzip2 -tvv my_file.bz2.\n"
+      "   (2) This computer has unreliable memory or cache hardware\n"
+      "       (a surprisingly common problem; try a different machine.)\n"
+      "   (3) A bug in the compiler used to create this executable\n"
+      "       (unlikely, if you didn't compile bzip2 yourself.)\n"
+      "   (4) A real bug in bzip2 -- I hope this should never be the case.\n"
+      "   The user's manual, Section 4.3, has more info on (2) and (3).\n"
+      "   \n"
+      "   If you suspect this is a bug in bzip2, or are unsure about (2)\n"
+      "   or (3), feel free to report it to me at: jseward@bzip.org.\n"
+      "   Section 4.3 of the user's manual describes the info a useful\n"
+      "   bug report should have.  If the manual is available on your\n"
+      "   system, please try and read it before mailing me.  If you don't\n"
+      "   have the manual or can't be bothered to read it, mail me anyway.\n"
+      "\n",
+      progName );
+
+   showFileNames();
+   if (opMode == OM_Z)
+      cleanUpAndFail( 3 ); else
+      { cadvise(); cleanUpAndFail( 2 ); }
+}
+
+
+/*---------------------------------------------*/
+static 
+void outOfMemory ( void )
+{
+   fprintf ( stderr,
+             "\n%s: couldn't allocate enough memory\n",
+             progName );
+   showFileNames();
+   cleanUpAndFail(1);
+}
+
+
+/*---------------------------------------------*/
+static 
+void configError ( void )
+{
+   fprintf ( stderr,
+             "bzip2: I'm not configured correctly for this platform!\n"
+             "\tI require Int32, Int16 and Char to have sizes\n"
+             "\tof 4, 2 and 1 bytes to run properly, and they don't.\n"
+             "\tProbably you can fix this by defining them correctly,\n"
+             "\tand recompiling.  Bye!\n" );
+   setExit(3);
+   exit(exitValue);
+}
+
+
+/*---------------------------------------------------*/
+/*--- The main driver machinery                   ---*/
+/*---------------------------------------------------*/
+
+/* All rather crufty.  The main problem is that input files
+   are stat()d multiple times before use.  This should be
+   cleaned up. 
+*/
+
+/*---------------------------------------------*/
+static 
+void pad ( Char *s )
+{
+   Int32 i;
+   if ( (Int32)strlen(s) >= longestFileName ) return;
+   for (i = 1; i <= longestFileName - (Int32)strlen(s); i++)
+      fprintf ( stderr, " " );
+}
+
+
+/*---------------------------------------------*/
+static 
+void copyFileName ( Char* to, Char* from ) 
+{
+   if ( strlen(from) > FILE_NAME_LEN-10 )  {
+      fprintf (
+         stderr,
+         "bzip2: file name\n`%s'\n"
+         "is suspiciously (more than %d chars) long.\n"
+         "Try using a reasonable file name instead.  Sorry! :-)\n",
+         from, FILE_NAME_LEN-10
+      );
+      setExit(1);
+      exit(exitValue);
+   }
+
+  strncpy(to,from,FILE_NAME_LEN-10);
+  to[FILE_NAME_LEN-10]='\0';
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool fileExists ( Char* name )
+{
+   FILE *tmp   = fopen ( name, "rb" );
+   Bool exists = (tmp != NULL);
+   if (tmp != NULL) fclose ( tmp );
+   return exists;
+}
+
+
+/*---------------------------------------------*/
+/* Open an output file safely with O_EXCL and good permissions.
+   This avoids a race condition in versions < 1.0.2, in which
+   the file was first opened and then had its interim permissions
+   set safely.  We instead use open() to create the file with
+   the interim permissions required. (--- --- rw-).
+
+   For non-Unix platforms, if we are not worrying about
+   security issues, simple this simply behaves like fopen.
+*/
+static
+FILE* fopen_output_safely ( Char* name, const char* mode )
+{
+#  if BZ_UNIX
+   FILE*     fp;
+   IntNative fh;
+   fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR);
+   if (fh == -1) return NULL;
+   fp = fdopen(fh, mode);
+   if (fp == NULL) close(fh);
+   return fp;
+#  else
+   return fopen(name, mode);
+#  endif
+}
+
+
+/*---------------------------------------------*/
+/*--
+  if in doubt, return True
+--*/
+static 
+Bool notAStandardFile ( Char* name )
+{
+   IntNative      i;
+   struct MY_STAT statBuf;
+
+   i = MY_LSTAT ( name, &statBuf );
+   if (i != 0) return True;
+   if (MY_S_ISREG(statBuf.st_mode)) return False;
+   return True;
+}
+
+
+/*---------------------------------------------*/
+/*--
+  rac 11/21/98 see if file has hard links to it
+--*/
+static 
+Int32 countHardLinks ( Char* name )
+{  
+   IntNative      i;
+   struct MY_STAT statBuf;
+
+   i = MY_LSTAT ( name, &statBuf );
+   if (i != 0) return 0;
+   return (statBuf.st_nlink - 1);
+}
+
+
+/*---------------------------------------------*/
+/* Copy modification date, access date, permissions and owner from the
+   source to destination file.  We have to copy this meta-info off
+   into fileMetaInfo before starting to compress / decompress it,
+   because doing it afterwards means we get the wrong access time.
+
+   To complicate matters, in compress() and decompress() below, the
+   sequence of tests preceding the call to saveInputFileMetaInfo()
+   involves calling fileExists(), which in turn establishes its result
+   by attempting to fopen() the file, and if successful, immediately
+   fclose()ing it again.  So we have to assume that the fopen() call
+   does not cause the access time field to be updated.
+
+   Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems
+   to imply that merely doing open() will not affect the access time.
+   Therefore we merely need to hope that the C library only does
+   open() as a result of fopen(), and not any kind of read()-ahead
+   cleverness.
+
+   It sounds pretty fragile to me.  Whether this carries across
+   robustly to arbitrary Unix-like platforms (or even works robustly
+   on this one, RedHat 7.2) is unknown to me.  Nevertheless ...  
+*/
+#if BZ_UNIX
+static 
+struct MY_STAT fileMetaInfo;
+#endif
+
+static 
+void saveInputFileMetaInfo ( Char *srcName )
+{
+#  if BZ_UNIX
+   IntNative retVal;
+   /* Note use of stat here, not lstat. */
+   retVal = MY_STAT( srcName, &fileMetaInfo );
+   ERROR_IF_NOT_ZERO ( retVal );
+#  endif
+}
+
+
+static 
+void applySavedTimeInfoToOutputFile ( Char *dstName )
+{
+#  if BZ_UNIX
+   IntNative      retVal;
+   struct utimbuf uTimBuf;
+
+   uTimBuf.actime = fileMetaInfo.st_atime;
+   uTimBuf.modtime = fileMetaInfo.st_mtime;
+
+   retVal = utime ( dstName, &uTimBuf );
+   ERROR_IF_NOT_ZERO ( retVal );
+#  endif
+}
+
+static 
+void applySavedFileAttrToOutputFile ( IntNative fd )
+{
+#  if BZ_UNIX
+   IntNative retVal;
+
+   retVal = fchmod ( fd, fileMetaInfo.st_mode );
+   ERROR_IF_NOT_ZERO ( retVal );
+
+   (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
+   /* chown() will in many cases return with EPERM, which can
+      be safely ignored.
+   */
+#  endif
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool containsDubiousChars ( Char* name )
+{
+#  if BZ_UNIX
+   /* On unix, files can contain any characters and the file expansion
+    * is performed by the shell.
+    */
+   return False;
+#  else /* ! BZ_UNIX */
+   /* On non-unix (Win* platforms), wildcard characters are not allowed in 
+    * filenames.
+    */
+   for (; *name != '\0'; name++)
+      if (*name == '?' || *name == '*') return True;
+   return False;
+#  endif /* BZ_UNIX */
+}
+
+
+/*---------------------------------------------*/
+#define BZ_N_SUFFIX_PAIRS 4
+
+const Char* zSuffix[BZ_N_SUFFIX_PAIRS] 
+   = { ".bz2", ".bz", ".tbz2", ".tbz" };
+const Char* unzSuffix[BZ_N_SUFFIX_PAIRS] 
+   = { "", "", ".tar", ".tar" };
+
+static 
+Bool hasSuffix ( Char* s, const Char* suffix )
+{
+   Int32 ns = strlen(s);
+   Int32 nx = strlen(suffix);
+   if (ns < nx) return False;
+   if (strcmp(s + ns - nx, suffix) == 0) return True;
+   return False;
+}
+
+static 
+Bool mapSuffix ( Char* name, 
+                 const Char* oldSuffix, 
+                 const Char* newSuffix )
+{
+   if (!hasSuffix(name,oldSuffix)) return False;
+   name[strlen(name)-strlen(oldSuffix)] = 0;
+   strcat ( name, newSuffix );
+   return True;
+}
+
+
+/*---------------------------------------------*/
+static 
+void compress ( Char *name )
+{
+   FILE  *inStr;
+   FILE  *outStr;
+   Int32 n, i;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "compress: bad modes\n" );
+
+   switch (srcMode) {
+      case SM_I2O: 
+         copyFileName ( inName, (Char*)"(stdin)" );
+         copyFileName ( outName, (Char*)"(stdout)" ); 
+         break;
+      case SM_F2F: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, name );
+         strcat ( outName, ".bz2" ); 
+         break;
+      case SM_F2O: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, (Char*)"(stdout)" ); 
+         break;
+   }
+
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) {
+      if (hasSuffix(inName, zSuffix[i])) {
+         if (noisy)
+         fprintf ( stderr, 
+                   "%s: Input file %s already has %s suffix.\n",
+                   progName, inName, zSuffix[i] );
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
+      if (noisy)
+      fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode == SM_F2F && fileExists ( outName ) ) {
+      if (forceOverwrite) {
+	 remove(outName);
+      } else {
+	 fprintf ( stderr, "%s: Output file %s already exists.\n",
+		   progName, outName );
+	 setExit(1);
+	 return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite &&
+        (n=countHardLinks ( inName )) > 0) {
+      fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
+                progName, inName, n, n > 1 ? "s" : "" );
+      setExit(1);
+      return;
+   }
+
+   if ( srcMode == SM_F2F ) {
+      /* Save the file's meta-info before we open it.  Doing it later
+         means we mess up the access times. */
+      saveInputFileMetaInfo ( inName );
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         inStr = stdin;
+         outStr = stdout;
+         if ( isatty ( fileno ( stdout ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't write compressed data to a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2O:
+         inStr = fopen ( inName, "rb" );
+         outStr = stdout;
+         if ( isatty ( fileno ( stdout ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't write compressed data to a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         };
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         outStr = fopen_output_safely ( outName, "wb" );
+         if ( outStr == NULL) {
+            fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
+                      progName, outName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         }
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            if ( outStr != NULL ) fclose ( outStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "compress: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr,  "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input and output handles are sane.  Do the Biz. ---*/
+   outputHandleJustInCase = outStr;
+   deleteOutputOnInterrupt = True;
+   compressStream ( inStr, outStr );
+   outputHandleJustInCase = NULL;
+
+   /*--- If there was an I/O error, we won't get here. ---*/
+   if ( srcMode == SM_F2F ) {
+      applySavedTimeInfoToOutputFile ( outName );
+      deleteOutputOnInterrupt = False;
+      if ( !keepInputFiles ) {
+         IntNative retVal = remove ( inName );
+         ERROR_IF_NOT_ZERO ( retVal );
+      }
+   }
+
+   deleteOutputOnInterrupt = False;
+}
+
+
+/*---------------------------------------------*/
+static 
+void uncompress ( Char *name )
+{
+   FILE  *inStr;
+   FILE  *outStr;
+   Int32 n, i;
+   Bool  magicNumberOK;
+   Bool  cantGuess;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "uncompress: bad modes\n" );
+
+   cantGuess = False;
+   switch (srcMode) {
+      case SM_I2O: 
+         copyFileName ( inName, (Char*)"(stdin)" );
+         copyFileName ( outName, (Char*)"(stdout)" ); 
+         break;
+      case SM_F2F: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, name );
+         for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++)
+            if (mapSuffix(outName,zSuffix[i],unzSuffix[i]))
+               goto zzz; 
+         cantGuess = True;
+         strcat ( outName, ".out" );
+         break;
+      case SM_F2O: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, (Char*)"(stdout)" ); 
+         break;
+   }
+
+   zzz:
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
+      if (noisy)
+      fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( /* srcMode == SM_F2F implied && */ cantGuess ) {
+      if (noisy)
+      fprintf ( stderr, 
+                "%s: Can't guess original name for %s -- using %s\n",
+                progName, inName, outName );
+      /* just a warning, no return */
+   }   
+   if ( srcMode == SM_F2F && fileExists ( outName ) ) {
+      if (forceOverwrite) {
+	remove(outName);
+      } else {
+        fprintf ( stderr, "%s: Output file %s already exists.\n",
+                  progName, outName );
+        setExit(1);
+        return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite &&
+        (n=countHardLinks ( inName ) ) > 0) {
+      fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
+                progName, inName, n, n > 1 ? "s" : "" );
+      setExit(1);
+      return;
+   }
+
+   if ( srcMode == SM_F2F ) {
+      /* Save the file's meta-info before we open it.  Doing it later
+         means we mess up the access times. */
+      saveInputFileMetaInfo ( inName );
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         inStr = stdin;
+         outStr = stdout;
+         if ( isatty ( fileno ( stdin ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't read compressed data from a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2O:
+         inStr = fopen ( inName, "rb" );
+         outStr = stdout;
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
+                      progName, inName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         outStr = fopen_output_safely ( outName, "wb" );
+         if ( outStr == NULL) {
+            fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
+                      progName, outName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         }
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            if ( outStr != NULL ) fclose ( outStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "uncompress: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr, "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input and output handles are sane.  Do the Biz. ---*/
+   outputHandleJustInCase = outStr;
+   deleteOutputOnInterrupt = True;
+   magicNumberOK = uncompressStream ( inStr, outStr );
+   outputHandleJustInCase = NULL;
+
+   /*--- If there was an I/O error, we won't get here. ---*/
+   if ( magicNumberOK ) {
+      if ( srcMode == SM_F2F ) {
+         applySavedTimeInfoToOutputFile ( outName );
+         deleteOutputOnInterrupt = False;
+         if ( !keepInputFiles ) {
+            IntNative retVal = remove ( inName );
+            ERROR_IF_NOT_ZERO ( retVal );
+         }
+      }
+   } else {
+      unzFailsExist = True;
+      deleteOutputOnInterrupt = False;
+      if ( srcMode == SM_F2F ) {
+         IntNative retVal = remove ( outName );
+         ERROR_IF_NOT_ZERO ( retVal );
+      }
+   }
+   deleteOutputOnInterrupt = False;
+
+   if ( magicNumberOK ) {
+      if (verbosity >= 1)
+         fprintf ( stderr, "done\n" );
+   } else {
+      setExit(2);
+      if (verbosity >= 1)
+         fprintf ( stderr, "not a bzip2 file.\n" ); else
+         fprintf ( stderr,
+                   "%s: %s is not a bzip2 file.\n",
+                   progName, inName );
+   }
+
+}
+
+
+/*---------------------------------------------*/
+static 
+void testf ( Char *name )
+{
+   FILE *inStr;
+   Bool allOK;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "testf: bad modes\n" );
+
+   copyFileName ( outName, (Char*)"(none)" );
+   switch (srcMode) {
+      case SM_I2O: copyFileName ( inName, (Char*)"(stdin)" ); break;
+      case SM_F2F: copyFileName ( inName, name ); break;
+      case SM_F2O: copyFileName ( inName, name ); break;
+   }
+
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         if ( isatty ( fileno ( stdin ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't read compressed data from a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         inStr = stdin;
+         break;
+
+      case SM_F2O: case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
+                      progName, inName, strerror(errno) );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "testf: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr, "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input handle is sane.  Do the Biz. ---*/
+   outputHandleJustInCase = NULL;
+   allOK = testStream ( inStr );
+
+   if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" );
+   if (!allOK) testFailsExist = True;
+}
+
+
+/*---------------------------------------------*/
+static 
+void license ( void )
+{
+   fprintf ( stderr,
+
+    "bzip2, a block-sorting file compressor.  "
+    "Version %s.\n"
+    "   \n"
+    "   Copyright (C) 1996-2010 by Julian Seward.\n"
+    "   \n"
+    "   This program is free software; you can redistribute it and/or modify\n"
+    "   it under the terms set out in the LICENSE file, which is included\n"
+    "   in the bzip2-1.0.6 source distribution.\n"
+    "   \n"
+    "   This program is distributed in the hope that it will be useful,\n"
+    "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+    "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+    "   LICENSE file for more details.\n"
+    "   \n",
+    BZ2_bzlibVersion()
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void usage ( Char *fullProgName )
+{
+   fprintf (
+      stderr,
+      "bzip2, a block-sorting file compressor.  "
+      "Version %s.\n"
+      "\n   usage: %s [flags and input files in any order]\n"
+      "\n"
+      "   -h --help           print this message\n"
+      "   -d --decompress     force decompression\n"
+      "   -z --compress       force compression\n"
+      "   -k --keep           keep (don't delete) input files\n"
+      "   -f --force          overwrite existing output files\n"
+      "   -t --test           test compressed file integrity\n"
+      "   -c --stdout         output to standard out\n"
+      "   -q --quiet          suppress noncritical error messages\n"
+      "   -v --verbose        be verbose (a 2nd -v gives more)\n"
+      "   -L --license        display software version & license\n"
+      "   -V --version        display software version & license\n"
+      "   -s --small          use less memory (at most 2500k)\n"
+      "   -1 .. -9            set block size to 100k .. 900k\n"
+      "   --fast              alias for -1\n"
+      "   --best              alias for -9\n"
+      "\n"
+      "   If invoked as `bzip2', default action is to compress.\n"
+      "              as `bunzip2',  default action is to decompress.\n"
+      "              as `bzcat', default action is to decompress to stdout.\n"
+      "\n"
+      "   If no file names are given, bzip2 compresses or decompresses\n"
+      "   from standard input to standard output.  You can combine\n"
+      "   short flags, so `-v -4' means the same as -v4 or -4v, &c.\n"
+#     if BZ_UNIX
+      "\n"
+#     endif
+      ,
+
+      BZ2_bzlibVersion(),
+      fullProgName
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void redundant ( Char* flag )
+{
+   fprintf ( 
+      stderr, 
+      "%s: %s is redundant in versions 0.9.5 and above\n",
+      progName, flag );
+}
+
+
+/*---------------------------------------------*/
+/*--
+  All the garbage from here to main() is purely to
+  implement a linked list of command-line arguments,
+  into which main() copies argv[1 .. argc-1].
+
+  The purpose of this exercise is to facilitate 
+  the expansion of wildcard characters * and ? in 
+  filenames for OSs which don't know how to do it
+  themselves, like MSDOS, Windows 95 and NT.
+
+  The actual Dirty Work is done by the platform-
+  specific macro APPEND_FILESPEC.
+--*/
+
+typedef
+   struct zzzz {
+      Char        *name;
+      struct zzzz *link;
+   }
+   Cell;
+
+
+/*---------------------------------------------*/
+static 
+void *myMalloc ( Int32 n )
+{
+   void* p;
+
+   p = malloc ( (size_t)n );
+   if (p == NULL) outOfMemory ();
+   return p;
+}
+
+
+/*---------------------------------------------*/
+static 
+Cell *mkCell ( void )
+{
+   Cell *c;
+
+   c = (Cell*) myMalloc ( sizeof ( Cell ) );
+   c->name = NULL;
+   c->link = NULL;
+   return c;
+}
+
+
+/*---------------------------------------------*/
+static 
+Cell *snocString ( Cell *root, Char *name )
+{
+   if (root == NULL) {
+      Cell *tmp = mkCell();
+      tmp->name = (Char*) myMalloc ( 5 + strlen(name) );
+      strcpy ( tmp->name, name );
+      return tmp;
+   } else {
+      Cell *tmp = root;
+      while (tmp->link != NULL) tmp = tmp->link;
+      tmp->link = snocString ( tmp->link, name );
+      return root;
+   }
+}
+
+
+/*---------------------------------------------*/
+static 
+void addFlagsFromEnvVar ( Cell** argList, Char* varName ) 
+{
+   Int32 i, j, k;
+   Char *envbase, *p;
+
+   envbase = getenv(varName);
+   if (envbase != NULL) {
+      p = envbase;
+      i = 0;
+      while (True) {
+         if (p[i] == 0) break;
+         p += i;
+         i = 0;
+         while (isspace((Int32)(p[0]))) p++;
+         while (p[i] != 0 && !isspace((Int32)(p[i]))) i++;
+         if (i > 0) {
+            k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10;
+            for (j = 0; j < k; j++) tmpName[j] = p[j];
+            tmpName[k] = 0;
+            APPEND_FLAG(*argList, tmpName);
+         }
+      }
+   }
+}
+
+
+/*---------------------------------------------*/
+#define ISFLAG(s) (strcmp(aa->name, (s))==0)
+
+IntNative main ( IntNative argc, Char *argv[] )
+{
+   Int32  i, j;
+   Char   *tmp;
+   Cell   *argList;
+   Cell   *aa;
+   Bool   decode;
+
+   /*-- Be really really really paranoid :-) --*/
+   if (sizeof(Int32) != 4 || sizeof(UInt32) != 4  ||
+       sizeof(Int16) != 2 || sizeof(UInt16) != 2  ||
+       sizeof(Char)  != 1 || sizeof(UChar)  != 1)
+      configError();
+
+   /*-- Initialise --*/
+   outputHandleJustInCase  = NULL;
+   smallMode               = False;
+   keepInputFiles          = False;
+   forceOverwrite          = False;
+   noisy                   = True;
+   verbosity               = 0;
+   blockSize100k           = 9;
+   testFailsExist          = False;
+   unzFailsExist           = False;
+   numFileNames            = 0;
+   numFilesProcessed       = 0;
+   workFactor              = 30;
+   deleteOutputOnInterrupt = False;
+   exitValue               = 0;
+   i = j = 0; /* avoid bogus warning from egcs-1.1.X */
+
+   /*-- Set up signal handlers for mem access errors --*/
+   signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
+#  if BZ_UNIX
+#  ifndef __DJGPP__
+   signal (SIGBUS,  mySIGSEGVorSIGBUScatcher);
+#  endif
+#  endif
+
+   copyFileName ( inName,  (Char*)"(none)" );
+   copyFileName ( outName, (Char*)"(none)" );
+
+   copyFileName ( progNameReally, argv[0] );
+   progName = &progNameReally[0];
+   for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++)
+      if (*tmp == PATH_SEP) progName = tmp + 1;
+
+
+   /*-- Copy flags from env var BZIP2, and 
+        expand filename wildcards in arg list.
+   --*/
+   argList = NULL;
+   addFlagsFromEnvVar ( &argList,  (Char*)"BZIP2" );
+   addFlagsFromEnvVar ( &argList,  (Char*)"BZIP" );
+   for (i = 1; i <= argc-1; i++)
+      APPEND_FILESPEC(argList, argv[i]);
+
+
+   /*-- Find the length of the longest filename --*/
+   longestFileName = 7;
+   numFileNames    = 0;
+   decode          = True;
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) { decode = False; continue; }
+      if (aa->name[0] == '-' && decode) continue;
+      numFileNames++;
+      if (longestFileName < (Int32)strlen(aa->name) )
+         longestFileName = (Int32)strlen(aa->name);
+   }
+
+
+   /*-- Determine source modes; flag handling may change this too. --*/
+   if (numFileNames == 0)
+      srcMode = SM_I2O; else srcMode = SM_F2F;
+
+
+   /*-- Determine what to do (compress/uncompress/test/cat). --*/
+   /*-- Note that subsequent flag handling may change this. --*/
+   opMode = OM_Z;
+
+   if ( (strstr ( progName, "unzip" ) != 0) ||
+        (strstr ( progName, "UNZIP" ) != 0) )
+      opMode = OM_UNZ;
+
+   if ( (strstr ( progName, "z2cat" ) != 0) ||
+        (strstr ( progName, "Z2CAT" ) != 0) ||
+        (strstr ( progName, "zcat" ) != 0)  ||
+        (strstr ( progName, "ZCAT" ) != 0) )  {
+      opMode = OM_UNZ;
+      srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O;
+   }
+
+
+   /*-- Look at the flags. --*/
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) break;
+      if (aa->name[0] == '-' && aa->name[1] != '-') {
+         for (j = 1; aa->name[j] != '\0'; j++) {
+            switch (aa->name[j]) {
+               case 'c': srcMode          = SM_F2O; break;
+               case 'd': opMode           = OM_UNZ; break;
+               case 'z': opMode           = OM_Z; break;
+               case 'f': forceOverwrite   = True; break;
+               case 't': opMode           = OM_TEST; break;
+               case 'k': keepInputFiles   = True; break;
+               case 's': smallMode        = True; break;
+               case 'q': noisy            = False; break;
+               case '1': blockSize100k    = 1; break;
+               case '2': blockSize100k    = 2; break;
+               case '3': blockSize100k    = 3; break;
+               case '4': blockSize100k    = 4; break;
+               case '5': blockSize100k    = 5; break;
+               case '6': blockSize100k    = 6; break;
+               case '7': blockSize100k    = 7; break;
+               case '8': blockSize100k    = 8; break;
+               case '9': blockSize100k    = 9; break;
+               case 'V':
+               case 'L': license();            break;
+               case 'v': verbosity++; break;
+               case 'h': usage ( progName );
+                         exit ( 0 );
+                         break;
+               default:  fprintf ( stderr, "%s: Bad flag `%s'\n",
+                                   progName, aa->name );
+                         usage ( progName );
+                         exit ( 1 );
+                         break;
+            }
+         }
+      }
+   }
+   
+   /*-- And again ... --*/
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) break;
+      if (ISFLAG("--stdout"))            srcMode          = SM_F2O;  else
+      if (ISFLAG("--decompress"))        opMode           = OM_UNZ;  else
+      if (ISFLAG("--compress"))          opMode           = OM_Z;    else
+      if (ISFLAG("--force"))             forceOverwrite   = True;    else
+      if (ISFLAG("--test"))              opMode           = OM_TEST; else
+      if (ISFLAG("--keep"))              keepInputFiles   = True;    else
+      if (ISFLAG("--small"))             smallMode        = True;    else
+      if (ISFLAG("--quiet"))             noisy            = False;   else
+      if (ISFLAG("--version"))           license();                  else
+      if (ISFLAG("--license"))           license();                  else
+      if (ISFLAG("--exponential"))       workFactor = 1;             else 
+      if (ISFLAG("--repetitive-best"))   redundant(aa->name);        else
+      if (ISFLAG("--repetitive-fast"))   redundant(aa->name);        else
+      if (ISFLAG("--fast"))              blockSize100k = 1;          else
+      if (ISFLAG("--best"))              blockSize100k = 9;          else
+      if (ISFLAG("--verbose"))           verbosity++;                else
+      if (ISFLAG("--help"))              { usage ( progName ); exit ( 0 ); }
+         else
+         if (strncmp ( aa->name, "--", 2) == 0) {
+            fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name );
+            usage ( progName );
+            exit ( 1 );
+         }
+   }
+
+   if (verbosity > 4) verbosity = 4;
+   if (opMode == OM_Z && smallMode && blockSize100k > 2) 
+      blockSize100k = 2;
+
+   if (opMode == OM_TEST && srcMode == SM_F2O) {
+      fprintf ( stderr, "%s: -c and -t cannot be used together.\n",
+                progName );
+      exit ( 1 );
+   }
+
+   if (srcMode == SM_F2O && numFileNames == 0)
+      srcMode = SM_I2O;
+
+   if (opMode != OM_Z) blockSize100k = 0;
+
+   if (srcMode == SM_F2F) {
+      signal (SIGINT,  mySignalCatcher);
+      signal (SIGTERM, mySignalCatcher);
+#     if BZ_UNIX
+      signal (SIGHUP,  mySignalCatcher);
+#     endif
+   }
+
+   if (opMode == OM_Z) {
+     if (srcMode == SM_I2O) {
+        compress ( NULL );
+     } else {
+        decode = True;
+        for (aa = argList; aa != NULL; aa = aa->link) {
+           if (ISFLAG("--")) { decode = False; continue; }
+           if (aa->name[0] == '-' && decode) continue;
+           numFilesProcessed++;
+           compress ( aa->name );
+        }
+     }
+   } 
+   else
+
+   if (opMode == OM_UNZ) {
+      unzFailsExist = False;
+      if (srcMode == SM_I2O) {
+         uncompress ( NULL );
+      } else {
+         decode = True;
+         for (aa = argList; aa != NULL; aa = aa->link) {
+            if (ISFLAG("--")) { decode = False; continue; }
+            if (aa->name[0] == '-' && decode) continue;
+            numFilesProcessed++;
+            uncompress ( aa->name );
+         }      
+      }
+      if (unzFailsExist) { 
+         setExit(2); 
+         exit(exitValue);
+      }
+   } 
+
+   else {
+      testFailsExist = False;
+      if (srcMode == SM_I2O) {
+         testf ( NULL );
+      } else {
+         decode = True;
+         for (aa = argList; aa != NULL; aa = aa->link) {
+	    if (ISFLAG("--")) { decode = False; continue; }
+            if (aa->name[0] == '-' && decode) continue;
+            numFilesProcessed++;
+            testf ( aa->name );
+	 }
+      }
+      if (testFailsExist && noisy) {
+         fprintf ( stderr,
+           "\n"
+           "You can use the `bzip2recover' program to attempt to recover\n"
+           "data from undamaged sections of corrupted files.\n\n"
+         );
+         setExit(2);
+         exit(exitValue);
+      }
+   }
+
+   /* Free the argument list memory to mollify leak detectors 
+      (eg) Purify, Checker.  Serves no other useful purpose.
+   */
+   aa = argList;
+   while (aa != NULL) {
+      Cell* aa2 = aa->link;
+      if (aa->name != NULL) free(aa->name);
+      free(aa);
+      aa = aa2;
+   }
+
+   return exitValue;
+}
+
+
+/*-----------------------------------------------------------*/
+/*--- end                                         bzip2.c ---*/
+/*-----------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bzip2.txt b/plugins/Updater/bzip2-1.0.3/bzip2.txt
new file mode 100644
index 0000000000..d2deb39491
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip2.txt
@@ -0,0 +1,391 @@
+
+NAME
+       bzip2, bunzip2 - a block-sorting file compressor, v1.0.6
+       bzcat - decompresses files to stdout
+       bzip2recover - recovers data from damaged bzip2 files
+
+
+SYNOPSIS
+       bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]
+       bunzip2 [ -fkvsVL ] [ filenames ...  ]
+       bzcat [ -s ] [ filenames ...  ]
+       bzip2recover filename
+
+
+DESCRIPTION
+       bzip2  compresses  files  using  the Burrows-Wheeler block
+       sorting text compression algorithm,  and  Huffman  coding.
+       Compression  is  generally  considerably  better than that
+       achieved by more conventional LZ77/LZ78-based compressors,
+       and  approaches  the performance of the PPM family of sta-
+       tistical compressors.
+
+       The command-line options are deliberately very similar  to
+       those of GNU gzip, but they are not identical.
+
+       bzip2  expects  a list of file names to accompany the com-
+       mand-line flags.  Each file is replaced  by  a  compressed
+       version  of  itself,  with  the  name "original_name.bz2".
+       Each compressed file has the same modification date,  per-
+       missions, and, when possible, ownership as the correspond-
+       ing original, so that these properties  can  be  correctly
+       restored  at  decompression  time.   File name handling is
+       naive in the sense that there is no mechanism for preserv-
+       ing  original file names, permissions, ownerships or dates
+       in filesystems which lack these concepts, or have  serious
+       file name length restrictions, such as MS-DOS.
+
+       bzip2  and  bunzip2 will by default not overwrite existing
+       files.  If you want this to happen, specify the -f flag.
+
+       If no file names  are  specified,  bzip2  compresses  from
+       standard  input  to  standard output.  In this case, bzip2
+       will decline to write compressed output to a terminal,  as
+       this  would  be  entirely  incomprehensible  and therefore
+       pointless.
+
+       bunzip2 (or bzip2 -d) decompresses  all  specified  files.
+       Files which were not created by bzip2 will be detected and
+       ignored, and a warning issued.  bzip2  attempts  to  guess
+       the  filename  for  the decompressed file from that of the
+       compressed file as follows:
+
+              filename.bz2    becomes   filename
+              filename.bz     becomes   filename
+              filename.tbz2   becomes   filename.tar
+              filename.tbz    becomes   filename.tar
+              anyothername    becomes   anyothername.out
+
+       If the file does not end in one of the recognised endings,
+       .bz2,  .bz,  .tbz2 or .tbz, bzip2 complains that it cannot
+       guess the name of the original file, and uses the original
+       name with .out appended.
+
+       As  with compression, supplying no filenames causes decom-
+       pression from standard input to standard output.
+
+       bunzip2 will correctly decompress a file which is the con-
+       catenation of two or more compressed files.  The result is
+       the concatenation of the corresponding uncompressed files.
+       Integrity testing (-t) of concatenated compressed files is
+       also supported.
+
+       You can also compress or decompress files to the  standard
+       output  by giving the -c flag.  Multiple files may be com-
+       pressed and decompressed like this.  The resulting outputs
+       are  fed  sequentially to stdout.  Compression of multiple
+       files in this manner generates a stream containing  multi-
+       ple compressed file representations.  Such a stream can be
+       decompressed correctly only  by  bzip2  version  0.9.0  or
+       later.   Earlier  versions of bzip2 will stop after decom-
+       pressing the first file in the stream.
+
+       bzcat (or bzip2 -dc) decompresses all specified  files  to
+       the standard output.
+
+       bzip2  will  read arguments from the environment variables
+       BZIP2 and BZIP, in  that  order,  and  will  process  them
+       before  any  arguments  read  from the command line.  This
+       gives a convenient way to supply default arguments.
+
+       Compression is always performed, even  if  the  compressed
+       file  is slightly larger than the original.  Files of less
+       than about one hundred bytes tend to get larger, since the
+       compression  mechanism  has  a  constant  overhead  in the
+       region of 50 bytes.  Random data (including the output  of
+       most  file  compressors)  is  coded at about 8.05 bits per
+       byte, giving an expansion of around 0.5%.
+
+       As a self-check for your  protection,  bzip2  uses  32-bit
+       CRCs  to make sure that the decompressed version of a file
+       is identical to the original.  This guards against corrup-
+       tion  of  the compressed data, and against undetected bugs
+       in bzip2 (hopefully very unlikely).  The chances  of  data
+       corruption  going  undetected  is  microscopic,  about one
+       chance in four billion for each file processed.  Be aware,
+       though,  that  the  check occurs upon decompression, so it
+       can only tell you that something is wrong.  It can't  help
+       you  recover  the original uncompressed data.  You can use
+       bzip2recover to try to recover data from damaged files.
+
+       Return values: 0 for a normal exit,  1  for  environmental
+       problems  (file not found, invalid flags, I/O errors, &c),
+       2 to indicate a corrupt compressed file, 3 for an internal
+       consistency error (eg, bug) which caused bzip2 to panic.
+
+
+OPTIONS
+       -c --stdout
+              Compress or decompress to standard output.
+
+       -d --decompress
+              Force  decompression.  bzip2, bunzip2 and bzcat are
+              really the same program,  and  the  decision  about
+              what  actions to take is done on the basis of which
+              name is used.  This flag overrides that  mechanism,
+              and forces bzip2 to decompress.
+
+       -z --compress
+              The   complement   to   -d:   forces   compression,
+              regardless of the invocation name.
+
+       -t --test
+              Check integrity of the specified file(s), but don't
+              decompress  them.   This  really  performs  a trial
+              decompression and throws away the result.
+
+       -f --force
+              Force overwrite of output files.   Normally,  bzip2
+              will  not  overwrite  existing  output files.  Also
+              forces bzip2 to break hard links to files, which it
+              otherwise wouldn't do.
+
+              bzip2  normally  declines to decompress files which
+              don't have the  correct  magic  header  bytes.   If
+              forced  (-f),  however,  it  will  pass  such files
+              through unmodified.  This is how GNU gzip  behaves.
+
+       -k --keep
+              Keep  (don't delete) input files during compression
+              or decompression.
+
+       -s --small
+              Reduce memory usage, for compression, decompression
+              and  testing.   Files  are  decompressed and tested
+              using a modified algorithm which only requires  2.5
+              bytes  per  block byte.  This means any file can be
+              decompressed in 2300k of memory,  albeit  at  about
+              half the normal speed.
+
+              During  compression,  -s  selects  a  block size of
+              200k, which limits memory use to  around  the  same
+              figure,  at  the expense of your compression ratio.
+              In short, if your  machine  is  low  on  memory  (8
+              megabytes  or  less),  use  -s for everything.  See
+              MEMORY MANAGEMENT below.
+
+       -q --quiet
+              Suppress non-essential warning messages.   Messages
+              pertaining  to I/O errors and other critical events
+              will not be suppressed.
+
+       -v --verbose
+              Verbose mode -- show the compression ratio for each
+              file  processed.   Further  -v's  increase the ver-
+              bosity level, spewing out lots of information which
+              is primarily of interest for diagnostic purposes.
+
+       -L --license -V --version
+              Display  the  software  version,  license terms and
+              conditions.
+
+       -1 (or --fast) to -9 (or --best)
+              Set the block size to 100 k, 200 k ..  900  k  when
+              compressing.   Has  no  effect  when decompressing.
+              See MEMORY MANAGEMENT below.  The --fast and --best
+              aliases  are  primarily for GNU gzip compatibility.
+              In particular, --fast doesn't make things  signifi-
+              cantly  faster.   And  --best  merely  selects  the
+              default behaviour.
+
+       --     Treats all subsequent arguments as file names, even
+              if they start with a dash.  This is so you can han-
+              dle files with names beginning  with  a  dash,  for
+              example: bzip2 -- -myfilename.
+
+       --repetitive-fast --repetitive-best
+              These  flags  are  redundant  in versions 0.9.5 and
+              above.  They provided some coarse control over  the
+              behaviour  of the sorting algorithm in earlier ver-
+              sions, which was sometimes useful.  0.9.5 and above
+              have  an  improved  algorithm  which  renders these
+              flags irrelevant.
+
+
+MEMORY MANAGEMENT
+       bzip2 compresses large files in blocks.   The  block  size
+       affects  both  the  compression  ratio  achieved,  and the
+       amount of memory needed for compression and decompression.
+       The  flags  -1  through  -9  specify  the block size to be
+       100,000 bytes through 900,000 bytes (the default)  respec-
+       tively.   At  decompression  time, the block size used for
+       compression is read from  the  header  of  the  compressed
+       file, and bunzip2 then allocates itself just enough memory
+       to decompress the file.  Since block sizes are  stored  in
+       compressed  files,  it follows that the flags -1 to -9 are
+       irrelevant to and so ignored during decompression.
+
+       Compression and decompression requirements, in bytes,  can
+       be estimated as:
+
+              Compression:   400k + ( 8 x block size )
+
+              Decompression: 100k + ( 4 x block size ), or
+                             100k + ( 2.5 x block size )
+
+       Larger  block  sizes  give  rapidly  diminishing  marginal
+       returns.  Most of the compression comes from the first two
+       or  three hundred k of block size, a fact worth bearing in
+       mind when using bzip2  on  small  machines.   It  is  also
+       important  to  appreciate  that  the  decompression memory
+       requirement is set at compression time by  the  choice  of
+       block size.
+
+       For  files  compressed  with  the default 900k block size,
+       bunzip2 will require about 3700 kbytes to decompress.   To
+       support decompression of any file on a 4 megabyte machine,
+       bunzip2 has an option to  decompress  using  approximately
+       half this amount of memory, about 2300 kbytes.  Decompres-
+       sion speed is also halved, so you should use  this  option
+       only where necessary.  The relevant flag is -s.
+
+       In general, try and use the largest block size memory con-
+       straints  allow,  since  that  maximises  the  compression
+       achieved.   Compression and decompression speed are virtu-
+       ally unaffected by block size.
+
+       Another significant point applies to files which fit in  a
+       single  block  --  that  means  most files you'd encounter
+       using a large block  size.   The  amount  of  real  memory
+       touched is proportional to the size of the file, since the
+       file is smaller than a block.  For example, compressing  a
+       file  20,000  bytes  long  with the flag -9 will cause the
+       compressor to allocate around 7600k of  memory,  but  only
+       touch 400k + 20000 * 8 = 560 kbytes of it.  Similarly, the
+       decompressor will allocate 3700k but  only  touch  100k  +
+       20000 * 4 = 180 kbytes.
+
+       Here  is a table which summarises the maximum memory usage
+       for different block sizes.  Also  recorded  is  the  total
+       compressed  size for 14 files of the Calgary Text Compres-
+       sion Corpus totalling 3,141,622 bytes.  This column  gives
+       some  feel  for  how  compression  varies with block size.
+       These figures tend to understate the advantage  of  larger
+       block  sizes  for  larger files, since the Corpus is domi-
+       nated by smaller files.
+
+                  Compress   Decompress   Decompress   Corpus
+           Flag     usage      usage       -s usage     Size
+
+            -1      1200k       500k         350k      914704
+            -2      2000k       900k         600k      877703
+            -3      2800k      1300k         850k      860338
+            -4      3600k      1700k        1100k      846899
+            -5      4400k      2100k        1350k      845160
+            -6      5200k      2500k        1600k      838626
+            -7      6100k      2900k        1850k      834096
+            -8      6800k      3300k        2100k      828642
+            -9      7600k      3700k        2350k      828642
+
+
+RECOVERING DATA FROM DAMAGED FILES
+       bzip2 compresses files in blocks, usually 900kbytes  long.
+       Each block is handled independently.  If a media or trans-
+       mission error causes a multi-block  .bz2  file  to  become
+       damaged,  it  may  be  possible  to  recover data from the
+       undamaged blocks in the file.
+
+       The compressed representation of each block  is  delimited
+       by  a  48-bit pattern, which makes it possible to find the
+       block boundaries with reasonable  certainty.   Each  block
+       also  carries its own 32-bit CRC, so damaged blocks can be
+       distinguished from undamaged ones.
+
+       bzip2recover is a  simple  program  whose  purpose  is  to
+       search  for blocks in .bz2 files, and write each block out
+       into its own .bz2 file.  You can then use bzip2 -t to test
+       the integrity of the resulting files, and decompress those
+       which are undamaged.
+
+       bzip2recover takes a single argument, the name of the dam-
+       aged    file,    and    writes    a    number   of   files
+       "rec00001file.bz2",  "rec00002file.bz2",  etc,  containing
+       the   extracted   blocks.   The   output   filenames   are
+       designed  so  that the use of wildcards in subsequent pro-
+       cessing  -- for example, "bzip2 -dc  rec*file.bz2 > recov-
+       ered_data" -- processes the files in the correct order.
+
+       bzip2recover should be of most use dealing with large .bz2
+       files,  as  these will contain many blocks.  It is clearly
+       futile to use it on damaged single-block  files,  since  a
+       damaged  block  cannot  be recovered.  If you wish to min-
+       imise any potential data loss through media  or  transmis-
+       sion errors, you might consider compressing with a smaller
+       block size.
+
+
+PERFORMANCE NOTES
+       The sorting phase of compression gathers together  similar
+       strings  in  the  file.  Because of this, files containing
+       very long runs of  repeated  symbols,  like  "aabaabaabaab
+       ..."   (repeated  several hundred times) may compress more
+       slowly than normal.  Versions 0.9.5 and  above  fare  much
+       better  than previous versions in this respect.  The ratio
+       between worst-case and average-case compression time is in
+       the  region  of  10:1.  For previous versions, this figure
+       was more like 100:1.  You can use the -vvvv option to mon-
+       itor progress in great detail, if you want.
+
+       Decompression speed is unaffected by these phenomena.
+
+       bzip2  usually  allocates  several  megabytes of memory to
+       operate in, and then charges all over it in a fairly  ran-
+       dom  fashion.   This means that performance, both for com-
+       pressing and decompressing, is largely determined  by  the
+       speed  at  which  your  machine  can service cache misses.
+       Because of this, small changes to the code to  reduce  the
+       miss  rate  have  been observed to give disproportionately
+       large performance improvements.  I imagine bzip2 will per-
+       form best on machines with very large caches.
+
+
+CAVEATS
+       I/O  error  messages  are not as helpful as they could be.
+       bzip2 tries hard to detect I/O errors  and  exit  cleanly,
+       but  the  details  of  what  the problem is sometimes seem
+       rather misleading.
+
+       This manual page pertains to version 1.0.6 of bzip2.  Com-
+       pressed  data created by this version is entirely forwards
+       and  backwards  compatible  with   the   previous   public
+       releases,  versions  0.1pl2,  0.9.0,  0.9.5, 1.0.0, 1.0.1,
+       1.0.2 and above, but with the  following  exception: 0.9.0
+       and above can  correctly decompress  multiple concatenated
+       compressed files.  0.1pl2  cannot do this;  it  will  stop
+       after  decompressing just the first file in the stream.
+
+       bzip2recover  versions prior to 1.0.2 used 32-bit integers
+       to represent bit positions in compressed  files,  so  they
+       could  not handle compressed files more than 512 megabytes
+       long.  Versions 1.0.2 and above use 64-bit  ints  on  some
+       platforms  which  support them (GNU supported targets, and
+       Windows).  To establish whether or  not  bzip2recover  was
+       built  with  such  a limitation, run it without arguments.
+       In any event you can build yourself an  unlimited  version
+       if  you  can  recompile  it  with MaybeUInt64 set to be an
+       unsigned 64-bit integer.
+
+
+AUTHOR
+       Julian Seward, jsewardbzip.org.
+
+       http://www.bzip.org
+
+       The ideas embodied in bzip2 are due to (at least) the fol-
+       lowing  people: Michael Burrows and David Wheeler (for the
+       block sorting transformation), David Wheeler  (again,  for
+       the Huffman coder), Peter Fenwick (for the structured cod-
+       ing model in the original bzip, and many refinements), and
+       Alistair  Moffat,  Radford  Neal  and  Ian Witten (for the
+       arithmetic  coder  in  the  original  bzip).   I  am  much
+       indebted for their help, support and advice.  See the man-
+       ual in the source distribution for pointers to sources  of
+       documentation.  Christian von Roques encouraged me to look
+       for faster sorting algorithms, so as to speed up  compres-
+       sion.  Bela Lubkin encouraged me to improve the worst-case
+       compression performance.  Donna Robinson XMLised the docu-
+       mentation.   The bz* scripts are derived from those of GNU
+       gzip.  Many people sent patches, helped  with  portability
+       problems,  lent  machines,  gave advice and were generally
+       helpful.
+
diff --git a/plugins/Updater/bzip2-1.0.3/bzip2recover.c b/plugins/Updater/bzip2-1.0.3/bzip2recover.c
new file mode 100644
index 0000000000..f9de0496ab
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzip2recover.c
@@ -0,0 +1,514 @@
+/*-----------------------------------------------------------*/
+/*--- Block recoverer program for bzip2                   ---*/
+/*---                                      bzip2recover.c ---*/
+/*-----------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+/* This program is a complete hack and should be rewritten properly.
+	 It isn't very complicated. */
+
+#include 
+#include 
+#include 
+#include 
+
+
+/* This program records bit locations in the file to be recovered.
+   That means that if 64-bit ints are not supported, we will not
+   be able to recover .bz2 files over 512MB (2^32 bits) long.
+   On GNU supported platforms, we take advantage of the 64-bit
+   int support to circumvent this problem.  Ditto MSVC.
+
+   This change occurred in version 1.0.2; all prior versions have
+   the 512MB limitation.
+*/
+#ifdef __GNUC__
+   typedef  unsigned long long int  MaybeUInt64;
+#  define MaybeUInt64_FMT "%Lu"
+#else
+#ifdef _MSC_VER
+   typedef  unsigned __int64  MaybeUInt64;
+#  define MaybeUInt64_FMT "%I64u"
+#else
+   typedef  unsigned int   MaybeUInt64;
+#  define MaybeUInt64_FMT "%u"
+#endif
+#endif
+
+typedef  unsigned int   UInt32;
+typedef  int            Int32;
+typedef  unsigned char  UChar;
+typedef  char           Char;
+typedef  unsigned char  Bool;
+#define True    ((Bool)1)
+#define False   ((Bool)0)
+
+
+#define BZ_MAX_FILENAME 2000
+
+Char inFileName[BZ_MAX_FILENAME];
+Char outFileName[BZ_MAX_FILENAME];
+Char progName[BZ_MAX_FILENAME];
+
+MaybeUInt64 bytesOut = 0;
+MaybeUInt64 bytesIn  = 0;
+
+
+/*---------------------------------------------------*/
+/*--- Header bytes                                ---*/
+/*---------------------------------------------------*/
+
+#define BZ_HDR_B 0x42                         /* 'B' */
+#define BZ_HDR_Z 0x5a                         /* 'Z' */
+#define BZ_HDR_h 0x68                         /* 'h' */
+#define BZ_HDR_0 0x30                         /* '0' */
+ 
+
+/*---------------------------------------------------*/
+/*--- I/O errors                                  ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+static void readError ( void )
+{
+   fprintf ( stderr,
+             "%s: I/O error reading `%s', possible reason follows.\n",
+            progName, inFileName );
+   perror ( progName );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+static void writeError ( void )
+{
+   fprintf ( stderr,
+             "%s: I/O error reading `%s', possible reason follows.\n",
+            progName, inFileName );
+   perror ( progName );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+static void mallocFail ( Int32 n )
+{
+   fprintf ( stderr,
+             "%s: malloc failed on request for %d bytes.\n",
+            progName, n );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+static void tooManyBlocks ( Int32 max_handled_blocks )
+{
+   fprintf ( stderr,
+             "%s: `%s' appears to contain more than %d blocks\n",
+            progName, inFileName, max_handled_blocks );
+   fprintf ( stderr,
+             "%s: and cannot be handled.  To fix, increase\n",
+             progName );
+   fprintf ( stderr, 
+             "%s: BZ_MAX_HANDLED_BLOCKS in bzip2recover.c, and recompile.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+
+/*---------------------------------------------------*/
+/*--- Bit stream I/O                              ---*/
+/*---------------------------------------------------*/
+
+typedef
+   struct {
+      FILE*  handle;
+      Int32  buffer;
+      Int32  buffLive;
+      Char   mode;
+   }
+   BitStream;
+
+
+/*---------------------------------------------*/
+static BitStream* bsOpenReadStream ( FILE* stream )
+{
+   BitStream *bs = malloc ( sizeof(BitStream) );
+   if (bs == NULL) mallocFail ( sizeof(BitStream) );
+   bs->handle = stream;
+   bs->buffer = 0;
+   bs->buffLive = 0;
+   bs->mode = 'r';
+   return bs;
+}
+
+
+/*---------------------------------------------*/
+static BitStream* bsOpenWriteStream ( FILE* stream )
+{
+   BitStream *bs = malloc ( sizeof(BitStream) );
+   if (bs == NULL) mallocFail ( sizeof(BitStream) );
+   bs->handle = stream;
+   bs->buffer = 0;
+   bs->buffLive = 0;
+   bs->mode = 'w';
+   return bs;
+}
+
+
+/*---------------------------------------------*/
+static void bsPutBit ( BitStream* bs, Int32 bit )
+{
+   if (bs->buffLive == 8) {
+      Int32 retVal = putc ( (UChar) bs->buffer, bs->handle );
+      if (retVal == EOF) writeError();
+      bytesOut++;
+      bs->buffLive = 1;
+      bs->buffer = bit & 0x1;
+   } else {
+      bs->buffer = ( (bs->buffer << 1) | (bit & 0x1) );
+      bs->buffLive++;
+   };
+}
+
+
+/*---------------------------------------------*/
+/*--
+   Returns 0 or 1, or 2 to indicate EOF.
+--*/
+static Int32 bsGetBit ( BitStream* bs )
+{
+   if (bs->buffLive > 0) {
+      bs->buffLive --;
+      return ( ((bs->buffer) >> (bs->buffLive)) & 0x1 );
+   } else {
+      Int32 retVal = getc ( bs->handle );
+      if ( retVal == EOF ) {
+         if (errno != 0) readError();
+         return 2;
+      }
+      bs->buffLive = 7;
+      bs->buffer = retVal;
+      return ( ((bs->buffer) >> 7) & 0x1 );
+   }
+}
+
+
+/*---------------------------------------------*/
+static void bsClose ( BitStream* bs )
+{
+   Int32 retVal;
+
+   if ( bs->mode == 'w' ) {
+      while ( bs->buffLive < 8 ) {
+         bs->buffLive++;
+         bs->buffer <<= 1;
+      };
+      retVal = putc ( (UChar) (bs->buffer), bs->handle );
+      if (retVal == EOF) writeError();
+      bytesOut++;
+      retVal = fflush ( bs->handle );
+      if (retVal == EOF) writeError();
+   }
+   retVal = fclose ( bs->handle );
+   if (retVal == EOF) {
+      if (bs->mode == 'w') writeError(); else readError();
+   }
+   free ( bs );
+}
+
+
+/*---------------------------------------------*/
+static void bsPutUChar ( BitStream* bs, UChar c )
+{
+   Int32 i;
+   for (i = 7; i >= 0; i--)
+      bsPutBit ( bs, (((UInt32) c) >> i) & 0x1 );
+}
+
+
+/*---------------------------------------------*/
+static void bsPutUInt32 ( BitStream* bs, UInt32 c )
+{
+   Int32 i;
+
+   for (i = 31; i >= 0; i--)
+      bsPutBit ( bs, (c >> i) & 0x1 );
+}
+
+
+/*---------------------------------------------*/
+static Bool endsInBz2 ( Char* name )
+{
+   Int32 n = strlen ( name );
+   if (n <= 4) return False;
+   return
+      (name[n-4] == '.' &&
+       name[n-3] == 'b' &&
+       name[n-2] == 'z' &&
+       name[n-1] == '2');
+}
+
+
+/*---------------------------------------------------*/
+/*---                                             ---*/
+/*---------------------------------------------------*/
+
+/* This logic isn't really right when it comes to Cygwin. */
+#ifdef _WIN32
+#  define  BZ_SPLIT_SYM  '\\'  /* path splitter on Windows platform */
+#else
+#  define  BZ_SPLIT_SYM  '/'   /* path splitter on Unix platform */
+#endif
+
+#define BLOCK_HEADER_HI  0x00003141UL
+#define BLOCK_HEADER_LO  0x59265359UL
+
+#define BLOCK_ENDMARK_HI 0x00001772UL
+#define BLOCK_ENDMARK_LO 0x45385090UL
+
+/* Increase if necessary.  However, a .bz2 file with > 50000 blocks
+   would have an uncompressed size of at least 40GB, so the chances
+   are low you'll need to up this.
+*/
+#define BZ_MAX_HANDLED_BLOCKS 50000
+
+MaybeUInt64 bStart [BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 bEnd   [BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 rbStart[BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 rbEnd  [BZ_MAX_HANDLED_BLOCKS];
+
+Int32 main ( Int32 argc, Char** argv )
+{
+   FILE*       inFile;
+   FILE*       outFile;
+   BitStream*  bsIn, *bsWr;
+   Int32       b, wrBlock, currBlock, rbCtr;
+   MaybeUInt64 bitsRead;
+
+   UInt32      buffHi, buffLo, blockCRC;
+   Char*       p;
+
+   strcpy ( progName, argv[0] );
+   inFileName[0] = outFileName[0] = 0;
+
+   fprintf ( stderr, 
+             "bzip2recover 1.0.6: extracts blocks from damaged .bz2 files.\n" );
+
+   if (argc != 2) {
+      fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
+                        progName, progName );
+      switch (sizeof(MaybeUInt64)) {
+         case 8:
+            fprintf(stderr, 
+                    "\trestrictions on size of recovered file: None\n");
+            break;
+         case 4:
+            fprintf(stderr, 
+                    "\trestrictions on size of recovered file: 512 MB\n");
+            fprintf(stderr, 
+                    "\tto circumvent, recompile with MaybeUInt64 as an\n"
+                    "\tunsigned 64-bit int.\n");
+            break;
+         default:
+            fprintf(stderr, 
+                    "\tsizeof(MaybeUInt64) is not 4 or 8 -- "
+                    "configuration error.\n");
+            break;
+      }
+      exit(1);
+   }
+
+   if (strlen(argv[1]) >= BZ_MAX_FILENAME-20) {
+      fprintf ( stderr, 
+                "%s: supplied filename is suspiciously (>= %d chars) long.  Bye!\n",
+                progName, (int)strlen(argv[1]) );
+      exit(1);
+   }
+
+   strcpy ( inFileName, argv[1] );
+
+   inFile = fopen ( inFileName, "rb" );
+   if (inFile == NULL) {
+      fprintf ( stderr, "%s: can't read `%s'\n", progName, inFileName );
+      exit(1);
+   }
+
+   bsIn = bsOpenReadStream ( inFile );
+   fprintf ( stderr, "%s: searching for block boundaries ...\n", progName );
+
+   bitsRead = 0;
+   buffHi = buffLo = 0;
+   currBlock = 0;
+   bStart[currBlock] = 0;
+
+   rbCtr = 0;
+
+   while (True) {
+      b = bsGetBit ( bsIn );
+      bitsRead++;
+      if (b == 2) {
+         if (bitsRead >= bStart[currBlock] &&
+            (bitsRead - bStart[currBlock]) >= 40) {
+            bEnd[currBlock] = bitsRead-1;
+            if (currBlock > 0)
+               fprintf ( stderr, "   block %d runs from " MaybeUInt64_FMT 
+                                 " to " MaybeUInt64_FMT " (incomplete)\n",
+                         currBlock,  bStart[currBlock], bEnd[currBlock] );
+         } else
+            currBlock--;
+         break;
+      }
+      buffHi = (buffHi << 1) | (buffLo >> 31);
+      buffLo = (buffLo << 1) | (b & 1);
+      if ( ( (buffHi & 0x0000ffff) == BLOCK_HEADER_HI 
+             && buffLo == BLOCK_HEADER_LO)
+           || 
+           ( (buffHi & 0x0000ffff) == BLOCK_ENDMARK_HI 
+             && buffLo == BLOCK_ENDMARK_LO)
+         ) {
+         if (bitsRead > 49) {
+            bEnd[currBlock] = bitsRead-49;
+         } else {
+            bEnd[currBlock] = 0;
+         }
+         if (currBlock > 0 &&
+	     (bEnd[currBlock] - bStart[currBlock]) >= 130) {
+            fprintf ( stderr, "   block %d runs from " MaybeUInt64_FMT 
+                              " to " MaybeUInt64_FMT "\n",
+                      rbCtr+1,  bStart[currBlock], bEnd[currBlock] );
+            rbStart[rbCtr] = bStart[currBlock];
+            rbEnd[rbCtr] = bEnd[currBlock];
+            rbCtr++;
+         }
+         if (currBlock >= BZ_MAX_HANDLED_BLOCKS)
+            tooManyBlocks(BZ_MAX_HANDLED_BLOCKS);
+         currBlock++;
+
+         bStart[currBlock] = bitsRead;
+      }
+   }
+
+   bsClose ( bsIn );
+
+   /*-- identified blocks run from 1 to rbCtr inclusive. --*/
+
+   if (rbCtr < 1) {
+      fprintf ( stderr,
+                "%s: sorry, I couldn't find any block boundaries.\n",
+                progName );
+      exit(1);
+   };
+
+   fprintf ( stderr, "%s: splitting into blocks\n", progName );
+
+   inFile = fopen ( inFileName, "rb" );
+   if (inFile == NULL) {
+      fprintf ( stderr, "%s: can't open `%s'\n", progName, inFileName );
+      exit(1);
+   }
+   bsIn = bsOpenReadStream ( inFile );
+
+   /*-- placate gcc's dataflow analyser --*/
+   blockCRC = 0; bsWr = 0;
+
+   bitsRead = 0;
+   outFile = NULL;
+   wrBlock = 0;
+   while (True) {
+      b = bsGetBit(bsIn);
+      if (b == 2) break;
+      buffHi = (buffHi << 1) | (buffLo >> 31);
+      buffLo = (buffLo << 1) | (b & 1);
+      if (bitsRead == 47+rbStart[wrBlock]) 
+         blockCRC = (buffHi << 16) | (buffLo >> 16);
+
+      if (outFile != NULL && bitsRead >= rbStart[wrBlock]
+                          && bitsRead <= rbEnd[wrBlock]) {
+         bsPutBit ( bsWr, b );
+      }
+
+      bitsRead++;
+
+      if (bitsRead == rbEnd[wrBlock]+1) {
+         if (outFile != NULL) {
+            bsPutUChar ( bsWr, 0x17 ); bsPutUChar ( bsWr, 0x72 );
+            bsPutUChar ( bsWr, 0x45 ); bsPutUChar ( bsWr, 0x38 );
+            bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
+            bsPutUInt32 ( bsWr, blockCRC );
+            bsClose ( bsWr );
+         }
+         if (wrBlock >= rbCtr) break;
+         wrBlock++;
+      } else
+      if (bitsRead == rbStart[wrBlock]) {
+         /* Create the output file name, correctly handling leading paths. 
+            (31.10.2001 by Sergey E. Kusikov) */
+         Char* split;
+         Int32 ofs, k;
+         for (k = 0; k < BZ_MAX_FILENAME; k++) 
+            outFileName[k] = 0;
+         strcpy (outFileName, inFileName);
+         split = strrchr (outFileName, BZ_SPLIT_SYM);
+         if (split == NULL) {
+            split = outFileName;
+         } else {
+            ++split;
+	 }
+	 /* Now split points to the start of the basename. */
+         ofs  = split - outFileName;
+         sprintf (split, "rec%5d", wrBlock+1);
+         for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
+         strcat (outFileName, inFileName + ofs);
+
+         if ( !endsInBz2(outFileName)) strcat ( outFileName, ".bz2" );
+
+         fprintf ( stderr, "   writing block %d to `%s' ...\n",
+                           wrBlock+1, outFileName );
+
+         outFile = fopen ( outFileName, "wb" );
+         if (outFile == NULL) {
+            fprintf ( stderr, "%s: can't write `%s'\n",
+                      progName, outFileName );
+            exit(1);
+         }
+         bsWr = bsOpenWriteStream ( outFile );
+         bsPutUChar ( bsWr, BZ_HDR_B );    
+         bsPutUChar ( bsWr, BZ_HDR_Z );    
+         bsPutUChar ( bsWr, BZ_HDR_h );    
+         bsPutUChar ( bsWr, BZ_HDR_0 + 9 );
+         bsPutUChar ( bsWr, 0x31 ); bsPutUChar ( bsWr, 0x41 );
+         bsPutUChar ( bsWr, 0x59 ); bsPutUChar ( bsWr, 0x26 );
+         bsPutUChar ( bsWr, 0x53 ); bsPutUChar ( bsWr, 0x59 );
+      }
+   }
+
+   fprintf ( stderr, "%s: finished\n", progName );
+   return 0;
+}
+
+
+
+/*-----------------------------------------------------------*/
+/*--- end                                  bzip2recover.c ---*/
+/*-----------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bzlib.c b/plugins/Updater/bzip2-1.0.3/bzlib.c
new file mode 100644
index 0000000000..bd358a793b
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzlib.c
@@ -0,0 +1,1572 @@
+
+/*-------------------------------------------------------------*/
+/*--- Library top-level functions.                          ---*/
+/*---                                               bzlib.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+/* CHANGES
+   0.9.0    -- original version.
+   0.9.0a/b -- no changes in this file.
+   0.9.0c   -- made zero-length BZ_FLUSH work correctly in bzCompress().
+     fixed bzWrite/bzRead to ignore zero-length requests.
+     fixed bzread to correctly handle read requests after EOF.
+     wrong parameter order in call to bzDecompressInit in
+     bzBuffToBuffDecompress.  Fixed.
+*/
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+/*--- Compression stuff                           ---*/
+/*---------------------------------------------------*/
+
+
+/*---------------------------------------------------*/
+#ifndef BZ_NO_STDIO
+void BZ2_bz__AssertH__fail ( int errcode )
+{
+   fprintf(stderr, 
+      "\n\nbzip2/libbzip2: internal error number %d.\n"
+      "This is a bug in bzip2/libbzip2, %s.\n"
+      "Please report it to me at: jseward@bzip.org.  If this happened\n"
+      "when you were using some program which uses libbzip2 as a\n"
+      "component, you should also report this bug to the author(s)\n"
+      "of that program.  Please make an effort to report this bug;\n"
+      "timely and accurate bug reports eventually lead to higher\n"
+      "quality software.  Thanks.  Julian Seward, 10 December 2007.\n\n",
+      errcode,
+      BZ2_bzlibVersion()
+   );
+
+   if (errcode == 1007) {
+   fprintf(stderr,
+      "\n*** A special note about internal error number 1007 ***\n"
+      "\n"
+      "Experience suggests that a common cause of i.e. 1007\n"
+      "is unreliable memory or other hardware.  The 1007 assertion\n"
+      "just happens to cross-check the results of huge numbers of\n"
+      "memory reads/writes, and so acts (unintendedly) as a stress\n"
+      "test of your memory system.\n"
+      "\n"
+      "I suggest the following: try compressing the file again,\n"
+      "possibly monitoring progress in detail with the -vv flag.\n"
+      "\n"
+      "* If the error cannot be reproduced, and/or happens at different\n"
+      "  points in compression, you may have a flaky memory system.\n"
+      "  Try a memory-test program.  I have used Memtest86\n"
+      "  (www.memtest86.com).  At the time of writing it is free (GPLd).\n"
+      "  Memtest86 tests memory much more thorougly than your BIOSs\n"
+      "  power-on test, and may find failures that the BIOS doesn't.\n"
+      "\n"
+      "* If the error can be repeatably reproduced, this is a bug in\n"
+      "  bzip2, and I would very much like to hear about it.  Please\n"
+      "  let me know, and, ideally, save a copy of the file causing the\n"
+      "  problem -- without which I will be unable to investigate it.\n"
+      "\n"
+   );
+   }
+
+   exit(3);
+}
+#endif
+
+
+/*---------------------------------------------------*/
+static
+int bz_config_ok ( void )
+{
+   if (sizeof(int)   != 4) return 0;
+   if (sizeof(short) != 2) return 0;
+   if (sizeof(char)  != 1) return 0;
+   return 1;
+}
+
+
+/*---------------------------------------------------*/
+static
+void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
+{
+   void* v = malloc ( items * size );
+   return v;
+}
+
+static
+void default_bzfree ( void* opaque, void* addr )
+{
+   if (addr != NULL) free ( addr );
+}
+
+
+/*---------------------------------------------------*/
+static
+void prepare_new_block ( EState* s )
+{
+   Int32 i;
+   s->nblock = 0;
+   s->numZ = 0;
+   s->state_out_pos = 0;
+   BZ_INITIALISE_CRC ( s->blockCRC );
+   for (i = 0; i < 256; i++) s->inUse[i] = False;
+   s->blockNo++;
+}
+
+
+/*---------------------------------------------------*/
+static
+void init_RL ( EState* s )
+{
+   s->state_in_ch  = 256;
+   s->state_in_len = 0;
+}
+
+
+static
+Bool isempty_RL ( EState* s )
+{
+   if (s->state_in_ch < 256 && s->state_in_len > 0)
+      return False; else
+      return True;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompressInit) 
+                    ( bz_stream* strm, 
+                     int        blockSize100k,
+                     int        verbosity,
+                     int        workFactor )
+{
+   Int32   n;
+   EState* s;
+
+   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
+
+   if (strm == NULL || 
+       blockSize100k < 1 || blockSize100k > 9 ||
+       workFactor < 0 || workFactor > 250)
+     return BZ_PARAM_ERROR;
+
+   if (workFactor == 0) workFactor = 30;
+   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
+   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
+
+   s = BZALLOC( sizeof(EState) );
+   if (s == NULL) return BZ_MEM_ERROR;
+   s->strm = strm;
+
+   s->arr1 = NULL;
+   s->arr2 = NULL;
+   s->ftab = NULL;
+
+   n       = 100000 * blockSize100k;
+   s->arr1 = BZALLOC( n                  * sizeof(UInt32) );
+   s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
+   s->ftab = BZALLOC( 65537              * sizeof(UInt32) );
+
+   if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
+      if (s->arr1 != NULL) BZFREE(s->arr1);
+      if (s->arr2 != NULL) BZFREE(s->arr2);
+      if (s->ftab != NULL) BZFREE(s->ftab);
+      if (s       != NULL) BZFREE(s);
+      return BZ_MEM_ERROR;
+   }
+
+   s->blockNo           = 0;
+   s->state             = BZ_S_INPUT;
+   s->mode              = BZ_M_RUNNING;
+   s->combinedCRC       = 0;
+   s->blockSize100k     = blockSize100k;
+   s->nblockMAX         = 100000 * blockSize100k - 19;
+   s->verbosity         = verbosity;
+   s->workFactor        = workFactor;
+
+   s->block             = (UChar*)s->arr2;
+   s->mtfv              = (UInt16*)s->arr1;
+   s->zbits             = NULL;
+   s->ptr               = (UInt32*)s->arr1;
+
+   strm->state          = s;
+   strm->total_in_lo32  = 0;
+   strm->total_in_hi32  = 0;
+   strm->total_out_lo32 = 0;
+   strm->total_out_hi32 = 0;
+   init_RL ( s );
+   prepare_new_block ( s );
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+static
+void add_pair_to_block ( EState* s )
+{
+   Int32 i;
+   UChar ch = (UChar)(s->state_in_ch);
+   for (i = 0; i < s->state_in_len; i++) {
+      BZ_UPDATE_CRC( s->blockCRC, ch );
+   }
+   s->inUse[s->state_in_ch] = True;
+   switch (s->state_in_len) {
+      case 1:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      case 2:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      case 3:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      default:
+         s->inUse[s->state_in_len-4] = True;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = ((UChar)(s->state_in_len-4));
+         s->nblock++;
+         break;
+   }
+}
+
+
+/*---------------------------------------------------*/
+static
+void flush_RL ( EState* s )
+{
+   if (s->state_in_ch < 256) add_pair_to_block ( s );
+   init_RL ( s );
+}
+
+
+/*---------------------------------------------------*/
+#define ADD_CHAR_TO_BLOCK(zs,zchh0)               \
+{                                                 \
+   UInt32 zchh = (UInt32)(zchh0);                 \
+   /*-- fast track the common case --*/           \
+   if (zchh != zs->state_in_ch &&                 \
+       zs->state_in_len == 1) {                   \
+      UChar ch = (UChar)(zs->state_in_ch);        \
+      BZ_UPDATE_CRC( zs->blockCRC, ch );          \
+      zs->inUse[zs->state_in_ch] = True;          \
+      zs->block[zs->nblock] = (UChar)ch;          \
+      zs->nblock++;                               \
+      zs->state_in_ch = zchh;                     \
+   }                                              \
+   else                                           \
+   /*-- general, uncommon cases --*/              \
+   if (zchh != zs->state_in_ch ||                 \
+      zs->state_in_len == 255) {                  \
+      if (zs->state_in_ch < 256)                  \
+         add_pair_to_block ( zs );                \
+      zs->state_in_ch = zchh;                     \
+      zs->state_in_len = 1;                       \
+   } else {                                       \
+      zs->state_in_len++;                         \
+   }                                              \
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool copy_input_until_stop ( EState* s )
+{
+   Bool progress_in = False;
+
+   if (s->mode == BZ_M_RUNNING) {
+
+      /*-- fast track the common case --*/
+      while (True) {
+         /*-- block full? --*/
+         if (s->nblock >= s->nblockMAX) break;
+         /*-- no input? --*/
+         if (s->strm->avail_in == 0) break;
+         progress_in = True;
+         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); 
+         s->strm->next_in++;
+         s->strm->avail_in--;
+         s->strm->total_in_lo32++;
+         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
+      }
+
+   } else {
+
+      /*-- general, uncommon case --*/
+      while (True) {
+         /*-- block full? --*/
+         if (s->nblock >= s->nblockMAX) break;
+         /*-- no input? --*/
+         if (s->strm->avail_in == 0) break;
+         /*-- flush/finish end? --*/
+         if (s->avail_in_expect == 0) break;
+         progress_in = True;
+         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); 
+         s->strm->next_in++;
+         s->strm->avail_in--;
+         s->strm->total_in_lo32++;
+         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
+         s->avail_in_expect--;
+      }
+   }
+   return progress_in;
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool copy_output_until_stop ( EState* s )
+{
+   Bool progress_out = False;
+
+   while (True) {
+
+      /*-- no output space? --*/
+      if (s->strm->avail_out == 0) break;
+
+      /*-- block done? --*/
+      if (s->state_out_pos >= s->numZ) break;
+
+      progress_out = True;
+      *(s->strm->next_out) = s->zbits[s->state_out_pos];
+      s->state_out_pos++;
+      s->strm->avail_out--;
+      s->strm->next_out++;
+      s->strm->total_out_lo32++;
+      if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+   }
+
+   return progress_out;
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool handle_compress ( bz_stream* strm )
+{
+   Bool progress_in  = False;
+   Bool progress_out = False;
+   EState* s = strm->state;
+   
+   while (True) {
+
+      if (s->state == BZ_S_OUTPUT) {
+         progress_out |= copy_output_until_stop ( s );
+         if (s->state_out_pos < s->numZ) break;
+         if (s->mode == BZ_M_FINISHING && 
+             s->avail_in_expect == 0 &&
+             isempty_RL(s)) break;
+         prepare_new_block ( s );
+         s->state = BZ_S_INPUT;
+         if (s->mode == BZ_M_FLUSHING && 
+             s->avail_in_expect == 0 &&
+             isempty_RL(s)) break;
+      }
+
+      if (s->state == BZ_S_INPUT) {
+         progress_in |= copy_input_until_stop ( s );
+         if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
+            flush_RL ( s );
+            BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
+            s->state = BZ_S_OUTPUT;
+         }
+         else
+         if (s->nblock >= s->nblockMAX) {
+            BZ2_compressBlock ( s, False );
+            s->state = BZ_S_OUTPUT;
+         }
+         else
+         if (s->strm->avail_in == 0) {
+            break;
+         }
+      }
+
+   }
+
+   return progress_in || progress_out;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
+{
+   Bool progress;
+   EState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   preswitch:
+   switch (s->mode) {
+
+      case BZ_M_IDLE:
+         return BZ_SEQUENCE_ERROR;
+
+      case BZ_M_RUNNING:
+         if (action == BZ_RUN) {
+            progress = handle_compress ( strm );
+            return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
+         } 
+         else
+	 if (action == BZ_FLUSH) {
+            s->avail_in_expect = strm->avail_in;
+            s->mode = BZ_M_FLUSHING;
+            goto preswitch;
+         }
+         else
+         if (action == BZ_FINISH) {
+            s->avail_in_expect = strm->avail_in;
+            s->mode = BZ_M_FINISHING;
+            goto preswitch;
+         }
+         else 
+            return BZ_PARAM_ERROR;
+
+      case BZ_M_FLUSHING:
+         if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect != s->strm->avail_in) 
+            return BZ_SEQUENCE_ERROR;
+         progress = handle_compress ( strm );
+         if (s->avail_in_expect > 0 || !isempty_RL(s) ||
+             s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
+         s->mode = BZ_M_RUNNING;
+         return BZ_RUN_OK;
+
+      case BZ_M_FINISHING:
+         if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect != s->strm->avail_in) 
+            return BZ_SEQUENCE_ERROR;
+         progress = handle_compress ( strm );
+         if (!progress) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect > 0 || !isempty_RL(s) ||
+             s->state_out_pos < s->numZ) return BZ_FINISH_OK;
+         s->mode = BZ_M_IDLE;
+         return BZ_STREAM_END;
+   }
+   return BZ_OK; /*--not reached--*/
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompressEnd)  ( bz_stream *strm )
+{
+   EState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   if (s->arr1 != NULL) BZFREE(s->arr1);
+   if (s->arr2 != NULL) BZFREE(s->arr2);
+   if (s->ftab != NULL) BZFREE(s->ftab);
+   BZFREE(strm->state);
+
+   strm->state = NULL;   
+
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+/*--- Decompression stuff                         ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompressInit) 
+                     ( bz_stream* strm, 
+                       int        verbosity,
+                       int        small )
+{
+   DState* s;
+
+   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
+
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   if (small != 0 && small != 1) return BZ_PARAM_ERROR;
+   if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
+
+   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
+   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
+
+   s = BZALLOC( sizeof(DState) );
+   if (s == NULL) return BZ_MEM_ERROR;
+   s->strm                  = strm;
+   strm->state              = s;
+   s->state                 = BZ_X_MAGIC_1;
+   s->bsLive                = 0;
+   s->bsBuff                = 0;
+   s->calculatedCombinedCRC = 0;
+   strm->total_in_lo32      = 0;
+   strm->total_in_hi32      = 0;
+   strm->total_out_lo32     = 0;
+   strm->total_out_hi32     = 0;
+   s->smallDecompress       = (Bool)small;
+   s->ll4                   = NULL;
+   s->ll16                  = NULL;
+   s->tt                    = NULL;
+   s->currBlockNo           = 0;
+   s->verbosity             = verbosity;
+
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+/* Return  True iff data corruption is discovered.
+   Returns False if there is no problem.
+*/
+static
+Bool unRLE_obuf_to_output_FAST ( DState* s )
+{
+   UChar k1;
+
+   if (s->blockRandomised) {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+               
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK; 
+         s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
+      }
+
+   } else {
+
+      /* restore */
+      UInt32        c_calculatedBlockCRC = s->calculatedBlockCRC;
+      UChar         c_state_out_ch       = s->state_out_ch;
+      Int32         c_state_out_len      = s->state_out_len;
+      Int32         c_nblock_used        = s->nblock_used;
+      Int32         c_k0                 = s->k0;
+      UInt32*       c_tt                 = s->tt;
+      UInt32        c_tPos               = s->tPos;
+      char*         cs_next_out          = s->strm->next_out;
+      unsigned int  cs_avail_out         = s->strm->avail_out;
+      Int32         ro_blockSize100k     = s->blockSize100k;
+      /* end restore */
+
+      UInt32       avail_out_INIT = cs_avail_out;
+      Int32        s_save_nblockPP = s->save_nblock+1;
+      unsigned int total_out_lo32_old;
+
+      while (True) {
+
+         /* try to finish existing run */
+         if (c_state_out_len > 0) {
+            while (True) {
+               if (cs_avail_out == 0) goto return_notr;
+               if (c_state_out_len == 1) break;
+               *( (UChar*)(cs_next_out) ) = c_state_out_ch;
+               BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
+               c_state_out_len--;
+               cs_next_out++;
+               cs_avail_out--;
+            }
+            s_state_out_len_eq_one:
+            {
+               if (cs_avail_out == 0) { 
+                  c_state_out_len = 1; goto return_notr;
+               };
+               *( (UChar*)(cs_next_out) ) = c_state_out_ch;
+               BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
+               cs_next_out++;
+               cs_avail_out--;
+            }
+         }   
+         /* Only caused by corrupt data stream? */
+         if (c_nblock_used > s_save_nblockPP)
+            return True;
+
+         /* can a new run be started? */
+         if (c_nblock_used == s_save_nblockPP) {
+            c_state_out_len = 0; goto return_notr;
+         };   
+         c_state_out_ch = c_k0;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (k1 != c_k0) { 
+            c_k0 = k1; goto s_state_out_len_eq_one; 
+         };
+         if (c_nblock_used == s_save_nblockPP) 
+            goto s_state_out_len_eq_one;
+   
+         c_state_out_len = 2;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (c_nblock_used == s_save_nblockPP) continue;
+         if (k1 != c_k0) { c_k0 = k1; continue; };
+   
+         c_state_out_len = 3;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (c_nblock_used == s_save_nblockPP) continue;
+         if (k1 != c_k0) { c_k0 = k1; continue; };
+   
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         c_state_out_len = ((Int32)k1) + 4;
+         BZ_GET_FAST_C(c_k0); c_nblock_used++;
+      }
+
+      return_notr:
+      total_out_lo32_old = s->strm->total_out_lo32;
+      s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
+      if (s->strm->total_out_lo32 < total_out_lo32_old)
+         s->strm->total_out_hi32++;
+
+      /* save */
+      s->calculatedBlockCRC = c_calculatedBlockCRC;
+      s->state_out_ch       = c_state_out_ch;
+      s->state_out_len      = c_state_out_len;
+      s->nblock_used        = c_nblock_used;
+      s->k0                 = c_k0;
+      s->tt                 = c_tt;
+      s->tPos               = c_tPos;
+      s->strm->next_out     = cs_next_out;
+      s->strm->avail_out    = cs_avail_out;
+      /* end save */
+   }
+   return False;
+}
+
+
+
+/*---------------------------------------------------*/
+__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
+{
+   Int32 nb, na, mid;
+   nb = 0;
+   na = 256;
+   do {
+      mid = (nb + na) >> 1;
+      if (indx >= cftab[mid]) nb = mid; else na = mid;
+   }
+   while (na - nb != 1);
+   return nb;
+}
+
+
+/*---------------------------------------------------*/
+/* Return  True iff data corruption is discovered.
+   Returns False if there is no problem.
+*/
+static
+Bool unRLE_obuf_to_output_SMALL ( DState* s )
+{
+   UChar k1;
+
+   if (s->blockRandomised) {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+   
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK; 
+         s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
+      }
+
+   } else {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+   
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_SMALL(s->k0); s->nblock_used++;
+      }
+
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
+{
+   Bool    corrupt;
+   DState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   while (True) {
+      if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
+      if (s->state == BZ_X_OUTPUT) {
+         if (s->smallDecompress)
+            corrupt = unRLE_obuf_to_output_SMALL ( s ); else
+            corrupt = unRLE_obuf_to_output_FAST  ( s );
+         if (corrupt) return BZ_DATA_ERROR;
+         if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
+            BZ_FINALISE_CRC ( s->calculatedBlockCRC );
+            if (s->verbosity >= 3) 
+               VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC, 
+                          s->calculatedBlockCRC );
+            if (s->verbosity >= 2) VPrintf0 ( "]" );
+            if (s->calculatedBlockCRC != s->storedBlockCRC)
+               return BZ_DATA_ERROR;
+            s->calculatedCombinedCRC 
+               = (s->calculatedCombinedCRC << 1) | 
+                    (s->calculatedCombinedCRC >> 31);
+            s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
+            s->state = BZ_X_BLKHDR_1;
+         } else {
+            return BZ_OK;
+         }
+      }
+      if (s->state >= BZ_X_MAGIC_1) {
+         Int32 r = BZ2_decompress ( s );
+         if (r == BZ_STREAM_END) {
+            if (s->verbosity >= 3)
+               VPrintf2 ( "\n    combined CRCs: stored = 0x%08x, computed = 0x%08x", 
+                          s->storedCombinedCRC, s->calculatedCombinedCRC );
+            if (s->calculatedCombinedCRC != s->storedCombinedCRC)
+               return BZ_DATA_ERROR;
+            return r;
+         }
+         if (s->state != BZ_X_OUTPUT) return r;
+      }
+   }
+
+   AssertH ( 0, 6001 );
+
+   return 0;  /*NOTREACHED*/
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompressEnd)  ( bz_stream *strm )
+{
+   DState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   if (s->tt   != NULL) BZFREE(s->tt);
+   if (s->ll16 != NULL) BZFREE(s->ll16);
+   if (s->ll4  != NULL) BZFREE(s->ll4);
+
+   BZFREE(strm->state);
+   strm->state = NULL;
+
+   return BZ_OK;
+}
+
+
+#ifndef BZ_NO_STDIO
+/*---------------------------------------------------*/
+/*--- File I/O stuff                              ---*/
+/*---------------------------------------------------*/
+
+#define BZ_SETERR(eee)                    \
+{                                         \
+   if (bzerror != NULL) *bzerror = eee;   \
+   if (bzf != NULL) bzf->lastErr = eee;   \
+}
+
+typedef 
+   struct {
+      FILE*     handle;
+      Char      buf[BZ_MAX_UNUSED];
+      Int32     bufN;
+      Bool      writing;
+      bz_stream strm;
+      Int32     lastErr;
+      Bool      initialisedOk;
+   }
+   bzFile;
+
+
+/*---------------------------------------------*/
+static Bool myfeof ( FILE* f )
+{
+   Int32 c = fgetc ( f );
+   if (c == EOF) return True;
+   ungetc ( c, f );
+   return False;
+}
+
+
+/*---------------------------------------------------*/
+BZFILE* BZ_API(BZ2_bzWriteOpen) 
+                    ( int*  bzerror,      
+                      FILE* f, 
+                      int   blockSize100k, 
+                      int   verbosity,
+                      int   workFactor )
+{
+   Int32   ret;
+   bzFile* bzf = NULL;
+
+   BZ_SETERR(BZ_OK);
+
+   if (f == NULL ||
+       (blockSize100k < 1 || blockSize100k > 9) ||
+       (workFactor < 0 || workFactor > 250) ||
+       (verbosity < 0 || verbosity > 4))
+      { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
+
+   if (ferror(f))
+      { BZ_SETERR(BZ_IO_ERROR); return NULL; };
+
+   bzf = malloc ( sizeof(bzFile) );
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
+
+   BZ_SETERR(BZ_OK);
+   bzf->initialisedOk = False;
+   bzf->bufN          = 0;
+   bzf->handle        = f;
+   bzf->writing       = True;
+   bzf->strm.bzalloc  = NULL;
+   bzf->strm.bzfree   = NULL;
+   bzf->strm.opaque   = NULL;
+
+   if (workFactor == 0) workFactor = 30;
+   ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k, 
+                              verbosity, workFactor );
+   if (ret != BZ_OK)
+      { BZ_SETERR(ret); free(bzf); return NULL; };
+
+   bzf->strm.avail_in = 0;
+   bzf->initialisedOk = True;
+   return bzf;   
+}
+
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzWrite)
+             ( int*    bzerror, 
+               BZFILE* b, 
+               void*   buf, 
+               int     len )
+{
+   Int32 n, n2, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+   if (bzf == NULL || buf == NULL || len < 0)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+   if (!(bzf->writing))
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (ferror(bzf->handle))
+      { BZ_SETERR(BZ_IO_ERROR); return; };
+
+   if (len == 0)
+      { BZ_SETERR(BZ_OK); return; };
+
+   bzf->strm.avail_in = len;
+   bzf->strm.next_in  = buf;
+
+   while (True) {
+      bzf->strm.avail_out = BZ_MAX_UNUSED;
+      bzf->strm.next_out = bzf->buf;
+      ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
+      if (ret != BZ_RUN_OK)
+         { BZ_SETERR(ret); return; };
+
+      if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
+         n = BZ_MAX_UNUSED - bzf->strm.avail_out;
+         n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar), 
+                       n, bzf->handle );
+         if (n != n2 || ferror(bzf->handle))
+            { BZ_SETERR(BZ_IO_ERROR); return; };
+      }
+
+      if (bzf->strm.avail_in == 0)
+         { BZ_SETERR(BZ_OK); return; };
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzWriteClose)
+                  ( int*          bzerror, 
+                    BZFILE*       b, 
+                    int           abandon,
+                    unsigned int* nbytes_in,
+                    unsigned int* nbytes_out )
+{
+   BZ2_bzWriteClose64 ( bzerror, b, abandon, 
+                        nbytes_in, NULL, nbytes_out, NULL );
+}
+
+
+void BZ_API(BZ2_bzWriteClose64)
+                  ( int*          bzerror, 
+                    BZFILE*       b, 
+                    int           abandon,
+                    unsigned int* nbytes_in_lo32,
+                    unsigned int* nbytes_in_hi32,
+                    unsigned int* nbytes_out_lo32,
+                    unsigned int* nbytes_out_hi32 )
+{
+   Int32   n, n2, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_OK); return; };
+   if (!(bzf->writing))
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (ferror(bzf->handle))
+      { BZ_SETERR(BZ_IO_ERROR); return; };
+
+   if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
+   if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
+   if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
+   if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
+
+   if ((!abandon) && bzf->lastErr == BZ_OK) {
+      while (True) {
+         bzf->strm.avail_out = BZ_MAX_UNUSED;
+         bzf->strm.next_out = bzf->buf;
+         ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
+         if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
+            { BZ_SETERR(ret); return; };
+
+         if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
+            n = BZ_MAX_UNUSED - bzf->strm.avail_out;
+            n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar), 
+                          n, bzf->handle );
+            if (n != n2 || ferror(bzf->handle))
+               { BZ_SETERR(BZ_IO_ERROR); return; };
+         }
+
+         if (ret == BZ_STREAM_END) break;
+      }
+   }
+
+   if ( !abandon && !ferror ( bzf->handle ) ) {
+      fflush ( bzf->handle );
+      if (ferror(bzf->handle))
+         { BZ_SETERR(BZ_IO_ERROR); return; };
+   }
+
+   if (nbytes_in_lo32 != NULL)
+      *nbytes_in_lo32 = bzf->strm.total_in_lo32;
+   if (nbytes_in_hi32 != NULL)
+      *nbytes_in_hi32 = bzf->strm.total_in_hi32;
+   if (nbytes_out_lo32 != NULL)
+      *nbytes_out_lo32 = bzf->strm.total_out_lo32;
+   if (nbytes_out_hi32 != NULL)
+      *nbytes_out_hi32 = bzf->strm.total_out_hi32;
+
+   BZ_SETERR(BZ_OK);
+   BZ2_bzCompressEnd ( &(bzf->strm) );
+   free ( bzf );
+}
+
+
+/*---------------------------------------------------*/
+BZFILE* BZ_API(BZ2_bzReadOpen) 
+                   ( int*  bzerror, 
+                     FILE* f, 
+                     int   verbosity,
+                     int   small,
+                     void* unused,
+                     int   nUnused )
+{
+   bzFile* bzf = NULL;
+   int     ret;
+
+   BZ_SETERR(BZ_OK);
+
+   if (f == NULL || 
+       (small != 0 && small != 1) ||
+       (verbosity < 0 || verbosity > 4) ||
+       (unused == NULL && nUnused != 0) ||
+       (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
+      { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
+
+   if (ferror(f))
+      { BZ_SETERR(BZ_IO_ERROR); return NULL; };
+
+   bzf = malloc ( sizeof(bzFile) );
+   if (bzf == NULL) 
+      { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
+
+   BZ_SETERR(BZ_OK);
+
+   bzf->initialisedOk = False;
+   bzf->handle        = f;
+   bzf->bufN          = 0;
+   bzf->writing       = False;
+   bzf->strm.bzalloc  = NULL;
+   bzf->strm.bzfree   = NULL;
+   bzf->strm.opaque   = NULL;
+   
+   while (nUnused > 0) {
+      bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
+      unused = ((void*)( 1 + ((UChar*)(unused))  ));
+      nUnused--;
+   }
+
+   ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
+   if (ret != BZ_OK)
+      { BZ_SETERR(ret); free(bzf); return NULL; };
+
+   bzf->strm.avail_in = bzf->bufN;
+   bzf->strm.next_in  = bzf->buf;
+
+   bzf->initialisedOk = True;
+   return bzf;   
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
+{
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_OK); return; };
+
+   if (bzf->writing)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+
+   if (bzf->initialisedOk)
+      (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
+   free ( bzf );
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzRead) 
+           ( int*    bzerror, 
+             BZFILE* b, 
+             void*   buf, 
+             int     len )
+{
+   Int32   n, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+
+   if (bzf == NULL || buf == NULL || len < 0)
+      { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
+
+   if (bzf->writing)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
+
+   if (len == 0)
+      { BZ_SETERR(BZ_OK); return 0; };
+
+   bzf->strm.avail_out = len;
+   bzf->strm.next_out = buf;
+
+   while (True) {
+
+      if (ferror(bzf->handle)) 
+         { BZ_SETERR(BZ_IO_ERROR); return 0; };
+
+      if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
+         n = fread ( bzf->buf, sizeof(UChar), 
+                     BZ_MAX_UNUSED, bzf->handle );
+         if (ferror(bzf->handle))
+            { BZ_SETERR(BZ_IO_ERROR); return 0; };
+         bzf->bufN = n;
+         bzf->strm.avail_in = bzf->bufN;
+         bzf->strm.next_in = bzf->buf;
+      }
+
+      ret = BZ2_bzDecompress ( &(bzf->strm) );
+
+      if (ret != BZ_OK && ret != BZ_STREAM_END)
+         { BZ_SETERR(ret); return 0; };
+
+      if (ret == BZ_OK && myfeof(bzf->handle) && 
+          bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
+         { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
+
+      if (ret == BZ_STREAM_END)
+         { BZ_SETERR(BZ_STREAM_END);
+           return len - bzf->strm.avail_out; };
+      if (bzf->strm.avail_out == 0)
+         { BZ_SETERR(BZ_OK); return len; };
+      
+   }
+
+   return 0; /*not reached*/
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzReadGetUnused) 
+                     ( int*    bzerror, 
+                       BZFILE* b, 
+                       void**  unused, 
+                       int*    nUnused )
+{
+   bzFile* bzf = (bzFile*)b;
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+   if (bzf->lastErr != BZ_STREAM_END)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (unused == NULL || nUnused == NULL)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+
+   BZ_SETERR(BZ_OK);
+   *nUnused = bzf->strm.avail_in;
+   *unused = bzf->strm.next_in;
+}
+#endif
+
+
+/*---------------------------------------------------*/
+/*--- Misc convenience stuff                      ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzBuffToBuffCompress) 
+                         ( char*         dest, 
+                           unsigned int* destLen,
+                           char*         source, 
+                           unsigned int  sourceLen,
+                           int           blockSize100k, 
+                           int           verbosity, 
+                           int           workFactor )
+{
+   bz_stream strm;
+   int ret;
+
+   if (dest == NULL || destLen == NULL || 
+       source == NULL ||
+       blockSize100k < 1 || blockSize100k > 9 ||
+       verbosity < 0 || verbosity > 4 ||
+       workFactor < 0 || workFactor > 250) 
+      return BZ_PARAM_ERROR;
+
+   if (workFactor == 0) workFactor = 30;
+   strm.bzalloc = NULL;
+   strm.bzfree = NULL;
+   strm.opaque = NULL;
+   ret = BZ2_bzCompressInit ( &strm, blockSize100k, 
+                              verbosity, workFactor );
+   if (ret != BZ_OK) return ret;
+
+   strm.next_in = source;
+   strm.next_out = dest;
+   strm.avail_in = sourceLen;
+   strm.avail_out = *destLen;
+
+   ret = BZ2_bzCompress ( &strm, BZ_FINISH );
+   if (ret == BZ_FINISH_OK) goto output_overflow;
+   if (ret != BZ_STREAM_END) goto errhandler;
+
+   /* normal termination */
+   *destLen -= strm.avail_out;   
+   BZ2_bzCompressEnd ( &strm );
+   return BZ_OK;
+
+   output_overflow:
+   BZ2_bzCompressEnd ( &strm );
+   return BZ_OUTBUFF_FULL;
+
+   errhandler:
+   BZ2_bzCompressEnd ( &strm );
+   return ret;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzBuffToBuffDecompress) 
+                           ( char*         dest, 
+                             unsigned int* destLen,
+                             char*         source, 
+                             unsigned int  sourceLen,
+                             int           small,
+                             int           verbosity )
+{
+   bz_stream strm;
+   int ret;
+
+   if (dest == NULL || destLen == NULL || 
+       source == NULL ||
+       (small != 0 && small != 1) ||
+       verbosity < 0 || verbosity > 4) 
+          return BZ_PARAM_ERROR;
+
+   strm.bzalloc = NULL;
+   strm.bzfree = NULL;
+   strm.opaque = NULL;
+   ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
+   if (ret != BZ_OK) return ret;
+
+   strm.next_in = source;
+   strm.next_out = dest;
+   strm.avail_in = sourceLen;
+   strm.avail_out = *destLen;
+
+   ret = BZ2_bzDecompress ( &strm );
+   if (ret == BZ_OK) goto output_overflow_or_eof;
+   if (ret != BZ_STREAM_END) goto errhandler;
+
+   /* normal termination */
+   *destLen -= strm.avail_out;
+   BZ2_bzDecompressEnd ( &strm );
+   return BZ_OK;
+
+   output_overflow_or_eof:
+   if (strm.avail_out > 0) {
+      BZ2_bzDecompressEnd ( &strm );
+      return BZ_UNEXPECTED_EOF;
+   } else {
+      BZ2_bzDecompressEnd ( &strm );
+      return BZ_OUTBUFF_FULL;
+   };      
+
+   errhandler:
+   BZ2_bzDecompressEnd ( &strm );
+   return ret; 
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
+   to support better zlib compatibility.
+   This code is not _officially_ part of libbzip2 (yet);
+   I haven't tested it, documented it, or considered the
+   threading-safeness of it.
+   If this code breaks, please contact both Yoshioka and me.
+--*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+/*--
+   return version like "0.9.5d, 4-Sept-1999".
+--*/
+const char * BZ_API(BZ2_bzlibVersion)(void)
+{
+   return BZ_VERSION;
+}
+
+
+#ifndef BZ_NO_STDIO
+/*---------------------------------------------------*/
+
+#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
+#   include 
+#   include 
+#   define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
+#else
+#   define SET_BINARY_MODE(file)
+#endif
+static
+BZFILE * bzopen_or_bzdopen
+               ( const char *path,   /* no use when bzdopen */
+                 int fd,             /* no use when bzdopen */
+                 const char *mode,
+                 int open_mode)      /* bzopen: 0, bzdopen:1 */
+{
+   int    bzerr;
+   char   unused[BZ_MAX_UNUSED];
+   int    blockSize100k = 9;
+   int    writing       = 0;
+   char   mode2[10]     = "";
+   FILE   *fp           = NULL;
+   BZFILE *bzfp         = NULL;
+   int    verbosity     = 0;
+   int    workFactor    = 30;
+   int    smallMode     = 0;
+   int    nUnused       = 0; 
+
+   if (mode == NULL) return NULL;
+   while (*mode) {
+      switch (*mode) {
+      case 'r':
+         writing = 0; break;
+      case 'w':
+         writing = 1; break;
+      case 's':
+         smallMode = 1; break;
+      default:
+         if (isdigit((int)(*mode))) {
+            blockSize100k = *mode-BZ_HDR_0;
+         }
+      }
+      mode++;
+   }
+   strcat(mode2, writing ? "w" : "r" );
+   strcat(mode2,"b");   /* binary mode */
+
+   if (open_mode==0) {
+      if (path==NULL || strcmp(path,"")==0) {
+        fp = (writing ? stdout : stdin);
+        SET_BINARY_MODE(fp);
+      } else {
+        fp = fopen(path,mode2);
+      }
+   } else {
+#ifdef BZ_STRICT_ANSI
+      fp = NULL;
+#else
+      fp = fdopen(fd,mode2);
+#endif
+   }
+   if (fp == NULL) return NULL;
+
+   if (writing) {
+      /* Guard against total chaos and anarchy -- JRS */
+      if (blockSize100k < 1) blockSize100k = 1;
+      if (blockSize100k > 9) blockSize100k = 9; 
+      bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
+                             verbosity,workFactor);
+   } else {
+      bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
+                            unused,nUnused);
+   }
+   if (bzfp == NULL) {
+      if (fp != stdin && fp != stdout) fclose(fp);
+      return NULL;
+   }
+   return bzfp;
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   open file for read or write.
+      ex) bzopen("file","w9")
+      case path="" or NULL => use stdin or stdout.
+--*/
+BZFILE * BZ_API(BZ2_bzopen)
+               ( const char *path,
+                 const char *mode )
+{
+   return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
+}
+
+
+/*---------------------------------------------------*/
+BZFILE * BZ_API(BZ2_bzdopen)
+               ( int fd,
+                 const char *mode )
+{
+   return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
+{
+   int bzerr, nread;
+   if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
+   nread = BZ2_bzRead(&bzerr,b,buf,len);
+   if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
+      return nread;
+   } else {
+      return -1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
+{
+   int bzerr;
+
+   BZ2_bzWrite(&bzerr,b,buf,len);
+   if(bzerr == BZ_OK){
+      return len;
+   }else{
+      return -1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzflush) (BZFILE *b)
+{
+   /* do nothing now... */
+   return 0;
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzclose) (BZFILE* b)
+{
+   int bzerr;
+   FILE *fp;
+   
+   if (b==NULL) {return;}
+   fp = ((bzFile *)b)->handle;
+   if(((bzFile*)b)->writing){
+      BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
+      if(bzerr != BZ_OK){
+         BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
+      }
+   }else{
+      BZ2_bzReadClose(&bzerr,b);
+   }
+   if(fp!=stdin && fp!=stdout){
+      fclose(fp);
+   }
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   return last error code 
+--*/
+static const char *bzerrorstrings[] = {
+       "OK"
+      ,"SEQUENCE_ERROR"
+      ,"PARAM_ERROR"
+      ,"MEM_ERROR"
+      ,"DATA_ERROR"
+      ,"DATA_ERROR_MAGIC"
+      ,"IO_ERROR"
+      ,"UNEXPECTED_EOF"
+      ,"OUTBUFF_FULL"
+      ,"CONFIG_ERROR"
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+};
+
+
+const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
+{
+   int err = ((bzFile *)b)->lastErr;
+
+   if(err>0) err = 0;
+   *errnum = err;
+   return bzerrorstrings[err*-1];
+}
+#endif
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                           bzlib.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bzlib.h b/plugins/Updater/bzip2-1.0.3/bzlib.h
new file mode 100644
index 0000000000..8277123da8
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzlib.h
@@ -0,0 +1,282 @@
+
+/*-------------------------------------------------------------*/
+/*--- Public header file for the library.                   ---*/
+/*---                                               bzlib.h ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#ifndef _BZLIB_H
+#define _BZLIB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define BZ_RUN               0
+#define BZ_FLUSH             1
+#define BZ_FINISH            2
+
+#define BZ_OK                0
+#define BZ_RUN_OK            1
+#define BZ_FLUSH_OK          2
+#define BZ_FINISH_OK         3
+#define BZ_STREAM_END        4
+#define BZ_SEQUENCE_ERROR    (-1)
+#define BZ_PARAM_ERROR       (-2)
+#define BZ_MEM_ERROR         (-3)
+#define BZ_DATA_ERROR        (-4)
+#define BZ_DATA_ERROR_MAGIC  (-5)
+#define BZ_IO_ERROR          (-6)
+#define BZ_UNEXPECTED_EOF    (-7)
+#define BZ_OUTBUFF_FULL      (-8)
+#define BZ_CONFIG_ERROR      (-9)
+
+typedef 
+   struct {
+      char *next_in;
+      unsigned int avail_in;
+      unsigned int total_in_lo32;
+      unsigned int total_in_hi32;
+
+      char *next_out;
+      unsigned int avail_out;
+      unsigned int total_out_lo32;
+      unsigned int total_out_hi32;
+
+      void *state;
+
+      void *(*bzalloc)(void *,int,int);
+      void (*bzfree)(void *,void *);
+      void *opaque;
+   } 
+   bz_stream;
+
+
+#ifndef BZ_IMPORT
+#define BZ_EXPORT
+#endif
+
+#ifndef BZ_NO_STDIO
+/* Need a definitition for FILE */
+#include 
+#endif
+
+#ifdef _WIN32
+#   include 
+#   ifdef small
+      /* windows.h define small to char */
+#      undef small
+#   endif
+#   ifdef BZ_EXPORT
+#   define BZ_API(func) WINAPI func
+#   define BZ_EXTERN extern
+#   else
+   /* import windows dll dynamically */
+#   define BZ_API(func) (WINAPI * func)
+#   define BZ_EXTERN
+#   endif
+#else
+#   define BZ_API(func) func
+#   define BZ_EXTERN extern
+#endif
+
+
+/*-- Core (low-level) library functions --*/
+
+BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
+      bz_stream* strm, 
+      int        blockSize100k, 
+      int        verbosity, 
+      int        workFactor 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
+      bz_stream* strm, 
+      int action 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) ( 
+      bz_stream* strm 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( 
+      bz_stream *strm, 
+      int       verbosity, 
+      int       small
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
+      bz_stream* strm 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) ( 
+      bz_stream *strm 
+   );
+
+
+
+/*-- High(er) level library functions --*/
+
+#ifndef BZ_NO_STDIO
+#define BZ_MAX_UNUSED 5000
+
+typedef void BZFILE;
+
+BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) ( 
+      int*  bzerror,   
+      FILE* f, 
+      int   verbosity, 
+      int   small,
+      void* unused,    
+      int   nUnused 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzReadClose) ( 
+      int*    bzerror, 
+      BZFILE* b 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void**  unused,  
+      int*    nUnused 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzRead) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) ( 
+      int*  bzerror,      
+      FILE* f, 
+      int   blockSize100k, 
+      int   verbosity, 
+      int   workFactor 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWrite) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWriteClose) ( 
+      int*          bzerror, 
+      BZFILE*       b, 
+      int           abandon, 
+      unsigned int* nbytes_in, 
+      unsigned int* nbytes_out 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) ( 
+      int*          bzerror, 
+      BZFILE*       b, 
+      int           abandon, 
+      unsigned int* nbytes_in_lo32, 
+      unsigned int* nbytes_in_hi32, 
+      unsigned int* nbytes_out_lo32, 
+      unsigned int* nbytes_out_hi32
+   );
+#endif
+
+
+/*-- Utility functions --*/
+
+BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) ( 
+      char*         dest, 
+      unsigned int* destLen,
+      char*         source, 
+      unsigned int  sourceLen,
+      int           blockSize100k, 
+      int           verbosity, 
+      int           workFactor 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) ( 
+      char*         dest, 
+      unsigned int* destLen,
+      char*         source, 
+      unsigned int  sourceLen,
+      int           small, 
+      int           verbosity 
+   );
+
+
+/*--
+   Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
+   to support better zlib compatibility.
+   This code is not _officially_ part of libbzip2 (yet);
+   I haven't tested it, documented it, or considered the
+   threading-safeness of it.
+   If this code breaks, please contact both Yoshioka and me.
+--*/
+
+BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
+      void
+   );
+
+#ifndef BZ_NO_STDIO
+BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
+      const char *path,
+      const char *mode
+   );
+
+BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
+      int        fd,
+      const char *mode
+   );
+         
+BZ_EXTERN int BZ_API(BZ2_bzread) (
+      BZFILE* b, 
+      void* buf, 
+      int len 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzwrite) (
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzflush) (
+      BZFILE* b
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzclose) (
+      BZFILE* b
+   );
+
+BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
+      BZFILE *b, 
+      int    *errnum
+   );
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/*-------------------------------------------------------------*/
+/*--- end                                           bzlib.h ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bzlib_private.h b/plugins/Updater/bzip2-1.0.3/bzlib_private.h
new file mode 100644
index 0000000000..5d0217f463
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzlib_private.h
@@ -0,0 +1,509 @@
+
+/*-------------------------------------------------------------*/
+/*--- Private header file for the library.                  ---*/
+/*---                                       bzlib_private.h ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#ifndef _BZLIB_PRIVATE_H
+#define _BZLIB_PRIVATE_H
+
+#include 
+
+#ifndef BZ_NO_STDIO
+#include 
+#include 
+#include 
+#endif
+
+#include "bzlib.h"
+
+
+
+/*-- General stuff. --*/
+
+#define BZ_VERSION  "1.0.6, 6-Sept-2010"
+
+typedef char            Char;
+typedef unsigned char   Bool;
+typedef unsigned char   UChar;
+typedef int             Int32;
+typedef unsigned int    UInt32;
+typedef short           Int16;
+typedef unsigned short  UInt16;
+
+#define True  ((Bool)1)
+#define False ((Bool)0)
+
+#ifndef __GNUC__
+#define __inline__  /* */
+#endif 
+
+#ifndef BZ_NO_STDIO
+
+extern void BZ2_bz__AssertH__fail ( int errcode );
+#define AssertH(cond,errcode) \
+   { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
+
+#if BZ_DEBUG
+#define AssertD(cond,msg) \
+   { if (!(cond)) {       \
+      fprintf ( stderr,   \
+        "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
+      exit(1); \
+   }}
+#else
+#define AssertD(cond,msg) /* */
+#endif
+
+#define VPrintf0(zf) \
+   fprintf(stderr,zf)
+#define VPrintf1(zf,za1) \
+   fprintf(stderr,zf,za1)
+#define VPrintf2(zf,za1,za2) \
+   fprintf(stderr,zf,za1,za2)
+#define VPrintf3(zf,za1,za2,za3) \
+   fprintf(stderr,zf,za1,za2,za3)
+#define VPrintf4(zf,za1,za2,za3,za4) \
+   fprintf(stderr,zf,za1,za2,za3,za4)
+#define VPrintf5(zf,za1,za2,za3,za4,za5) \
+   fprintf(stderr,zf,za1,za2,za3,za4,za5)
+
+#else
+
+extern void bz_internal_error ( int errcode );
+#define AssertH(cond,errcode) \
+   { if (!(cond)) bz_internal_error ( errcode ); }
+#define AssertD(cond,msg)                do { } while (0)
+#define VPrintf0(zf)                     do { } while (0)
+#define VPrintf1(zf,za1)                 do { } while (0)
+#define VPrintf2(zf,za1,za2)             do { } while (0)
+#define VPrintf3(zf,za1,za2,za3)         do { } while (0)
+#define VPrintf4(zf,za1,za2,za3,za4)     do { } while (0)
+#define VPrintf5(zf,za1,za2,za3,za4,za5) do { } while (0)
+
+#endif
+
+
+#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
+#define BZFREE(ppp)  (strm->bzfree)(strm->opaque,(ppp))
+
+
+/*-- Header bytes. --*/
+
+#define BZ_HDR_B 0x42   /* 'B' */
+#define BZ_HDR_Z 0x5a   /* 'Z' */
+#define BZ_HDR_h 0x68   /* 'h' */
+#define BZ_HDR_0 0x30   /* '0' */
+  
+/*-- Constants for the back end. --*/
+
+#define BZ_MAX_ALPHA_SIZE 258
+#define BZ_MAX_CODE_LEN    23
+
+#define BZ_RUNA 0
+#define BZ_RUNB 1
+
+#define BZ_N_GROUPS 6
+#define BZ_G_SIZE   50
+#define BZ_N_ITERS  4
+
+#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
+
+
+
+/*-- Stuff for randomising repetitive blocks. --*/
+
+extern Int32 BZ2_rNums[512];
+
+#define BZ_RAND_DECLS                          \
+   Int32 rNToGo;                               \
+   Int32 rTPos                                 \
+
+#define BZ_RAND_INIT_MASK                      \
+   s->rNToGo = 0;                              \
+   s->rTPos  = 0                               \
+
+#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
+
+#define BZ_RAND_UPD_MASK                       \
+   if (s->rNToGo == 0) {                       \
+      s->rNToGo = BZ2_rNums[s->rTPos];         \
+      s->rTPos++;                              \
+      if (s->rTPos == 512) s->rTPos = 0;       \
+   }                                           \
+   s->rNToGo--;
+
+
+
+/*-- Stuff for doing CRCs. --*/
+
+extern UInt32 BZ2_crc32Table[256];
+
+#define BZ_INITIALISE_CRC(crcVar)              \
+{                                              \
+   crcVar = 0xffffffffL;                       \
+}
+
+#define BZ_FINALISE_CRC(crcVar)                \
+{                                              \
+   crcVar = ~(crcVar);                         \
+}
+
+#define BZ_UPDATE_CRC(crcVar,cha)              \
+{                                              \
+   crcVar = (crcVar << 8) ^                    \
+            BZ2_crc32Table[(crcVar >> 24) ^    \
+                           ((UChar)cha)];      \
+}
+
+
+
+/*-- States and modes for compression. --*/
+
+#define BZ_M_IDLE      1
+#define BZ_M_RUNNING   2
+#define BZ_M_FLUSHING  3
+#define BZ_M_FINISHING 4
+
+#define BZ_S_OUTPUT    1
+#define BZ_S_INPUT     2
+
+#define BZ_N_RADIX 2
+#define BZ_N_QSORT 12
+#define BZ_N_SHELL 18
+#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
+
+
+
+
+/*-- Structure holding all the compression-side stuff. --*/
+
+typedef
+   struct {
+      /* pointer back to the struct bz_stream */
+      bz_stream* strm;
+
+      /* mode this stream is in, and whether inputting */
+      /* or outputting data */
+      Int32    mode;
+      Int32    state;
+
+      /* remembers avail_in when flush/finish requested */
+      UInt32   avail_in_expect;
+
+      /* for doing the block sorting */
+      UInt32*  arr1;
+      UInt32*  arr2;
+      UInt32*  ftab;
+      Int32    origPtr;
+
+      /* aliases for arr1 and arr2 */
+      UInt32*  ptr;
+      UChar*   block;
+      UInt16*  mtfv;
+      UChar*   zbits;
+
+      /* for deciding when to use the fallback sorting algorithm */
+      Int32    workFactor;
+
+      /* run-length-encoding of the input */
+      UInt32   state_in_ch;
+      Int32    state_in_len;
+      BZ_RAND_DECLS;
+
+      /* input and output limits and current posns */
+      Int32    nblock;
+      Int32    nblockMAX;
+      Int32    numZ;
+      Int32    state_out_pos;
+
+      /* map of bytes used in block */
+      Int32    nInUse;
+      Bool     inUse[256];
+      UChar    unseqToSeq[256];
+
+      /* the buffer for bit stream creation */
+      UInt32   bsBuff;
+      Int32    bsLive;
+
+      /* block and combined CRCs */
+      UInt32   blockCRC;
+      UInt32   combinedCRC;
+
+      /* misc administratium */
+      Int32    verbosity;
+      Int32    blockNo;
+      Int32    blockSize100k;
+
+      /* stuff for coding the MTF values */
+      Int32    nMTF;
+      Int32    mtfFreq    [BZ_MAX_ALPHA_SIZE];
+      UChar    selector   [BZ_MAX_SELECTORS];
+      UChar    selectorMtf[BZ_MAX_SELECTORS];
+
+      UChar    len     [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    code    [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    rfreq   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      /* second dimension: only 3 needed; 4 makes index calculations faster */
+      UInt32   len_pack[BZ_MAX_ALPHA_SIZE][4];
+
+   }
+   EState;
+
+
+
+/*-- externs for compression. --*/
+
+extern void 
+BZ2_blockSort ( EState* );
+
+extern void 
+BZ2_compressBlock ( EState*, Bool );
+
+extern void 
+BZ2_bsInitWrite ( EState* );
+
+extern void 
+BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
+
+extern void 
+BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
+
+
+
+/*-- states for decompression. --*/
+
+#define BZ_X_IDLE        1
+#define BZ_X_OUTPUT      2
+
+#define BZ_X_MAGIC_1     10
+#define BZ_X_MAGIC_2     11
+#define BZ_X_MAGIC_3     12
+#define BZ_X_MAGIC_4     13
+#define BZ_X_BLKHDR_1    14
+#define BZ_X_BLKHDR_2    15
+#define BZ_X_BLKHDR_3    16
+#define BZ_X_BLKHDR_4    17
+#define BZ_X_BLKHDR_5    18
+#define BZ_X_BLKHDR_6    19
+#define BZ_X_BCRC_1      20
+#define BZ_X_BCRC_2      21
+#define BZ_X_BCRC_3      22
+#define BZ_X_BCRC_4      23
+#define BZ_X_RANDBIT     24
+#define BZ_X_ORIGPTR_1   25
+#define BZ_X_ORIGPTR_2   26
+#define BZ_X_ORIGPTR_3   27
+#define BZ_X_MAPPING_1   28
+#define BZ_X_MAPPING_2   29
+#define BZ_X_SELECTOR_1  30
+#define BZ_X_SELECTOR_2  31
+#define BZ_X_SELECTOR_3  32
+#define BZ_X_CODING_1    33
+#define BZ_X_CODING_2    34
+#define BZ_X_CODING_3    35
+#define BZ_X_MTF_1       36
+#define BZ_X_MTF_2       37
+#define BZ_X_MTF_3       38
+#define BZ_X_MTF_4       39
+#define BZ_X_MTF_5       40
+#define BZ_X_MTF_6       41
+#define BZ_X_ENDHDR_2    42
+#define BZ_X_ENDHDR_3    43
+#define BZ_X_ENDHDR_4    44
+#define BZ_X_ENDHDR_5    45
+#define BZ_X_ENDHDR_6    46
+#define BZ_X_CCRC_1      47
+#define BZ_X_CCRC_2      48
+#define BZ_X_CCRC_3      49
+#define BZ_X_CCRC_4      50
+
+
+
+/*-- Constants for the fast MTF decoder. --*/
+
+#define MTFA_SIZE 4096
+#define MTFL_SIZE 16
+
+
+
+/*-- Structure holding all the decompression-side stuff. --*/
+
+typedef
+   struct {
+      /* pointer back to the struct bz_stream */
+      bz_stream* strm;
+
+      /* state indicator for this stream */
+      Int32    state;
+
+      /* for doing the final run-length decoding */
+      UChar    state_out_ch;
+      Int32    state_out_len;
+      Bool     blockRandomised;
+      BZ_RAND_DECLS;
+
+      /* the buffer for bit stream reading */
+      UInt32   bsBuff;
+      Int32    bsLive;
+
+      /* misc administratium */
+      Int32    blockSize100k;
+      Bool     smallDecompress;
+      Int32    currBlockNo;
+      Int32    verbosity;
+
+      /* for undoing the Burrows-Wheeler transform */
+      Int32    origPtr;
+      UInt32   tPos;
+      Int32    k0;
+      Int32    unzftab[256];
+      Int32    nblock_used;
+      Int32    cftab[257];
+      Int32    cftabCopy[257];
+
+      /* for undoing the Burrows-Wheeler transform (FAST) */
+      UInt32   *tt;
+
+      /* for undoing the Burrows-Wheeler transform (SMALL) */
+      UInt16   *ll16;
+      UChar    *ll4;
+
+      /* stored and calculated CRCs */
+      UInt32   storedBlockCRC;
+      UInt32   storedCombinedCRC;
+      UInt32   calculatedBlockCRC;
+      UInt32   calculatedCombinedCRC;
+
+      /* map of bytes used in block */
+      Int32    nInUse;
+      Bool     inUse[256];
+      Bool     inUse16[16];
+      UChar    seqToUnseq[256];
+
+      /* for decoding the MTF values */
+      UChar    mtfa   [MTFA_SIZE];
+      Int32    mtfbase[256 / MTFL_SIZE];
+      UChar    selector   [BZ_MAX_SELECTORS];
+      UChar    selectorMtf[BZ_MAX_SELECTORS];
+      UChar    len  [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+
+      Int32    limit  [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    base   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    perm   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    minLens[BZ_N_GROUPS];
+
+      /* save area for scalars in the main decompress code */
+      Int32    save_i;
+      Int32    save_j;
+      Int32    save_t;
+      Int32    save_alphaSize;
+      Int32    save_nGroups;
+      Int32    save_nSelectors;
+      Int32    save_EOB;
+      Int32    save_groupNo;
+      Int32    save_groupPos;
+      Int32    save_nextSym;
+      Int32    save_nblockMAX;
+      Int32    save_nblock;
+      Int32    save_es;
+      Int32    save_N;
+      Int32    save_curr;
+      Int32    save_zt;
+      Int32    save_zn; 
+      Int32    save_zvec;
+      Int32    save_zj;
+      Int32    save_gSel;
+      Int32    save_gMinlen;
+      Int32*   save_gLimit;
+      Int32*   save_gBase;
+      Int32*   save_gPerm;
+
+   }
+   DState;
+
+
+
+/*-- Macros for decompression. --*/
+
+#define BZ_GET_FAST(cccc)                     \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
+    s->tPos = s->tt[s->tPos];                 \
+    cccc = (UChar)(s->tPos & 0xff);           \
+    s->tPos >>= 8;
+
+#define BZ_GET_FAST_C(cccc)                   \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
+    c_tPos = c_tt[c_tPos];                    \
+    cccc = (UChar)(c_tPos & 0xff);            \
+    c_tPos >>= 8;
+
+#define SET_LL4(i,n)                                          \
+   { if (((i) & 0x1) == 0)                                    \
+        s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else    \
+        s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4);  \
+   }
+
+#define GET_LL4(i)                             \
+   ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
+
+#define SET_LL(i,n)                          \
+   { s->ll16[i] = (UInt16)(n & 0x0000ffff);  \
+     SET_LL4(i, n >> 16);                    \
+   }
+
+#define GET_LL(i) \
+   (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
+
+#define BZ_GET_SMALL(cccc)                            \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
+    cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
+    s->tPos = GET_LL(s->tPos);
+
+
+/*-- externs for decompression. --*/
+
+extern Int32 
+BZ2_indexIntoF ( Int32, Int32* );
+
+extern Int32 
+BZ2_decompress ( DState* );
+
+extern void 
+BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
+                           Int32,  Int32, Int32 );
+
+
+#endif
+
+
+/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
+
+#ifdef BZ_NO_STDIO
+#ifndef NULL
+#define NULL 0
+#endif
+#endif
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                   bzlib_private.h ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/bzmore b/plugins/Updater/bzip2-1.0.3/bzmore
new file mode 100644
index 0000000000..d314043404
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzmore
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Bzmore wrapped for bzip2, 
+# adapted from zmore by Philippe Troin  for Debian GNU/Linux.
+
+PATH="/usr/bin:$PATH"; export PATH
+
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+	*less)	more=less	;;
+	*)	more=more       ;;
+esac
+
+if test "`echo -n a`" = "-n a"; then
+  # looks like a SysV system:
+  n1=''; n2='\c'
+else
+  n1='-n'; n2=''
+fi
+oldtty=`stty -g 2>/dev/null`
+if stty -cbreak 2>/dev/null; then
+  cb='cbreak'; ncb='-cbreak'
+else
+  # 'stty min 1' resets eof to ^a on both SunOS and SysV!
+  cb='min 1 -icanon'; ncb='icanon eof ^d'
+fi
+if test $? -eq 0 -a -n "$oldtty"; then
+   trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
+else
+   trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
+fi
+
+if test $# = 0; then
+    if test -t 0; then
+	echo usage: $prog files...
+    else
+	bzip2 -cdfq | eval $more
+    fi
+else
+    FIRST=1
+    for FILE
+    do
+	if test $FIRST -eq 0; then
+		echo $n1 "--More--(Next file: $FILE)$n2"
+		stty $cb -echo 2>/dev/null
+		ANS=`dd bs=1 count=1 2>/dev/null` 
+		stty $ncb echo 2>/dev/null
+		echo " "
+		if test "$ANS" = 'e' -o "$ANS" = 'q'; then
+			exit
+		fi
+	fi
+	if test "$ANS" != 's'; then
+		echo "------> $FILE <------"
+		bzip2 -cdfq "$FILE" | eval $more
+	fi
+	if test -t; then
+		FIRST=0
+	fi
+    done
+fi
diff --git a/plugins/Updater/bzip2-1.0.3/bzmore.1 b/plugins/Updater/bzip2-1.0.3/bzmore.1
new file mode 100644
index 0000000000..b437d3b031
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/bzmore.1
@@ -0,0 +1,152 @@
+.\"Shamelessly copied from zmore.1 by Philippe Troin 
+.\"for Debian GNU/Linux
+.TH BZMORE 1
+.SH NAME
+bzmore, bzless \- file perusal filter for crt viewing of bzip2 compressed text
+.SH SYNOPSIS
+.B bzmore
+[ name ...  ]
+.br
+.B bzless
+[ name ...  ]
+.SH NOTE
+In the following description,
+.I bzless
+and
+.I less
+can be used interchangeably with
+.I bzmore
+and
+.I more.
+.SH DESCRIPTION
+.I  Bzmore
+is a filter which allows examination of compressed or plain text files
+one screenful at a time on a soft-copy terminal.
+.I bzmore
+works on files compressed with
+.I bzip2
+and also on uncompressed files.
+If a file does not exist,
+.I bzmore
+looks for a file of the same name with the addition of a .bz2 suffix.
+.PP
+.I Bzmore
+normally pauses after each screenful, printing --More--
+at the bottom of the screen.
+If the user then types a carriage return, one more line is displayed.
+If the user hits a space,
+another screenful is displayed.  Other possibilities are enumerated later.
+.PP
+.I Bzmore
+looks in the file
+.I /etc/termcap
+to determine terminal characteristics,
+and to determine the default window size.
+On a terminal capable of displaying 24 lines,
+the default window size is 22 lines.
+Other sequences which may be typed when
+.I bzmore
+pauses, and their effects, are as follows (\fIi\fP is an optional integer
+argument, defaulting to 1) :
+.PP
+.IP \fIi\|\fP
+display
+.I i
+more lines, (or another screenful if no argument is given)
+.PP
+.IP ^D
+display 11 more lines (a ``scroll'').
+If
+.I i
+is given, then the scroll size is set to \fIi\|\fP.
+.PP
+.IP d
+same as ^D (control-D)
+.PP
+.IP \fIi\|\fPz
+same as typing a space except that \fIi\|\fP, if present, becomes the new
+window size.  Note that the window size reverts back to the default at the
+end of the current file.
+.PP
+.IP \fIi\|\fPs
+skip \fIi\|\fP lines and print a screenful of lines
+.PP
+.IP \fIi\|\fPf
+skip \fIi\fP screenfuls and print a screenful of lines
+.PP
+.IP "q or Q"
+quit reading the current file; go on to the next (if any)
+.PP
+.IP "e or q"
+When the prompt --More--(Next file: 
+.IR file )
+is printed, this command causes bzmore to exit.
+.PP
+.IP s
+When the prompt --More--(Next file: 
+.IR file )
+is printed, this command causes bzmore to skip the next file and continue.
+.PP 
+.IP =
+Display the current line number.
+.PP
+.IP \fIi\|\fP/expr
+search for the \fIi\|\fP-th occurrence of the regular expression \fIexpr.\fP
+If the pattern is not found,
+.I bzmore
+goes on to the next file (if any).
+Otherwise, a screenful is displayed, starting two lines before the place
+where the expression was found.
+The user's erase and kill characters may be used to edit the regular
+expression.
+Erasing back past the first column cancels the search command.
+.PP
+.IP \fIi\|\fPn
+search for the \fIi\|\fP-th occurrence of the last regular expression entered.
+.PP
+.IP !command
+invoke a shell with \fIcommand\|\fP. 
+The character `!' in "command" are replaced with the
+previous shell command.  The sequence "\\!" is replaced by "!".
+.PP
+.IP ":q or :Q"
+quit reading the current file; go on to the next (if any)
+(same as q or Q).
+.PP
+.IP .
+(dot) repeat the previous command.
+.PP
+The commands take effect immediately, i.e., it is not necessary to
+type a carriage return.
+Up to the time when the command character itself is given,
+the user may hit the line kill character to cancel the numerical
+argument being formed.
+In addition, the user may hit the erase character to redisplay the
+--More-- message.
+.PP
+At any time when output is being sent to the terminal, the user can
+hit the quit key (normally control\-\\).
+.I Bzmore
+will stop sending output, and will display the usual --More--
+prompt.
+The user may then enter one of the above commands in the normal manner.
+Unfortunately, some output is lost when this is done, due to the
+fact that any characters waiting in the terminal's output queue
+are flushed when the quit signal occurs.
+.PP
+The terminal is set to
+.I noecho
+mode by this program so that the output can be continuous.
+What you type will thus not show on your terminal, except for the / and !
+commands.
+.PP
+If the standard output is not a teletype, then
+.I bzmore
+acts just like
+.I bzcat,
+except that a header is printed before each file.
+.SH FILES
+.DT
+/etc/termcap		Terminal data base
+.SH "SEE ALSO"
+more(1), less(1), bzip2(1), bzdiff(1), bzgrep(1)
diff --git a/plugins/Updater/bzip2-1.0.3/compress.c b/plugins/Updater/bzip2-1.0.3/compress.c
new file mode 100644
index 0000000000..caf7696011
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/compress.c
@@ -0,0 +1,672 @@
+
+/*-------------------------------------------------------------*/
+/*--- Compression machinery (not incl block sorting)        ---*/
+/*---                                            compress.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+/* CHANGES
+    0.9.0    -- original version.
+    0.9.0a/b -- no changes in this file.
+    0.9.0c   -- changed setting of nGroups in sendMTFValues() 
+                so as to do a bit better on small files
+*/
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+/*--- Bit stream I/O                              ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+void BZ2_bsInitWrite ( EState* s )
+{
+   s->bsLive = 0;
+   s->bsBuff = 0;
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsFinishWrite ( EState* s )
+{
+   while (s->bsLive > 0) {
+      s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
+      s->numZ++;
+      s->bsBuff <<= 8;
+      s->bsLive -= 8;
+   }
+}
+
+
+/*---------------------------------------------------*/
+#define bsNEEDW(nz)                           \
+{                                             \
+   while (s->bsLive >= 8) {                   \
+      s->zbits[s->numZ]                       \
+         = (UChar)(s->bsBuff >> 24);          \
+      s->numZ++;                              \
+      s->bsBuff <<= 8;                        \
+      s->bsLive -= 8;                         \
+   }                                          \
+}
+
+
+/*---------------------------------------------------*/
+static
+__inline__
+void bsW ( EState* s, Int32 n, UInt32 v )
+{
+   bsNEEDW ( n );
+   s->bsBuff |= (v << (32 - s->bsLive - n));
+   s->bsLive += n;
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsPutUInt32 ( EState* s, UInt32 u )
+{
+   bsW ( s, 8, (u >> 24) & 0xffL );
+   bsW ( s, 8, (u >> 16) & 0xffL );
+   bsW ( s, 8, (u >>  8) & 0xffL );
+   bsW ( s, 8,  u        & 0xffL );
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsPutUChar ( EState* s, UChar c )
+{
+   bsW( s, 8, (UInt32)c );
+}
+
+
+/*---------------------------------------------------*/
+/*--- The back end proper                         ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+static
+void makeMaps_e ( EState* s )
+{
+   Int32 i;
+   s->nInUse = 0;
+   for (i = 0; i < 256; i++)
+      if (s->inUse[i]) {
+         s->unseqToSeq[i] = s->nInUse;
+         s->nInUse++;
+      }
+}
+
+
+/*---------------------------------------------------*/
+static
+void generateMTFValues ( EState* s )
+{
+   UChar   yy[256];
+   Int32   i, j;
+   Int32   zPend;
+   Int32   wr;
+   Int32   EOB;
+
+   /* 
+      After sorting (eg, here),
+         s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
+         and
+         ((UChar*)s->arr2) [ 0 .. s->nblock-1 ] 
+         holds the original block data.
+
+      The first thing to do is generate the MTF values,
+      and put them in
+         ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
+      Because there are strictly fewer or equal MTF values
+      than block values, ptr values in this area are overwritten
+      with MTF values only when they are no longer needed.
+
+      The final compressed bitstream is generated into the
+      area starting at
+         (UChar*) (&((UChar*)s->arr2)[s->nblock])
+
+      These storage aliases are set up in bzCompressInit(),
+      except for the last one, which is arranged in 
+      compressBlock().
+   */
+   UInt32* ptr   = s->ptr;
+   UChar* block  = s->block;
+   UInt16* mtfv  = s->mtfv;
+
+   makeMaps_e ( s );
+   EOB = s->nInUse+1;
+
+   for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
+
+   wr = 0;
+   zPend = 0;
+   for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
+
+   for (i = 0; i < s->nblock; i++) {
+      UChar ll_i;
+      AssertD ( wr <= i, "generateMTFValues(1)" );
+      j = ptr[i]-1; if (j < 0) j += s->nblock;
+      ll_i = s->unseqToSeq[block[j]];
+      AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
+
+      if (yy[0] == ll_i) { 
+         zPend++;
+      } else {
+
+         if (zPend > 0) {
+            zPend--;
+            while (True) {
+               if (zPend & 1) {
+                  mtfv[wr] = BZ_RUNB; wr++; 
+                  s->mtfFreq[BZ_RUNB]++; 
+               } else {
+                  mtfv[wr] = BZ_RUNA; wr++; 
+                  s->mtfFreq[BZ_RUNA]++; 
+               }
+               if (zPend < 2) break;
+               zPend = (zPend - 2) / 2;
+            };
+            zPend = 0;
+         }
+         {
+            register UChar  rtmp;
+            register UChar* ryy_j;
+            register UChar  rll_i;
+            rtmp  = yy[1];
+            yy[1] = yy[0];
+            ryy_j = &(yy[1]);
+            rll_i = ll_i;
+            while ( rll_i != rtmp ) {
+               register UChar rtmp2;
+               ryy_j++;
+               rtmp2  = rtmp;
+               rtmp   = *ryy_j;
+               *ryy_j = rtmp2;
+            };
+            yy[0] = rtmp;
+            j = ryy_j - &(yy[0]);
+            mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
+         }
+
+      }
+   }
+
+   if (zPend > 0) {
+      zPend--;
+      while (True) {
+         if (zPend & 1) {
+            mtfv[wr] = BZ_RUNB; wr++; 
+            s->mtfFreq[BZ_RUNB]++; 
+         } else {
+            mtfv[wr] = BZ_RUNA; wr++; 
+            s->mtfFreq[BZ_RUNA]++; 
+         }
+         if (zPend < 2) break;
+         zPend = (zPend - 2) / 2;
+      };
+      zPend = 0;
+   }
+
+   mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
+
+   s->nMTF = wr;
+}
+
+
+/*---------------------------------------------------*/
+#define BZ_LESSER_ICOST  0
+#define BZ_GREATER_ICOST 15
+
+static
+void sendMTFValues ( EState* s )
+{
+   Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
+   Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
+   Int32 nGroups, nBytes;
+
+   /*--
+   UChar  len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   is a global since the decoder also needs it.
+
+   Int32  code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   Int32  rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   are also globals only used in this proc.
+   Made global to keep stack frame size small.
+   --*/
+
+
+   UInt16 cost[BZ_N_GROUPS];
+   Int32  fave[BZ_N_GROUPS];
+
+   UInt16* mtfv = s->mtfv;
+
+   if (s->verbosity >= 3)
+      VPrintf3( "      %d in block, %d after MTF & 1-2 coding, "
+                "%d+2 syms in use\n", 
+                s->nblock, s->nMTF, s->nInUse );
+
+   alphaSize = s->nInUse+2;
+   for (t = 0; t < BZ_N_GROUPS; t++)
+      for (v = 0; v < alphaSize; v++)
+         s->len[t][v] = BZ_GREATER_ICOST;
+
+   /*--- Decide how many coding tables to use ---*/
+   AssertH ( s->nMTF > 0, 3001 );
+   if (s->nMTF < 200)  nGroups = 2; else
+   if (s->nMTF < 600)  nGroups = 3; else
+   if (s->nMTF < 1200) nGroups = 4; else
+   if (s->nMTF < 2400) nGroups = 5; else
+                       nGroups = 6;
+
+   /*--- Generate an initial set of coding tables ---*/
+   { 
+      Int32 nPart, remF, tFreq, aFreq;
+
+      nPart = nGroups;
+      remF  = s->nMTF;
+      gs = 0;
+      while (nPart > 0) {
+         tFreq = remF / nPart;
+         ge = gs-1;
+         aFreq = 0;
+         while (aFreq < tFreq && ge < alphaSize-1) {
+            ge++;
+            aFreq += s->mtfFreq[ge];
+         }
+
+         if (ge > gs 
+             && nPart != nGroups && nPart != 1 
+             && ((nGroups-nPart) % 2 == 1)) {
+            aFreq -= s->mtfFreq[ge];
+            ge--;
+         }
+
+         if (s->verbosity >= 3)
+            VPrintf5( "      initial group %d, [%d .. %d], "
+                      "has %d syms (%4.1f%%)\n",
+                      nPart, gs, ge, aFreq, 
+                      (100.0 * (float)aFreq) / (float)(s->nMTF) );
+ 
+         for (v = 0; v < alphaSize; v++)
+            if (v >= gs && v <= ge) 
+               s->len[nPart-1][v] = BZ_LESSER_ICOST; else
+               s->len[nPart-1][v] = BZ_GREATER_ICOST;
+ 
+         nPart--;
+         gs = ge+1;
+         remF -= aFreq;
+      }
+   }
+
+   /*--- 
+      Iterate up to BZ_N_ITERS times to improve the tables.
+   ---*/
+   for (iter = 0; iter < BZ_N_ITERS; iter++) {
+
+      for (t = 0; t < nGroups; t++) fave[t] = 0;
+
+      for (t = 0; t < nGroups; t++)
+         for (v = 0; v < alphaSize; v++)
+            s->rfreq[t][v] = 0;
+
+      /*---
+        Set up an auxiliary length table which is used to fast-track
+	the common case (nGroups == 6). 
+      ---*/
+      if (nGroups == 6) {
+         for (v = 0; v < alphaSize; v++) {
+            s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
+            s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
+            s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
+	 }
+      }
+
+      nSelectors = 0;
+      totc = 0;
+      gs = 0;
+      while (True) {
+
+         /*--- Set group start & end marks. --*/
+         if (gs >= s->nMTF) break;
+         ge = gs + BZ_G_SIZE - 1; 
+         if (ge >= s->nMTF) ge = s->nMTF-1;
+
+         /*-- 
+            Calculate the cost of this group as coded
+            by each of the coding tables.
+         --*/
+         for (t = 0; t < nGroups; t++) cost[t] = 0;
+
+         if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+            register UInt32 cost01, cost23, cost45;
+            register UInt16 icv;
+            cost01 = cost23 = cost45 = 0;
+
+#           define BZ_ITER(nn)                \
+               icv = mtfv[gs+(nn)];           \
+               cost01 += s->len_pack[icv][0]; \
+               cost23 += s->len_pack[icv][1]; \
+               cost45 += s->len_pack[icv][2]; \
+
+            BZ_ITER(0);  BZ_ITER(1);  BZ_ITER(2);  BZ_ITER(3);  BZ_ITER(4);
+            BZ_ITER(5);  BZ_ITER(6);  BZ_ITER(7);  BZ_ITER(8);  BZ_ITER(9);
+            BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
+            BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
+            BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
+            BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
+            BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
+            BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
+            BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
+            BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
+
+#           undef BZ_ITER
+
+            cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
+            cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
+            cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
+
+         } else {
+	    /*--- slow version which correctly handles all situations ---*/
+            for (i = gs; i <= ge; i++) { 
+               UInt16 icv = mtfv[i];
+               for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
+            }
+         }
+ 
+         /*-- 
+            Find the coding table which is best for this group,
+            and record its identity in the selector table.
+         --*/
+         bc = 999999999; bt = -1;
+         for (t = 0; t < nGroups; t++)
+            if (cost[t] < bc) { bc = cost[t]; bt = t; };
+         totc += bc;
+         fave[bt]++;
+         s->selector[nSelectors] = bt;
+         nSelectors++;
+
+         /*-- 
+            Increment the symbol frequencies for the selected table.
+          --*/
+         if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+
+#           define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
+
+            BZ_ITUR(0);  BZ_ITUR(1);  BZ_ITUR(2);  BZ_ITUR(3);  BZ_ITUR(4);
+            BZ_ITUR(5);  BZ_ITUR(6);  BZ_ITUR(7);  BZ_ITUR(8);  BZ_ITUR(9);
+            BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
+            BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
+            BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
+            BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
+            BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
+            BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
+            BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
+            BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
+
+#           undef BZ_ITUR
+
+         } else {
+	    /*--- slow version which correctly handles all situations ---*/
+            for (i = gs; i <= ge; i++)
+               s->rfreq[bt][ mtfv[i] ]++;
+         }
+
+         gs = ge+1;
+      }
+      if (s->verbosity >= 3) {
+         VPrintf2 ( "      pass %d: size is %d, grp uses are ", 
+                   iter+1, totc/8 );
+         for (t = 0; t < nGroups; t++)
+            VPrintf1 ( "%d ", fave[t] );
+         VPrintf0 ( "\n" );
+      }
+
+      /*--
+        Recompute the tables based on the accumulated frequencies.
+      --*/
+      /* maxLen was changed from 20 to 17 in bzip2-1.0.3.  See 
+         comment in huffman.c for details. */
+      for (t = 0; t < nGroups; t++)
+         BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]), 
+                                 alphaSize, 17 /*20*/ );
+   }
+
+
+   AssertH( nGroups < 8, 3002 );
+   AssertH( nSelectors < 32768 &&
+            nSelectors <= (2 + (900000 / BZ_G_SIZE)),
+            3003 );
+
+
+   /*--- Compute MTF values for the selectors. ---*/
+   {
+      UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
+      for (i = 0; i < nGroups; i++) pos[i] = i;
+      for (i = 0; i < nSelectors; i++) {
+         ll_i = s->selector[i];
+         j = 0;
+         tmp = pos[j];
+         while ( ll_i != tmp ) {
+            j++;
+            tmp2 = tmp;
+            tmp = pos[j];
+            pos[j] = tmp2;
+         };
+         pos[0] = tmp;
+         s->selectorMtf[i] = j;
+      }
+   };
+
+   /*--- Assign actual codes for the tables. --*/
+   for (t = 0; t < nGroups; t++) {
+      minLen = 32;
+      maxLen = 0;
+      for (i = 0; i < alphaSize; i++) {
+         if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
+         if (s->len[t][i] < minLen) minLen = s->len[t][i];
+      }
+      AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
+      AssertH ( !(minLen < 1),  3005 );
+      BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]), 
+                          minLen, maxLen, alphaSize );
+   }
+
+   /*--- Transmit the mapping table. ---*/
+   { 
+      Bool inUse16[16];
+      for (i = 0; i < 16; i++) {
+          inUse16[i] = False;
+          for (j = 0; j < 16; j++)
+             if (s->inUse[i * 16 + j]) inUse16[i] = True;
+      }
+     
+      nBytes = s->numZ;
+      for (i = 0; i < 16; i++)
+         if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
+
+      for (i = 0; i < 16; i++)
+         if (inUse16[i])
+            for (j = 0; j < 16; j++) {
+               if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
+            }
+
+      if (s->verbosity >= 3) 
+         VPrintf1( "      bytes: mapping %d, ", s->numZ-nBytes );
+   }
+
+   /*--- Now the selectors. ---*/
+   nBytes = s->numZ;
+   bsW ( s, 3, nGroups );
+   bsW ( s, 15, nSelectors );
+   for (i = 0; i < nSelectors; i++) { 
+      for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
+      bsW(s,1,0);
+   }
+   if (s->verbosity >= 3)
+      VPrintf1( "selectors %d, ", s->numZ-nBytes );
+
+   /*--- Now the coding tables. ---*/
+   nBytes = s->numZ;
+
+   for (t = 0; t < nGroups; t++) {
+      Int32 curr = s->len[t][0];
+      bsW ( s, 5, curr );
+      for (i = 0; i < alphaSize; i++) {
+         while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
+         while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
+         bsW ( s, 1, 0 );
+      }
+   }
+
+   if (s->verbosity >= 3)
+      VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
+
+   /*--- And finally, the block data proper ---*/
+   nBytes = s->numZ;
+   selCtr = 0;
+   gs = 0;
+   while (True) {
+      if (gs >= s->nMTF) break;
+      ge = gs + BZ_G_SIZE - 1; 
+      if (ge >= s->nMTF) ge = s->nMTF-1;
+      AssertH ( s->selector[selCtr] < nGroups, 3006 );
+
+      if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+            UInt16 mtfv_i;
+            UChar* s_len_sel_selCtr 
+               = &(s->len[s->selector[selCtr]][0]);
+            Int32* s_code_sel_selCtr
+               = &(s->code[s->selector[selCtr]][0]);
+
+#           define BZ_ITAH(nn)                      \
+               mtfv_i = mtfv[gs+(nn)];              \
+               bsW ( s,                             \
+                     s_len_sel_selCtr[mtfv_i],      \
+                     s_code_sel_selCtr[mtfv_i] )
+
+            BZ_ITAH(0);  BZ_ITAH(1);  BZ_ITAH(2);  BZ_ITAH(3);  BZ_ITAH(4);
+            BZ_ITAH(5);  BZ_ITAH(6);  BZ_ITAH(7);  BZ_ITAH(8);  BZ_ITAH(9);
+            BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
+            BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
+            BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
+            BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
+            BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
+            BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
+            BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
+            BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
+
+#           undef BZ_ITAH
+
+      } else {
+	 /*--- slow version which correctly handles all situations ---*/
+         for (i = gs; i <= ge; i++) {
+            bsW ( s, 
+                  s->len  [s->selector[selCtr]] [mtfv[i]],
+                  s->code [s->selector[selCtr]] [mtfv[i]] );
+         }
+      }
+
+
+      gs = ge+1;
+      selCtr++;
+   }
+   AssertH( selCtr == nSelectors, 3007 );
+
+   if (s->verbosity >= 3)
+      VPrintf1( "codes %d\n", s->numZ-nBytes );
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_compressBlock ( EState* s, Bool is_last_block )
+{
+   if (s->nblock > 0) {
+
+      BZ_FINALISE_CRC ( s->blockCRC );
+      s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
+      s->combinedCRC ^= s->blockCRC;
+      if (s->blockNo > 1) s->numZ = 0;
+
+      if (s->verbosity >= 2)
+         VPrintf4( "    block %d: crc = 0x%08x, "
+                   "combined CRC = 0x%08x, size = %d\n",
+                   s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
+
+      BZ2_blockSort ( s );
+   }
+
+   s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
+
+   /*-- If this is the first block, create the stream header. --*/
+   if (s->blockNo == 1) {
+      BZ2_bsInitWrite ( s );
+      bsPutUChar ( s, BZ_HDR_B );
+      bsPutUChar ( s, BZ_HDR_Z );
+      bsPutUChar ( s, BZ_HDR_h );
+      bsPutUChar ( s, (UChar)(BZ_HDR_0 + s->blockSize100k) );
+   }
+
+   if (s->nblock > 0) {
+
+      bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
+      bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
+      bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
+
+      /*-- Now the block's CRC, so it is in a known place. --*/
+      bsPutUInt32 ( s, s->blockCRC );
+
+      /*-- 
+         Now a single bit indicating (non-)randomisation. 
+         As of version 0.9.5, we use a better sorting algorithm
+         which makes randomisation unnecessary.  So always set
+         the randomised bit to 'no'.  Of course, the decoder
+         still needs to be able to handle randomised blocks
+         so as to maintain backwards compatibility with
+         older versions of bzip2.
+      --*/
+      bsW(s,1,0);
+
+      bsW ( s, 24, s->origPtr );
+      generateMTFValues ( s );
+      sendMTFValues ( s );
+   }
+
+
+   /*-- If this is the last block, add the stream trailer. --*/
+   if (is_last_block) {
+
+      bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
+      bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
+      bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
+      bsPutUInt32 ( s, s->combinedCRC );
+      if (s->verbosity >= 2)
+         VPrintf1( "    final combined CRC = 0x%08x\n   ", s->combinedCRC );
+      bsFinishWrite ( s );
+   }
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                        compress.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/crctable.c b/plugins/Updater/bzip2-1.0.3/crctable.c
new file mode 100644
index 0000000000..1fea7e946c
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/crctable.c
@@ -0,0 +1,104 @@
+
+/*-------------------------------------------------------------*/
+/*--- Table for doing CRCs                                  ---*/
+/*---                                            crctable.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#include "bzlib_private.h"
+
+/*--
+  I think this is an implementation of the AUTODIN-II,
+  Ethernet & FDDI 32-bit CRC standard.  Vaguely derived
+  from code by Rob Warnock, in Section 51 of the
+  comp.compression FAQ.
+--*/
+
+UInt32 BZ2_crc32Table[256] = {
+
+   /*-- Ugly, innit? --*/
+
+   0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+   0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+   0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+   0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+   0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+   0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+   0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+   0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+   0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+   0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+   0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+   0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+   0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+   0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+   0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+   0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+   0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+   0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+   0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+   0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+   0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+   0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+   0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+   0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+   0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+   0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+   0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+   0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+   0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+   0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+   0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+   0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+   0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+   0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+   0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+   0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+   0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+   0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+   0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+   0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+   0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+   0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+   0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+   0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+   0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+   0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+   0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+   0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+   0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+   0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+   0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+   0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+   0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+   0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+   0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+   0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+   0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+   0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+   0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+   0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+   0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+   0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+   0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+   0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                        crctable.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/decompress.c b/plugins/Updater/bzip2-1.0.3/decompress.c
new file mode 100644
index 0000000000..311f5668f9
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/decompress.c
@@ -0,0 +1,646 @@
+
+/*-------------------------------------------------------------*/
+/*--- Decompression machinery                               ---*/
+/*---                                          decompress.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+static
+void makeMaps_d ( DState* s )
+{
+   Int32 i;
+   s->nInUse = 0;
+   for (i = 0; i < 256; i++)
+      if (s->inUse[i]) {
+         s->seqToUnseq[s->nInUse] = i;
+         s->nInUse++;
+      }
+}
+
+
+/*---------------------------------------------------*/
+#define RETURN(rrr)                               \
+   { retVal = rrr; goto save_state_and_return; };
+
+#define GET_BITS(lll,vvv,nnn)                     \
+   case lll: s->state = lll;                      \
+   while (True) {                                 \
+      if (s->bsLive >= nnn) {                     \
+         UInt32 v;                                \
+         v = (s->bsBuff >>                        \
+             (s->bsLive-nnn)) & ((1 << nnn)-1);   \
+         s->bsLive -= nnn;                        \
+         vvv = v;                                 \
+         break;                                   \
+      }                                           \
+      if (s->strm->avail_in == 0) RETURN(BZ_OK);  \
+      s->bsBuff                                   \
+         = (s->bsBuff << 8) |                     \
+           ((UInt32)                              \
+              (*((UChar*)(s->strm->next_in))));   \
+      s->bsLive += 8;                             \
+      s->strm->next_in++;                         \
+      s->strm->avail_in--;                        \
+      s->strm->total_in_lo32++;                   \
+      if (s->strm->total_in_lo32 == 0)            \
+         s->strm->total_in_hi32++;                \
+   }
+
+#define GET_UCHAR(lll,uuu)                        \
+   GET_BITS(lll,uuu,8)
+
+#define GET_BIT(lll,uuu)                          \
+   GET_BITS(lll,uuu,1)
+
+/*---------------------------------------------------*/
+#define GET_MTF_VAL(label1,label2,lval)           \
+{                                                 \
+   if (groupPos == 0) {                           \
+      groupNo++;                                  \
+      if (groupNo >= nSelectors)                  \
+         RETURN(BZ_DATA_ERROR);                   \
+      groupPos = BZ_G_SIZE;                       \
+      gSel = s->selector[groupNo];                \
+      gMinlen = s->minLens[gSel];                 \
+      gLimit = &(s->limit[gSel][0]);              \
+      gPerm = &(s->perm[gSel][0]);                \
+      gBase = &(s->base[gSel][0]);                \
+   }                                              \
+   groupPos--;                                    \
+   zn = gMinlen;                                  \
+   GET_BITS(label1, zvec, zn);                    \
+   while (1) {                                    \
+      if (zn > 20 /* the longest code */)         \
+         RETURN(BZ_DATA_ERROR);                   \
+      if (zvec <= gLimit[zn]) break;              \
+      zn++;                                       \
+      GET_BIT(label2, zj);                        \
+      zvec = (zvec << 1) | zj;                    \
+   };                                             \
+   if (zvec - gBase[zn] < 0                       \
+       || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE)  \
+      RETURN(BZ_DATA_ERROR);                      \
+   lval = gPerm[zvec - gBase[zn]];                \
+}
+
+
+/*---------------------------------------------------*/
+Int32 BZ2_decompress ( DState* s )
+{
+   UChar      uc;
+   Int32      retVal;
+   Int32      minLen, maxLen;
+   bz_stream* strm = s->strm;
+
+   /* stuff that needs to be saved/restored */
+   Int32  i;
+   Int32  j;
+   Int32  t;
+   Int32  alphaSize;
+   Int32  nGroups;
+   Int32  nSelectors;
+   Int32  EOB;
+   Int32  groupNo;
+   Int32  groupPos;
+   Int32  nextSym;
+   Int32  nblockMAX;
+   Int32  nblock;
+   Int32  es;
+   Int32  N;
+   Int32  curr;
+   Int32  zt;
+   Int32  zn; 
+   Int32  zvec;
+   Int32  zj;
+   Int32  gSel;
+   Int32  gMinlen;
+   Int32* gLimit;
+   Int32* gBase;
+   Int32* gPerm;
+
+   if (s->state == BZ_X_MAGIC_1) {
+      /*initialise the save area*/
+      s->save_i           = 0;
+      s->save_j           = 0;
+      s->save_t           = 0;
+      s->save_alphaSize   = 0;
+      s->save_nGroups     = 0;
+      s->save_nSelectors  = 0;
+      s->save_EOB         = 0;
+      s->save_groupNo     = 0;
+      s->save_groupPos    = 0;
+      s->save_nextSym     = 0;
+      s->save_nblockMAX   = 0;
+      s->save_nblock      = 0;
+      s->save_es          = 0;
+      s->save_N           = 0;
+      s->save_curr        = 0;
+      s->save_zt          = 0;
+      s->save_zn          = 0;
+      s->save_zvec        = 0;
+      s->save_zj          = 0;
+      s->save_gSel        = 0;
+      s->save_gMinlen     = 0;
+      s->save_gLimit      = NULL;
+      s->save_gBase       = NULL;
+      s->save_gPerm       = NULL;
+   }
+
+   /*restore from the save area*/
+   i           = s->save_i;
+   j           = s->save_j;
+   t           = s->save_t;
+   alphaSize   = s->save_alphaSize;
+   nGroups     = s->save_nGroups;
+   nSelectors  = s->save_nSelectors;
+   EOB         = s->save_EOB;
+   groupNo     = s->save_groupNo;
+   groupPos    = s->save_groupPos;
+   nextSym     = s->save_nextSym;
+   nblockMAX   = s->save_nblockMAX;
+   nblock      = s->save_nblock;
+   es          = s->save_es;
+   N           = s->save_N;
+   curr        = s->save_curr;
+   zt          = s->save_zt;
+   zn          = s->save_zn; 
+   zvec        = s->save_zvec;
+   zj          = s->save_zj;
+   gSel        = s->save_gSel;
+   gMinlen     = s->save_gMinlen;
+   gLimit      = s->save_gLimit;
+   gBase       = s->save_gBase;
+   gPerm       = s->save_gPerm;
+
+   retVal = BZ_OK;
+
+   switch (s->state) {
+
+      GET_UCHAR(BZ_X_MAGIC_1, uc);
+      if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_UCHAR(BZ_X_MAGIC_2, uc);
+      if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_UCHAR(BZ_X_MAGIC_3, uc)
+      if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
+      if (s->blockSize100k < (BZ_HDR_0 + 1) || 
+          s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
+      s->blockSize100k -= BZ_HDR_0;
+
+      if (s->smallDecompress) {
+         s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
+         s->ll4  = BZALLOC( 
+                      ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar) 
+                   );
+         if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
+      } else {
+         s->tt  = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
+         if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
+      }
+
+      GET_UCHAR(BZ_X_BLKHDR_1, uc);
+
+      if (uc == 0x17) goto endhdr_2;
+      if (uc != 0x31) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_2, uc);
+      if (uc != 0x41) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_3, uc);
+      if (uc != 0x59) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_4, uc);
+      if (uc != 0x26) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_5, uc);
+      if (uc != 0x53) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_6, uc);
+      if (uc != 0x59) RETURN(BZ_DATA_ERROR);
+
+      s->currBlockNo++;
+      if (s->verbosity >= 2)
+         VPrintf1 ( "\n    [%d: huff+mtf ", s->currBlockNo );
+ 
+      s->storedBlockCRC = 0;
+      GET_UCHAR(BZ_X_BCRC_1, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_2, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_3, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_4, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+
+      GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
+
+      s->origPtr = 0;
+      GET_UCHAR(BZ_X_ORIGPTR_1, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+      GET_UCHAR(BZ_X_ORIGPTR_2, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+      GET_UCHAR(BZ_X_ORIGPTR_3, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+
+      if (s->origPtr < 0)
+         RETURN(BZ_DATA_ERROR);
+      if (s->origPtr > 10 + 100000*s->blockSize100k) 
+         RETURN(BZ_DATA_ERROR);
+
+      /*--- Receive the mapping table ---*/
+      for (i = 0; i < 16; i++) {
+         GET_BIT(BZ_X_MAPPING_1, uc);
+         if (uc == 1) 
+            s->inUse16[i] = True; else 
+            s->inUse16[i] = False;
+      }
+
+      for (i = 0; i < 256; i++) s->inUse[i] = False;
+
+      for (i = 0; i < 16; i++)
+         if (s->inUse16[i])
+            for (j = 0; j < 16; j++) {
+               GET_BIT(BZ_X_MAPPING_2, uc);
+               if (uc == 1) s->inUse[i * 16 + j] = True;
+            }
+      makeMaps_d ( s );
+      if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
+      alphaSize = s->nInUse+2;
+
+      /*--- Now the selectors ---*/
+      GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
+      if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
+      GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
+      if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
+      for (i = 0; i < nSelectors; i++) {
+         j = 0;
+         while (True) {
+            GET_BIT(BZ_X_SELECTOR_3, uc);
+            if (uc == 0) break;
+            j++;
+            if (j >= nGroups) RETURN(BZ_DATA_ERROR);
+         }
+         s->selectorMtf[i] = j;
+      }
+
+      /*--- Undo the MTF values for the selectors. ---*/
+      {
+         UChar pos[BZ_N_GROUPS], tmp, v;
+         for (v = 0; v < nGroups; v++) pos[v] = v;
+   
+         for (i = 0; i < nSelectors; i++) {
+            v = s->selectorMtf[i];
+            tmp = pos[v];
+            while (v > 0) { pos[v] = pos[v-1]; v--; }
+            pos[0] = tmp;
+            s->selector[i] = tmp;
+         }
+      }
+
+      /*--- Now the coding tables ---*/
+      for (t = 0; t < nGroups; t++) {
+         GET_BITS(BZ_X_CODING_1, curr, 5);
+         for (i = 0; i < alphaSize; i++) {
+            while (True) {
+               if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
+               GET_BIT(BZ_X_CODING_2, uc);
+               if (uc == 0) break;
+               GET_BIT(BZ_X_CODING_3, uc);
+               if (uc == 0) curr++; else curr--;
+            }
+            s->len[t][i] = curr;
+         }
+      }
+
+      /*--- Create the Huffman decoding tables ---*/
+      for (t = 0; t < nGroups; t++) {
+         minLen = 32;
+         maxLen = 0;
+         for (i = 0; i < alphaSize; i++) {
+            if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
+            if (s->len[t][i] < minLen) minLen = s->len[t][i];
+         }
+         BZ2_hbCreateDecodeTables ( 
+            &(s->limit[t][0]), 
+            &(s->base[t][0]), 
+            &(s->perm[t][0]), 
+            &(s->len[t][0]),
+            minLen, maxLen, alphaSize
+         );
+         s->minLens[t] = minLen;
+      }
+
+      /*--- Now the MTF values ---*/
+
+      EOB      = s->nInUse+1;
+      nblockMAX = 100000 * s->blockSize100k;
+      groupNo  = -1;
+      groupPos = 0;
+
+      for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
+
+      /*-- MTF init --*/
+      {
+         Int32 ii, jj, kk;
+         kk = MTFA_SIZE-1;
+         for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
+            for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
+               s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
+               kk--;
+            }
+            s->mtfbase[ii] = kk + 1;
+         }
+      }
+      /*-- end MTF init --*/
+
+      nblock = 0;
+      GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
+
+      while (True) {
+
+         if (nextSym == EOB) break;
+
+         if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
+
+            es = -1;
+            N = 1;
+            do {
+               /* Check that N doesn't get too big, so that es doesn't
+                  go negative.  The maximum value that can be
+                  RUNA/RUNB encoded is equal to the block size (post
+                  the initial RLE), viz, 900k, so bounding N at 2
+                  million should guard against overflow without
+                  rejecting any legitimate inputs. */
+               if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
+               if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
+               if (nextSym == BZ_RUNB) es = es + (1+1) * N;
+               N = N * 2;
+               GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
+            }
+               while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
+
+            es++;
+            uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
+            s->unzftab[uc] += es;
+
+            if (s->smallDecompress)
+               while (es > 0) {
+                  if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+                  s->ll16[nblock] = (UInt16)uc;
+                  nblock++;
+                  es--;
+               }
+            else
+               while (es > 0) {
+                  if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+                  s->tt[nblock] = (UInt32)uc;
+                  nblock++;
+                  es--;
+               };
+
+            continue;
+
+         } else {
+
+            if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+
+            /*-- uc = MTF ( nextSym-1 ) --*/
+            {
+               Int32 ii, jj, kk, pp, lno, off;
+               UInt32 nn;
+               nn = (UInt32)(nextSym - 1);
+
+               if (nn < MTFL_SIZE) {
+                  /* avoid general-case expense */
+                  pp = s->mtfbase[0];
+                  uc = s->mtfa[pp+nn];
+                  while (nn > 3) {
+                     Int32 z = pp+nn;
+                     s->mtfa[(z)  ] = s->mtfa[(z)-1];
+                     s->mtfa[(z)-1] = s->mtfa[(z)-2];
+                     s->mtfa[(z)-2] = s->mtfa[(z)-3];
+                     s->mtfa[(z)-3] = s->mtfa[(z)-4];
+                     nn -= 4;
+                  }
+                  while (nn > 0) { 
+                     s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--; 
+                  };
+                  s->mtfa[pp] = uc;
+               } else { 
+                  /* general case */
+                  lno = nn / MTFL_SIZE;
+                  off = nn % MTFL_SIZE;
+                  pp = s->mtfbase[lno] + off;
+                  uc = s->mtfa[pp];
+                  while (pp > s->mtfbase[lno]) { 
+                     s->mtfa[pp] = s->mtfa[pp-1]; pp--; 
+                  };
+                  s->mtfbase[lno]++;
+                  while (lno > 0) {
+                     s->mtfbase[lno]--;
+                     s->mtfa[s->mtfbase[lno]] 
+                        = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
+                     lno--;
+                  }
+                  s->mtfbase[0]--;
+                  s->mtfa[s->mtfbase[0]] = uc;
+                  if (s->mtfbase[0] == 0) {
+                     kk = MTFA_SIZE-1;
+                     for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
+                        for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
+                           s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
+                           kk--;
+                        }
+                        s->mtfbase[ii] = kk + 1;
+                     }
+                  }
+               }
+            }
+            /*-- end uc = MTF ( nextSym-1 ) --*/
+
+            s->unzftab[s->seqToUnseq[uc]]++;
+            if (s->smallDecompress)
+               s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
+               s->tt[nblock]   = (UInt32)(s->seqToUnseq[uc]);
+            nblock++;
+
+            GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
+            continue;
+         }
+      }
+
+      /* Now we know what nblock is, we can do a better sanity
+         check on s->origPtr.
+      */
+      if (s->origPtr < 0 || s->origPtr >= nblock)
+         RETURN(BZ_DATA_ERROR);
+
+      /*-- Set up cftab to facilitate generation of T^(-1) --*/
+      /* Check: unzftab entries in range. */
+      for (i = 0; i <= 255; i++) {
+         if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
+            RETURN(BZ_DATA_ERROR);
+      }
+      /* Actually generate cftab. */
+      s->cftab[0] = 0;
+      for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
+      for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
+      /* Check: cftab entries in range. */
+      for (i = 0; i <= 256; i++) {
+         if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
+            /* s->cftab[i] can legitimately be == nblock */
+            RETURN(BZ_DATA_ERROR);
+         }
+      }
+      /* Check: cftab entries non-descending. */
+      for (i = 1; i <= 256; i++) {
+         if (s->cftab[i-1] > s->cftab[i]) {
+            RETURN(BZ_DATA_ERROR);
+         }
+      }
+
+      s->state_out_len = 0;
+      s->state_out_ch  = 0;
+      BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
+      s->state = BZ_X_OUTPUT;
+      if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
+
+      if (s->smallDecompress) {
+
+         /*-- Make a copy of cftab, used in generation of T --*/
+         for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
+
+         /*-- compute the T vector --*/
+         for (i = 0; i < nblock; i++) {
+            uc = (UChar)(s->ll16[i]);
+            SET_LL(i, s->cftabCopy[uc]);
+            s->cftabCopy[uc]++;
+         }
+
+         /*-- Compute T^(-1) by pointer reversal on T --*/
+         i = s->origPtr;
+         j = GET_LL(i);
+         do {
+            Int32 tmp = GET_LL(j);
+            SET_LL(j, i);
+            i = j;
+            j = tmp;
+         }
+            while (i != s->origPtr);
+
+         s->tPos = s->origPtr;
+         s->nblock_used = 0;
+         if (s->blockRandomised) {
+            BZ_RAND_INIT_MASK;
+            BZ_GET_SMALL(s->k0); s->nblock_used++;
+            BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK; 
+         } else {
+            BZ_GET_SMALL(s->k0); s->nblock_used++;
+         }
+
+      } else {
+
+         /*-- compute the T^(-1) vector --*/
+         for (i = 0; i < nblock; i++) {
+            uc = (UChar)(s->tt[i] & 0xff);
+            s->tt[s->cftab[uc]] |= (i << 8);
+            s->cftab[uc]++;
+         }
+
+         s->tPos = s->tt[s->origPtr] >> 8;
+         s->nblock_used = 0;
+         if (s->blockRandomised) {
+            BZ_RAND_INIT_MASK;
+            BZ_GET_FAST(s->k0); s->nblock_used++;
+            BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK; 
+         } else {
+            BZ_GET_FAST(s->k0); s->nblock_used++;
+         }
+
+      }
+
+      RETURN(BZ_OK);
+
+
+
+    endhdr_2:
+
+      GET_UCHAR(BZ_X_ENDHDR_2, uc);
+      if (uc != 0x72) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_3, uc);
+      if (uc != 0x45) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_4, uc);
+      if (uc != 0x38) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_5, uc);
+      if (uc != 0x50) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_6, uc);
+      if (uc != 0x90) RETURN(BZ_DATA_ERROR);
+
+      s->storedCombinedCRC = 0;
+      GET_UCHAR(BZ_X_CCRC_1, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_2, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_3, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_4, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+
+      s->state = BZ_X_IDLE;
+      RETURN(BZ_STREAM_END);
+
+      default: AssertH ( False, 4001 );
+   }
+
+   AssertH ( False, 4002 );
+
+   save_state_and_return:
+
+   s->save_i           = i;
+   s->save_j           = j;
+   s->save_t           = t;
+   s->save_alphaSize   = alphaSize;
+   s->save_nGroups     = nGroups;
+   s->save_nSelectors  = nSelectors;
+   s->save_EOB         = EOB;
+   s->save_groupNo     = groupNo;
+   s->save_groupPos    = groupPos;
+   s->save_nextSym     = nextSym;
+   s->save_nblockMAX   = nblockMAX;
+   s->save_nblock      = nblock;
+   s->save_es          = es;
+   s->save_N           = N;
+   s->save_curr        = curr;
+   s->save_zt          = zt;
+   s->save_zn          = zn;
+   s->save_zvec        = zvec;
+   s->save_zj          = zj;
+   s->save_gSel        = gSel;
+   s->save_gMinlen     = gMinlen;
+   s->save_gLimit      = gLimit;
+   s->save_gBase       = gBase;
+   s->save_gPerm       = gPerm;
+
+   return retVal;   
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                      decompress.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/dlltest.c b/plugins/Updater/bzip2-1.0.3/dlltest.c
new file mode 100644
index 0000000000..03fa14620e
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/dlltest.c
@@ -0,0 +1,175 @@
+/*
+   minibz2
+      libbz2.dll test program.
+      by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
+      This file is Public Domain.  Welcome any email to me.
+
+   usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]
+*/
+
+#define BZ_IMPORT
+#include 
+#include 
+#include "bzlib.h"
+#ifdef _WIN32
+#include 
+#endif
+
+
+#ifdef _WIN32
+
+#define BZ2_LIBNAME "libbz2-1.0.2.DLL" 
+
+#include 
+static int BZ2DLLLoaded = 0;
+static HINSTANCE BZ2DLLhLib;
+int BZ2DLLLoadLibrary(void)
+{
+   HINSTANCE hLib;
+
+   if(BZ2DLLLoaded==1){return 0;}
+   hLib=LoadLibrary(BZ2_LIBNAME);
+   if(hLib == NULL){
+      fprintf(stderr,"Can't load %s\n",BZ2_LIBNAME);
+      return -1;
+   }
+   BZ2_bzlibVersion=GetProcAddress(hLib,"BZ2_bzlibVersion");
+   BZ2_bzopen=GetProcAddress(hLib,"BZ2_bzopen");
+   BZ2_bzdopen=GetProcAddress(hLib,"BZ2_bzdopen");
+   BZ2_bzread=GetProcAddress(hLib,"BZ2_bzread");
+   BZ2_bzwrite=GetProcAddress(hLib,"BZ2_bzwrite");
+   BZ2_bzflush=GetProcAddress(hLib,"BZ2_bzflush");
+   BZ2_bzclose=GetProcAddress(hLib,"BZ2_bzclose");
+   BZ2_bzerror=GetProcAddress(hLib,"BZ2_bzerror");
+
+   if (!BZ2_bzlibVersion || !BZ2_bzopen || !BZ2_bzdopen
+       || !BZ2_bzread || !BZ2_bzwrite || !BZ2_bzflush
+       || !BZ2_bzclose || !BZ2_bzerror) {
+      fprintf(stderr,"GetProcAddress failed.\n");
+      return -1;
+   }
+   BZ2DLLLoaded=1;
+   BZ2DLLhLib=hLib;
+   return 0;
+
+}
+int BZ2DLLFreeLibrary(void)
+{
+   if(BZ2DLLLoaded==0){return 0;}
+   FreeLibrary(BZ2DLLhLib);
+   BZ2DLLLoaded=0;
+}
+#endif /* WIN32 */
+
+void usage(void)
+{
+   puts("usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]");
+}
+
+int main(int argc,char *argv[])
+{
+   int decompress = 0;
+   int level = 9;
+   char *fn_r = NULL;
+   char *fn_w = NULL;
+
+#ifdef _WIN32
+   if(BZ2DLLLoadLibrary()<0){
+      fprintf(stderr,"Loading of %s failed.  Giving up.\n", BZ2_LIBNAME);
+      exit(1);
+   }
+   printf("Loading of %s succeeded.  Library version is %s.\n",
+          BZ2_LIBNAME, BZ2_bzlibVersion() );
+#endif
+   while(++argv,--argc){
+      if(**argv =='-' || **argv=='/'){
+         char *p;
+
+         for(p=*argv+1;*p;p++){
+            if(*p=='d'){
+               decompress = 1;
+            }else if('1'<=*p && *p<='9'){
+               level = *p - '0';
+            }else{
+               usage();
+               exit(1);
+            }
+         }
+      }else{
+         break;
+      }
+   }
+   if(argc>=1){
+      fn_r = *argv;
+      argc--;argv++;
+   }else{
+      fn_r = NULL;
+   }
+   if(argc>=1){
+      fn_w = *argv;
+      argc--;argv++;
+   }else{
+      fn_w = NULL;
+   }
+   {
+      int len;
+      char buff[0x1000];
+      char mode[10];
+
+      if(decompress){
+         BZFILE *BZ2fp_r = NULL;
+         FILE *fp_w = NULL;
+
+         if(fn_w){
+            if((fp_w = fopen(fn_w,"wb"))==NULL){
+               printf("can't open [%s]\n",fn_w);
+               perror("reason:");
+               exit(1);
+            }
+         }else{
+            fp_w = stdout;
+         }
+         if((fn_r == NULL && (BZ2fp_r = BZ2_bzdopen(fileno(stdin),"rb"))==NULL)
+            || (fn_r != NULL && (BZ2fp_r = BZ2_bzopen(fn_r,"rb"))==NULL)){
+            printf("can't bz2openstream\n");
+            exit(1);
+         }
+         while((len=BZ2_bzread(BZ2fp_r,buff,0x1000))>0){
+            fwrite(buff,1,len,fp_w);
+         }
+         BZ2_bzclose(BZ2fp_r);
+         if(fp_w != stdout) fclose(fp_w);
+      }else{
+         BZFILE *BZ2fp_w = NULL;
+         FILE *fp_r = NULL;
+
+         if(fn_r){
+            if((fp_r = fopen(fn_r,"rb"))==NULL){
+               printf("can't open [%s]\n",fn_r);
+               perror("reason:");
+               exit(1);
+            }
+         }else{
+            fp_r = stdin;
+         }
+         mode[0]='w';
+         mode[1] = '0' + level;
+         mode[2] = '\0';
+
+         if((fn_w == NULL && (BZ2fp_w = BZ2_bzdopen(fileno(stdout),mode))==NULL)
+            || (fn_w !=NULL && (BZ2fp_w = BZ2_bzopen(fn_w,mode))==NULL)){
+            printf("can't bz2openstream\n");
+            exit(1);
+         }
+         while((len=fread(buff,1,0x1000,fp_r))>0){
+            BZ2_bzwrite(BZ2fp_w,buff,len);
+         }
+         BZ2_bzclose(BZ2fp_w);
+         if(fp_r!=stdin)fclose(fp_r);
+      }
+   }
+#ifdef _WIN32
+   BZ2DLLFreeLibrary();
+#endif
+   return 0;
+}
diff --git a/plugins/Updater/bzip2-1.0.3/dlltest.dsp b/plugins/Updater/bzip2-1.0.3/dlltest.dsp
new file mode 100644
index 0000000000..4b1615edcd
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/dlltest.dsp
@@ -0,0 +1,93 @@
+# Microsoft Developer Studio Project File - Name="dlltest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=dlltest - Win32 Debug
+!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚Å‚Í‚ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
+!MESSAGE 
+!MESSAGE NMAKE /f "dlltest.mak".
+!MESSAGE 
+!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
+!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
+!MESSAGE 
+!MESSAGE NMAKE /f "dlltest.mak" CFG="dlltest - Win32 Debug"
+!MESSAGE 
+!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE 
+!MESSAGE "dlltest - Win32 Release" ("Win32 (x86) Console Application" —p)
+!MESSAGE "dlltest - Win32 Debug" ("Win32 (x86) Console Application" —p)
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "dlltest - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"minibz2.exe"
+
+!ELSEIF  "$(CFG)" == "dlltest - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "dlltest_"
+# PROP BASE Intermediate_Dir "dlltest_"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "dlltest_"
+# PROP Intermediate_Dir "dlltest_"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"minibz2.exe" /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "dlltest - Win32 Release"
+# Name "dlltest - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\bzlib.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dlltest.c
+# End Source File
+# End Target
+# End Project
diff --git a/plugins/Updater/bzip2-1.0.3/entities.xml b/plugins/Updater/bzip2-1.0.3/entities.xml
new file mode 100644
index 0000000000..4b28f34659
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/entities.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/plugins/Updater/bzip2-1.0.3/format.pl b/plugins/Updater/bzip2-1.0.3/format.pl
new file mode 100644
index 0000000000..f169fd9de2
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/format.pl
@@ -0,0 +1,68 @@
+#!/usr/bin/perl -w
+#
+# ------------------------------------------------------------------
+# This file is part of bzip2/libbzip2, a program and library for
+# lossless, block-sorting data compression.
+#
+# bzip2/libbzip2 version 1.0.6 of 6 September 2010
+# Copyright (C) 1996-2010 Julian Seward 
+#
+# Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+# README file.
+#
+# This program is released under the terms of the license contained
+# in the file LICENSE.
+# ------------------------------------------------------------------
+#
+use strict;
+
+# get command line values:
+if ( $#ARGV !=1 ) {
+    die "Usage:  $0 xml_infile xml_outfile\n";
+}
+
+my $infile = shift;
+# check infile exists
+die "Can't find file \"$infile\""
+  unless -f $infile;
+# check we can read infile
+if (! -r $infile) {
+    die "Can't read input $infile\n";
+}
+# check we can open infile
+open( INFILE,"<$infile" ) or 
+    die "Can't input $infile $!";
+
+#my $outfile = 'fmt-manual.xml';
+my $outfile = shift;
+#print "Infile: $infile, Outfile: $outfile\n";
+# check we can write to outfile
+open( OUTFILE,">$outfile" ) or 
+    die "Can't output $outfile $! for writing";
+
+my ($prev, $curr, $str);
+$prev = ''; $curr = '';
+while (  ) {
+
+		print OUTFILE $prev;
+    $prev = $curr;
+    $curr = $_;
+    $str = '';
+
+    if ( $prev =~ /$|$/ ) {
+        chomp $prev;
+        $curr = join( '', $prev, "|<\/screen>/ ) {
+        chomp $prev;
+        $curr = join( '', $prev, "]]>", $curr );
+				$prev = '';
+        next;
+    }
+}
+print OUTFILE $curr;
+close INFILE;
+close OUTFILE;
+exit;
diff --git a/plugins/Updater/bzip2-1.0.3/huffman.c b/plugins/Updater/bzip2-1.0.3/huffman.c
new file mode 100644
index 0000000000..2283fdbc5a
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/huffman.c
@@ -0,0 +1,205 @@
+
+/*-------------------------------------------------------------*/
+/*--- Huffman coding low-level stuff                        ---*/
+/*---                                             huffman.c ---*/
+/*-------------------------------------------------------------*/
+
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
+
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward 
+
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
+
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
+
+
+#include "bzlib_private.h"
+
+/*---------------------------------------------------*/
+#define WEIGHTOF(zz0)  ((zz0) & 0xffffff00)
+#define DEPTHOF(zz1)   ((zz1) & 0x000000ff)
+#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
+
+#define ADDWEIGHTS(zw1,zw2)                           \
+   (WEIGHTOF(zw1)+WEIGHTOF(zw2)) |                    \
+   (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
+
+#define UPHEAP(z)                                     \
+{                                                     \
+   Int32 zz, tmp;                                     \
+   zz = z; tmp = heap[zz];                            \
+   while (weight[tmp] < weight[heap[zz >> 1]]) {      \
+      heap[zz] = heap[zz >> 1];                       \
+      zz >>= 1;                                       \
+   }                                                  \
+   heap[zz] = tmp;                                    \
+}
+
+#define DOWNHEAP(z)                                   \
+{                                                     \
+   Int32 zz, yy, tmp;                                 \
+   zz = z; tmp = heap[zz];                            \
+   while (True) {                                     \
+      yy = zz << 1;                                   \
+      if (yy > nHeap) break;                          \
+      if (yy < nHeap &&                               \
+          weight[heap[yy+1]] < weight[heap[yy]])      \
+         yy++;                                        \
+      if (weight[tmp] < weight[heap[yy]]) break;      \
+      heap[zz] = heap[yy];                            \
+      zz = yy;                                        \
+   }                                                  \
+   heap[zz] = tmp;                                    \
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbMakeCodeLengths ( UChar *len, 
+                             Int32 *freq,
+                             Int32 alphaSize,
+                             Int32 maxLen )
+{
+   /*--
+      Nodes and heap entries run from 1.  Entry 0
+      for both the heap and nodes is a sentinel.
+   --*/
+   Int32 nNodes, nHeap, n1, n2, i, j, k;
+   Bool  tooLong;
+
+   Int32 heap   [ BZ_MAX_ALPHA_SIZE + 2 ];
+   Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
+   Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ]; 
+
+   for (i = 0; i < alphaSize; i++)
+      weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
+
+   while (True) {
+
+      nNodes = alphaSize;
+      nHeap = 0;
+
+      heap[0] = 0;
+      weight[0] = 0;
+      parent[0] = -2;
+
+      for (i = 1; i <= alphaSize; i++) {
+         parent[i] = -1;
+         nHeap++;
+         heap[nHeap] = i;
+         UPHEAP(nHeap);
+      }
+
+      AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
+   
+      while (nHeap > 1) {
+         n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
+         n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
+         nNodes++;
+         parent[n1] = parent[n2] = nNodes;
+         weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
+         parent[nNodes] = -1;
+         nHeap++;
+         heap[nHeap] = nNodes;
+         UPHEAP(nHeap);
+      }
+
+      AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
+
+      tooLong = False;
+      for (i = 1; i <= alphaSize; i++) {
+         j = 0;
+         k = i;
+         while (parent[k] >= 0) { k = parent[k]; j++; }
+         len[i-1] = j;
+         if (j > maxLen) tooLong = True;
+      }
+      
+      if (! tooLong) break;
+
+      /* 17 Oct 04: keep-going condition for the following loop used
+         to be 'i < alphaSize', which missed the last element,
+         theoretically leading to the possibility of the compressor
+         looping.  However, this count-scaling step is only needed if
+         one of the generated Huffman code words is longer than
+         maxLen, which up to and including version 1.0.2 was 20 bits,
+         which is extremely unlikely.  In version 1.0.3 maxLen was
+         changed to 17 bits, which has minimal effect on compression
+         ratio, but does mean this scaling step is used from time to
+         time, enough to verify that it works.
+
+         This means that bzip2-1.0.3 and later will only produce
+         Huffman codes with a maximum length of 17 bits.  However, in
+         order to preserve backwards compatibility with bitstreams
+         produced by versions pre-1.0.3, the decompressor must still
+         handle lengths of up to 20. */
+
+      for (i = 1; i <= alphaSize; i++) {
+         j = weight[i] >> 8;
+         j = 1 + (j / 2);
+         weight[i] = j << 8;
+      }
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbAssignCodes ( Int32 *code,
+                         UChar *length,
+                         Int32 minLen,
+                         Int32 maxLen,
+                         Int32 alphaSize )
+{
+   Int32 n, vec, i;
+
+   vec = 0;
+   for (n = minLen; n <= maxLen; n++) {
+      for (i = 0; i < alphaSize; i++)
+         if (length[i] == n) { code[i] = vec; vec++; };
+      vec <<= 1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbCreateDecodeTables ( Int32 *limit,
+                                Int32 *base,
+                                Int32 *perm,
+                                UChar *length,
+                                Int32 minLen,
+                                Int32 maxLen,
+                                Int32 alphaSize )
+{
+   Int32 pp, i, j, vec;
+
+   pp = 0;
+   for (i = minLen; i <= maxLen; i++)
+      for (j = 0; j < alphaSize; j++)
+         if (length[j] == i) { perm[pp] = j; pp++; };
+
+   for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
+   for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
+
+   for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
+
+   for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
+   vec = 0;
+
+   for (i = minLen; i <= maxLen; i++) {
+      vec += (base[i+1] - base[i]);
+      limit[i] = vec-1;
+      vec <<= 1;
+   }
+   for (i = minLen + 1; i <= maxLen; i++)
+      base[i] = ((limit[i-1] + 1) << 1) - base[i];
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                         huffman.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.001 b/plugins/Updater/bzip2-1.0.3/libbz2.001
new file mode 100644
index 0000000000..a21a20f75f
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/libbz2.001
@@ -0,0 +1,130 @@
+# Microsoft Developer Studio Project File - Name="libbz2" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=libbz2 - Win32 Debug
+!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚Å‚Í‚ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
+!MESSAGE 
+!MESSAGE NMAKE /f "libbz2.mak".
+!MESSAGE 
+!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
+!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
+!MESSAGE 
+!MESSAGE NMAKE /f "libbz2.mak" CFG="libbz2 - Win32 Debug"
+!MESSAGE 
+!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE 
+!MESSAGE "libbz2 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" —p)
+!MESSAGE "libbz2 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" —p)
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "libbz2 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"libbz2.dll"
+
+!ELSEIF  "$(CFG)" == "libbz2 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"libbz2.dll" /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "libbz2 - Win32 Release"
+# Name "libbz2 - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\blocksort.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib_private.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\compress.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\crctable.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\decompress.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\huffman.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\libbz2.def
+# End Source File
+# Begin Source File
+
+SOURCE=.\randtable.c
+# End Source File
+# End Target
+# End Project
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.def b/plugins/Updater/bzip2-1.0.3/libbz2.def
new file mode 100644
index 0000000000..2dc0dd891d
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/libbz2.def
@@ -0,0 +1,27 @@
+LIBRARY			LIBBZ2
+DESCRIPTION		"libbzip2: library for data compression"
+EXPORTS
+	BZ2_bzCompressInit
+	BZ2_bzCompress
+	BZ2_bzCompressEnd
+	BZ2_bzDecompressInit
+	BZ2_bzDecompress
+	BZ2_bzDecompressEnd
+	BZ2_bzReadOpen
+	BZ2_bzReadClose
+	BZ2_bzReadGetUnused
+	BZ2_bzRead
+	BZ2_bzWriteOpen
+	BZ2_bzWrite
+	BZ2_bzWriteClose
+	BZ2_bzWriteClose64
+	BZ2_bzBuffToBuffCompress
+	BZ2_bzBuffToBuffDecompress
+	BZ2_bzlibVersion
+	BZ2_bzopen
+	BZ2_bzdopen
+	BZ2_bzread
+	BZ2_bzwrite
+	BZ2_bzflush
+	BZ2_bzclose
+	BZ2_bzerror
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.dll b/plugins/Updater/bzip2-1.0.3/libbz2.dll
new file mode 100644
index 0000000000..5452b54c8c
Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/libbz2.dll differ
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.dsp b/plugins/Updater/bzip2-1.0.3/libbz2.dsp
new file mode 100644
index 0000000000..a21a20f75f
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/libbz2.dsp
@@ -0,0 +1,130 @@
+# Microsoft Developer Studio Project File - Name="libbz2" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=libbz2 - Win32 Debug
+!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚Å‚Í‚ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
+!MESSAGE 
+!MESSAGE NMAKE /f "libbz2.mak".
+!MESSAGE 
+!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
+!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
+!MESSAGE 
+!MESSAGE NMAKE /f "libbz2.mak" CFG="libbz2 - Win32 Debug"
+!MESSAGE 
+!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE 
+!MESSAGE "libbz2 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" —p)
+!MESSAGE "libbz2 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" —p)
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "libbz2 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"libbz2.dll"
+
+!ELSEIF  "$(CFG)" == "libbz2 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"libbz2.dll" /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "libbz2 - Win32 Release"
+# Name "libbz2 - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\blocksort.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\bzlib_private.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\compress.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\crctable.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\decompress.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\huffman.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\libbz2.def
+# End Source File
+# Begin Source File
+
+SOURCE=.\randtable.c
+# End Source File
+# End Target
+# End Project
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.dsw b/plugins/Updater/bzip2-1.0.3/libbz2.dsw
new file mode 100644
index 0000000000..38476efd11
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/libbz2.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "libbz2"=".\libbz2.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.ilk b/plugins/Updater/bzip2-1.0.3/libbz2.ilk
new file mode 100644
index 0000000000..4172c7cfc7
Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/libbz2.ilk differ
diff --git a/plugins/Updater/bzip2-1.0.3/libbz2.plg b/plugins/Updater/bzip2-1.0.3/libbz2.plg
new file mode 100644
index 0000000000..3fc4fea20d
--- /dev/null
+++ b/plugins/Updater/bzip2-1.0.3/libbz2.plg
@@ -0,0 +1,95 @@
+
+
+
+

Build Log

+

+--------------------Configuration: libbz2 - Win32 Release-------------------- +

+

Command Lines

+Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSP9.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"Release/libbz2.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\blocksort.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\bzlib.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\compress.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\crctable.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\decompress.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\huffman.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\randtable.c" +] +Creating command line "cl.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSP9.tmp" +Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPA.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"Release/libbz2.pdb" /machine:I386 /def:".\libbz2.def" /out:"libbz2.dll" /implib:"Release/libbz2.lib" +".\Release\blocksort.obj" +".\Release\bzlib.obj" +".\Release\compress.obj" +".\Release\crctable.obj" +".\Release\decompress.obj" +".\Release\huffman.obj" +".\Release\randtable.obj" +] +Creating command line "link.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPA.tmp" +

Output Window

+Compiling... +blocksort.c +bzlib.c +compress.c +crctable.c +decompress.c +huffman.c +randtable.c +Linking... + Creating library Release/libbz2.lib and object Release/libbz2.exp + + + +

Results

+libbz2.dll - 0 error(s), 0 warning(s) +

+--------------------Configuration: libbz2 - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPE.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"Debug/libbz2.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /c +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\blocksort.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\bzlib.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\compress.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\crctable.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\decompress.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\huffman.c" +"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\randtable.c" +] +Creating command line "cl.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPE.tmp" +Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPF.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"Debug/libbz2.pdb" /debug /machine:I386 /def:".\libbz2.def" /out:"libbz2.dll" /implib:"Debug/libbz2.lib" /pdbtype:sept +".\Debug\blocksort.obj" +".\Debug\bzlib.obj" +".\Debug\compress.obj" +".\Debug\crctable.obj" +".\Debug\decompress.obj" +".\Debug\huffman.obj" +".\Debug\randtable.obj" +] +Creating command line "link.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPF.tmp" +

Output Window

+Compiling... +blocksort.c +bzlib.c +compress.c +crctable.c +decompress.c +huffman.c +randtable.c +Linking... + Creating library Debug/libbz2.lib and object Debug/libbz2.exp + + + +

Results

+libbz2.dll - 0 error(s), 0 warning(s) +
+ + diff --git a/plugins/Updater/bzip2-1.0.3/makefile.msc b/plugins/Updater/bzip2-1.0.3/makefile.msc new file mode 100644 index 0000000000..799a18a5f1 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/makefile.msc @@ -0,0 +1,63 @@ +# Makefile for Microsoft Visual C++ 6.0 +# usage: nmake -f makefile.msc +# K.M. Syring (syring@gsf.de) +# Fixed up by JRS for bzip2-0.9.5d release. + +CC=cl +CFLAGS= -DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo + +OBJS= blocksort.obj \ + huffman.obj \ + crctable.obj \ + randtable.obj \ + compress.obj \ + decompress.obj \ + bzlib.obj + +all: lib bzip2 test + +bzip2: lib + $(CC) $(CFLAGS) -o bzip2 bzip2.c libbz2.lib setargv.obj + $(CC) $(CFLAGS) -o bzip2recover bzip2recover.c + +lib: $(OBJS) + lib /out:libbz2.lib $(OBJS) + +test: bzip2 + type words1 + .\\bzip2 -1 < sample1.ref > sample1.rb2 + .\\bzip2 -2 < sample2.ref > sample2.rb2 + .\\bzip2 -3 < sample3.ref > sample3.rb2 + .\\bzip2 -d < sample1.bz2 > sample1.tst + .\\bzip2 -d < sample2.bz2 > sample2.tst + .\\bzip2 -ds < sample3.bz2 > sample3.tst + @echo All six of the fc's should find no differences. + @echo If fc finds an error on sample3.bz2, this could be + @echo because WinZip's 'TAR file smart CR/LF conversion' + @echo is too clever for its own good. Disable this option. + @echo The correct size for sample3.ref is 120,244. If it + @echo is 150,251, WinZip has messed it up. + fc sample1.bz2 sample1.rb2 + fc sample2.bz2 sample2.rb2 + fc sample3.bz2 sample3.rb2 + fc sample1.tst sample1.ref + fc sample2.tst sample2.ref + fc sample3.tst sample3.ref + + + +clean: + del *.obj + del libbz2.lib + del bzip2.exe + del bzip2recover.exe + del sample1.rb2 + del sample2.rb2 + del sample3.rb2 + del sample1.tst + del sample2.tst + del sample3.tst + +.c.obj: + $(CC) $(CFLAGS) -c $*.c -o $*.obj + diff --git a/plugins/Updater/bzip2-1.0.3/manual.html b/plugins/Updater/bzip2-1.0.3/manual.html new file mode 100644 index 0000000000..f59427f7f0 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/manual.html @@ -0,0 +1,2540 @@ + + + +bzip2 and libbzip2, version 1.0.6 + + + +
+
+
+

+bzip2 and libbzip2, version 1.0.6

+

A program and library for data compression

+
+

+Julian Seward +

+
http://www.bzip.org
+
+

Version 1.0.6 of 6 September 2010

+
+
+

This program, bzip2, the + associated library libbzip2, and + all documentation, are copyright © 1996-2010 Julian Seward. + All rights reserved.

+

Redistribution and use in source and binary forms, with + or without modification, are permitted provided that the + following conditions are met:

+
    +
  • Redistributions of source code must retain the + above copyright notice, this list of conditions and the + following disclaimer.

  • +
  • The origin of this software must not be + misrepresented; you must not claim that you wrote the original + software. If you use this software in a product, an + acknowledgment in the product documentation would be + appreciated but is not required.

  • +
  • Altered source versions must be plainly marked + as such, and must not be misrepresented as being the original + software.

  • +
  • The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission.

  • +
+

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE.

+

PATENTS: To the best of my knowledge, + bzip2 and + libbzip2 do not use any patented + algorithms. However, I do not have the resources to carry + out a patent search. Therefore I cannot give any guarantee of + the above statement. +

+
+
+
+
+ +
+

+1. Introduction

+

bzip2 compresses files +using the Burrows-Wheeler block-sorting text compression +algorithm, and Huffman coding. Compression is generally +considerably better than that achieved by more conventional +LZ77/LZ78-based compressors, and approaches the performance of +the PPM family of statistical compressors.

+

bzip2 is built on top of +libbzip2, a flexible library for +handling compressed data in the +bzip2 format. This manual +describes both how to use the program and how to work with the +library interface. Most of the manual is devoted to this +library, not the program, which is good news if your interest is +only in the program.

+
    +
  • How to use bzip2 describes how to use + bzip2; this is the only part + you need to read if you just want to know how to operate the + program.

  • +
  • Programming with libbzip2 describes the + programming interfaces in detail, and

  • +
  • Miscellanea records some + miscellaneous notes which I thought ought to be recorded + somewhere.

  • +
+
+
+

+2. How to use bzip2

+ +

This chapter contains a copy of the +bzip2 man page, and nothing +else.

+
+

+2.1. NAME

+
    +
  • bzip2, + bunzip2 - a block-sorting file + compressor, v1.0.6

  • +
  • bzcat - + decompresses files to stdout

  • +
  • bzip2recover - + recovers data from damaged bzip2 files

  • +
+
+
+

+2.2. SYNOPSIS

+
    +
  • bzip2 [ + -cdfkqstvzVL123456789 ] [ filenames ... ]

  • +
  • bunzip2 [ + -fkvsVL ] [ filenames ... ]

  • +
  • bzcat [ -s ] [ + filenames ... ]

  • +
  • bzip2recover + filename

  • +
+
+
+

+2.3. DESCRIPTION

+

bzip2 compresses files +using the Burrows-Wheeler block sorting text compression +algorithm, and Huffman coding. Compression is generally +considerably better than that achieved by more conventional +LZ77/LZ78-based compressors, and approaches the performance of +the PPM family of statistical compressors.

+

The command-line options are deliberately very similar to +those of GNU gzip, but they are +not identical.

+

bzip2 expects a list of +file names to accompany the command-line flags. Each file is +replaced by a compressed version of itself, with the name +original_name.bz2. Each +compressed file has the same modification date, permissions, and, +when possible, ownership as the corresponding original, so that +these properties can be correctly restored at decompression time. +File name handling is naive in the sense that there is no +mechanism for preserving original file names, permissions, +ownerships or dates in filesystems which lack these concepts, or +have serious file name length restrictions, such as +MS-DOS.

+

bzip2 and +bunzip2 will by default not +overwrite existing files. If you want this to happen, specify +the -f flag.

+

If no file names are specified, +bzip2 compresses from standard +input to standard output. In this case, +bzip2 will decline to write +compressed output to a terminal, as this would be entirely +incomprehensible and therefore pointless.

+

bunzip2 (or +bzip2 -d) decompresses all +specified files. Files which were not created by +bzip2 will be detected and +ignored, and a warning issued. +bzip2 attempts to guess the +filename for the decompressed file from that of the compressed +file as follows:

+
    +
  • filename.bz2 + becomes + filename

  • +
  • filename.bz + becomes + filename

  • +
  • filename.tbz2 + becomes + filename.tar

  • +
  • filename.tbz + becomes + filename.tar

  • +
  • anyothername + becomes + anyothername.out

  • +
+

If the file does not end in one of the recognised endings, +.bz2, +.bz, +.tbz2 or +.tbz, +bzip2 complains that it cannot +guess the name of the original file, and uses the original name +with .out appended.

+

As with compression, supplying no filenames causes +decompression from standard input to standard output.

+

bunzip2 will correctly +decompress a file which is the concatenation of two or more +compressed files. The result is the concatenation of the +corresponding uncompressed files. Integrity testing +(-t) of concatenated compressed +files is also supported.

+

You can also compress or decompress files to the standard +output by giving the -c flag. +Multiple files may be compressed and decompressed like this. The +resulting outputs are fed sequentially to stdout. Compression of +multiple files in this manner generates a stream containing +multiple compressed file representations. Such a stream can be +decompressed correctly only by +bzip2 version 0.9.0 or later. +Earlier versions of bzip2 will +stop after decompressing the first file in the stream.

+

bzcat (or +bzip2 -dc) decompresses all +specified files to the standard output.

+

bzip2 will read arguments +from the environment variables +BZIP2 and +BZIP, in that order, and will +process them before any arguments read from the command line. +This gives a convenient way to supply default arguments.

+

Compression is always performed, even if the compressed +file is slightly larger than the original. Files of less than +about one hundred bytes tend to get larger, since the compression +mechanism has a constant overhead in the region of 50 bytes. +Random data (including the output of most file compressors) is +coded at about 8.05 bits per byte, giving an expansion of around +0.5%.

+

As a self-check for your protection, +bzip2 uses 32-bit CRCs to make +sure that the decompressed version of a file is identical to the +original. This guards against corruption of the compressed data, +and against undetected bugs in +bzip2 (hopefully very unlikely). +The chances of data corruption going undetected is microscopic, +about one chance in four billion for each file processed. Be +aware, though, that the check occurs upon decompression, so it +can only tell you that something is wrong. It can't help you +recover the original uncompressed data. You can use +bzip2recover to try to recover +data from damaged files.

+

Return values: 0 for a normal exit, 1 for environmental +problems (file not found, invalid flags, I/O errors, etc.), 2 +to indicate a corrupt compressed file, 3 for an internal +consistency error (eg, bug) which caused +bzip2 to panic.

+
+
+

+2.4. OPTIONS

+
+
-c --stdout
+

Compress or decompress to standard + output.

+
-d --decompress
+

Force decompression. + bzip2, + bunzip2 and + bzcat are really the same + program, and the decision about what actions to take is done on + the basis of which name is used. This flag overrides that + mechanism, and forces bzip2 to decompress.

+
-z --compress
+

The complement to + -d: forces compression, + regardless of the invokation name.

+
-t --test
+

Check integrity of the specified file(s), but + don't decompress them. This really performs a trial + decompression and throws away the result.

+
-f --force
+
+

Force overwrite of output files. Normally, + bzip2 will not overwrite + existing output files. Also forces + bzip2 to break hard links to + files, which it otherwise wouldn't do.

+

bzip2 normally declines + to decompress files which don't have the correct magic header + bytes. If forced (-f), + however, it will pass such files through unmodified. This is + how GNU gzip behaves.

+
+
-k --keep
+

Keep (don't delete) input files during + compression or decompression.

+
-s --small
+
+

Reduce memory usage, for compression, + decompression and testing. Files are decompressed and tested + using a modified algorithm which only requires 2.5 bytes per + block byte. This means any file can be decompressed in 2300k + of memory, albeit at about half the normal speed.

+

During compression, -s + selects a block size of 200k, which limits memory use to around + the same figure, at the expense of your compression ratio. In + short, if your machine is low on memory (8 megabytes or less), + use -s for everything. See + MEMORY MANAGEMENT below.

+
+
-q --quiet
+

Suppress non-essential warning messages. + Messages pertaining to I/O errors and other critical events + will not be suppressed.

+
-v --verbose
+

Verbose mode -- show the compression ratio for + each file processed. Further + -v's increase the verbosity + level, spewing out lots of information which is primarily of + interest for diagnostic purposes.

+
-L --license -V --version
+

Display the software version, license terms and + conditions.

+
-1 (or + --fast) to + -9 (or + -best)
+

Set the block size to 100 k, 200 k ... 900 k + when compressing. Has no effect when decompressing. See MEMORY MANAGEMENT below. The + --fast and + --best aliases are primarily + for GNU gzip compatibility. + In particular, --fast doesn't + make things significantly faster. And + --best merely selects the + default behaviour.

+
--
+

Treats all subsequent arguments as file names, + even if they start with a dash. This is so you can handle + files with names beginning with a dash, for example: + bzip2 -- + -myfilename.

+
+--repetitive-fast, --repetitive-best +
+

These flags are redundant in versions 0.9.5 and + above. They provided some coarse control over the behaviour of + the sorting algorithm in earlier versions, which was sometimes + useful. 0.9.5 and above have an improved algorithm which + renders these flags irrelevant.

+
+
+
+

+2.5. MEMORY MANAGEMENT

+

bzip2 compresses large +files in blocks. The block size affects both the compression +ratio achieved, and the amount of memory needed for compression +and decompression. The flags -1 +through -9 specify the block +size to be 100,000 bytes through 900,000 bytes (the default) +respectively. At decompression time, the block size used for +compression is read from the header of the compressed file, and +bunzip2 then allocates itself +just enough memory to decompress the file. Since block sizes are +stored in compressed files, it follows that the flags +-1 to +-9 are irrelevant to and so +ignored during decompression.

+

Compression and decompression requirements, in bytes, can be +estimated as:

+
Compression:   400k + ( 8 x block size )
+
+Decompression: 100k + ( 4 x block size ), or
+               100k + ( 2.5 x block size )
+

Larger block sizes give rapidly diminishing marginal +returns. Most of the compression comes from the first two or +three hundred k of block size, a fact worth bearing in mind when +using bzip2 on small machines. +It is also important to appreciate that the decompression memory +requirement is set at compression time by the choice of block +size.

+

For files compressed with the default 900k block size, +bunzip2 will require about 3700 +kbytes to decompress. To support decompression of any file on a +4 megabyte machine, bunzip2 has +an option to decompress using approximately half this amount of +memory, about 2300 kbytes. Decompression speed is also halved, +so you should use this option only where necessary. The relevant +flag is -s.

+

In general, try and use the largest block size memory +constraints allow, since that maximises the compression achieved. +Compression and decompression speed are virtually unaffected by +block size.

+

Another significant point applies to files which fit in a +single block -- that means most files you'd encounter using a +large block size. The amount of real memory touched is +proportional to the size of the file, since the file is smaller +than a block. For example, compressing a file 20,000 bytes long +with the flag -9 will cause the +compressor to allocate around 7600k of memory, but only touch +400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor +will allocate 3700k but only touch 100k + 20000 * 4 = 180 +kbytes.

+

Here is a table which summarises the maximum memory usage +for different block sizes. Also recorded is the total compressed +size for 14 files of the Calgary Text Compression Corpus +totalling 3,141,622 bytes. This column gives some feel for how +compression varies with block size. These figures tend to +understate the advantage of larger block sizes for larger files, +since the Corpus is dominated by smaller files.

+
        Compress   Decompress   Decompress   Corpus
+Flag     usage      usage       -s usage     Size
+
+ -1      1200k       500k         350k      914704
+ -2      2000k       900k         600k      877703
+ -3      2800k      1300k         850k      860338
+ -4      3600k      1700k        1100k      846899
+ -5      4400k      2100k        1350k      845160
+ -6      5200k      2500k        1600k      838626
+ -7      6100k      2900k        1850k      834096
+ -8      6800k      3300k        2100k      828642
+ -9      7600k      3700k        2350k      828642
+
+
+

+2.6. RECOVERING DATA FROM DAMAGED FILES

+

bzip2 compresses files in +blocks, usually 900kbytes long. Each block is handled +independently. If a media or transmission error causes a +multi-block .bz2 file to become +damaged, it may be possible to recover data from the undamaged +blocks in the file.

+

The compressed representation of each block is delimited by +a 48-bit pattern, which makes it possible to find the block +boundaries with reasonable certainty. Each block also carries +its own 32-bit CRC, so damaged blocks can be distinguished from +undamaged ones.

+

bzip2recover is a simple +program whose purpose is to search for blocks in +.bz2 files, and write each block +out into its own .bz2 file. You +can then use bzip2 -t to test +the integrity of the resulting files, and decompress those which +are undamaged.

+

bzip2recover takes a +single argument, the name of the damaged file, and writes a +number of files rec0001file.bz2, +rec0002file.bz2, etc, containing +the extracted blocks. The output filenames are designed so that +the use of wildcards in subsequent processing -- for example, +bzip2 -dc rec*file.bz2 > +recovered_data -- lists the files in the correct +order.

+

bzip2recover should be of +most use dealing with large .bz2 +files, as these will contain many blocks. It is clearly futile +to use it on damaged single-block files, since a damaged block +cannot be recovered. If you wish to minimise any potential data +loss through media or transmission errors, you might consider +compressing with a smaller block size.

+
+
+

+2.7. PERFORMANCE NOTES

+

The sorting phase of compression gathers together similar +strings in the file. Because of this, files containing very long +runs of repeated symbols, like "aabaabaabaab ..." (repeated +several hundred times) may compress more slowly than normal. +Versions 0.9.5 and above fare much better than previous versions +in this respect. The ratio between worst-case and average-case +compression time is in the region of 10:1. For previous +versions, this figure was more like 100:1. You can use the +-vvvv option to monitor progress +in great detail, if you want.

+

Decompression speed is unaffected by these +phenomena.

+

bzip2 usually allocates +several megabytes of memory to operate in, and then charges all +over it in a fairly random fashion. This means that performance, +both for compressing and decompressing, is largely determined by +the speed at which your machine can service cache misses. +Because of this, small changes to the code to reduce the miss +rate have been observed to give disproportionately large +performance improvements. I imagine +bzip2 will perform best on +machines with very large caches.

+
+
+

+2.8. CAVEATS

+

I/O error messages are not as helpful as they could be. +bzip2 tries hard to detect I/O +errors and exit cleanly, but the details of what the problem is +sometimes seem rather misleading.

+

This manual page pertains to version 1.0.6 of +bzip2. Compressed data created by +this version is entirely forwards and backwards compatible with the +previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0, +1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and +above can correctly decompress multiple concatenated compressed files. +0.1pl2 cannot do this; it will stop after decompressing just the first +file in the stream.

+

bzip2recover versions +prior to 1.0.2 used 32-bit integers to represent bit positions in +compressed files, so it could not handle compressed files more +than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints +on some platforms which support them (GNU supported targets, and +Windows). To establish whether or not +bzip2recover was built with such +a limitation, run it without arguments. In any event you can +build yourself an unlimited version if you can recompile it with +MaybeUInt64 set to be an +unsigned 64-bit integer.

+
+
+

+2.9. AUTHOR

+

Julian Seward, +jseward@bzip.org

+

The ideas embodied in +bzip2 are due to (at least) the +following people: Michael Burrows and David Wheeler (for the +block sorting transformation), David Wheeler (again, for the +Huffman coder), Peter Fenwick (for the structured coding model in +the original bzip, and many +refinements), and Alistair Moffat, Radford Neal and Ian Witten +(for the arithmetic coder in the original +bzip). I am much indebted for +their help, support and advice. See the manual in the source +distribution for pointers to sources of documentation. Christian +von Roques encouraged me to look for faster sorting algorithms, +so as to speed up compression. Bela Lubkin encouraged me to +improve the worst-case compression performance. +Donna Robinson XMLised the documentation. +Many people sent +patches, helped with portability problems, lent machines, gave +advice and were generally helpful.

+
+
+
+

+3.  +Programming with libbzip2 +

+ +

This chapter describes the programming interface to +libbzip2.

+

For general background information, particularly about +memory use and performance aspects, you'd be well advised to read +How to use bzip2 as well.

+
+

+3.1. Top-level structure

+

libbzip2 is a flexible +library for compressing and decompressing data in the +bzip2 data format. Although +packaged as a single entity, it helps to regard the library as +three separate parts: the low level interface, and the high level +interface, and some utility functions.

+

The structure of +libbzip2's interfaces is similar +to that of Jean-loup Gailly's and Mark Adler's excellent +zlib library.

+

All externally visible symbols have names beginning +BZ2_. This is new in version +1.0. The intention is to minimise pollution of the namespaces of +library clients.

+

To use any part of the library, you need to +#include <bzlib.h> +into your sources.

+
+

+3.1.1. Low-level summary

+

This interface provides services for compressing and +decompressing data in memory. There's no provision for dealing +with files, streams or any other I/O mechanisms, just straight +memory-to-memory work. In fact, this part of the library can be +compiled without inclusion of +stdio.h, which may be helpful +for embedded applications.

+

The low-level part of the library has no global variables +and is therefore thread-safe.

+

Six routines make up the low level interface: +BZ2_bzCompressInit, +BZ2_bzCompress, and +BZ2_bzCompressEnd for +compression, and a corresponding trio +BZ2_bzDecompressInit, +BZ2_bzDecompress and +BZ2_bzDecompressEnd for +decompression. The *Init +functions allocate memory for compression/decompression and do +other initialisations, whilst the +*End functions close down +operations and release memory.

+

The real work is done by +BZ2_bzCompress and +BZ2_bzDecompress. These +compress and decompress data from a user-supplied input buffer to +a user-supplied output buffer. These buffers can be any size; +arbitrary quantities of data are handled by making repeated calls +to these functions. This is a flexible mechanism allowing a +consumer-pull style of activity, or producer-push, or a mixture +of both.

+
+
+

+3.1.2. High-level summary

+

This interface provides some handy wrappers around the +low-level interface to facilitate reading and writing +bzip2 format files +(.bz2 files). The routines +provide hooks to facilitate reading files in which the +bzip2 data stream is embedded +within some larger-scale file structure, or where there are +multiple bzip2 data streams +concatenated end-to-end.

+

For reading files, +BZ2_bzReadOpen, +BZ2_bzRead, +BZ2_bzReadClose and +BZ2_bzReadGetUnused are +supplied. For writing files, +BZ2_bzWriteOpen, +BZ2_bzWrite and +BZ2_bzWriteFinish are +available.

+

As with the low-level library, no global variables are used +so the library is per se thread-safe. However, if I/O errors +occur whilst reading or writing the underlying compressed files, +you may have to consult errno to +determine the cause of the error. In that case, you'd need a C +library which correctly supports +errno in a multithreaded +environment.

+

To make the library a little simpler and more portable, +BZ2_bzReadOpen and +BZ2_bzWriteOpen require you to +pass them file handles (FILE*s) +which have previously been opened for reading or writing +respectively. That avoids portability problems associated with +file operations and file attributes, whilst not being much of an +imposition on the programmer.

+
+
+

+3.1.3. Utility functions summary

+

For very simple needs, +BZ2_bzBuffToBuffCompress and +BZ2_bzBuffToBuffDecompress are +provided. These compress data in memory from one buffer to +another buffer in a single function call. You should assess +whether these functions fulfill your memory-to-memory +compression/decompression requirements before investing effort in +understanding the more general but more complex low-level +interface.

+

Yoshioka Tsuneo +(tsuneo@rr.iij4u.or.jp) has +contributed some functions to give better +zlib compatibility. These +functions are BZ2_bzopen, +BZ2_bzread, +BZ2_bzwrite, +BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and +BZ2_bzlibVersion. You may find +these functions more convenient for simple file reading and +writing, than those in the high-level interface. These functions +are not (yet) officially part of the library, and are minimally +documented here. If they break, you get to keep all the pieces. +I hope to document them properly when time permits.

+

Yoshioka also contributed modifications to allow the +library to be built as a Windows DLL.

+
+
+
+

+3.2. Error handling

+

The library is designed to recover cleanly in all +situations, including the worst-case situation of decompressing +random data. I'm not 100% sure that it can always do this, so +you might want to add a signal handler to catch segmentation +violations during decompression if you are feeling especially +paranoid. I would be interested in hearing more about the +robustness of the library to corrupted compressed data.

+

Version 1.0.3 more robust in this respect than any +previous version. Investigations with Valgrind (a tool for detecting +problems with memory management) indicate +that, at least for the few files I tested, all single-bit errors +in the decompressed data are caught properly, with no +segmentation faults, no uses of uninitialised data, no out of +range reads or writes, and no infinite looping in the decompressor. +So it's certainly pretty robust, although +I wouldn't claim it to be totally bombproof.

+

The file bzlib.h contains +all definitions needed to use the library. In particular, you +should definitely not include +bzlib_private.h.

+

In bzlib.h, the various +return values are defined. The following list is not intended as +an exhaustive description of the circumstances in which a given +value may be returned -- those descriptions are given later. +Rather, it is intended to convey the rough meaning of each return +value. The first five actions are normal and not intended to +denote an error situation.

+
+
BZ_OK
+

The requested action was completed + successfully.

+
BZ_RUN_OK, BZ_FLUSH_OK, + BZ_FINISH_OK
+

In + BZ2_bzCompress, the requested + flush/finish/nothing-special action was completed + successfully.

+
BZ_STREAM_END
+

Compression of data was completed, or the + logical stream end was detected during + decompression.

+
+

The following return values indicate an error of some +kind.

+
+
BZ_CONFIG_ERROR
+

Indicates that the library has been improperly + compiled on your platform -- a major configuration error. + Specifically, it means that + sizeof(char), + sizeof(short) and + sizeof(int) are not 1, 2 and + 4 respectively, as they should be. Note that the library + should still work properly on 64-bit platforms which follow + the LP64 programming model -- that is, where + sizeof(long) and + sizeof(void*) are 8. Under + LP64, sizeof(int) is still 4, + so libbzip2, which doesn't + use the long type, is + OK.

+
BZ_SEQUENCE_ERROR
+

When using the library, it is important to call + the functions in the correct sequence and with data structures + (buffers etc) in the correct states. + libbzip2 checks as much as it + can to ensure this is happening, and returns + BZ_SEQUENCE_ERROR if not. + Code which complies precisely with the function semantics, as + detailed below, should never receive this value; such an event + denotes buggy code which you should + investigate.

+
BZ_PARAM_ERROR
+

Returned when a parameter to a function call is + out of range or otherwise manifestly incorrect. As with + BZ_SEQUENCE_ERROR, this + denotes a bug in the client code. The distinction between + BZ_PARAM_ERROR and + BZ_SEQUENCE_ERROR is a bit + hazy, but still worth making.

+
BZ_MEM_ERROR
+

Returned when a request to allocate memory + failed. Note that the quantity of memory needed to decompress + a stream cannot be determined until the stream's header has + been read. So + BZ2_bzDecompress and + BZ2_bzRead may return + BZ_MEM_ERROR even though some + of the compressed data has been read. The same is not true + for compression; once + BZ2_bzCompressInit or + BZ2_bzWriteOpen have + successfully completed, + BZ_MEM_ERROR cannot + occur.

+
BZ_DATA_ERROR
+

Returned when a data integrity error is + detected during decompression. Most importantly, this means + when stored and computed CRCs for the data do not match. This + value is also returned upon detection of any other anomaly in + the compressed data.

+
BZ_DATA_ERROR_MAGIC
+

As a special case of + BZ_DATA_ERROR, it is + sometimes useful to know when the compressed stream does not + start with the correct magic bytes ('B' 'Z' + 'h').

+
BZ_IO_ERROR
+

Returned by + BZ2_bzRead and + BZ2_bzWrite when there is an + error reading or writing in the compressed file, and by + BZ2_bzReadOpen and + BZ2_bzWriteOpen for attempts + to use a file for which the error indicator (viz, + ferror(f)) is set. On + receipt of BZ_IO_ERROR, the + caller should consult errno + and/or perror to acquire + operating-system specific information about the + problem.

+
BZ_UNEXPECTED_EOF
+

Returned by + BZ2_bzRead when the + compressed file finishes before the logical end of stream is + detected.

+
BZ_OUTBUFF_FULL
+

Returned by + BZ2_bzBuffToBuffCompress and + BZ2_bzBuffToBuffDecompress to + indicate that the output data will not fit into the output + buffer provided.

+
+
+
+

+3.3. Low-level interface

+
+

+3.3.1. BZ2_bzCompressInit

+
typedef struct {
+  char *next_in;
+  unsigned int avail_in;
+  unsigned int total_in_lo32;
+  unsigned int total_in_hi32;
+
+  char *next_out;
+  unsigned int avail_out;
+  unsigned int total_out_lo32;
+  unsigned int total_out_hi32;
+
+  void *state;
+
+  void *(*bzalloc)(void *,int,int);
+  void (*bzfree)(void *,void *);
+  void *opaque;
+} bz_stream;
+
+int BZ2_bzCompressInit ( bz_stream *strm, 
+                         int blockSize100k, 
+                         int verbosity,
+                         int workFactor );
+

Prepares for compression. The +bz_stream structure holds all +data pertaining to the compression activity. A +bz_stream structure should be +allocated and initialised prior to the call. The fields of +bz_stream comprise the entirety +of the user-visible data. state +is a pointer to the private data structures required for +compression.

+

Custom memory allocators are supported, via fields +bzalloc, +bzfree, and +opaque. The value +opaque is passed to as the first +argument to all calls to bzalloc +and bzfree, but is otherwise +ignored by the library. The call bzalloc ( +opaque, n, m ) is expected to return a pointer +p to n * +m bytes of memory, and bzfree ( +opaque, p ) should free that memory.

+

If you don't want to use a custom memory allocator, set +bzalloc, +bzfree and +opaque to +NULL, and the library will then +use the standard malloc / +free routines.

+

Before calling +BZ2_bzCompressInit, fields +bzalloc, +bzfree and +opaque should be filled +appropriately, as just described. Upon return, the internal +state will have been allocated and initialised, and +total_in_lo32, +total_in_hi32, +total_out_lo32 and +total_out_hi32 will have been +set to zero. These four fields are used by the library to inform +the caller of the total amount of data passed into and out of the +library, respectively. You should not try to change them. As of +version 1.0, 64-bit counts are maintained, even on 32-bit +platforms, using the _hi32 +fields to store the upper 32 bits of the count. So, for example, +the total amount of data in is (total_in_hi32 +<< 32) + total_in_lo32.

+

Parameter blockSize100k +specifies the block size to be used for compression. It should +be a value between 1 and 9 inclusive, and the actual block size +used is 100000 x this figure. 9 gives the best compression but +takes most memory.

+

Parameter verbosity should +be set to a number between 0 and 4 inclusive. 0 is silent, and +greater numbers give increasingly verbose monitoring/debugging +output. If the library has been compiled with +-DBZ_NO_STDIO, no such output +will appear for any verbosity setting.

+

Parameter workFactor +controls how the compression phase behaves when presented with +worst case, highly repetitive, input data. If compression runs +into difficulties caused by repetitive data, the library switches +from the standard sorting algorithm to a fallback algorithm. The +fallback is slower than the standard algorithm by perhaps a +factor of three, but always behaves reasonably, no matter how bad +the input.

+

Lower values of workFactor +reduce the amount of effort the standard algorithm will expend +before resorting to the fallback. You should set this parameter +carefully; too low, and many inputs will be handled by the +fallback algorithm and so compress rather slowly, too high, and +your average-to-worst case compression times can become very +large. The default value of 30 gives reasonable behaviour over a +wide range of circumstances.

+

Allowable values range from 0 to 250 inclusive. 0 is a +special case, equivalent to using the default value of 30.

+

Note that the compressed output generated is the same +regardless of whether or not the fallback algorithm is +used.

+

Be aware also that this parameter may disappear entirely in +future versions of the library. In principle it should be +possible to devise a good way to automatically choose which +algorithm to use. Such a mechanism would render the parameter +obsolete.

+

Possible return values:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if strm is NULL 
+  or blockSize < 1 or blockSize > 9
+  or verbosity < 0 or verbosity > 4
+  or workFactor < 0 or workFactor > 250
+BZ_MEM_ERROR 
+  if not enough memory is available
+BZ_OK 
+  otherwise
+

Allowable next actions:

+
BZ2_bzCompress
+  if BZ_OK is returned
+  no specific action needed in case of error
+
+
+

+3.3.2. BZ2_bzCompress

+
int BZ2_bzCompress ( bz_stream *strm, int action );
+

Provides more input and/or output buffer space for the +library. The caller maintains input and output buffers, and +calls BZ2_bzCompress to transfer +data between them.

+

Before each call to +BZ2_bzCompress, +next_in should point at the data +to be compressed, and avail_in +should indicate how many bytes the library may read. +BZ2_bzCompress updates +next_in, +avail_in and +total_in to reflect the number +of bytes it has read.

+

Similarly, next_out should +point to a buffer in which the compressed data is to be placed, +with avail_out indicating how +much output space is available. +BZ2_bzCompress updates +next_out, +avail_out and +total_out to reflect the number +of bytes output.

+

You may provide and remove as little or as much data as you +like on each call of +BZ2_bzCompress. In the limit, +it is acceptable to supply and remove data one byte at a time, +although this would be terribly inefficient. You should always +ensure that at least one byte of output space is available at +each call.

+

A second purpose of +BZ2_bzCompress is to request a +change of mode of the compressed stream.

+

Conceptually, a compressed stream can be in one of four +states: IDLE, RUNNING, FLUSHING and FINISHING. Before +initialisation +(BZ2_bzCompressInit) and after +termination (BZ2_bzCompressEnd), +a stream is regarded as IDLE.

+

Upon initialisation +(BZ2_bzCompressInit), the stream +is placed in the RUNNING state. Subsequent calls to +BZ2_bzCompress should pass +BZ_RUN as the requested action; +other actions are illegal and will result in +BZ_SEQUENCE_ERROR.

+

At some point, the calling program will have provided all +the input data it wants to. It will then want to finish up -- in +effect, asking the library to process any data it might have +buffered internally. In this state, +BZ2_bzCompress will no longer +attempt to read data from +next_in, but it will want to +write data to next_out. Because +the output buffer supplied by the user can be arbitrarily small, +the finishing-up operation cannot necessarily be done with a +single call of +BZ2_bzCompress.

+

Instead, the calling program passes +BZ_FINISH as an action to +BZ2_bzCompress. This changes +the stream's state to FINISHING. Any remaining input (ie, +next_in[0 .. avail_in-1]) is +compressed and transferred to the output buffer. To do this, +BZ2_bzCompress must be called +repeatedly until all the output has been consumed. At that +point, BZ2_bzCompress returns +BZ_STREAM_END, and the stream's +state is set back to IDLE. +BZ2_bzCompressEnd should then be +called.

+

Just to make sure the calling program does not cheat, the +library makes a note of avail_in +at the time of the first call to +BZ2_bzCompress which has +BZ_FINISH as an action (ie, at +the time the program has announced its intention to not supply +any more input). By comparing this value with that of +avail_in over subsequent calls +to BZ2_bzCompress, the library +can detect any attempts to slip in more data to compress. Any +calls for which this is detected will return +BZ_SEQUENCE_ERROR. This +indicates a programming mistake which should be corrected.

+

Instead of asking to finish, the calling program may ask +BZ2_bzCompress to take all the +remaining input, compress it and terminate the current +(Burrows-Wheeler) compression block. This could be useful for +error control purposes. The mechanism is analogous to that for +finishing: call BZ2_bzCompress +with an action of BZ_FLUSH, +remove output data, and persist with the +BZ_FLUSH action until the value +BZ_RUN is returned. As with +finishing, BZ2_bzCompress +detects any attempt to provide more input data once the flush has +begun.

+

Once the flush is complete, the stream returns to the +normal RUNNING state.

+

This all sounds pretty complex, but isn't really. Here's a +table which shows which actions are allowable in each state, what +action will be taken, what the next state is, and what the +non-error return values are. Note that you can't explicitly ask +what state the stream is in, but nor do you need to -- it can be +inferred from the values returned by +BZ2_bzCompress.

+
IDLE/any
+  Illegal.  IDLE state only exists after BZ2_bzCompressEnd or
+  before BZ2_bzCompressInit.
+  Return value = BZ_SEQUENCE_ERROR
+
+RUNNING/BZ_RUN
+  Compress from next_in to next_out as much as possible.
+  Next state = RUNNING
+  Return value = BZ_RUN_OK
+
+RUNNING/BZ_FLUSH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FLUSHING
+  Return value = BZ_FLUSH_OK
+
+RUNNING/BZ_FINISH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FINISHING
+  Return value = BZ_FINISH_OK
+
+FLUSHING/BZ_FLUSH
+  Compress from next_in to next_out as much as possible, 
+  but do not accept any more input.
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = RUNNING; Return value = BZ_RUN_OK
+  else
+    Next state = FLUSHING; Return value = BZ_FLUSH_OK
+
+FLUSHING/other     
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR
+
+FINISHING/BZ_FINISH
+  Compress from next_in to next_out as much as possible,
+  but to not accept any more input.  
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = IDLE; Return value = BZ_STREAM_END
+  else
+    Next state = FINISHING; Return value = BZ_FINISH_OK
+
+FINISHING/other
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR
+

That still looks complicated? Well, fair enough. The +usual sequence of calls for compressing a load of data is:

+
    +
  1. Get started with + BZ2_bzCompressInit.

  2. +
  3. Shovel data in and shlurp out its compressed form + using zero or more calls of + BZ2_bzCompress with action = + BZ_RUN.

  4. +
  5. Finish up. Repeatedly call + BZ2_bzCompress with action = + BZ_FINISH, copying out the + compressed output, until + BZ_STREAM_END is + returned.

  6. +
  7. Close up and go home. Call + BZ2_bzCompressEnd.

  8. +
+

If the data you want to compress fits into your input +buffer all at once, you can skip the calls of +BZ2_bzCompress ( ..., BZ_RUN ) +and just do the BZ2_bzCompress ( ..., BZ_FINISH +) calls.

+

All required memory is allocated by +BZ2_bzCompressInit. The +compression library can accept any data at all (obviously). So +you shouldn't get any error return values from the +BZ2_bzCompress calls. If you +do, they will be +BZ_SEQUENCE_ERROR, and indicate +a bug in your programming.

+

Trivial other possible return values:

+
BZ_PARAM_ERROR
+  if strm is NULL, or strm->s is NULL
+
+
+

+3.3.3. BZ2_bzCompressEnd

+
int BZ2_bzCompressEnd ( bz_stream *strm );
+

Releases all memory associated with a compression +stream.

+

Possible return values:

+
BZ_PARAM_ERROR  if strm is NULL or strm->s is NULL
+BZ_OK           otherwise
+
+
+

+3.3.4. BZ2_bzDecompressInit

+
int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
+

Prepares for decompression. As with +BZ2_bzCompressInit, a +bz_stream record should be +allocated and initialised before the call. Fields +bzalloc, +bzfree and +opaque should be set if a custom +memory allocator is required, or made +NULL for the normal +malloc / +free routines. Upon return, the +internal state will have been initialised, and +total_in and +total_out will be zero.

+

For the meaning of parameter +verbosity, see +BZ2_bzCompressInit.

+

If small is nonzero, the +library will use an alternative decompression algorithm which +uses less memory but at the cost of decompressing more slowly +(roughly speaking, half the speed, but the maximum memory +requirement drops to around 2300k). See How to use bzip2 +for more information on memory management.

+

Note that the amount of memory needed to decompress a +stream cannot be determined until the stream's header has been +read, so even if +BZ2_bzDecompressInit succeeds, a +subsequent BZ2_bzDecompress +could fail with +BZ_MEM_ERROR.

+

Possible return values:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if ( small != 0 && small != 1 )
+  or (verbosity <; 0 || verbosity > 4)
+BZ_MEM_ERROR
+  if insufficient memory is available
+

Allowable next actions:

+
BZ2_bzDecompress
+  if BZ_OK was returned
+  no specific action required in case of error
+
+
+

+3.3.5. BZ2_bzDecompress

+
int BZ2_bzDecompress ( bz_stream *strm );
+

Provides more input and/out output buffer space for the +library. The caller maintains input and output buffers, and uses +BZ2_bzDecompress to transfer +data between them.

+

Before each call to +BZ2_bzDecompress, +next_in should point at the +compressed data, and avail_in +should indicate how many bytes the library may read. +BZ2_bzDecompress updates +next_in, +avail_in and +total_in to reflect the number +of bytes it has read.

+

Similarly, next_out should +point to a buffer in which the uncompressed output is to be +placed, with avail_out +indicating how much output space is available. +BZ2_bzCompress updates +next_out, +avail_out and +total_out to reflect the number +of bytes output.

+

You may provide and remove as little or as much data as you +like on each call of +BZ2_bzDecompress. In the limit, +it is acceptable to supply and remove data one byte at a time, +although this would be terribly inefficient. You should always +ensure that at least one byte of output space is available at +each call.

+

Use of BZ2_bzDecompress is +simpler than +BZ2_bzCompress.

+

You should provide input and remove output as described +above, and repeatedly call +BZ2_bzDecompress until +BZ_STREAM_END is returned. +Appearance of BZ_STREAM_END +denotes that BZ2_bzDecompress +has detected the logical end of the compressed stream. +BZ2_bzDecompress will not +produce BZ_STREAM_END until all +output data has been placed into the output buffer, so once +BZ_STREAM_END appears, you are +guaranteed to have available all the decompressed output, and +BZ2_bzDecompressEnd can safely +be called.

+

If case of an error return value, you should call +BZ2_bzDecompressEnd to clean up +and release memory.

+

Possible return values:

+
BZ_PARAM_ERROR
+  if strm is NULL or strm->s is NULL
+  or strm->avail_out < 1
+BZ_DATA_ERROR
+  if a data integrity error is detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the compressed stream doesn't begin with the right magic bytes
+BZ_MEM_ERROR
+  if there wasn't enough memory available
+BZ_STREAM_END
+  if the logical end of the data stream was detected and all
+  output in has been consumed, eg s-->avail_out > 0
+BZ_OK
+  otherwise
+

Allowable next actions:

+
BZ2_bzDecompress
+  if BZ_OK was returned
+BZ2_bzDecompressEnd
+  otherwise
+
+
+

+3.3.6. BZ2_bzDecompressEnd

+
int BZ2_bzDecompressEnd ( bz_stream *strm );
+

Releases all memory associated with a decompression +stream.

+

Possible return values:

+
BZ_PARAM_ERROR
+  if strm is NULL or strm->s is NULL
+BZ_OK
+  otherwise
+

Allowable next actions:

+
  None.
+
+
+
+

+3.4. High-level interface

+

This interface provides functions for reading and writing +bzip2 format files. First, some +general points.

+
    +
  • All of the functions take an + int* first argument, + bzerror. After each call, + bzerror should be consulted + first to determine the outcome of the call. If + bzerror is + BZ_OK, the call completed + successfully, and only then should the return value of the + function (if any) be consulted. If + bzerror is + BZ_IO_ERROR, there was an + error reading/writing the underlying compressed file, and you + should then consult errno / + perror to determine the cause + of the difficulty. bzerror + may also be set to various other values; precise details are + given on a per-function basis below.

  • +
  • If bzerror indicates + an error (ie, anything except + BZ_OK and + BZ_STREAM_END), you should + immediately call + BZ2_bzReadClose (or + BZ2_bzWriteClose, depending on + whether you are attempting to read or to write) to free up all + resources associated with the stream. Once an error has been + indicated, behaviour of all calls except + BZ2_bzReadClose + (BZ2_bzWriteClose) is + undefined. The implication is that (1) + bzerror should be checked + after each call, and (2) if + bzerror indicates an error, + BZ2_bzReadClose + (BZ2_bzWriteClose) should then + be called to clean up.

  • +
  • The FILE* arguments + passed to BZ2_bzReadOpen / + BZ2_bzWriteOpen should be set + to binary mode. Most Unix systems will do this by default, but + other platforms, including Windows and Mac, will not. If you + omit this, you may encounter problems when moving code to new + platforms.

  • +
  • Memory allocation requests are handled by + malloc / + free. At present there is no + facility for user-defined memory allocators in the file I/O + functions (could easily be added, though).

  • +
+
+

+3.4.1. BZ2_bzReadOpen

+
typedef void BZFILE;
+
+BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f, 
+                        int verbosity, int small,
+                        void *unused, int nUnused );
+

Prepare to read compressed data from file handle +f. +f should refer to a file which +has been opened for reading, and for which the error indicator +(ferror(f))is not set. If +small is 1, the library will try +to decompress using less memory, at the expense of speed.

+

For reasons explained below, +BZ2_bzRead will decompress the +nUnused bytes starting at +unused, before starting to read +from the file f. At most +BZ_MAX_UNUSED bytes may be +supplied like this. If this facility is not required, you should +pass NULL and +0 for +unused and +nUnused respectively.

+

For the meaning of parameters +small and +verbosity, see +BZ2_bzDecompressInit.

+

The amount of memory needed to decompress a file cannot be +determined until the file's header has been read. So it is +possible that BZ2_bzReadOpen +returns BZ_OK but a subsequent +call of BZ2_bzRead will return +BZ_MEM_ERROR.

+

Possible assignments to +bzerror:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or small is neither 0 nor 1
+  or ( unused == NULL && nUnused != 0 )
+  or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise.
+

Possible return values:

+
Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise
+

Allowable next actions:

+
BZ2_bzRead
+  if bzerror is BZ_OK
+BZ2_bzClose
+  otherwise
+
+
+

+3.4.2. BZ2_bzRead

+
int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
+

Reads up to len +(uncompressed) bytes from the compressed file +b into the buffer +buf. If the read was +successful, bzerror is set to +BZ_OK and the number of bytes +read is returned. If the logical end-of-stream was detected, +bzerror will be set to +BZ_STREAM_END, and the number of +bytes read is returned. All other +bzerror values denote an +error.

+

BZ2_bzRead will supply +len bytes, unless the logical +stream end is detected or an error occurs. Because of this, it +is possible to detect the stream end by observing when the number +of bytes returned is less than the number requested. +Nevertheless, this is regarded as inadvisable; you should instead +check bzerror after every call +and watch out for +BZ_STREAM_END.

+

Internally, BZ2_bzRead +copies data from the compressed file in chunks of size +BZ_MAX_UNUSED bytes before +decompressing it. If the file contains more bytes than strictly +needed to reach the logical end-of-stream, +BZ2_bzRead will almost certainly +read some of the trailing data before signalling +BZ_SEQUENCE_END. To collect the +read but unused data once +BZ_SEQUENCE_END has appeared, +call BZ2_bzReadGetUnused +immediately before +BZ2_bzReadClose.

+

Possible assignments to +bzerror:

+
BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len < 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzWriteOpen
+BZ_IO_ERROR
+  if there is an error reading from the compressed file
+BZ_UNEXPECTED_EOF
+  if the compressed file ended before 
+  the logical end-of-stream was detected
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the stream does not begin with the requisite header bytes 
+  (ie, is not a bzip2 data file).  This is really 
+  a special case of BZ_DATA_ERROR.
+BZ_MEM_ERROR
+  if insufficient memory was available
+BZ_STREAM_END
+  if the logical end of stream was detected.
+BZ_OK
+  otherwise.
+

Possible return values:

+
number of bytes read
+  if bzerror is BZ_OK or BZ_STREAM_END
+undefined
+  otherwise
+

Allowable next actions:

+
collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
+  if bzerror is BZ_OK
+collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
+  if bzerror is BZ_SEQUENCE_END
+BZ2_bzReadClose
+  otherwise
+
+
+

+3.4.3. BZ2_bzReadGetUnused

+
void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, 
+                          void** unused, int* nUnused );
+

Returns data which was read from the compressed file but +was not needed to get to the logical end-of-stream. +*unused is set to the address of +the data, and *nUnused to the +number of bytes. *nUnused will +be set to a value between 0 and +BZ_MAX_UNUSED inclusive.

+

This function may only be called once +BZ2_bzRead has signalled +BZ_STREAM_END but before +BZ2_bzReadClose.

+

Possible assignments to +bzerror:

+
BZ_PARAM_ERROR
+  if b is NULL
+  or unused is NULL or nUnused is NULL
+BZ_SEQUENCE_ERROR
+  if BZ_STREAM_END has not been signalled
+  or if b was opened with BZ2_bzWriteOpen
+BZ_OK
+  otherwise
+

Allowable next actions:

+
BZ2_bzReadClose
+
+
+

+3.4.4. BZ2_bzReadClose

+
void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
+

Releases all memory pertaining to the compressed file +b. +BZ2_bzReadClose does not call +fclose on the underlying file +handle, so you should do that yourself if appropriate. +BZ2_bzReadClose should be called +to clean up after all error situations.

+

Possible assignments to +bzerror:

+
BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzOpenWrite
+BZ_OK
+  otherwise
+

Allowable next actions:

+
none
+
+
+

+3.4.5. BZ2_bzWriteOpen

+
BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, 
+                         int blockSize100k, int verbosity,
+                         int workFactor );
+

Prepare to write compressed data to file handle +f. +f should refer to a file which +has been opened for writing, and for which the error indicator +(ferror(f))is not set.

+

For the meaning of parameters +blockSize100k, +verbosity and +workFactor, see +BZ2_bzCompressInit.

+

All required memory is allocated at this stage, so if the +call completes successfully, +BZ_MEM_ERROR cannot be signalled +by a subsequent call to +BZ2_bzWrite.

+

Possible assignments to +bzerror:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or blockSize100k < 1 or blockSize100k > 9
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise
+

Possible return values:

+
Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise
+

Allowable next actions:

+
BZ2_bzWrite
+  if bzerror is BZ_OK
+  (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
+BZ2_bzWriteClose
+  otherwise
+
+
+

+3.4.6. BZ2_bzWrite

+
void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
+

Absorbs len bytes from the +buffer buf, eventually to be +compressed and written to the file.

+

Possible assignments to +bzerror:

+
BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len < 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file.
+BZ_OK
+  otherwise
+
+
+

+3.4.7. BZ2_bzWriteClose

+
void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
+                       int abandon,
+                       unsigned int* nbytes_in,
+                       unsigned int* nbytes_out );
+
+void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
+                         int abandon,
+                         unsigned int* nbytes_in_lo32,
+                         unsigned int* nbytes_in_hi32,
+                         unsigned int* nbytes_out_lo32,
+                         unsigned int* nbytes_out_hi32 );
+

Compresses and flushes to the compressed file all data so +far supplied by BZ2_bzWrite. +The logical end-of-stream markers are also written, so subsequent +calls to BZ2_bzWrite are +illegal. All memory associated with the compressed file +b is released. +fflush is called on the +compressed file, but it is not +fclose'd.

+

If BZ2_bzWriteClose is +called to clean up after an error, the only action is to release +the memory. The library records the error codes issued by +previous calls, so this situation will be detected automatically. +There is no attempt to complete the compression operation, nor to +fflush the compressed file. You +can force this behaviour to happen even in the case of no error, +by passing a nonzero value to +abandon.

+

If nbytes_in is non-null, +*nbytes_in will be set to be the +total volume of uncompressed data handled. Similarly, +nbytes_out will be set to the +total volume of compressed data written. For compatibility with +older versions of the library, +BZ2_bzWriteClose only yields the +lower 32 bits of these counts. Use +BZ2_bzWriteClose64 if you want +the full 64 bit counts. These two functions are otherwise +absolutely identical.

+

Possible assignments to +bzerror:

+
BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file
+BZ_OK
+  otherwise
+
+
+

+3.4.8. Handling embedded compressed data streams

+

The high-level library facilitates use of +bzip2 data streams which form +some part of a surrounding, larger data stream.

+
    +
  • For writing, the library takes an open file handle, + writes compressed data to it, + fflushes it but does not + fclose it. The calling + application can write its own data before and after the + compressed data stream, using that same file handle.

  • +
  • Reading is more complex, and the facilities are not as + general as they could be since generality is hard to reconcile + with efficiency. BZ2_bzRead + reads from the compressed file in blocks of size + BZ_MAX_UNUSED bytes, and in + doing so probably will overshoot the logical end of compressed + stream. To recover this data once decompression has ended, + call BZ2_bzReadGetUnused after + the last call of BZ2_bzRead + (the one returning + BZ_STREAM_END) but before + calling + BZ2_bzReadClose.

  • +
+

This mechanism makes it easy to decompress multiple +bzip2 streams placed end-to-end. +As the end of one stream, when +BZ2_bzRead returns +BZ_STREAM_END, call +BZ2_bzReadGetUnused to collect +the unused data (copy it into your own buffer somewhere). That +data forms the start of the next compressed stream. To start +uncompressing that next stream, call +BZ2_bzReadOpen again, feeding in +the unused data via the unused / +nUnused parameters. Keep doing +this until BZ_STREAM_END return +coincides with the physical end of file +(feof(f)). In this situation +BZ2_bzReadGetUnused will of +course return no data.

+

This should give some feel for how the high-level interface +can be used. If you require extra flexibility, you'll have to +bite the bullet and get to grips with the low-level +interface.

+
+
+

+3.4.9. Standard file-reading/writing code

+

Here's how you'd write data to a compressed file:

+
FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "w" );
+if ( !f ) {
+ /* handle error */
+}
+b = BZ2_bzWriteOpen( &bzerror, f, 9 );
+if (bzerror != BZ_OK) {
+ BZ2_bzWriteClose ( b );
+ /* handle error */
+}
+
+while ( /* condition */ ) {
+ /* get data to write into buf, and set nBuf appropriately */
+ nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
+ if (bzerror == BZ_IO_ERROR) { 
+   BZ2_bzWriteClose ( &bzerror, b );
+   /* handle error */
+ }
+}
+
+BZ2_bzWriteClose( &bzerror, b );
+if (bzerror == BZ_IO_ERROR) {
+ /* handle error */
+}
+

And to read from a compressed file:

+
FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "r" );
+if ( !f ) {
+  /* handle error */
+}
+b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
+if ( bzerror != BZ_OK ) {
+  BZ2_bzReadClose ( &bzerror, b );
+  /* handle error */
+}
+
+bzerror = BZ_OK;
+while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
+  nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
+  if ( bzerror == BZ_OK ) {
+    /* do something with buf[0 .. nBuf-1] */
+  }
+}
+if ( bzerror != BZ_STREAM_END ) {
+   BZ2_bzReadClose ( &bzerror, b );
+   /* handle error */
+} else {
+   BZ2_bzReadClose ( &bzerror, b );
+}
+
+
+
+

+3.5. Utility functions

+
+

+3.5.1. BZ2_bzBuffToBuffCompress

+
int BZ2_bzBuffToBuffCompress( char*         dest,
+                              unsigned int* destLen,
+                              char*         source,
+                              unsigned int  sourceLen,
+                              int           blockSize100k,
+                              int           verbosity,
+                              int           workFactor );
+

Attempts to compress the data in source[0 +.. sourceLen-1] into the destination buffer, +dest[0 .. *destLen-1]. If the +destination buffer is big enough, +*destLen is set to the size of +the compressed data, and BZ_OK +is returned. If the compressed data won't fit, +*destLen is unchanged, and +BZ_OUTBUFF_FULL is +returned.

+

Compression in this manner is a one-shot event, done with a +single call to this function. The resulting compressed data is a +complete bzip2 format data +stream. There is no mechanism for making additional calls to +provide extra input data. If you want that kind of mechanism, +use the low-level interface.

+

For the meaning of parameters +blockSize100k, +verbosity and +workFactor, see +BZ2_bzCompressInit.

+

To guarantee that the compressed data will fit in its +buffer, allocate an output buffer of size 1% larger than the +uncompressed data, plus six hundred extra bytes.

+

BZ2_bzBuffToBuffDecompress +will not write data at or beyond +dest[*destLen], even in case of +buffer overflow.

+

Possible return values:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or blockSize100k < 1 or blockSize100k > 9
+  or verbosity < 0 or verbosity > 4
+  or workFactor < 0 or workFactor > 250
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_OK
+  otherwise
+
+
+

+3.5.2. BZ2_bzBuffToBuffDecompress

+
int BZ2_bzBuffToBuffDecompress( char*         dest,
+                                unsigned int* destLen,
+                                char*         source,
+                                unsigned int  sourceLen,
+                                int           small,
+                                int           verbosity );
+

Attempts to decompress the data in source[0 +.. sourceLen-1] into the destination buffer, +dest[0 .. *destLen-1]. If the +destination buffer is big enough, +*destLen is set to the size of +the uncompressed data, and BZ_OK +is returned. If the compressed data won't fit, +*destLen is unchanged, and +BZ_OUTBUFF_FULL is +returned.

+

source is assumed to hold +a complete bzip2 format data +stream. +BZ2_bzBuffToBuffDecompress tries +to decompress the entirety of the stream into the output +buffer.

+

For the meaning of parameters +small and +verbosity, see +BZ2_bzDecompressInit.

+

Because the compression ratio of the compressed data cannot +be known in advance, there is no easy way to guarantee that the +output buffer will be big enough. You may of course make +arrangements in your code to record the size of the uncompressed +data, but such a mechanism is beyond the scope of this +library.

+

BZ2_bzBuffToBuffDecompress +will not write data at or beyond +dest[*destLen], even in case of +buffer overflow.

+

Possible return values:

+
BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or small != 0 && small != 1
+  or verbosity < 0 or verbosity > 4
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed data
+BZ_DATA_ERROR_MAGIC
+  if the compressed data doesn't begin with the right magic bytes
+BZ_UNEXPECTED_EOF
+  if the compressed data ends unexpectedly
+BZ_OK
+  otherwise
+
+
+
+

+3.6. zlib compatibility functions

+

Yoshioka Tsuneo has contributed some functions to give +better zlib compatibility. +These functions are BZ2_bzopen, +BZ2_bzread, +BZ2_bzwrite, +BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and +BZ2_bzlibVersion. These +functions are not (yet) officially part of the library. If they +break, you get to keep all the pieces. Nevertheless, I think +they work ok.

+
typedef void BZFILE;
+
+const char * BZ2_bzlibVersion ( void );
+

Returns a string indicating the library version.

+
BZFILE * BZ2_bzopen  ( const char *path, const char *mode );
+BZFILE * BZ2_bzdopen ( int        fd,    const char *mode );
+

Opens a .bz2 file for +reading or writing, using either its name or a pre-existing file +descriptor. Analogous to fopen +and fdopen.

+
int BZ2_bzread  ( BZFILE* b, void* buf, int len );
+int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
+

Reads/writes data from/to a previously opened +BZFILE. Analogous to +fread and +fwrite.

+
int  BZ2_bzflush ( BZFILE* b );
+void BZ2_bzclose ( BZFILE* b );
+

Flushes/closes a BZFILE. +BZ2_bzflush doesn't actually do +anything. Analogous to fflush +and fclose.

+
const char * BZ2_bzerror ( BZFILE *b, int *errnum )
+

Returns a string describing the more recent error status of +b, and also sets +*errnum to its numerical +value.

+
+
+

+3.7. Using the library in a stdio-free environment

+
+

+3.7.1. Getting rid of stdio

+

In a deeply embedded application, you might want to use +just the memory-to-memory functions. You can do this +conveniently by compiling the library with preprocessor symbol +BZ_NO_STDIO defined. Doing this +gives you a library containing only the following eight +functions:

+

BZ2_bzCompressInit, +BZ2_bzCompress, +BZ2_bzCompressEnd +BZ2_bzDecompressInit, +BZ2_bzDecompress, +BZ2_bzDecompressEnd +BZ2_bzBuffToBuffCompress, +BZ2_bzBuffToBuffDecompress

+

When compiled like this, all functions will ignore +verbosity settings.

+
+
+

+3.7.2. Critical error handling

+

libbzip2 contains a number +of internal assertion checks which should, needless to say, never +be activated. Nevertheless, if an assertion should fail, +behaviour depends on whether or not the library was compiled with +BZ_NO_STDIO set.

+

For a normal compile, an assertion failure yields the +message:

+
+

bzip2/libbzip2: internal error number N.

+

This is a bug in bzip2/libbzip2, 1.0.6 of 6 September 2010. +Please report it to me at: jseward@bzip.org. If this happened +when you were using some program which uses libbzip2 as a +component, you should also report this bug to the author(s) +of that program. Please make an effort to report this bug; +timely and accurate bug reports eventually lead to higher +quality software. Thanks. Julian Seward, 6 September 2010. +

+
+

where N is some error code +number. If N == 1007, it also +prints some extra text advising the reader that unreliable memory +is often associated with internal error 1007. (This is a +frequently-observed-phenomenon with versions 1.0.0/1.0.1).

+

exit(3) is then +called.

+

For a stdio-free library, +assertion failures result in a call to a function declared +as:

+
extern void bz_internal_error ( int errcode );
+

The relevant code is passed as a parameter. You should +supply such a function.

+

In either case, once an assertion failure has occurred, any +bz_stream records involved can +be regarded as invalid. You should not attempt to resume normal +operation with them.

+

You may, of course, change critical error handling to suit +your needs. As I said above, critical errors indicate bugs in +the library and should not occur. All "normal" error situations +are indicated via error return codes from functions, and can be +recovered from.

+
+
+
+

+3.8. Making a Windows DLL

+

Everything related to Windows has been contributed by +Yoshioka Tsuneo +(tsuneo@rr.iij4u.or.jp), so +you should send your queries to him (but perhaps Cc: me, +jseward@bzip.org).

+

My vague understanding of what to do is: using Visual C++ +5.0, open the project file +libbz2.dsp, and build. That's +all.

+

If you can't open the project file for some reason, make a +new one, naming these files: +blocksort.c, +bzlib.c, +compress.c, +crctable.c, +decompress.c, +huffman.c, +randtable.c and +libbz2.def. You will also need +to name the header files bzlib.h +and bzlib_private.h.

+

If you don't use VC++, you may need to define the +proprocessor symbol +_WIN32.

+

Finally, dlltest.c is a +sample program using the DLL. It has a project file, +dlltest.dsp.

+

If you just want a makefile for Visual C, have a look at +makefile.msc.

+

Be aware that if you compile +bzip2 itself on Win32, you must +set BZ_UNIX to 0 and +BZ_LCCWIN32 to 1, in the file +bzip2.c, before compiling. +Otherwise the resulting binary won't work correctly.

+

I haven't tried any of this stuff myself, but it all looks +plausible.

+
+
+
+

+4. Miscellanea

+ +

These are just some random thoughts of mine. Your mileage +may vary.

+
+

+4.1. Limitations of the compressed file format

+

bzip2-1.0.X, +0.9.5 and +0.9.0 use exactly the same file +format as the original version, +bzip2-0.1. This decision was +made in the interests of stability. Creating yet another +incompatible compressed file format would create further +confusion and disruption for users.

+

Nevertheless, this is not a painless decision. Development +work since the release of +bzip2-0.1 in August 1997 has +shown complexities in the file format which slow down +decompression and, in retrospect, are unnecessary. These +are:

+
    +
  • The run-length encoder, which is the first of the + compression transformations, is entirely irrelevant. The + original purpose was to protect the sorting algorithm from the + very worst case input: a string of repeated symbols. But + algorithm steps Q6a and Q6b in the original Burrows-Wheeler + technical report (SRC-124) show how repeats can be handled + without difficulty in block sorting.

  • +
  • +

    The randomisation mechanism doesn't really need to be + there. Udi Manber and Gene Myers published a suffix array + construction algorithm a few years back, which can be employed + to sort any block, no matter how repetitive, in O(N log N) + time. Subsequent work by Kunihiko Sadakane has produced a + derivative O(N (log N)^2) algorithm which usually outperforms + the Manber-Myers algorithm.

    +

    I could have changed to Sadakane's algorithm, but I find + it to be slower than bzip2's + existing algorithm for most inputs, and the randomisation + mechanism protects adequately against bad cases. I didn't + think it was a good tradeoff to make. Partly this is due to + the fact that I was not flooded with email complaints about + bzip2-0.1's performance on + repetitive data, so perhaps it isn't a problem for real + inputs.

    +

    Probably the best long-term solution, and the one I have + incorporated into 0.9.5 and above, is to use the existing + sorting algorithm initially, and fall back to a O(N (log N)^2) + algorithm if the standard algorithm gets into + difficulties.

    +
  • +
  • The compressed file format was never designed to be + handled by a library, and I have had to jump though some hoops + to produce an efficient implementation of decompression. It's + a bit hairy. Try passing + decompress.c through the C + preprocessor and you'll see what I mean. Much of this + complexity could have been avoided if the compressed size of + each block of data was recorded in the data stream.

  • +
  • An Adler-32 checksum, rather than a CRC32 checksum, + would be faster to compute.

  • +
+

It would be fair to say that the +bzip2 format was frozen before I +properly and fully understood the performance consequences of +doing so.

+

Improvements which I was able to incorporate into 0.9.0, +despite using the same file format, are:

+
    +
  • Single array implementation of the inverse BWT. This + significantly speeds up decompression, presumably because it + reduces the number of cache misses.

  • +
  • Faster inverse MTF transform for large MTF values. + The new implementation is based on the notion of sliding blocks + of values.

  • +
  • bzip2-0.9.0 now reads + and writes files with fread + and fwrite; version 0.1 used + putc and + getc. Duh! Well, you live + and learn.

  • +
+

Further ahead, it would be nice to be able to do random +access into files. This will require some careful design of +compressed file formats.

+
+
+

+4.2. Portability issues

+

After some consideration, I have decided not to use GNU +autoconf to configure 0.9.5 or +1.0.

+

autoconf, admirable and +wonderful though it is, mainly assists with portability problems +between Unix-like platforms. But +bzip2 doesn't have much in the +way of portability problems on Unix; most of the difficulties +appear when porting to the Mac, or to Microsoft's operating +systems. autoconf doesn't help +in those cases, and brings in a whole load of new +complexity.

+

Most people should be able to compile the library and +program under Unix straight out-of-the-box, so to speak, +especially if you have a version of GNU C available.

+

There are a couple of +__inline__ directives in the +code. GNU C (gcc) should be +able to handle them. If you're not using GNU C, your C compiler +shouldn't see them at all. If your compiler does, for some +reason, see them and doesn't like them, just +#define +__inline__ to be +/* */. One easy way to do this +is to compile with the flag +-D__inline__=, which should be +understood by most Unix compilers.

+

If you still have difficulties, try compiling with the +macro BZ_STRICT_ANSI defined. +This should enable you to build the library in a strictly ANSI +compliant environment. Building the program itself like this is +dangerous and not supported, since you remove +bzip2's checks against +compressing directories, symbolic links, devices, and other +not-really-a-file entities. This could cause filesystem +corruption!

+

One other thing: if you create a +bzip2 binary for public distribution, +please consider linking it statically (gcc +-static). This avoids all sorts of library-version +issues that others may encounter later on.

+

If you build bzip2 on +Win32, you must set BZ_UNIX to 0 +and BZ_LCCWIN32 to 1, in the +file bzip2.c, before compiling. +Otherwise the resulting binary won't work correctly.

+
+
+

+4.3. Reporting bugs

+

I tried pretty hard to make sure +bzip2 is bug free, both by +design and by testing. Hopefully you'll never need to read this +section for real.

+

Nevertheless, if bzip2 dies +with a segmentation fault, a bus error or an internal assertion +failure, it will ask you to email me a bug report. Experience from +years of feedback of bzip2 users indicates that almost all these +problems can be traced to either compiler bugs or hardware +problems.

+
    +
  • +

    Recompile the program with no optimisation, and + see if it works. And/or try a different compiler. I heard all + sorts of stories about various flavours of GNU C (and other + compilers) generating bad code for + bzip2, and I've run across two + such examples myself.

    +

    2.7.X versions of GNU C are known to generate bad code + from time to time, at high optimisation levels. If you get + problems, try using the flags + -O2 + -fomit-frame-pointer + -fno-strength-reduce. You + should specifically not use + -funroll-loops.

    +

    You may notice that the Makefile runs six tests as part + of the build process. If the program passes all of these, it's + a pretty good (but not 100%) indication that the compiler has + done its job correctly.

    +
  • +
  • +

    If bzip2 + crashes randomly, and the crashes are not repeatable, you may + have a flaky memory subsystem. + bzip2 really hammers your + memory hierarchy, and if it's a bit marginal, you may get these + problems. Ditto if your disk or I/O subsystem is slowly + failing. Yup, this really does happen.

    +

    Try using a different machine of the same type, and see + if you can repeat the problem.

    +
  • +
  • This isn't really a bug, but ... If + bzip2 tells you your file is + corrupted on decompression, and you obtained the file via FTP, + there is a possibility that you forgot to tell FTP to do a + binary mode transfer. That absolutely will cause the file to + be non-decompressible. You'll have to transfer it + again.

  • +
+

If you've incorporated +libbzip2 into your own program +and are getting problems, please, please, please, check that the +parameters you are passing in calls to the library, are correct, +and in accordance with what the documentation says is allowable. +I have tried to make the library robust against such problems, +but I'm sure I haven't succeeded.

+

Finally, if the above comments don't help, you'll have to +send me a bug report. Now, it's just amazing how many people +will send me a bug report saying something like:

+
bzip2 crashed with segmentation fault on my machine
+

and absolutely nothing else. Needless to say, a such a +report is totally, utterly, completely and +comprehensively 100% useless; a waste of your time, my time, and +net bandwidth. With no details at all, there's no way +I can possibly begin to figure out what the problem is.

+

The rules of the game are: facts, facts, facts. Don't omit +them because "oh, they won't be relevant". At the bare +minimum:

+
Machine type.  Operating system version.  
+Exact version of bzip2 (do bzip2 -V).  
+Exact version of the compiler used.  
+Flags passed to the compiler.
+

However, the most important single thing that will help me +is the file that you were trying to compress or decompress at the +time the problem happened. Without that, my ability to do +anything more than speculate about the cause, is limited.

+
+
+

+4.4. Did you get the right package?

+

bzip2 is a resource hog. +It soaks up large amounts of CPU cycles and memory. Also, it +gives very large latencies. In the worst case, you can feed many +megabytes of uncompressed data into the library before getting +any compressed output, so this probably rules out applications +requiring interactive behaviour.

+

These aren't faults of my implementation, I hope, but more +an intrinsic property of the Burrows-Wheeler transform +(unfortunately). Maybe this isn't what you want.

+

If you want a compressor and/or library which is faster, +uses less memory but gets pretty good compression, and has +minimal latency, consider Jean-loup Gailly's and Mark Adler's +work, zlib-1.2.1 and +gzip-1.2.4. Look for them at +http://www.zlib.org and +http://www.gzip.org +respectively.

+

For something faster and lighter still, you might try Markus F +X J Oberhumer's LZO real-time +compression/decompression library, at +http://www.oberhumer.com/opensource.

+
+
+

+4.5. Further Reading

+

bzip2 is not research +work, in the sense that it doesn't present any new ideas. +Rather, it's an engineering exercise based on existing +ideas.

+

Four documents describe essentially all the ideas behind +bzip2:

+

Michael Burrows and D. J. Wheeler:
+  "A block-sorting lossless data compression algorithm"
+   10th May 1994. 
+   Digital SRC Research Report 124.
+   ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz
+   If you have trouble finding it, try searching at the
+   New Zealand Digital Library, http://www.nzdl.org.
+
+Daniel S. Hirschberg and Debra A. LeLewer
+  "Efficient Decoding of Prefix Codes"
+   Communications of the ACM, April 1990, Vol 33, Number 4.
+   You might be able to get an electronic copy of this
+   from the ACM Digital Library.
+
+David J. Wheeler
+   Program bred3.c and accompanying document bred3.ps.
+   This contains the idea behind the multi-table Huffman coding scheme.
+   ftp://ftp.cl.cam.ac.uk/users/djw3/
+
+Jon L. Bentley and Robert Sedgewick
+  "Fast Algorithms for Sorting and Searching Strings"
+   Available from Sedgewick's web page,
+   www.cs.princeton.edu/~rs
+

+

The following paper gives valuable additional insights into +the algorithm, but is not immediately the basis of any code used +in bzip2.

+

Peter Fenwick:
+   Block Sorting Text Compression
+   Proceedings of the 19th Australasian Computer Science Conference,
+     Melbourne, Australia.  Jan 31 - Feb 2, 1996.
+   ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps

+

Kunihiko Sadakane's sorting algorithm, mentioned above, is +available from:

+

http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
+

+

The Manber-Myers suffix array construction algorithm is +described in a paper available from:

+

http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
+

+

Finally, the following papers document some +investigations I made into the performance of sorting +and decompression algorithms:

+

Julian Seward
+   On the Performance of BWT Sorting Algorithms
+   Proceedings of the IEEE Data Compression Conference 2000
+     Snowbird, Utah.  28-30 March 2000.
+
+Julian Seward
+   Space-time Tradeoffs in the Inverse B-W Transform
+   Proceedings of the IEEE Data Compression Conference 2001
+     Snowbird, Utah.  27-29 March 2001.
+

+
+
+
+ diff --git a/plugins/Updater/bzip2-1.0.3/manual.pdf b/plugins/Updater/bzip2-1.0.3/manual.pdf new file mode 100644 index 0000000000..f1c31a0ed2 Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/manual.pdf differ diff --git a/plugins/Updater/bzip2-1.0.3/manual.ps b/plugins/Updater/bzip2-1.0.3/manual.ps new file mode 100644 index 0000000000..cbc6f924df --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/manual.ps @@ -0,0 +1,72843 @@ +%!PS-Adobe-3.0 +%%Creator: PassiveTeX 1.25 +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%DocumentMedia: plain 612 792 0 () () +%%BoundingBox: 0 0 612 792 +%%Pages: 38 +%%EndComments +%%BeginDefaults +%%PageMedia: plain +%%EndDefaults +%%BeginProlog +%%BeginResource: procset xpdf 3.00 0 +%%Copyright: Copyright 1996-2004 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + 3 1 roll 2 array astore + /setpagedevice where { + pop 3 dict begin + /PageSize exch def + /ImagingBBox null def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/cshow where { + pop + /cshow2 { + dup { + pop pop + 1 string dup 0 3 index put 3 index exec + } exch cshow + pop pop + } def +}{ + /cshow2 { + currentfont /FontType get 0 eq { + 0 2 2 index length 1 sub { + 2 copy get exch 1 add 2 index exch get + 2 copy exch 256 mul add + 2 string dup 0 6 5 roll put dup 1 5 4 roll put + 3 index exec + } for + } { + dup { + 1 string dup 0 3 index put 3 index exec + } forall + } ifelse + pop pop + } def +} ifelse +/awcp { + exch { + false charpath + 5 index 5 index rmoveto + 6 index eq { 7 index 7 index rmoveto } if + } exch cshow2 + 6 {pop} repeat +} def +/Tj { + fCol + 1 index stringwidth pdfTextMat idtransform pop + sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll Tj1 +} def +/Tj16 { + fCol + 2 index stringwidth pdfTextMat idtransform pop + sub exch div + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll Tj1 +} def +/Tj16V { + fCol + 2 index stringwidth pdfTextMat idtransform exch pop + sub exch div + 0 pdfWordSpacing pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing add 0 exch + pdfTextMat dtransform + 6 5 roll Tj1 +} def +/Tj1 { + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 8 2 roll + pdfTextRender 1 and 0 eq { + 6 copy awidthshow + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 7 index 7 index moveto + 6 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + false awcp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 8 6 roll moveto + false awcp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + 8 {pop} repeat + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { pdfFontSize 0.001 mul mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { pdfFontSize 0.001 mul mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +/Tclip* { pdfTextClipPath cvx exec eoclip newpath + /pdfTextClipPath [] def } def +% Level 2 image operators +/pdfImBuf 100 string def +/pdfIm { + image + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfImM { + fCol imagemask + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%BeginResource: font PYRIYB+NimbusSanL-Bold +%!PS-AdobeFont-1.0: NimbusSanL-Bold 1.05 +%%CreationDate: Wed Dec 22 1999 +% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +% (URW)++,Copyright 1999 by (URW)++ Design & Development +% See the file COPYING (GNU General Public License) for license conditions. +% As a special exception, permission is granted to include this font +% program in a Postscript or PDF file that consists of a document that +% contains text to be displayed or printed using this font, regardless +% of the conditions or license applying to the document itself. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.05) readonly def +/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def +/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def +/FullName (Nimbus Sans L Bold) readonly def +/FamilyName (Nimbus Sans L) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -155 def +/UnderlineThickness 69 def +end readonly def +/FontName /PYRIYB+NimbusSanL-Bold def +/PaintType 0 def +/WMode 0 def +/FontBBox {-173 -307 1003 949} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding StandardEncoding def +currentdict end +currentfile eexec +d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae +6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27 +bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf +045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670 +0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4 +1b2b9e8f09253b61177e95ea219474796072f4b363fd772dae3a9d9385cd2163 +c2c8062ef9af240bc02404e5411b401d68ee5d983d33df8a63b6da7ed443e71a +e94a32ce1db15d759113b684bdc92cb4c920e35cb677534219abcea434fba862 +2fbc8237219af7943fb467616d86b4251b350647c43c8df74289646adecf0367 +7c838d720affd234259e947e6ac432993323e8fc0b1c7609675558ae470b19fc +ba7b5ca1eff86dfe4d9ef0356f5d57d03f0b2d0f449d6165b92c78c00162b164 +648ca123b1ffa8c2bcdf125864ccc81c7d58f19374b71dcdacc3c43450bca81c +364753c7d444062a98ce202aa990c652d540b1dd09459bd4818f7675d21cd2e1 +45a0d2670c3136a6c56fed36fa640520c0a880f954cf4bea74789d14c9b7ca0a +e91f4ece020bb0d3cf1890cb79d94675c25c7ca667199195134e70ef0db9949a +416f0a0443f1191421f2323202445f5af44871eed6956d3a3de21a34e302d41b +d7eef2a4023a66862fef89ca6386a8e47ba55e6f89db590cc810feb27b68238a +205275e7573968693cfe1f8a60b5af3fc965dc05bbac5bbd6d2ef74c4f140423 +9fb13eda8457a5b26248ca5ca4d3f896b0a93b69a9045b0adc25b43df700e90b +820f28307cc6f6ff2fa4a06a8a6deb8cba4cb0d136da07593fabc1c8ba1149d9 +1c422f461a429ece40b7c90417320167d99ffa9490f9abc3101f2359bef6c6f2 +15c5585c8733ca06a9cb793d618247757063ff41c5fce1a209ea5a138777dad8 +943b73186bc17e03fb06ba658e5b3305e39078f5de984bfe093ab3d782150e2f +8545c9601bd2a531a8196e157f8f18017c0331881abf07d6c21931fcf9b81c51 +be05d2ace462ab8899e2929f0d821eddb18e9887cb7e8e3ae0beda34ccd0428a +38c4429417cebce5ef4bebf7f64eedca8769d004d2432ded2240b732481a6da7 +458cd26e4730c4aecdc1078ee3fbaf6cd275b426bbca2d0cbd42eb7b100b1c58 +f043391fc5929fca7ccb7d2188b6cec6bbdb78079e36d67129c17aef9fa72fa7 +5357dda5167e3c0ddb4f9266f3ef69c2ce9b6191ba911c1fc740549496aa76af +b86e4fddc0f31f92595f8bc0bdd3ac613b16426d722c0d27822944899572bdd7 +96d248b1adba5ec18a7f0cab096e134c36b2fcccd0b2104e43b2123936dbf7d6 +e0706616a7676da73a30a36cfe2231fba5e1fe69952a2f0ac15145c5cff411a8 +b57db37742efd6b78096d0fc69fbcdea39cb05d034f31c23b04ee90fcb4484ab +2053e8dd69a2eaf120a6bb64bd55409ab4b6a6e92d305e40974b0df80009f4d9 +8fe9e8aceddb346f8e75941c1189aeb685f4f02d20814ad6bbe3c4364bd1c64f +9c1f111790dd74d635520606a6bc978b65ccb6e8bcfd8fdbae26ea62e36d0317 +5564995f2a07393255d7c3450303f5a26b783afa95962e9438fc3b10239fc8be +7809f48340aa9a61ded2e1de62b8ece240dbd1dc8be3819ac3e9aacb6e165923 +4a264036c6017b46af959f7e574185e66a3a161eed1f99b8496a9fcfac13492d +fe3f21bf1c0c1dd432fb523701060720730e9f51b76082ef4e72d2f2ebae7a00 +ecc0e1a922d6ded5c4f0a76eef3f6e157210a3a46a4a30114f032ba029d8207a +5946b8242fc9b939559654b5c9831eab6bc2f1a8cd2779f95698f26bdfe2e421 +cccfadd7e6684364a8ce71574f2d675239e404f754237da4cb564bc7b23d7159 +5b1dd8a0b62d6bc044fe0bd2ea98458fb2188b8ab1af6438e9693ebf939c7c9e +db285c87698d8eb206cf58d89a05e74a150ae0f0f0300dc1b3bcf1f3d6b73bd4 +70e604c23d313121a4cdcfedcc834feec5b1894e5384979966f496fea5cbf1db +7f3645abc9a5e9fe04f056648f8b5882a5399fafad915207a1434b7184b48949 +43aa2c3ae059f96905277ec06fc91c4536efe679c6fa6e71167496cc0d2f297d +d07159b01a02731e578879fb16f9ffd84768207629ba38f902230a03fc844eee +f9fb458929cc8e1c988b486e9cdc3d00a84de8bf078ba4f1c73cf88a2cbb20a4 +e19a8c02d1bd767103c08b8ce14162a9cd99d167fd5cdbf53bc39fa14cab520b +2e91ef7a2952c936c9825e30e3ed350ce9ad799b27b1091a0b2f3be2208838d3 +1bcdb3aad13a1299bd93b3f1a972c04f117f05bd9e5029b6c799eb25e3e98734 +a0ca4a814d824ee4ca5383c6eb8c6c45882289cf2a52934fb7764f3556eaebba +2823e5007f83f6a3d3a6eb0f7fbc3b91320de755745ab44513deeb65d6d81c0d +838125bc1480d494b8cdecb253a230fb950df5fd1cfdf3b8b0c56aa0168b01aa +a690593f22c25e6ea9d2de70b8bb93cccde841d2b923b4a70c7cccfdc1c400e5 +d3d71cf640a201397f09e13d27faec5d041b9d904467c4c573c6fb1820a55c1a +8d0ec1f6ad502bbda597925ab353429a5bbdf3df01066e5cb3c2bf2d19e7df4c +285766c06ea868f915e051139ecfe22ac9b8466a5da38e4e2f92c01428ac9051 +4930a9e9420c49bb8dac35d2a7e9846b0c9c8db992bd5dd95fdc0c8d5bf2e7d0 +baefc4ce8fe265e57b7b6c8c91e1797db85d90eb1888170744db916ca7e353bc +4edb9fc4a1d42013ba275d3efc76259e25860a3549d104880157db843cc75fcd +5a14800ab8743fdacc4c5ff064cbf3ba6e737833850e618ad9674d0fb01918e8 +ba87eb21aab2c494c6f6ff275d1501d78a9a97d2774ef4d5fbc8032955669b04 +69e354b9984fcf4c0b890e4e8a7796d3b7b3855815f5565b13d95b139c32ee02 +4a2057235cef0b98b1c0bb84d64921dce789c2eccf58364e832cc2bef739d807 +012512769f57dfefa384083415b668285db3f6f9e5c850205dba7c66b2da0280 +f771183b302ff529a691590321a6b06dff8593a28e83a7c66008ae45b2989da0 +0455253031ed2da983e9f1ad6fbaaf85035b4715cc1525cc8d7f1a3c0ec40f9c +9eca905a50a0f4b1f5db072918617213f7863ef202c0adf926e3be1c8307b571 +2c94daf13b6a659d0f613cb319e8782a0a2781b3a61227424ff5e554eba32b55 +de5bae43483ff916e37a129c877f10f7c8c0ec1fee0fe10b3fc813d976e6e54c +8ea8aeaa179727d3335f86662bd318260fbc314986a2f97f919ccd564e001903 +eec90c13abbf988114cd330ccd7e9fde42e218a9484b565a0cd7e9c1807ada0e +e6a7f916c5a38d64dae17faae3e84822e6c63bf32148ae3dffc010920509491b +424d27fc1970abe5ac799936aac46c4a98cf4c66b3182e73df72431e53ab1f36 +460e6c6a9b2db27e38eda8972835ba64210b45dd04a778d59c5751b8478312b4 +38012796f5a8be056c8e3a9e656bfa909f7ebfb7f32fa1ae99dc291b0f002a0f +8873351e9684adbefe40d607631559c78f5688a708160ad3803db743282353bc +20098c6212dfad417f106d92527506ca0c9a8864c1eb61997dfedbbbf1d052d9 +81ea593f2a6c4a90676aec9354a6598436d1de7e15e4979344eb976a917471cf +c85e52ecf3437ebb4b6f8e9b292b7db33be0a9ead500b9353f3f367ceff8dd77 +32b67a559e56ffa3b5311fb52689c1e296c01a362a5c33bbf54b84624f2373bd +2c25e90644683376f03da577dad1fb9a9903c5ee9f531a5f9da82aadb2098e3d +15896c3c727d60ee5de0ee1cefa7e4aa3a5336ad2f1a845d16bb2ee58c50d2e8 +055e3e11272224b23c689f2e7ca0051d10ae4d4514b89483ed8d97c2a77894a5 +640d45bc86b1f66de1fd24b08034e70a443cf1c3ee17f2e7c7e11da524781c7a +75a1f69de55aad4a309e27fc8ae9b1ce1c7d52f94fc84c59f37165e35f0f721a +9d3d5c3bcead85d8150408c1387e5a348d1f0f376b3cc2d24346280af119df86 +b62f46e2ddf46f38db4aeaa456accf3f29082f73e9c5f003d77d99eea3d5156f +2043e9b573fe34694910236ef3a1ce03ffb205406f3466e028b635f3ec5173e7 +482c796060bcb0efae62308e3624c466df5b49b1dfd3445233a03cff1f58bf86 +0a2b46225d1784e91f65ecd52504c8605aaf2a5dca560db5b8ce7eb86187e6df +677c977ab4d1fec4f124324bc896ee7d669aa295897fec0b881221434fae3a4b +1a3a1f1457fca374bca91885e74543ee919b881181642cb1f6c34ff817fa8e81 +18aa5e21c994d8aa12e1fdf5d6ff6726dd3d075dcd056f046ddd86894235d7db +fc11532518f8d8695ae74dfbb769528840e8c30572ad06d6ef7b0ed471db9418 +11ea9cd32b4ba6205b5c198bd528b06092df3f50b9714fc1275aa5105a3a7422 +823d4a30d7fd19f77bb2cc4c5df23202d6a74092a710a9a855d8059031ec6ec9 +4d4fc86b37186c46a5cd183a81fc12a743c7168837953d2b5202ade986b4b00d +86e41a88fad5ba0d91c150f4a7c396a02aef1ae9b96c0cea83b3306785ab3ba5 +39c49d9f984a08a9e8c06d282af94d87606d5601296456b6a0ef4ea8c88a1fcb +96cd1b1bc0e287adfd1b9aa1a8c8a7d4a6b14ed3b04b1f0532ed5d40238ebf71 +5bd8c8b032afdccd26a940b19a1340b1e93041b2265b8534c099d14f00b82fbb +2b55d8dc64691c3e5a6dd7c0cdc1212d0c80be2f454a7d8613d0cf64ac5bcc7c +64d4166bfda12bc262de9cdfc614d7dc1bc569109bb84bf469071963e5a576db +b19f3e748799d49c30612c1d7fa918d72051db6cfba44520b5b5689c87541560 +292dd6bf1f40f6a5af97c3ff71b1fb57cb36234be973890a1a610551a724abb6 +b01bb5bd1fc5191c9f99b389b6445a99de978b0d81e4baa92e8b121a1e1b32b1 +601a34dbe6cd348e56f59a92af56caa782b3b416958a6f1bb73771f35000fb9e +a55a132f9b151bea59cafa3a1cc72f7cd60952852c53379530e0a6bd4e9545bd +f78da021349902332707106bbb5d307960ea2bd811adf35b869bb210e44a5717 +8893af229268d805262725a0904bcb5ea7c17a39552a1f26283f54ae45449943 +5270b17b9afe2e0c0729e5f10461a8ddb85efc35dc8a32bcfebfdb16a0642e5c +c69e5a25a661cfbd1f3a9386aa2433b68a356f36404f96d97fff817b42a58a62 +a5fcb5653373df412068876f541169bf642bce8458297fb6a6e936d80af2004c +e9a248e1c92fb63b3e53caadd749924c390fd9f542496cf2347a3a429cc25917 +c31fc437291fa9856a7d3b2b6a5644d82e23a14d0281ed4d8f9dd687e06f23a0 +d0e8a3dab5fe6ded172ebbcac68218092f4480c7ceabc55b059877d7e82d2846 +b4f9e82aabc56f397be2c6b67040dc71a9d1f39b1a60c33288bbae4e41457830 +f8d8c96c8dce7c01bc6efd70e021a0c2d160a61b906a3ea551b7e3fe8c1f9952 +7e9583c6b6010e0887560f1c3e19e0be82efe91f0114e726c888f580d6b514cb +a0933ccde04de0872dd0e07b1a7cede67bf9f4e73400d118a6d600e13debe6f2 +aa1d895dcc127c76ff82e579a06d8a3a323458808bad060afc953c2158d476d0 +fe0725dee6886bde038e2726886d255dec9052e9ba886a318c75b8c7a218edc5 +78783ab8dd90b738b16cfb47ef8610f428a4315c703763d6b3dda570cd0a89af +4e6c215ea5395b13a5c1f0883faa2eb2d6de918ec5fef99c21758e4b6bf72861 +b684a28787b63d3ae7f1096b1c56e4862e7f3650884d0803db03362c587e2ed7 +bf5c7f2847bebe35327f1f7fb76f3cf7e9fec9a5c057acedf6245c724a8e754b +d44e028181b75ad590b3989a7f340fd59c3b75cc4a8e28b155b5da0fbf3cc358 +375edb0992206514347924c69ab28e30c707f24199767937bd7990bc70bd5849 +5c335a752c06bdd9f0520c6d8b2f5fffce931b601151b37f1be9885e41864e31 +1ea0f33e17fb4b844425ee7de31d839ad3a8609bfc9e393079b9a7891e17b48f +2e5fed17943313afccc55826cc0144c2e7ac9784261bb40d51bbd4467103f432 +865cd4b821dd5be8fc760171b49b70141ce2042376e879013edf8180d185d988 +591f9084536cbf97816291ee77255315987422c2c2489d209d78e0a2fd3fa71c +28edfc1577db5c080e7881848222220a63605f00205c205b35d0a017013ca099 +deb71a9ffd511549c61f9ee36a63ee00b0610d1b290e073b8a067dd91bf52f9c +ab53a258ccd29d9220a659e44717f84062d39dd554294996c46e69608ca111e1 +088494c6c3c0b75cf06c2b39a08172700b35d1efd0526d78f2ca5388056b02d8 +28962b456a44b1348bc4c199c2425217cee4297873ba2018259ad02cdb518b24 +023f4ffc5fd7c2b7b022d8f61aecd1e97bf78c7d0448611c0af788af2447d5a7 +b66b496dfde8522f9dc0ff8513baf8b19b51256da57159b87df032545708fad8 +0b15a0764cb951263a5008d1a61a1b69f171a5d7449f1c1d2cba92e9ae340e13 +ee455edc278caf37e5733a34a5c1b2206833d4ec3c41db8e8c760624c6031550 +7124f71f9d18399c3df46c5023a753a08ecc991b61acb6ad781cd9c258af17ae +33a2f8c5a86b5dae8ae1061893bdbca4e76473fb073cc9c5c3389e525553a879 +16c23e3fb51d65f3cc3bf3e87f97a02eedfbb928cd37a770e7e7b5413cbfb0c1 +3281f30eac6290a85ffe8ebf68a7fe77b4a68982d010a2284051861a35230401 +234b3278bd810686b1ee0c63104adfeaeb7ec79e0a4fae757018fc05fb12db3d +81e0400f7760b46fa0ac5f9e52583f2af265843cbb2ec1d1392ee68c7410c9f5 +87351a0f3247036a01080242732f5453b54a88de2d7515b5b570d94bd2b97f2a +d3894658627178dc90029c8e7131855b422c912c9fb6141439042b1df9f3739f +063d8d054258cb1c9cc893aed8097aa06fbb7e923b3756409c61b7cff54c2c87 +51cc2f11c2b7bc0be6868584f64bbbc22a1e0ed325b6c2064cc0ef2fa8acfde8 +6fa40b544ab6d2c360b6786c29b69e80d20566e1e25cbb075f9a687b428f4ed2 +10c028936c8f5e7308d2a3984290d96e5c8df5c959a563b4be5b7ce15c24d5d2 +fd6dfeee85e0e9595f52ef13aa08f52db73e858a3932e9e913f5ba674289523d +0eaaefd670f3ba4fb5a0295816fcfc042f7141c64ce577b103558455dbd0852b +730b2acb37b3115ca4ff017602f9428879e96a621a760e7961c006801c5908c5 +f291981da07820a11aaafc3f4ae613c7cb4424b0e1b797094ddd88829d5d4eff +d8613b50b2df38eef34ad0b05a9f13dac5b3c31d44c06bcc58d737f7d239ebe3 +eee1a4f981b35641482b536ee869389888c2eb28b56a5d0864a7f451f7d362e3 +d56ef1ec01fc6eb85c40c78d791b16aedf904c7d75890bf99bfef9783fdff55d +ee19cdf9e0217133b8af29fd87ad09382b8f64a6690f4ece0ff8116d44bac576 +be9a602084c63bd4dbf56354dfe69300cfcbbb99ae3c8226d02b1bef022851fd +896d83549c594e8fa709d23465207626632319b253dbb32a74155939d9fa0631 +8aaeaf9c26c04a55e1fe935fc5d21f1d798107a625fc25cb90d2ca72c31b3eb2 +c2aef7615eeb8c7f0e7f767aa672ffc236271f98c01bf41acd72da9d108792e4 +66ed133eced633ba0fe7503aaf68ebb226ed6d0e18561eb03c9b9763680f9295 +7709b653d3940ddc7703da6c3fcd893ace04627cc6bd92b65b80cfba4d0a50c6 +d48c5239a76bdaa4319fa9f0382e5ff6bb51c5a390678ef4bcb6a56a13828f32 +fa51ba7bd7d6a11405b0873d4e96b93fc693f21bada72f9f257d89630711cca0 +c3a78e2a0e5735617e77a7a77881b37d77877df4eff9da9d465239f1f2dfb5dc +9351a5dd8216e98c15cf443250b85be6a463526d8aaed42fabc1cdc095ef9e42 +8f956a2abed2cb7fa127f49bd2b5accf7ed80cef4fe96fea42c0ed4991bbb734 +596379a991607836c6ea74bbc359ecf2eb52d015910b847534a519cfc32d5216 +9510940a9ded08ed2a83fe52ee1275b05d19666994836add094ad38cc0a3e081 +bed96e0cec2d8e17d51bbe3a63a34884da909733ab092c9ce8d8e411ca3b2831 +a022e5a3fd1abccb902647e484833b8181d1b9edcb5448098e13b5ad289c9aa5 +8e4726f0c2df0ceb089401871c26c7ddfc5d5cbeeae249871ac5604056b69e96 +3c1bf9b8ce006b701c9523b5b9b145be6f6c7b9e513973df94cc2d37694850ec +e54c80d2ce79309ce51515d2ba0d44855014654d1a999cad1a5e9dd53a34e44c +9cb32ea91176d5c3294e3064016e8554b9b6c6d2e6c03b4e655bf2a7957d95ff +01cae1dc020e577abe5775f656caf198f1073b7bfe06ea127ba3b1edf4784917 +51d41bea93204e6ad3aada6f2415a8bcd5c987b6629874253852ca417bf6a259 +27b0e7f34e0ed0f9dfbe1be2c64d805c2edf0bd62c77be4224613f2e788c56eb +0dccd0a467bb30d529610944338ea0b832d3ecedd85ad4da22ea2b47e799a1a1 +1cd56274f7dcd9a66a32d8509f3d0eb4c4a160a723a9e71f504da5549eab101c +70c73efbf1ee0805c0f8e394f94f3e6623eb2fb5896563404fe4a7f0d47e802f +698295ca19ad813ae552e8dce8d6f73a7e676308a07f230edb99902132ca5b6e +0e95558764ff3f6f854cc29b338a5e1bc14c9468b5528f5b5dc8bcce69bcd0b8 +e295f3ff96dff56779de49a1157c7d1fe777e3a94cf95e3c707d6c1fb41b279e +9abf7b4077fe611a1669c689c1d9a81c933e8075af7b5b440c24318b26a1206e +92266a64a0577abd20659d83fbc433621c7a01f74c6863d43b02651ea96fd0a1 +e1a553a05978a4fbff7d591254a5e3a2642c0eec9b4a0988e4aae449964323b7 +9bade117a3ce68969f62944d027dd0bf7ff0f73b0283c8843e9a3001bd096baa +f61833401353462890af71b05b84b2e8a8a3bce954febceeaf5c10ec704a68ff +24364e70e1749dbc2b1299887309e014f82b805c37aecf05fd413220403e48c3 +3cb49d0c265ec2511211833f8c475d7bdc3959c3378597773f02b5d41fbded8f +eb58a06037a79c3424e56d48a1cf82672026b3122e379a0012322a325bef16b1 +f95958c7b22cce273e8aaa1e8e40978abf5626000a2563577e164b89e24e4d06 +483f503454a37fac420c7945ad53a6c102f1713208c99ab6ccb0bb3e50a70b6a +38b38bce6444a7951cd669008776a1720790b0b6722be634f90120f42e3b5cdf +9007d9b8fcfeb1c2042367c5f7445e69bbc19cbea5b305b1bca2f6398211ca07 +96d5bd57d23639b1a7d7a5f50b609dff3c7622e922714dffc7dbd6b820460c67 +e8ea1c017e57fd172fa3cac1678df44f20e718542342847e33698d382ec37f60 +21b7d901ca384beec87374854e4a1372610ef8fe5c69a141b860b5a9c51af0be +8e33cd57dc6f1d2fe672e72fd0f370cef74a02fef6a0e6303b7445efa72758ff +b98b3549de42d525c166c92b652ef1e71c92b0ed3c1ba2418dd13a2d301ea894 +7b3d54d469676944a58f147851fcd8500747899ec3bd885f25e1631a3dedd10b +4eeb87c74ac62e316d2ebd3aa0ce027e91b39450ea3e30cb01baafab02ed0567 +cd83c482d6e92d7835fe387cd6c050d8f4f2f64b95fc44e1101d89e112b971e6 +61d975a98183617bc942f425b837e4e868136b17ecde0e1380ce8a52b95881da +2bf547a37f38c603e43ae53f32b5a347e4b43c0bb86d8aaf447bb5f4c983616e +be1a48c7dc636242f20e876baef484506e2888f0913d8b76b1086b60409a2a03 +e82ac9970d6c120a6621bd68250d88e95c01abb861af559132e6d9b8f5abbb66 +4152d65779019e678cc86909e31bee3d13a16d764998d94ae5df24f02fc8153d +72b41953605ca86a99bc3dd05ca620e7a28d51beddff28596ec8eb878c09c041 +74baef8d2fc52b3b0c55e95b7482dde018c706a3fb83b945d3df90cffeb1380b +09c4576040668f537083afc50a1e26d28c4d58bad52b17964871210ecb2f148c +daa07db5d3780ecd1635cc5d5dc23867a13e152872c78e20b95f11a4afb8508e +813f4c580f80546b2d5dcda546a6fa4b28a906511be9ae09f3adf926fa237825 +ac9f250d275294c5f21466af681e4e61ea6915d623c7d48837d0bbfd7f893a2c +d347cd7514ace7badbbff683aa9c6eef46d1c830afac64a9f64b95a6fba4bc48 +a33135b70cf12c2eb19c2af6a45b9be09619e4b89f47ef4b9d3d234466822c1f +3ce559a85fc52ac8aa947f981fb5fe7605a373f5484d4929932590eb79a504e5 +ec35c263a30ab3e50ca900c2488baf5f1c1c23cd42d6401bfd7b09172be16f1a +df93f41ab0b4465a4f1e2ab556078dbe76729d69434690fec8f59894a77d3b8b +bbd3a87346b6706fb127da2f6b458208befdd75d68207bc88ca1f2e36b65d170 +922071549c382790beee82ba0dfde07d7d5f58ebd02b19feeaeb6aaad59792cf +461d467665cb3a0cda48058fb5181273c8632075e2f11f8de7181373a9b73901 +a816cfde3e2029a04b1139eb306132f989f4a2e85cbebfdc52bda2e88bd8d1df +3f331602fe0fc1802abcb35b8e6dbe5bff9740a4af24077a725d17660fee662b +209db93c54baffeffbce92a9e2e696d5f56f5d7c81b29cd00a59ccaa389183b0 +ae2507f0ec1a9e224097be40e0db4c8099a96a858425c6a680365704f39a05cd +4887bf94f49e4f8efacdab96877a18272900237356ce576042dcb16e5851e1b9 +4fa0ef754cc9d84e91486d771871151a5983f158b7e05cecad73ba064c258397 +cd00cd6b8cecbb898c5d4609531d387ebf15a5c38b80efe629bedc9314736e90 +d4117c763f18dda7974d519ef1bef9824934159d0fe29edaea2173c69c56967e +ff9c37eea1e8b38eaed338699c6a3763c6353dfb2584f6da9923ab74b18cbe05 +278a5ed2936b193c75c986e8bfdcc63904a25ecb4a04e998ef8789e9c3ec618f +1fefe74fe5a23d368b563579e318bbe956f29d191748ee26bc883bec714e1f8c +88c98dc012b95385e894919f1de5afc62c9c513014d6105baf24ecaf88275909 +4d13079cccc3f103d6751b4f79b785577686abc760a6c56bf34db0f2ac3d0b82 +ee63f9e750c7790d7a3a1626d66e70d26617459a8103e08b6f14af71c017d3c4 +e5b4450986908ec345af9bfc4d650cf35f337026ae940513a9b3de95df3e16c0 +588a59a7f2f1d5e2a418410b5e2fcb4692998921834fa44f30f2117228005347 +9a3a82341434ea71f82d87e1bbcaed725ede9f6001ae4c8651da9afa36b3e6ef +07a8b311afe1bda98e3143c8e2417fc188bfd48627d9b6aae94f510054dab99c +12fa0d5d73069f48c86391d27e37265c91ab1c06ce4d4bf0af63db65e16e783f +7dc649a88967284c9d9fe861add619a3ffde0a31a5719bb456d1ab8010ccc8ec +89615ae875db7a321398ff923c088a6ab51ffe2fd21d3541474d79f07e536709 +46d1a8c65e8dd6ba6f19410b76ee7b5468462b9aadd9f8ddb68c32b08b0df0c4 +f3b909fe714f453bb1ebe914752c5eb5f68377a82e5d5b90abc19402bd589b43 +05f905efc12878733902c54391c267fd81aecb8cd692aaaac3218d34a4c1612a +5aa9844d171e6ebf94f4d8900236e8e27c5bd7460fa1e195c1077da5918afdc3 +90abc6db247885a42158c3cd36ee89d82cbf2471c6daf51120ba3f6937d537e9 +370af7ce73f3b50b742ade8264df9288120dd74094a064909c00764e9347d2f9 +a3f92bb53d8263053a3082809e04e9bc7c9f3b8a7c97c5cc1f9f886115676a18 +cc04c656aa33535e5893b8db3ba5d627f8810048b2a7a28e6d1374afd6af6980 +ace96ee05d890339773f6dbdc92f2f840b50770213bf6188dcdd1bad8d527e71 +9692ab1dfc47e7673c175a1b9841d56e2e0b30e8685b01a68ce561bfc6463a6a +d34557d05276f7befbc1fec7bd56a18bf0292cd25eae57450b3b590e60181258 +4b35e2004e7b1e27f3b26d7108a03c94dea662b7342e38f8300adbd92261809e +bee8ec971a7f2f59487c89357580f9aa8145a1825573f037a0ade5b98be24a86 +530435bcb82e17054f67fa873946c732c8840b9eaa9130bbd360ef27fe72ecfb +b421627d2d52578373ca7ef9fc6f850f4b7f22e6501378de0a9dd56f5f5815f2 +7ea81d8ee3a4f7b98e59ea1cb3159f5816fa703b18f03c5b0aafbbdcc979df41 +7258af2ed57f7da62871c0efdab55fafcbda5fbef92ce65aa0ff37b92ce6c953 +a9d92a8c6e02b8a1f9a9f0c66461c5a62097e12e9f656c87ae283e6f3b63ed10 +a6a723316b9beb28b62a55d372b9a22bdc669b51533c5690e593f2a409619b2a +d73655a40a33e83c65e66f18a40c8e77b048674fad760b9a7d86621181d498b5 +59707d36440af3e015851ce43cfad5d1d96e9274ad714ef46cac1a02974245a8 +d25d894caa256c320af31f954bf574dd95bf32e5841333063d32709b93b009fe +e680d5b2bb5f95275d118a085e98506d0272fd1b8220a2343979bb1467f9006a +1f17b2ae2941413683c3cbbaa1c0a3aa55193d46a2573f2cbb8b7adc7e74d0d0 +135dfa18405bfaeda37f3d4787a965192ca64e4462a0c701de5c361088b3319e +7b5d19a14337068661abc7c36002ff4dbe90e7b655b8e06bd70e283cad1c5d88 +de63628c638083b303ee6b038836893707f6e1121ef56292a75bd9301d987ae1 +ada2acdf61ef74f2b3dc4f87c6374254f865f6e8f6c0933c54265e9a5cc7ef62 +432baad5fa08dd485c3b1d0e75ffd5180e99df967b85861d9710ff294e93cfc3 +7ba6c006164690c10339aae9c1113cb48687672e8a2dd88ea9af6d0cae13ac05 +9b61095b999c87bc3c80748fe6722bb76818b2339223dc051a4938f435b92629 +4395dc3d2b9b3a0e370363535d960735fca855ffcba0aefe767732f7991c5977 +46fb683b9a0c11fcd6a3eb370bb56d6611e7c20dfa1d9fdb3b90ef31bf0a6aaa +d8bee6d7ceb116373e74f072d2c61b646f0da308955829be7578d1909b03c4d9 +307709be75ab3d72d0864af89bb713da0938f038ffb3459b793d06bb37d6efd5 +5d4e755f3403c32c28201fa5f979f51f3a9d4c521480e58ccf06cc60a056a5b1 +c48f27872ef36da126d580ec0520ee9d252cd27c207b6a12b27b1861ae0debbc +21e549144604b277ac8e7b4caaf5f7220d67fa9a985001488c128e1a4c9ebaa9 +de54a13cd4baedcd50653b73a6514ac47bb5411d8094854212c9219caa4e4c7c +447324ab35edc9ceeeef505fb71a2348c3be2082fba20b8ab572bf9276e84e2b +0b328828eb0c636750dc104e741c5df9caf3808a061484a23dd0aafcf5bfd1a7 +319c50d09cb55d73c87d3ab59e74e29de58723ea32cb96a0b497e2e530b54b9a +355a27d988ef4387d8260863e8beecbcc27e4b051961aeffcb8475d7da9bdec6 +42d6a55f06ae9af2450545811fc6486c6be309955c53121db95ac255263e93ef +3adb9e07e56b1133c491b550a511204ed55c8dd911e2fc0669c90fd904267f0e +79d56ddeb72895002a7f795349da2137b6eedcc300c1206dbdfdc3a52f71c86b +8141b63c3d33957c66a9e074bfa703ba2344d802028d787878f9fea87fa9ccdf +f4ed49f4daa6e6839fd64c91e60f99b8e10652bffdac46169c413a36e8105d8d +9343496c1a9b5bc33cb5e573166d4097fb4f3f5517b38f9298de2ac6d51121e2 +0eb9f07ecaf4d70c56a5280948c67e506e47fe9d3465c7cd156e5768b70f694c +57c11c80e7a4d1417c25690197d058d02216a81d7104ef27003dadb3ed10c742 +4b03f54aeba13d17f681fee3a8797754348b134d89572a2083225178a9db4466 +ababce914cf2777d3ae7effca5f4973eb2945672c0218c420173d8d2fdb8d60a +a1b40773a74f904955e7991bc973d12eb5bffc4dd0032b1a1397cb5ba3b431cf +92b76b1f7bf1f9eec8389e525553a8791692a9a9eb495822684df34bc5209953 +1b38bc4875beb62a391a8e0fdef5b0ad35190c44c782e374e3ca17b9f5e2f5b7 +c8566acd0df90ef22b50100f501a80c17a32ef4eb28da320c20ff407fa116404 +aef81d37037013406eb51aa024605e01257fd78c625bd120d4bbbed7bfd4f95f +a3c3088a0fb237d44fdf4aa0bff28254063416918e276e7b68c545def20f896e +509cdc2c31b65668200637bbfa587b547b77f81bad98ff0b70805d9c6fd17abd +f107e1d39d98d9ba1a7bcdf98ed607a3770508ada6bc25fcb63f5bb642a4e028 +bed525fcd1a9dbf1e1520c5164a53c0ddb1b3974366b8feaaf766f02a4085f57 +948854365bad4f6cf18fc871256f9ba3c60a79f3d08617f6a483fb6b50ef2dd5 +0755b2b824dad8935247fcff268b7cd152cab7e7a876b381491589f3d4c65c50 +3353d07c94786db7346cb89cf5350b585cf890fde7a891e7646e5fb912b71db0 +10e73de1100848dd1bd100d0daf43c4bef2b43440513be6281ea0359ae0be4ff +a861b07d06a311b97028daf2fcfb14eb8e8f713bca854befa5a46172dbc0dbd4 +448a8c20ce02a71d33457d4c52704733b90b005b03fe89fa90b73e747f273118 +4bc20d38fca2e51eb0d5bd5454a23e0fa6616a330d61e5a487aa516daa6ca1d7 +b8cfc260bedbfcdfd3d3d0c115359c73a67c1921df252899298bc9015a6c96dd +e70e6dee29597cc7c111a565a6877ec4efe425783478bd79ae97b5d1bac5d10f +5cf77c6c026966155264c7ff1dd30028f21bfe0b7948edb1710f30ee09747272 +81aa09b166177f5e507ce6a09a6368505a1d7b58d5aa2d63dac1b073442be702 +9b2ba6a5a6073bb8aa8c6f741e1b135a73675ef22ea810435f4b1a899d180e2e +be37106d4db6ac2c01d2d962117c4b6a62b1eafdd923d89cc830c00f4cacf98a +3e02d0863389d2dd73db37d8af50cee306da798989047e47c165d47926ec533d +5e1f5fd0d039ff2fb3e01c61509b3ddc62754cc30b7946c4a705d56f16730b99 +8a40275da604170fe8da1f8d8c5e4a393c701aa708f916fb66939adf2546097f +2ad583fd795ad2fd059e9450c6df7be3a22f36c359ddcd8de44e1106b1edeed8 +65e317c06382f6473e3d15fd731ee92b39d3a3dc42c9107ca046febf2ed214f8 +014ea9efdd078b94dfe6a53e5357dcb99a937583a89b90105349829575a5f474 +ce7519336dedef19083bf6d9312f19c78f09085db567895a10edb5a6cfbf3532 +5cec8e3db206815af7bd78c8dcde6a910eb9232eea4b9e68684be8083f335761 +916fc1f64c649fefda1b3fd499e851cdfa7ad22acd535a04986f35b62c2adf2e +74519f043c7c1864c6b3a9d5126fd87c105f123711b560531f46628f872b085d +ad00961bf770b386b416ca2c5a738ba54f7a7a2e234dd97b2918d007c135aabe +9ba541eaa0d19c216b5a6f245cd33a1666e26bcd5ece41bbd5bfb3aea9511bd7 +da27388e8b62f49f0b4db0b190c5dbb7bfdb1fec5a786bf43783cbecf09d8056 +15ce4179710883f8fe7bf4fde22e8a7b46273172e9a4751b4fdf6ec099e8d685 +32a4c9c4708902285df499de4a6b0e143d72c13b747461bda19f5e3a34f1dc8a +96dd2194b6083c75715f9f5261947ef0eb21c496effe37f407f45c5f66aadb99 +cf42aea5fab6694a64cd89daecab44bcc134280a3614f02c432b98054ff8be39 +7cb464de7b1ee896f798a90377bdd07afbc9394ba931c3fe490d11fc60506a3e +476d86bff5d3d850683942744d651355cb081b39d8d2147409a4bbf3ec699da2 +d79303ca40261fa3b6ab5b17ff331eb3d9f01896590905a2c7841d1f4b1f85a0 +b4afeb0183a61e21958ab3f541d321ac6bc81dafc5dc633cf1f4231b0e4dbc9e +bd3c +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F116_0 /PYRIYB+NimbusSanL-Bold 1 1 +[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright + /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash + /zero/one/two/three/four/five/six/seven + /eight/nine/colon/semicolon/less/equal/greater/question + /at/A/B/C/D/E/F/G + /H/I/J/K/L/M/N/O + /P/Q/R/S/T/U/V/W + /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore + /quoteleft/a/b/c/d/e/f/g + /h/i/j/k/l/m/n/o + /p/q/r/s/t/u/v/w + /x/y/z/braceleft/bar/braceright/asciitilde/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section + /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl + /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet + /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown + /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent + /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron + /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef + /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef + /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef + /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font XDVKOU+NimbusRomNo9L-Regu +%!PS-AdobeFont-1.0: NimbusRomNo9L-Regu 1.05 +%%CreationDate: Wed Dec 22 1999 +% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +% (URW)++,Copyright 1999 by (URW)++ Design & Development +% See the file COPYING (GNU General Public License) for license conditions. +% As a special exception, permission is granted to include this font +% program in a Postscript or PDF file that consists of a document that +% contains text to be displayed or printed using this font, regardless +% of the conditions or license applying to the document itself. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.05) readonly def +/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def +/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def +/FullName (Nimbus Roman No9 L Regular) readonly def +/FamilyName (Nimbus Roman No9 L) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /XDVKOU+NimbusRomNo9L-Regu def +/PaintType 0 def +/WMode 0 def +/FontBBox {-168 -281 1000 924} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding StandardEncoding def +currentdict end +currentfile eexec +d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae +6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27 +bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf +045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670 +0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4 +1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa763773acd59cb757 +ae119355777a1bfbd6751f24f58ee0133199ed331e67ff4101e33040d6628f4b +77ee87860b8e32a4923e2c1fca43cf544a5eb1bcd649ebd836daecb23e3a986b +9bd8398e690be6b48bd6479823a435defe1156284048c4d49b5a869164485630 +3810995159568b3dcf3734b11a3f25453e0e8b40b080c9aa94e140a58d5ebb74 +7d1e083dbe00ad5498c3b19deb502dc63d69032d8d31e6778af4713c30404059 +6a862aeb8cf607fa52a9348e3fe23c1a0296ddb41642aacd6aacd2c6d905073f +98b58ebd11af774beee32533fa19871148dd6db41f3a8c499f25f37cf3955eb7 +bf5bbdbe984535820dd33f60cfe7c2b44ba6e10879b3c65948beed00a84b093e +8e4ea07e34955aebfd0ed462afc5b4b42c5b8be85ce0ab1b9cba42969bbf8a36 +e2943b1d9b20f6ef3416e226763f55a196ca0d86788a6b0ed38ec5b0124ac901 +f55f2f67306ce94aae5809b2203bbb5a8b185b66b2f8a18a456d028f62d8e17f +4cfccddc0743fb02567f0294ab77dca0b9708b262570e3097c76769bd590a09f +ad1523e3bd1ed5fd8475c0b57b95011759d1a55c70b39970dccf76069cdb9690 +68a4626bc863ae1d579604011354cd3ebd51b54a1ba9789f7678546bdef64c9c +51cb6f654c25578c3b4b7c2bbfad476423ab58c57f48b2a54c9d44ad356d106d +8186a85f8578b1735610f6767883701431f5a2503341005020b639f45810440f +f341eda457f8ad2213058a3369016452185f849ee25140060264a04eda7e04b8 +afedf6924f2da0adf944e4ee346e33735f6e78691634e18c4179f28fdb673ec1 +6a2b093eec51a4611030ffe1d4c1a1456e3ead051b01c94e5d9ee94c855cf31b +b8e544e687f2e2a99fd8865ad44eb929430ed39ac0985e4a5c382e16aa2d6ec3 +3b396fe9643124dc587fde09d3d867e9efde49c283dd44fd33b04ba4eacded81 +b3e7d3f7c09d565a6412ac30fc8e81be8821a9031850579b02cefe615c8e7c22 +61a77e73f5382e58ae160043a5defca7470ea62b90e0260faaf5a97a7254b091 +2a187ace29ac6adfa49c7d6f35cdab93ad32553137363ba2f0dcbafd40fa8ffa +7747eb9bb51dcd01291bc073331531dbdcea7db24c9a0302c9896a1c2cd0191a +d88b33d0b0352b356c93987ed9613720cf2be3b164c6a4a3360bf41c9f178831 +62fb73ae514d9c57675572e8c1f93313fbd1b05302f57bbebaa2e76feefea0b8 +9c83d511164b53b481bc920f40d59d152bb1f5674344801f0dc7e71ca5de4e24 +cc79207c66d0b692fe7c1c258be75488f2a0bfd5c81ec5bd0585986d0c5d4575 +82e9ce40b7477b87facaa826ebf147bddb1dc60788dec671c199d18dcd2ca48a +4653963ca85e8944074c501c8143685306d4f133037fea449b0d1cb4ab3bce89 +04a311f9410984d754a3509f51d89a4ef73ffa7f9f3bccd80daa0a34e0e10912 +b7897005607925758237d0bd3b92ac9669b1a1dcf19ff0864f84a993bf7cf266 +1d1b3981fbc5e4fdc3a5b70bd79bce35c6fcfc0a5aca0006433bc0c120073e96 +dd4ae86f022260fcfe119fd4655c3bf00be48c470b0d86e721afca140fe6bf31 +836d578fdae49d71676c77ebe2d09016e1ab71d7c681c8c0565cff9b73d79920 +1ee2def2f16d65647262f96082dd5c44fa3993d3bd1d10c217ea56b73b38428c +767dd9b71530c5f01be2d2611cf9644c28f3f52fd814e463358d70de7bc6bafe +cd377b48633d0107b05ad2472ad6652a1ad30c39adce69ebde3aadb1c5fcdaa6 +96fa9b3c3e63a7c4dac907e3b5cb7a3713505c5ad53c8dd8710acdb3786a919f +b356cc2695cb227540a5f235ae1ba3c6f3547ff24606651e5887fe889cd8913d +de9f3b04019ce0d724c1f6521925bd4fd8154f6f4d640ff94a0b0b027e483f9a +bd1188942cdff486f1a234fdf8adeb552b7e7e10aa577ed3d559010aea480709 +fa1f644fe5b7ca3479599a7e708dcd3ba33a6b2d640f8e39492565965e3b7c74 +bc8c48f3ea9a6048e86197146abc446788a3c83782f797cd278ee1b740627726 +3e1703246bc561faa060de93d224ed3eb1bf548892bc64806c4e9186a2b276d0 +fed43a3021b5a54530de20db8168d44e1947cce7fa1dc8f7927a591d6798c5a2 +b51185c3e74bb6ac782af6f089a4204b6379298617c8f67e38900ac231610ab9 +79400dfaf270c91679c516d2062b949a8d91bd5c8c1a0af1e7401489ad6e8101 +b9103cb5f50dc53ddcf2b32afa218289e9f1b5e29e5c5a2a0f67238558343524 +78cb11a68006685e13f8b9ae54732c180b4949f09839b935b1f7a944f1d4bd84 +a5074b583202cc4aeccb4b8e18096e258bff705476440b9864e746f18703321e +5d5e2f8ca5e2d07b195779f6a0d6a731116f1a26a484fb0d9931dfaafef53b41 +e56e00f32e3952261c0205afbb6f2afaffee7cc1fd39b2e108841f39dc8df97c +0f776adaf41423b47c551d48add01398dad167f4590dccc3106a5a4386499462 +78831779383abaae807b3b03b5dbd4b973219f2d1d19369889dd72e446ec95e1 +37017fbf85f4064f81f27cdb4f9117be248a8d5a65225edca22e833df98da456 +98a428edafa84085c323399562865aaa8286eb5dc63dad6839b597386e0558d2 +11bc45d66e0e60a86c968519b8b305d5ba7ebc2fad7cb5004559544330668c1a +7b77dc9762baafb4190dcc1aae670824824e00f023c574e1c017e33650e24fb5 +d4ad701ab8d93f0fd91867bd21299867f966e93cd621ec0332fa04a2a691ae0b +179d1dd6364166f94716b69027d8d0bcfc6622a086dbe92198e5c625699d0bbf +a9dee06d20554b4d82584108208ca24d7509c4ea30e71ec44f014f8cd97b8eeb +f1322fd5b116009584559a3b0574e24329aef35d2964756d50ee8a0fdae1be91 +19e20fb52c3437ef677f37b549851cc9bb60c04cbee8d80b6f1442cd8676b0e7 +bc4b2c4883d212135bcde4fc15eff6d20269a6f4463b12c214d99e68f113c5c6 +7c2d25384d8e7b9eb31d79e2c4607421389827e2fac887dbf08a43a5ddbc5797 +797a1fd10143a4e97ad79bd0bd7f3f1205130061a6581a4d30183e71fe80d570 +42083823e3ecdb6d6352b6bd54413a9b6bbaab94a76d12ad93ff99f9433e3ec6 +bab36ccf8168cfb64c4b15987379cc129f6c7c1761df5d7dc46e0996e5588298 +b329b023056dd59f4befb792c4e43fa095d63df49b6e25f821b999b56ae05919 +16346777c2579ecd17b5a87f1505f4686ba2aad3045cb414cc65cde98b92c76f +20a9be4a42b77e077b9c00eaa3914709c3fc1a16787e639a2c7fd9a30d9e8ffa +1d5a900dc9cfd5c319ec34570cb758bae3a342d936a30915dbd5160922aaf241 +74c014836eb17224a681c1d7cae7fe0d0627bd5af08286c59e2640cadf9e33db +6636197d955a073214899ae76156146452d063a460fdc5a82df0eafe9ad88a24 +905f7db7dc8097c0d9b0f9319aea0aaf7aaed4a85c93979445e8d1e5a9bdd3b5 +4d74320a1b797ace38376db0b2f6566432b8a90ca4fc7842b90623603f7aa2e5 +a2f0298157822d42f334b8f9f80fb04c36bfde0eb1187c1b15ad0666031c5c09 +62bab12d2476f696939130c5b59fe70b61320e4510be29e04f13236cbcc78a8f +93bd11c24fcc4b45405a13a65ea47c13be1f82075662c316b4de144f89beb6aa +cfb84f0d288c67d488faed8dbfff92be9a24bed443e9db3f1deab63ae94eecef +43ae1d68455826cb3a48c456d7e9a849a9822c77503e5b9f029fe70168831ea5 +2ec0c2c4471627fb5f2d03bdf8726bcce14a8a162bd9bb26137253ba8b581941 +e759a7ca7917d4244da33f45df6684d3dc361bda88b4a0a02e5e55a1efb0d851 +b4e418bc6a0e213172a08b7596b1fd93aaf111f2778006da546ca1db88d5db98 +4ae9658c1d31adf6ecd3180c19791c85a0ddd1547fdb800479a6dfea56ff1e11 +9b3c1dc388c0f372a44712954373ab66cc420b2cc80a92c2fa011d91c441bab2 +f54dbbea462e186e0617b2f3921f1aa33dcd2c1c5eccbcc37dc50bc29d0ffb03 +e45372aefe3b44d8584035f3bf5ad94459a65fa170516c271b722a2f08bd241b +7816ae887856fef57292179987b26bbff4cf1da6cd2bb092df2f6ae3064d61b9 +e7bed1d13e534b991610a2c067a1c107ec6b0a8dfa6f6c4c2539c8747ad33057 +f5a9d083a689e34c8ca2957263786c1f78cff0347ba42730544865be79b7c461 +7ebf003f8cec1e4b6af75689fa6f6dcc317c7f6975df451eada5382583a1d1c6 +510ca60fd85e55c6e16ed39a86dea378d6f41c00beed05ff2f9f1a2219e6838c +819e9576e4ef216802c4a913de00062e70df8d83754166a27708337ec6b8a031 +04a426a1c31371eaf807c8d638d16e6515ef0693651bc2dfc870a1a7e340d504 +be0feabf24b5bc879e75801d188856be2225a82eae90a792fb4e0d66ca0c4a64 +a5064e1c9c2fbe84b5d6578c2af56fef340a49911a0a346813fd5da9e694726e +a0dea4f42008ef28f8d6ea9f974327fe71889fe76945b30fa99c4c8c7bd3c40c +ccaa4f19c0e0e0c4cc88611829bdca334cd69463228c2f83e1467125b7eb3c9e +812c62fdaf831871ea0af75efe4c81224eff156fb21bf1a27123d020beb9e1a4 +d72626ddf4dfd474b98694e87ef0691b71a8aa4d346d03eb56e0715d8f6148fc +424cc472407f00bbff0cb49d05b0b5923821fccfc27869a85fedae1ecd60b31b +1c8e8810879809ec069ca308454613df0f673b5516598fb5b822833fe3e0c0fd +1b3684f7a66ff0f9132de78d198fb6dd459c42208ddd13ecf433d4c9901b0aaf +4c8ca7685711deb49d9a2cfa4209a0d058aa8490963164652bbd3cf858e53975 +0af2b20db08bad60ac71809271597b65071e7946d81c02d8e8eac13adf5d5249 +ac0b42f5c602e16b6199dde3666d58abec0c1485ba6ba71086c36481229891a6 +89bd1c4d67e91e5ad6d75ae80420cac489198821227c1ac94954cd0c94098773 +ef4313cd8aa49aacd7d34bec814e77f9aa794e57bd14f678a5f3d9311036fcf3 +d39a94b0b23b982214469f645fdb728751627c28359d6613978a340b2b2ba9b6 +a0304f87a77389a09a36a660cc983072063683920005b2434951a9c8ff375cb8 +17ce6c78b6991ab5a5efd7dd4e8b3171133da1cb44af59bd84724150d09f13b4 +39a1046904d4d3ec3d2a90cf5275a9527f8c3c62a0ae24a60e9e7d1765eabd75 +cdfc9a14c4043fd34ea73afa2e08cec40386f048879987699fb8123ded9709a8 +75b020943bfafac56dcbe4a2101223949b0179cf7de6b550657c91bf3116ee7c +66e23e4ff64cedac326536ca1f75ed1bc7113f0267ea7a26fd44728714e2a1a3 +13e88daf24c9a46de29e3767648e961b346ddc72a6724a0857078c9a2ed39df9 +d17c65b89136a6cc0c954e0c46e9f23900c7ce91ae71d74237ea1128637a673c +f6ea0c8286ef99801cc6d45bb780e21c5a7464d16f77b45236bb9819ed3a8c4c +7e1b15400eac8a99511e77effdceaf8af6cef034b79862eaaaaa00bd02f5667a +c1a03c0188d09fe4d1fcc0b0d3354c880b2943b9666224238db22257a3873b36 +be9a8a55e01165f4e8d3c8eb3521ed57aa834a4f88b97f2fd77b3b3c39ae4bbe +869a24a4714476b3d396eff67982ba0a8f9ac34bf7b247951c0c241a01f347f7 +84bf841495d76f9fb2ac130779145677c799a07678eb8a3ea3de9fd00430d46c +b1b3b6c392afd853df1d0bcee9a053d6fecad859bb9bad0bf186a6196b89fcb8 +44799928b4da77817a8cd1c36cf9515090cbf63f373aaf151154a769cb58704c +2c0263028c641e1ae224235cdb17d89af5398f3d1daf44254089e6b4db47475a +1fc228e0151f244b025e5c14411c8834486e483e4cb4406752788fa99336d980 +a7a6e6f1afecbd87f2c615880f3a6bc21524abd7076eaba6ea1bae0f995fee85 +f938283c60a7a1dfdfc053a8353051b18bd03129dfe6b472e73958d11467aded +ced7829ddf6e7879dced36391a1d113cb87969b0465d64b96b5360f774a98596 +1272aefdb74ea23d85c8af588ae0f6b43ec47292c880217c0ad03d87e1cc22bd +8117ee06e36394a8fa5e72cab0825bc3af8bea7256e7f8abe7fcf57a38e38df6 +b60d783d56905a5d7794904c0cb95e2aa835145062e022b159fa7247af415890 +117a2c9a99674891b134760def15804badb8d4ae414a1410886eff8d5284b042 +9586db6610fc1e7c2ff53f19060e6b43dfb0d8bf8dd94efd5105ee20ae0bddd9 +58176c666d2ccdbaa1a3b0a8cda0b452409c8cf61b9e085d9a9164b7eac06dad +f878ef8ff5e36bbd6414aa86e1d73d211175ab042ed5ff72030b44aba32b970b +917282a1d69f3005b0a110f90942ea6f9cb2d9eb57a43000c48bfc2af2b572c3 +f8387ab21c90facde17d772ed98280b44061671ea4d98e901f33b8a8bf0f97a3 +d87d0c4d81d6e29d895f50c1552fcbef2df93a75e3b0046c794d20229d7eae01 +7f230053c4c2f463020d060b8552cfd6463018b4c03275dea0ac42977b3dbe97 +3d7efc22c9ddbf499f2a2358f6287a8c9946fd16e6e998dc763b5abaa6888484 +c2430f2fb9f2b0ae84984af32ba54cb191274f7b85695f5faa3cd5eb154b0f1b +fa2a0b9ae93d591648d33b6c23e27f9a18e0b8548bf1f45158ba7c171bd1136c +d045e9dd27e4f23dbfe5b29a66695628a87949cd0d4d15cd066916eeddc6cbc6 +f0a5c77201d4cd352584ae70d1b8e4ad2d5278a472d230997c7c03d16cb5ea0d +d04df0bccfc7a277a0ec9516e10134a9ff93b3e6267c5ede4e5b848bdeb76b87 +52249e458b602c175ce8717e89da05ceb850d2538c340ef6142f0b5cf5906f99 +c271b6e5b9e614d64a7c72372835ec4a99bb39a7aecbc41d021118dd56d21326 +c818bff4de332c9c00e96755e71288117c19e3b920c23766f249b1abf4ebb173 +3f9d38f1772128cad4514c4c06fee49abf401feaf2368edf5b4f78fb13336189 +5040b953d2ec56876cc72fdf69ea7692da01a508c2ff7096e17d78e2f61a04b5 +400d9c28610aa8d48b790edb4bd5cf08646923b0d5a86178956bf7940f291242 +1c4f3bc76fd991e36e18d40f813095c5b9165700cf94403b23b2b7887458c4d4 +4a4f160ceee87c7d50fb4ddc3d4e3242d9ac170b060d472889e553c988126096 +dd343532e74b54d664d63141b1eda0e6ffd1d82ce4d084352e97f09e2e05a17d +cd8bed5a8adc08494e5ba8b57ce522758413cbe5e5d74e6d3b251a6567fbea78 +5d838a9506c98691e0ee47be4421a95e6b02e8c66aa06f9c88b0ab94a1a32660 +fa0d8a24f2d5873ac94ff8e0670b96d4eb007ab89f1c77e0f1d1be46155fa2c4 +5930779b70c9a6d559a3646af2b83590b2f1ac3a3f1c9e8d465e145c69fc07cb +5df5093b7cda7f1780def8060d7daf747491b0486e7ca427857946d2f3d0e22e +018cf12b04b2ecfe3accb88e5e52dde2d9118a1747917e6a9f211c1d210b2b15 +8f31adac46b63cc00beed35638a2e8155805bc068a00b757d6f9dca2ae540883 +11ed782d682b511c557ab8c413e95ea8b6dd3a6c12ea9716d670fe4446629890 +d14a1ff76cdb4eb9e2ff314ed9094148bb33db76e4f6bbd5b6ec76aac13c6660 +38b1790d9c6ecf2f33b6d4ece409f012d58a75a1a4ef5e580986db61edcd97c9 +7ae81fa20bd7fcb07053311dbd6f3f73077ddd3949fa6dc327ad2fc056a8b798 +53b22c193126e73803c83fc4b7bd9cdc54c2fb1f6353ebddc027d3925bd32d89 +219a778cdc38e5f9621b41a27cb8fee8ffc1a2fc48ebd25828373b9bca8742c3 +0a58b2473a33b4805383415deeed7197a840f6c39267de16ecfcafe7d585f672 +b5ff6bb9d143e8e615d349ed779b847f2b5930aa83b08792e193d64aa163a090 +586a383d4ef4bc273f162164154d9abe6e68e23078cbbbd0a357a771bbc427c2 +3b6a3f24401e31edd9fd7091e8849c8e37d83ef396dc505f8f843f4ef305c505 +53776af2c088aaaa5a5efc05258cf692b579cba82efe7dd3f3394d985a5518cf +93c258a168969d01842a624f56b4a6e50fde64083aa7cd0a8f3c0eea6e6d9a06 +d24b1f96d34d66c2fed66cf844b490b537561865299d18dbea55e025643f78d0 +2419619759dbcd65ed0ac4a2866c61f37383902b4e1665b2fd9414d348b4d41f +ebaf2a1e4bc97f5497de6237170ec27597c98e6cdbefee9c6a7b106b3b6aff2f +7dbc6ba1b2d145285029bed2766715781b230aedca4dbe0c92945bb7954d9fd6 +1702f5a981dc0c5c876c28659d744803202a5929f03db99b32f776a794afbec5 +3f03ab51fbdf52c98de52fcae577c7ef0a72cb1f4170bffa48734f1df30ac772 +9f23e8541aed00a2cb2bfa219626421f669494c472c88e288e5698541185b862 +29881c30d6b6124b276110bca39fc496691eb1c61432cf296b055401f2f63e03 +22b0f37395a0489a031945a21fba843a881730d3298008bb4c023b24b195dd5a +1e30b76210c17a06095e3222bd39ff2b7f7b6366a173a9e0cb527172e1da2308 +5eb7568000e9e9fa521f977c341e7c4cefc883522696ab5617d6f6854bcaaafe +ccb82352f821fd30f6edbab80310bfff84779899bc62743894dd9e726c6a585d +b4a2883fddf1d1ccb7dc8242c6d0f16d008d551ee9e02cddd4a21a28cb56bba4 +0bcaaaf95dc41650643302346318e7eef6bba6f4fb6eb956f99457f2d2ebf601 +65b6b1e4405501ddedc0d2cce1a9cc7ee6282a2432e88ff45ac520a8155a2b4c +4bfbef1e1a860ac2a2f2d25c1bcbd864001a54be48c3686cf72e98856e8d4e4f +2b3f382c3e3a75bef479a567bab3764282da78b388d27a6dec10e31db5088362 +d3586e219c55ec4e24bdfcd77b920f5ea332d29630559785a900d05813400556 +d1d0721754258799fb25bb59a79699f6f4e56f0e58f6748bf8091d848e4bf22b +728c913b0db74e9bae863413ba5ba04ec732d6f50d838424dd1a47b29e51aaaf +8ee4831f52722e1627bc84cbc737535206f251d92549b8e2d24bc6b3d2cd5687 +9c4bdc972846bceecb47b5ad23df0a82cc481e37d74ff3389ad3535d0d6254d6 +d8ec450fa1e3b81b7be26897b75025a64f480dada26aa777cda828ed66cd65fc +9d02717638bdb88571460a45aaf9abe1b460659f7893c1c64008192e38cef686 +8a076a626165bb53e34766580ea78b2bb63e45d6fa0ec31687bc4f243760d452 +b459dbed951640b1f5083a19705a3384af93eaf503a000e3f2384062bb52559e +1e0d8bdaf66cdacfaaf91636d01f7a76dd5424b7b620a706304cae6fc50f0dd3 +8d395cf39dc796c7ec271721e13b1dcff35f06b5bf5cbb6b2eb908714f4fdd35 +9763585e39484118b080504f1bdb293321cfd1b2913fb217c7b41d7212b1daac +1c4d770cfe91a1f649d760c132fd77024f7a0a4e8d0cfb275f5435f3dd911be1 +1db381c01a9c04645631fd9e1c871c5d2c91ac39a18d8b9dc563633d709a909d +614024729bbb2824c33c216612efe88278d6b1082e18f486631fde76aefda526 +2a194ecb406ec7315a43695256b1f7503d323c8fcce1f572ce5410edc931f97a +fe2671156d0167b444ab02691b81fa57696d07e235dda15640ce4d2a936d1dbc +a0d1f41aff8f3ca1792ac1c146021056a40ba5b30278222286a89825638edeaf +429cfba89cc85ff869cc5d51e41a8ffe937e03744732e3fab250127c9eb21d53 +48e3f6fbfa7d4abb16dac3c45e68e355e43d59c67a717495a6acdff50208c2c9 +7ecc5243915c0ba12e420d4fbc39c5332db7d681e51158af491169d7f7212fdf +47b9a9dd0af18a2c28bf94199e0480f9cd97c2ed0e79a57a02adae4b0cd3c1c8 +f91521a111933abee28bfa1ee0810db409fe8dfa17195a9a7637f180ec400844 +e497a7f9cbafb57866834f37b2937cd71cfd5a88eb86b64a01e33e9a639ee133 +89460417242cec260f151b9613f6aca727b2578770e86b45b395b951caba7afd +94c3442bd844ff531d069b8a2bc52710d341882860864884714eacfe23bc1cb9 +e4823b3c2315c09342cf097030f14fd7e663c2d030d2d71079b6d53799e5917c +9798624793a0f850b6046e7c987f7b1b01b586a83e8fea61486dcbe8b1362ba3 +a2ddf29c622fa55d54800823824af57e426b41b6aeb440da475e13240445d467 +26a6d4518ca92a6003209d30974a40872e176ec005233706148979aa159c2b7e +dcd5136921bb9116855f20b0de9f99a919854a9fb381d71265dbe5375b06ffcd +490b11631704a069a04c0cf952ea0d9c4176d5acfbc48d8a48074357b1b4a8d7 +1a9bff215c77e14d23e09393eb10015a5474701d12005e66a31aaaafcae6a030 +34e2281bec8d06f7b41e9b2dabb7783daec99bc7a3a8dd48e90d36848efdde98 +c09309fb1c506f5a1c0af132020b07afb2a9b3c457cb0f1a66684e043872b794 +534308404c4d7faeb296d9f1561cac5fac91f4b02f89b429212c58c55cb96fc8 +bd812563b864833a0f9fd69422d24eb4a4acc9cb2bebc4ff8b9d8e891a63babe +c423cda2fcb7cd52a04774b3738108a19eeb1208256540bfcea23ba55f4dce15 +e1d176c21f166ddc1c2bb79b75d40e38050c6658a23c416650a1dadd17e15584 +b382a148d2df13b0d186484217ce6e11308856598534befb42a76389263e975b +0a17b79be1c651630970b99d5956213b5da9d41d160dfdbb14de1e25f83725df +ee7b04c5f1eb6cf4914ce25d050de1e1fd701490f5e4d82dd51b28cdd8cce9e9 +e39bba025c012e85b2b1c125c45943798f8b93c791b06f159bbbe9a3ab1e0fde +320164f98cb091b751a57d86d15a0fe812f9a8de5306b3cb033c9e7eaaba9054 +54af59e9d61518b06302c9aad9a4884c222a41898ed8e340c7b0163e5152a394 +ded4c2abb46fa6e763e27b55fad2c1f9c5e4ddf0bc39fb7178f9f5c84eb6d793 +04815fb8fe12ba84b91019d3c52d36febd917e5fc58c423b5c9e09ea31bf78f1 +da64ca6686189475dbdaa3fa111c24cd98c82e2a9f4c768969ca12ab4d160b85 +7aff1f4af235f5127e7735fd8a4e1f4023de13c477e98d7190bf7b6e45b4f867 +38f0c045e958f0e2e20fef19fe492044c0c04fa16a3a0d33dcdbded65d83cc01 +38ae67b6b6c82ce18705e39c04ad8308ff32f03939586fade451f2dc110ab4dc +fb3125e09d8edeeb9c0ebf3d289f9354973ed883cc9df86e126f0cdf91d07622 +8d14814c51a72aaf37bf555a0e2e8ea5eb932165a430a9d0364247f0ef15886d +fb61e13710f14ee5ff73120542ea256894a17034c5b5d2db4089ee4ae8a5aaa2 +cedfa0b8453c045c75ccf036b34d53f810c2a219e2765e0f6b1aa7c7d78dd6ed +27df905f4874e65d79c161371032be490231487d9b877b3a2c6e8a9840e8f421 +7c2a536aa271ac2f44ee7037758b75f5eccdf5ffc7cb94cb100a8710a118e0cd +cdee5ffe9a3cb0797b1015e78da676e14b78a252fe4f86deb0bda164d4058b46 +3cbc28247564d64fca96b4e6f54499e08714982e495918059ef68b396226aaeb +e5ea86f697256fbb59abc1c752d459d585ddeec5792b769e8f1c55c79f9dccf9 +cb52f236496e84fd5e9a7e4e63d037835b976d5cbad20aa538a07fca3e44ee5e +f03e7b4acf304a825c3d1783a46fe5c046e30f75e8935fd323a022161f2636d7 +287b209d2aff608abf3074cba61563cbe724afa0f51b8e2b49023d2165aba623 +aac35969666595b7f010b911eac958005ac45a5b756a9a1b711f79f2d64067a9 +d4258ff5e7b4fb2142de1e561d8d098a11d63934a065585dafb5693d7b9a546a +ec40b879bb5b7c167e85cc4e9df665cbf0ea67d12e230d9bd922af96eb39dfb5 +e7bf1751f575552d9df1da8402ef816ba3be8f3c19b8912004e1da13463baf48 +ff7b3b33a57aed2a3e9e9f145be50f2e84900daa0b996632263af132f7e6b374 +35d91cbcf393cb46649ff8ee35a93b7e27a9bf39734b53cf410ab3f3a2fc4027 +af2c873a42c13aff732acc9bb83bf2862e7da328eecac95b7c0f0bf79744ea95 +363f54a5b19fd37f0282ffc0c1779d733f531ff661381dc983de2858e791ff20 +17a15a90500c579a5f61209d9a1f503788babb313bfb33f3ca0732c984c398db +687dd0868699e20655fa21040c952224811bceceb52c86e3666430e4fec39c47 +4462ea17dbd53ce9feb02d52615b93ffd7928c8f6d24b3be92f7731b8b087c0c +1d51c663dba72b2a6879c6f55c1de28f339676d7bb9af94fbe12af5488d4b3f5 +b529a6a3474e3f0cc46869343243748527080265184bbfb93eb971bdcb298e54 +16030d4076d4402b653b180ca984be40eebf024d2a7faf3910fa14a5545c6242 +fc6d8a9b6380cae5e75df338e07b8784bcbbd5369ad30a2c6a7ec32cf5d78219 +41b18b7aa533b522565cfa592c54a428813751b5943328dcd2c6a622ebd2ba11 +c6d2d65f03b4f419ba4375c714e62974b83a5a5c4392c26da2650e0ef90e5905 +402cbcac72fe007cdc6dd09bab715b7776e327215024acc013cc55f0a3a26859 +2a02a0a9f87370cc81e5c185db2e6090b6b2e947170a41ebd0cc6d71a264f0ca +16eb08e781695fd8d35777542ba057443ec42bf0a822c27327b1e064af38db65 +9233639f837a74efb758b74a117ec8841779afda95ef3f0f916c97936ec16bbe +f2b917a8e8e686aca6930649129fbe9dfd1f8247b34dbc586678999dbff6a12a +c51c1881425432805a253cfeb23c5ea0cdf05c62f99d34aa7f73d90272af0969 +68ab75f3f1ebb30b5ddd6233202fdae3573f67a51662367833673f7ff1344346 +446dcd3e29699b9028c7bbed09471ebc899cb3139284a914b98fabb1d50119b2 +347ed0d201cfd78dee828badc1655fa2c70191b24e20e699454570fb31850dac +38ae12ca5cdbbe2b0f22f0de8ef8b927dc6c54ecf3801e5c2544710a2e8f726d +cf297becfb7a93b4b422089200aafafb934334704c3d384379d34147f7d163af +3cb42599ea902106ca1befeae26d641d49b7a3490f09bf16b8d17c026e40a2f0 +8d727fa2aefcbe4ac82dafeef86eb672a95f413b73858600c7d9dc544694e25f +259b039558da35ba48443e6c931f6cc6ed108e765c879314e532d888a79c1b2d +460204838fb662dc90465032792f03f18ceb654a379648ba449922c9447c00d5 +08b81dddf1fd0304b2b803785ee94ae63b9700b36fcc894782782f51f397ccff +2a1734032660685070d6d5fe94636e6de386bf347f063dff5819b6b8554ea416 +59da8bb46c01807fdc883e15a200a6cedd4b95810da0a805c3d71c6467d84899 +6b88c60191c3a5e3c4dff6863ff024a5c4d4092164792a397b7d390b4306b56d +b002e6533752ab431804dcd2ec8c9cf242efc7b93dd9c3fdb21824068d3abb6a +831d89d241613946e097ce77a82f68c92da11dfcbde58e3450f2830a3a049bdf +c6e9bdff298b4800f150ad3833a612643316cb420af3db29f008ba36a2ef0181 +f64b4bdbb6334233c58e0e68876a6d2048db062b61a9cd020ed7ef071525cdb9 +3880a24eaeadf171b5c077e4de8527b5ed5b7e5005f73c09b2279ecf72e1ec79 +a3e4837d33cfd614e6d82df617f77eab048e71b51b3ba4334d8be27798576a28 +a21ed866fa75cd39ad747a1fea7a57446111ca317372060aacb159ee90e5efbc +dc5fd16b41a5e63363b41f13c0160f719ce353b913d069e4126743b420562d52 +e56b970fe3e660f4a850e8ef45f7262128f936ab5610401756ebeb0d9b5dab1c +8ef2d95e0cbe3542bfe0c6f29febf3f5a39fbd16a5c27d652c4a0c542124855f +4b53071df5537a5fd5bcf653c0578b4e324bfd7587ed10318333382ea137d90b +f0f83b4eb5d4796e42fb7053d4cd9feeb842d909cb67ba4bedf8592c876a83cf +48e4a2f7e92558e57a5cc6c3c6a4eddd68bba96359eef224fd78f909e016c5f0 +ad7740a686e566386c4f000764c8b6e97a1f3e9e98b047f75cad6b84d502c377 +846904339303da4c0436f1f67fcefa9fc0581f769b319c38d4221576b74b949e +532b99ed1cc90a2de4189b346dab2d48777ba5bd5cfc80bb15f0c8d4f478d007 +b84aff3121f7c0cc0887dc20cf195b1d964e14685acd86aabdecf09337ac26bb +b0e45caec8be479279364fb840c6ff36d164b7be25f9f811a466ce04c2ce5a77 +4ee329b9bd773657737db17709d3a6913793de0357bdea11ddd259b5bdc94e1a +bf95d33b8396ae9b26342cc1d2a2831e95939a0ef5f13443a9150f35aac5623b +cbaf6cc5d24d51225c2920e3bcee9d09ca5c60f22b07f24a26dd856f8efec9ef +b184f8a92781ea228c2f15ad9ab1da75002c9b352316a588d00af46a86b73aac +feb16d461c9cf969977681a88806c8e6330c1e9e8d428c91de717fe3908802ec +38abd40d988b018fd7a4c02a20f2f3c18d8364fb18692c310d4d1977be4108a8 +56f807519b471ded405d1e7ed6c02676970c2a1df6cdcda3b38edad9b5cee11e +5b221716f3137083d4a433e6af2eafe4760b0cf8ccbd5c15af998b5d5785a3f9 +b79a81aeaa9a6706b2dcd217ed437b23de309a360ff60ca82a8251be5671a625 +a90de4daee9941d44d8d1e3a19399f13b93d9b567b2ab2f9cf2b71058ccd9776 +3b6a3f95ea470066f36b343c0429655f8f25c89e65074a52cc6047885f4105de +2ceb8f80846530a88228b1f44c73e8cf8ff1e99d5cdcd3c91487caba9cce19ac +bee693c2479d8dc2c8799895e188155502f957b20e26619874cebe43d125f6e8 +638092ae98ef4429bf719bf6cbd17b1f1fd9a7c90bbb6b0b34614b32234a7f4b +1c259e4b10ec72d3a2e5526473e551450a11d8537cd6d3dfc472576307ad3354 +b2a9c24ae22c90aa37b1ac70352969e2aeb30d0fa894724d5e47a87e7319bb35 +7b76e95d7f665952ce39e05815e5718a7ec0d09dfb566e589c3655e87588b6b6 +95a272aba75b07eff8041298b7a1bf6fd1b10c5ce008180940df9f4235fab68d +bc3d2ab597192b0912b5d9486b5c8f6cd5238cb94a0c807f4baabe7e81f072ca +0b626d0a5cb1b8254a4ef588149c84c53d27ca3cbc729416976bf6a20bbed57c +6c0fd85c86dabd7ade406b27a8890bef705bf3c5c8a59615d858ca2707c47404 +78f55c4d6da862b50f90997989ce492d884f97482166d5ddd4eae075395d7be3 +cb0dfed4d966b2fd24c41acb6ba9f1280ca84aa8cf607bf1d2cae3c6dae6871e +c5eb10a943c84b83095fe1b7b9bc3682b5681a850001be80a48a2b1bf22790ec +f53a1ddb50e2325392f118cd56727005b947495ae8ca6e46cab765670ea03488 +39275b5711fd6b227ed1a6b66c02c9f199c8d54b46609a0804fcffcfe0cc8b65 +0f1ec83354d395ae89ef02d548088674fcbc0ac0daed78ab47e3ed00df77c01f +2d0e5967da9348fc0434d71eaf90785c3666694604f48bf2043bd54dae61ea1d +3e2da8efc1ae867ecb0e7d11093ba20786413e80c8f05dabcf474d6d9a1149b1 +be96ad65eeb5b865f4b321de61ff8904a072092910bbfce7bd5a42f10c355e73 +c0890e342af2f2f4d7fac20c846d372877c7b12776b76756a9002723d5ee71fe +5b1c0e5fbed5c354cf4b9cfb843f01b9e378e90e7a56994325c7c447e5269204 +c83b98d99dafc77ddb6a3fcfbbf430f6d0ab8a832c262f879369fd9ddd33b1df +602f5462b9f2b29360f1a1b7d7eecacc4f10f188e7e2ba08005878b1d9c3762c +ab8a29d01c0c164efe8d37328deb51567d5f17b25c11590a1078d53a36bee786 +5813fee10723c1acefe111dbc08b796895f2e1bb190f3da6accd6dc6c884eb44 +ec4d78df308ae7e774cef87ed4d6200bde349c35d7262448f165a6706c33563d +24d04d409c69924949aae19c13d07ee64910d1c29d15ac711fb56e3dd05a980f +acc11d9c08863c32a28bf94eb2c8fd1fa0ee61b939ed944b017a46b681e95cbd +0365d77433a27195df9d20a3483ec94192fec56b9af5c656bfc2924ca0c19fef +ad23207ac6d0169a15cc273d66899cc044b5efca9ef4078b9bc1e91f83842624 +c08a91c1c0d20306b1479e749386cc50fed78f22a27579fcfe943b033738bd67 +db8c4cba7f60e8ebbefeb2ceba747c757e902b70dc09622aa4ba96347b6948fb +3ed5c54ac78148b5976001bd3f0474d93f4903d15a6cd68727714ebcda244345 +d9a4b0020bde3e2c74385736f244206da78d0331de35feb4960d8fcd0ef4bb75 +5ab20087c2aa1da104d16ade37b9159caa0f8bf528b55cc005f017d6823268d9 +b13d199ce47d3c95e492ac8067fc44b42ac8be86b639770a91c75b7f7a55ff60 +0181451587fca8bea1721f4950b3322dd9c8a09cf8e4d2abef3ec038c8302e9a +3194d54745d5798e3b3844696d3c4566b179c98b7adcff4bd2a4fb402ab275f4 +30f2c77eecfb3c473d2e7102592e101c3d38f79a08021227f8f782a59d20cdf9 +c9750a8c0ac70e34d983356c313f85acb56ced4467357e07e23a62ab3fb6ed71 +9f9bf85edd20af93c1c1736b6112dfc8447b6d06ca12202f84b34f892a1a13af +4423b723c13701aa57982dbf20ed6ca129b72f79f77f1705485967980db5df42 +c662f0ed38a02b55cf048e713c0c6a1a85c900acaeaf6d045dc96bea5d45ecf2 +8ae85d1accc9b38a45d6f516078c72388e5337b9c1a2023d086e97e3affd3f64 +517df9ece75c3afd0e3dc74e2ed3b4aef8a8c032cdd70127ec4698db19c78646 +58f9dcd6b98676dede88a1efae04d182ba73475290ba87fdc71cee2737057855 +c9b151917eb5b3cde9f70db961ab5c8a10443a7aff427bae1d1e720a604c39a0 +14de8b45e528237198f086421b5938871ef89008148eac965bfcc850ed7aeae5 +ec3e8e37b9762a8a6580c791cd89c4d25fcdbe778bae071bb1e18257fefe9771 +255f977611825be7f64134c3521ebe7c549741265838ef00f0687ce14c463d97 +884893e5c967d3ca5286b52d0aaca5ada20e778a4f4c807a9cd97f0c05ed4876 +1cb09c787085e213a86b7aaf33acf64552ce5d8c3459c261447024035997ae76 +85d1d4337cd1a1def984e185779b2a0a8a3c8da6212730f96174f4c3b104d096 +3e0e395fb85f918cdd5f98c77daeb09a64169dfac253730c7da4122a7025ef19 +dec6042fc24d4565a1f8a7b37da00d170b6c4be72475544dc73b111c775e5c20 +401ad5b382559c2dde0bc3ec0e46c07e42a08de477b3c07159666bda273e29d1 +8ef5b8e6d514e510d8210e0a998508c3062ae26b504abb3613f3d1f167c87bc6 +48308196ff8fe6ca97db5fe0baadbfa22593c01bfab9640edc31410fa037bc90 +f6ca35ea8010a6b3c031b43e19c38a010e84f1c5c97b73fb3330ac18268c16bb +88648034875df43ea61c877c3278caddd457ee47509154aef00a86d801f8ddb1 +44e43f5ee5683e3ae84b7f6ba7aaa51f038607beb96ad79183364c49793ff0c6 +98c2a8fb0ac71b8f38eb7479a4995e1fbac92278b9f3528261d822db91d5d4f1 +9876784d0651ec7291f19a5437e987cd727afdcd267f983eabe8e5f3879805d1 +3f2089d9fca9d35e4fbfae0d72d7d0021c386bf7608fbfaa87d26a57933bb6ec +95739fbc3f7229a82efe4343b679165df1ed79eb650fac11cb7f1e74d6fdc9b9 +a8847a85bd24f58e2d988aea2f26eaea9d27f5892d2cdd77669b849a92f8d0d7 +5c54ed9682ba9d0c7058e04997279bdb3454d2b6a44598267a269a814aa9e1f0 +abf598a1b6c2afb75e173eb6fc2634253c04fcee9cb2a896523aad92457ef0eb +321e0a037eb6cfe349911c148473f86b5aff5b8985533a5f6d3b406ddac73d35 +23071332a8fc34a4816171b2c8a19bf458b4ce7259270785060b9d673f3c4997 +2da999ce0f2e7ebc2b2cce6de818d40f020d5e53b882f0d3754c341d5740ae72 +2868f364a2faa97e8c8143de444a9f3ae27eab6c4f7c838f3a5f8b9600d70831 +cbc2dc64ed3189f33030d0b32211b757f6682949ab889db99693f4dea2f670cf +057032d3034aaa6c3e75a0bbdc092c5f4886b169e59ad2d7f4d41cf7ad2f5882 +77914fdb7253e198a40b2186b1a9a0aa958ba9fb99f21a074825e053e562c2af +8cd8866861ae914042dc4b8b5342089b21013d519c44c28482cb8801c73de3a4 +9d6dd060294e4ccdc55f000f0ab7900b088e141fc2d8ce68cf771a068541657a +8b41e95fd2b1b452949716ad5bb0b8c2ece99d07a41f3c3ec381212baf8cca9d +801a993c8a3926b0e0d60637618f69facf70c7b3e6af9762afde0deb9e5be5a9 +105c3164b4d8372414fbee3181066f1772d21da04d0b350c806935669fd69cf9 +6073c324b8ea582638b11e58e43267c3854fa35c3deb3160d7756d66b87c8385 +92f86ab8a97bc9d6260e2723d435769d15dce8cec387318add815687ddb99d5f +1980da44a5332e5c98c59c8d6ba28a995ef8d809d783a9b2510e1c6b820c25bb +90f52ccb9fa3fdeaa661a69921794a60a591fc9157e755c28aa399f30e93d298 +9e7b35fcce14d5fe6bedab37c173d384d3f67323e702b14ea74951c5c07917af +f9f9fcc450950a8232cfc4744dd38ba79b9fc41a37205c97f44ddac6ea5d423d +7af9883610084080de39e5a71db472081595235f72c7ccea69a20cac059f2357 +b4d60e158834ad26f85fc1e9bbc948db8fe7a03c5c401ac2ed880fef8803e464 +76b00961ff910f1fcc897e1fa4f6b697a616f07aa95f5616a313ca01f39aa99e +8a5a9fcd389c99d750ccfa38bdbdd9a0376452970f91859aefebe5b55779516e +665c6f786b3d22a1cc781a729e477c5f82a65027c87b54a97d9130bd4464956d +735fa5b8f710cea51eb9bb909e89716160cdb112e44876ac49494f62b8f46e63 +c978f80f3a57d99ede832bb7bc1ae59ad0025944669343f432bfeadf8d7408f0 +50c7568da4400df96139c1d243b8634b19f2134fd13c783fe9012a58a7e7843d +55bc3b7c768579bee6f5931f1ea9caa44bd6808b12bf4550c852c1ee3cfa72b3 +5c883f0b6a4f4e5d768f93aed79bb5c70b681c3a9d604b6eecb7026c1b22e28d +c184d2fdade4c6afb6b9fe8d7495abe07547d092bdd73c5701696e6f256cda8e +1a6e58f3335e51498df75cf37a7213fa50f6d9a7a4ea4a251c3cd004b75b8805 +8c8b8efba9f66bbe5e8f321981aa2d8f5d455b47347e368686689d00fa5f996a +b6922e325bf4e72ac9cb09fd5802f365e4a15045683884b45f15175cabb62651 +3e71fdf4e7ac9b4b91772644ca8e55c530a9459719e181f9f2d211601d1bc5d0 +55731eebc2964f4add0f713c6b22abd36bd9163902a147f5172c4e054ff44ff1 +1999337a57a673028374a04b65e7e77ef2ce24a75c90fa2bb48cad9e9fa77111 +24514b9400e2cadf75e9d7f62fb7993f82cc336c77716bea4c00c931ac21e95b +04f35462cee46670514510bfa22ded3ea18bbb8b511f42c637bbd06134280404 +05d4355a5d252d9bc291c14cc81d77c491f62a54387442b9a884b3d21e0adc5e +1c120ac2c0b03a0355204eda408570d379547d40314f5c61f8c97971b91c521c +a5e86c1c321a90ae21dfbed0688e8c7287e7a35a1f0807b0a9a811a6d2d68636 +0fe12a04126f19c9b0fbed1083265ef6b2f4d463563df3b1be5b9fd0d277d53f +f4f5ee43b113f580be21183338592a57e29c025bfcbd56dad49e4b5bef14363a +db5594baba9ec550bd4cda1759277595d677a71c91925e6e1960f31a24117609 +4213750579cf163fdf9b3590951bb5e2a8f117412025f1807584ce1a4cd382f0 +9da5d7b56954f85327c0eb4ae556b79c08048b127101d2fb38f16996f1b66fbe +0040841b5578762c35849b0641d3343d8290f2aba7f075a0e2721718e08f0a85 +1fc82805f23c2cb0cd67740ce3d5bc6b97f98f8818cd39ad76ea2779c48ce48d +43302c382ec8d61904242e9a5e28527ea6a3bfcf9dce17a9d36398152c7c47ed +777c944db9ba4bec4f30a1261a0096081ceb94708ebe98e7165ebcbd768240be +d03fa2a0904086e1a4fbae8788315c7f864754e63f2399702bf2dca498b2b352 +09ce951389384a9e8ec4f01b207f61112956e9a59c0bf46677b9b1f8459b41e1 +b8323e5bb1ecde22bf2c47938e0e2f548cb02758dc7135004e448d9e689cf431 +11d2fa0a98f3e31b3882cf8689c76d276b85177cb27357bcb2ff0de3cb032166 +c58f25e0ddec5971b6a81325abcad1fc2a27cf0b20332769e80028ea27b841aa +16506f7c22dd55171341687682311e1f884ef87494bccfec13f5b0b217333376 +fb86573ee65386e19628e78f49c6cd9fbe4cfdaf21ab25e6f62a99cba323ebbf +c5eeaa523613eddbf85de5dbb9c66de1748624c271d8fdbc16bb8f9196428516 +f85e26d904878f9da7bd61848e96250c225e09dbd4f15180759e3e5da86d0dc3 +f5f4c5df81625a466d31872b9644afa35c81cd8a84a052b954bbada87c1e50c2 +c39594078c068c9b0aed83074cf941bc7afa3afbbcf3f40f34e4e3d1f133a57e +9c10799313813684dc597fe5ae551cec1f61802dd873526fde81f323b6c62530 +0a5ad9bec4131b9cc9cf26a4554d6d64bbd5c7eb59024b2526f12f3f9352dad4 +7043446118b2339223dc051a4938bc6a2c691029d693b8bd3d35fcc458f7df7d +bc2e51ea969285ad222a233e5331f99ee402eaf6d76403f6fec3114e6315a2db +23659ff88a0cf2738c290fb6ccacc2472bcaa3e0ce03f9e9d8357b89580c95f6 +f97c1ef3f0bad43253b8e97e6613f0ac04f55f2f321b5688fbe4076558738b71 +b378712d45c48ff6ec34057bb2a0aa7086c27716aed9c3e6ca6703ffdcfc451a +0471ae9d6512f0fa82155ae17e133b685717138397757d0230b62cda0ab1ee9b +b1f0bb791daad5f3789ec0f22d13b44143b63250f09ac760e86ce3219292c6f1 +ca0e77313611d8282d8f62c986fd525baf75a8ab194038359f6e0217d1a5fde7 +ec7de056f4fc6893e740dd8c9efcd629fe529d5116db5482d12bf39b0e3a40bc +bf1b3f99f627cbe937656f38909e3924b89ef1478be176320b6fb8a7c750f41b +90dfa427229c900b51d806d959be3b8b2b6e6187fb1bd406fd179dac8af5e70d +be10e747e198dd6cb67872b48585f33aec68a3ca94a22224056a32a8139cdba7 +aa07ea5cecad1d2e1054cd265d35c6b2ec0a25a0dc415955186cffd2c4b6a86c +028129fe12b4fd07dde82836ded99925994f058cf323bd1b362a86a8b4ac5aa5 +dbad763abb2613b41ae6b947fb79a7edf3ad23eb7d732727376a1fa9ee0e8d79 +3b5871fc0e4535563bccef6ce24a71b717f90590a7317652d7978bfa78a72454 +353fcf512ec5e804ff6d2984c3e905401b69246e1b040693c581e794e6d57ed2 +5dba59acdedbc4114116da97b749c4007f51addf7dc9bec79c77cfe29b6a93c2 +61e2007b01a0b8d6f95a9e6c25551a20ed592c90c7ab5071280e5d85200d776d +938df156ecd2d863f8b1848dfbe5d3a40d4b817deab66d5c191b4b05035e0009 +5f04c4cdfa26de785889829564c27377ff1f2518da932d4559017881aa68a802 +5bdaacfd2611e101ac667d3b69e7895337d522e56b4d9698c4c5f9a0e83c2386 +f084f40a75282c72b2fcc12973e5edf34e810fd247f9c0317899fe6efc833822 +8a788d33265883fcb78366ce69783b9a15e8c041e4556293f61c571bcc985d69 +b1761aca9460781c4b9f9035370dda95c777de8d35e1d7aac234987fe1a8ff45 +37888fde3267d97e27c8fb6d95088f0d207e4b8d3e3d689172b2d89b8dc28b34 +43d14646b23e3807afeaf3c83a22f45cbfe9eabdcee160ab7b1a664bb5fdba38 +4446b84b6b863c892a6ecf33f7a569d82df118582e514c11314dc73fdb04be15 +b6bc9b3be801419d90b74cdc52ac40e1342167440621fcaaeaaf9db8f78f9e20 +045d3a26e1b51f2c786b23c09cb94f9cc91df0b5236e3f54062925ce8804113b +c93c3ab041948a2027d00e112043ef82ce54365fe241a2c503fa334df6973406 +3402fc6d246a8694f436b318bd5558f69c9f182746a25aea1bf1993f61ca48b3 +b04074f8a44206716d6a6d834ed3c455e272b41810c6d70133c455f246aa7764 +a104c482caff864d86eebb2e1764735775e78850006f959de537d66dfcea3f2a +45e24e7d905439a59ab155474bb3dc63897c1dcb7e8f298366dd49b9b1e42f94 +816a3c275460375dbdf175ca420b46df137a34bb1ad7983807677f093a05b90e +81fd0ee6b6de147a9813a1a1ec0c7d859777c0b2945edf2901f883b8b54aca59 +814b951e4c97fdbf48aaff19cb9fe7c6c0de6532f656e5b1f03193b58ee693f8 +4684114fdbbc86134a483ba1be41cf4fd823a23f5a52ceab00021c2954e5c04c +865ec7222d33d82f19e09375610ff6dfcea95e0a25a1cd3d6156b63bcfa13740 +63bfe1d8a5e45659b0c924eb81cb3d4e70e59515ca1be45f66faadb5993ec547 +966f70f5d761c8731063422a510984f7b4587efe6799d2f28d90236b49ac10b6 +fbc45ecb7d91017e16e4fbf716709b37120d3586363e33d94ac92b01d1349c00 +18825eddd5cd9cccbf8c70046ca295d885209aa3fb0b6209c5298ef4843c39ed +d64dc504c278334107d322cde4a388a4a079bd303c4d5588be979eaa6cbdf8b4 +942ffd0d27b2ebe1533f1d31b3da2c7fb5c8b663391151fe897cffda8c227d45 +e292e9113ed2538712b40601f1f0c8f3d0d69ccb584abe6db54b4044034791b7 +d7a0838aa9d80c971f45486b4304f20d68b76ebc6e55bb683dc20c356176006c +b1f902f8d0be642da9f9209703c23e48235c35778221689c16d426fbd2903d19 +7fd00e071a1989e8b2ccef17d51e7d73d7189c06adcda120cd3e849c603729f8 +85006337a3a1136ca31e0e41d674620f97f0101a297a1b731b1d0348c51d72c1 +4be0366a2667999067d102d7007d510f31074799ec5cf6ee355e59bb68dd85fe +3e3f553168c337afddf1bbf895c0df509355dd9120735dec0715fac5804075fd +cd57fda443cffeb9e9d8e6f24a3daf1d9523ddbd29532a6c5a79e6b1ea1f2b1e +55e0369cff1bf0c074873ac1226354a6a74e62faf42f1a15c863c0ba21c3c399 +b9c1ddc4ff6e9bc9a3ba58581b6bf67b89b7045b9542694b9c2dc3e185a1390b +67aacd3c344d37467671f728fddce8bb08e2c6b8cd4a8abc60de087fdd560130 +3f40599da3a1d4abe2e93cffc5628e62d972f034681db1c6b07cdd0e7f9963dc +0b146051fe8140004c5cb27f0f0411027ba88646baa9d6f02931a762300a8085 +7aba1853932d380a72753ebcf4c9c24a03fedbb2dc057c6f62f31695d35a7e8d +da73ea4a610f515fb52ad509605b8deed5e44c36b7210dbafb46cf2c5ca7f42e +00571a8a157a953226cc00a87592050135386c5e7fa1c5e3c023edb0359cc26e +96762eff0ea623651b10ff61835614486760930756e59d54919f0dfe0b8fe93b +9b28c474055246750aa1679389c5204657d283981a5cb160e21c1737503ab109 +044a661a3b3d100ec7f4581bf7b67b50970078319890d5a67d133bdc07265d22 +99504698a00ed8c9747feb1e747737e19850d39c03a837f0d504f9b43c8fe9a5 +725eba04ee6cd478f8416470ed154a11484aed5822bf9979b1ebd5e56af698f3 +4b865aecd29c67ca74814b0cd0109767f6d582205574670b0182e0ec6d23675a +11e489fcd58f0965af4c2f2b891aabd05185de26ba4e0a86b4fce3ba710d9c81 +3a97ecb07ce16ba156e2627048da3a2155ae68a5063f6c2eebc0091711290605 +b540ca4ddd10838e2a64835ba38ecba8043074be230baddd628d8b253734397a +a213b0a9bee70d623dd5411eb58e25855209b3648a42e4681f90d51b13354f28 +267d48d1b8aaec412be2dc199ea3ed041bc3edaace1af401d01e56b5762f7c71 +cadaf26892f3e1f6ab0438a4ba0e3f5ad953fb15a7d821f6444efc966c67082e +47e1af0e6e0d199189a994239c9716711f9ed82f6fc2fa1f923b4e3aa45e5ad8 +c0dc71bb5481fa6a105b90a77bf4b8b9b852714cdf4fa814e9d0d89d349ba57e +dce13210f79ceb8733526aff221386f826a435af47f027d81bfd4d263b84f8a2 +a807c55d1bada31a59649717a4ed8d560d4f5b81ae7f6943c66e9b2ba9739c3b +559d49fe652de7c968c64030d91099ceacb9ac69417e8210f64eeb6dbec7ab1e +fe4a3babea0a42ed49cba2e70a6db7018ea0ff1b2b0af498dc6b5e686eecd7a2 +a6b85e07401e08b825457e99d0b5fe48ef13a14fc0ceaea7bd7748b2c7414522 +59ef4ddcd6a12d5e84ad402badb6af6b8d50738250677ac12324e4e3c5d72887 +c3f36f99c04cc898704bada948b431f543765f3112175412fdb80af9850ac5cd +19b65b018df357498fb4255439913acd686e3edd9a3bed54235ca6a3d93ac968 +6ccc1400b8ecc647ad4fb7334eb768ee32d3213b8a30ac2caae37e99ebd9e903 +b319139533fffa9289c29424a030940ab2b43df031c3f72542e7a8227d56c29c +a3b07551a0be3cc4d406d2b0db792e9e72942777388d1dcb4d48704c64a99434 +885c4f4f170294c7179dd43944d60739ba9412245f2c34699d04f9815db6db1e +b3835adbf1d8d9cba2da0d217562a25e0adeaa51bd8258b9b49f1ab66fb1e72b +d0312788da672625511e07ba68cb0eaf05485044acd338305f55c7b67e52af4c +124e54d8e3bbd2c6ec6080dd3e191416acaef07bfecc0e77acc92236749ecd88 +96577190a9e86b7ee306b613e0b19015af7bd544e26c6a3e98c51d98cbef559b +29d79e6bc3ff0966663de38b24b2449d38846e6652159ea825303122ffb55333 +a108e242a05d015a9abb0089a5b9974cffa5eef0de271c243fd9a4f5ebed3b53 +324de92d22fae131fc7676b747460fdcf199076cb5d922e2098446275946481d +681674c97c00466e79ed31008c4f83626ac2dda6b0464b589f01082e5ed3d7b3 +1caaff1052012b1da1e37f3c0049623555b7d1525f44c0824a53903b54d4da9c +083d7acf2717e26be8596a07574661a53c504866959e13dfe3547fb8c5ee9c54 +e4d16952d25f0d32c103c1b2381a3b06ab7a26262f95755e2cef7a028266ffdf +3687304ec78638f3607e1d4c76af0cea8a30bdb7afd9fed23b79acabfe622c82 +9059c90c5bc732c53d8ae7e55f6385ab5d78e0c4e0b55bb9c5867ff9a498d3d8 +dbe4f0c548de9edc0944f1119bd9a2c33d5d1c8de7c5156bccf7d4e52265464e +5e58d93fd79f40f0ad593f50bafdad06a77fbb22982b35516497305e78f50471 +746076b77160149dd7a38f2fdd678ddc2a954ed788a19ddac34ba6ecfa9f0ed2 +f7bcb5f97eb077bf90e7c3852ea49b1a64b3a1e618cc83bffeabd15abb82fcd5 +38b644942b6b9741b3eff1409c67632c6a40d77c42ee0846d8edeedf56100f28 +ce8a9fb58b4aea6fd3fa0345832062d748ede2877fbe30187b635ae95227a7ae +e15f86beee2718058ee928c73d0e6f2bfba3c144d5fcabdfdcd499f8b8db426e +0553781a197bad1798327e3bdd32060bb55c660c24f3ea4e658d4e95f69fd589 +e9b35a2153bd45fde6f56e50a7cbdf803e26103a62824b24ee929b16add5f9d3 +5817264fbd1d0b3171fff576d67bf6aecb15eb25c5bc6024d558725718ea8406 +de77df6446ce372a13fc2d96fa72f65932fc34e7caf2ea065d3c94367070ad57 +84e94fef2858bcaf7c60f999caa4d0a483fcf77bfda5ead04c77b87c69a3bda4 +9e752456a8a91e78c89e72b3d805cddf729c8d13346df0c1150a7e16f37abdf4 +07f8a69b062fa83cc8996e8857d26bb0c09d5a5182cacc745772b78b584cde14 +6f5e78de240c5f6bc995606afd03afb003e0f8f07f4f62478caf38494a162a82 +ecbcedb9ba0d4f074611e68f0cb7bbfb76bb11615cf4cf26772a57d635613fbb +9fae0485183a90656c81750e962f35cb61689ec21f11539df17b2662006e2391 +b5d31851ae55c40d408649349ae3500bd52990f1ad042a09d0f31fef1a5c7c89 +5ea1118ea0c1576b630bdba01bc628ceded0ad35e6decc10c02be1a05be5259c +f318b84f4a0d5eeef0ef8d991e029c55213d73a07306160751c8fa142d010c1b +9e85dce81b6c4638de70603f7dddf7fc3a80540151b985066926c581d21cda9e +9a2a0b9f428fca992ef1970a985b3f5fa6e80e5923db4de6ed7898c508852a47 +439a8c50e416c2b75d7b3c8046513d91af6de66ee4b6f26f6b639d492b105b1c +9049b04aeb7962405871e868f15b6e1a8e8806253672c6eba1d9447c1b453d36 +59860fc02c285f5f2d773f0e76c75d5fb2493a5c26901d9559a9f3550411039c +129fa2d0fb9f5aa4d6a11f490488a08fb3de699fe868ce02120fa973fa0ae84f +fb524eb2d7823fe52ed58ebf40ef5c7609b7b8a5e1d47cdb9f624d53d35a40fe +c7ae7c17bc941a7fe4c9c50777595a97573e3ef83582033e1851577036e02f5a +65aea4282fe5171269ab39a07939b2a71890ca4043102dfd0afcd8688996a45e +7b6a858c30e54a6f32fb19bd71adabd584ab82ebb85535e53788081e553fa09a +d97345c2ff7e6b7dda5093bb78844783002adae6217581860729e94f5455e6bf +8050a1df07128cfd83f682b4d11696a62d204a7d7be0a43a653d1cb6f58a760e +cc565ef2e33662ddd7daf376653963f1485cd1c523d9341b1131d527ddc5e166 +f49f08b1bf9344bf9f7551a2688bb258cf46775a6a31a4e38dd1114fe2e44e5b +3b56d7f3d7f44e3c9f09c6e9e098d425370daf4dc3c638581a3f34336e80e8de +9016f94e65ef7664a4ffc441c52d073d47da7b90c39aea70ee619b199ef79773 +bbf5ad46ce9dd19afdb335492d31fe45cd69650eac723a9d6d0a3c9c00eea011 +daae00acdde96c901f111c402703f7b1732e1527aabdab32fe1355348e76081b +27491e40f472c84e26568e8fe043ae3b0813137b34205d5a005eecd8003b244c +20e0fd57bdb3755e7bed94304a77ddf69a9c6ad5f286bd2e95e4f4f37b6b6004 +b9f7436171c6a17af1136c05bea345577c488112c7c8cecfe7c57f2601265076 +dc5cbfd0d2e66b8587d92d02ecf628c297f4d08c149fb2efd989e9ad7a41cdea +03b48ae9853b03768a1528cef605f9d64045b1c1de64a5e0d26ec5af66ff278d +296f02349a6344767f0b0983530d314a370687f2019ef6c778654c011206e8a7 +c47e5572f904f2946372e8ce442bef2cca4fde1ada3a06580539088c11804c76 +e66c32e076f0e3de041e9c9950dab9d79886a404c081f61d1eb5e0bb4ff05df3 +8412f34b01dac78411e4cd8c6322b956fdce30b66dbaa9e8df62f797e553b83e +e379d96df6a2b11fa7edb9ea2f1fd8ec4b89b5ddf937bf91d3b574ea667a9847 +5737f2bce293b7f9ed9ae06ec39ca2befe1d4378b707e266ee3363acba05eef4 +7a9d71f8a205bbe81569ff184de2e187735829b17680534888904fe67fdadf4b +146c1d80f3453840667908b0bd497d22c8ffbfd1400fbd57e140afe219fa8f51 +c8354af1cb982ef423f250eb9e8aebf30166780d631400ec33bd84bf71140403 +f5cd03fe38b27f08167cbe99bcaa3fbca13d734c74148a4321627b672468905e +c93b528e396a0d2a917ce042d8dfa63eb2575723962063a2487f044c365462fc +907b42eee612f0fb4e34a3fe9ea1a0f168da2cb89cccc1b5422e81f09bfa175e +3479915053e90007ad92ab92a2a0644726bf022737f3b7b0ee7579fb7731ac29 +e7e043175277ef22942a9030e0bf91a1e775f9fa3f6d86ea3b72c8ddb42a670c +68694780e5a7ab25968592d823bdc6e812d19641c1e176e26351ea5355435739 +7f0f92c33c67 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F122_0 /XDVKOU+NimbusRomNo9L-Regu 1 1 +[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright + /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash + /zero/one/two/three/four/five/six/seven + /eight/nine/colon/semicolon/less/equal/greater/question + /at/A/B/C/D/E/F/G + /H/I/J/K/L/M/N/O + /P/Q/R/S/T/U/V/W + /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore + /quoteleft/a/b/c/d/e/f/g + /h/i/j/k/l/m/n/o + /p/q/r/s/t/u/v/w + /x/y/z/braceleft/bar/braceright/asciitilde/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section + /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl + /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet + /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown + /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent + /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron + /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef + /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef + /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef + /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font QYKIKI+NimbusMonL-Regu +%!PS-AdobeFont-1.0: NimbusMonL-Regu 1.05 +%%CreationDate: Wed Dec 22 1999 +% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +% (URW)++,Copyright 1999 by (URW)++ Design & Development +% See the file COPYING (GNU General Public License) for license conditions. +% As a special exception, permission is granted to include this font +% program in a Postscript or PDF file that consists of a document that +% contains text to be displayed or printed using this font, regardless +% of the conditions or license applying to the document itself. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.05) readonly def +/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def +/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def +/FullName (Nimbus Mono L Regular) readonly def +/FamilyName (Nimbus Mono L) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /QYKIKI+NimbusMonL-Regu def +/PaintType 0 def +/WMode 0 def +/FontBBox {-12 -237 650 811} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding StandardEncoding def +currentdict end +currentfile eexec +d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae +6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27 +bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf +045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670 +0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4 +1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa763777e13b518310 +ac032eeb94b88c7dc8741fef59c541b57b0441c6888237a2b66a182599d1517f +9ec474a9539f1632c9a5a1801fd646b529cec2b430f1cd205feff509b4092535 +29e0b7b372145ddf62052c9c08b7673d36dce58e3e78a8e4788b34e36eb543c0 +d68a36e2831e23c440c3e5f1ba2248633aec75ba8d6c9e7fc0da01af08776246 +9a8009a4f3a93241f2f34c72db3361e701c06538a631f6a8cc47b1b5df7cbf9e +9029d42fad4b90f81cdc2b4cf52c09864f657c7c357180375c0b64206515e472 +c6d71a2c5d03c5143600d0dd439998956b9896ffbcbbb77fc1b6675f1e428390 +144b29367ed224ea9e5f51cb3e349dd118422bda8b6adfe217a02320be72983f +d6fa232c9289e529552708746c4c76df4ff0c7b27fbca194c650679504c0fcaf +0c643c945a2563ed47cd8538edd441bfee93dc4160421cd9efe6cb32d81a8e1d +e1c446eb5ec2a6c855e4449731ed3da1c3ebbc3cfb6553c0f78fe88bea6edb14 +a4abb572eaea91681b7e9f6a2a08005164340dc1983f75b8abe75fc02747fc2f +0c5b31e0f9a8960410d5cc677ea77d0b1b28681ab5e6b3ac11368b1e493f594e +9d037f4fa4c47ee06351cb471af4c1966aad3e51415d70e57eb0d84ec3a655d2 +b0e3a818baebfcc472b485625414c4e20d63b9673b0a0780d8838b0b4004df79 +da0444405db6a534a7571cb1aaff7d4975ea8a578ac37044cb1395a056c7d9e1 +ccd617391a2e852a4d71101cdc3c9350e57657b376cfc7cf7e387414e4a017f9 +943ba9c3aa45e955812e6b8173acbb5e5fd0f0654868def282d134d0b4533159 +c2bf0fb6959689dde7e8e5d22618fe9c8a973a87ac0e853af5542de5b89e7b94 +44ad4496afb696be0eafc9dd7a421856b1c0baf95b5fa887669124ad3698b544 +5e82a4c5cfba4e5083784e52462f3724e7273de6e00e84a1d83b6a8c0e79afcd +1df167b97e2dd796b6826231d31fd02991e990dcf2dbbb0026f9a151c0720467 +e68e2cc0a5fce825564902efd08e2ce18896ca20df47d2df8928baa632825543 +d0f6a5c94630e63411a6adb264443eb7d0f6c3883d195661ca3a1bbaea7bcb41 +d5c18fee8453579ee23f1785112e31c6dfd8e9ecb8681b248f0ce3d77aef339f +b455f3817cf7182d1fb0c53589750be5bd6543beb9c341427d0a4107dd5d6ef6 +2197b85088749f3cafa40a6a3223d4ced495d6228b3398fbbd0d4765cad178a6 +f93c5217bd254777c20cbfbd33673c5ba58e2b021580d63c76bf196391815c05 +d05159b171c9034edbd0e861c5a26f2dd38736457fcd38003882a66a4cf8d7b1 +e2803ccfc1c9fc2abda0271c331247360b7f2cee58ad9cef1b325f62dbe2be6c +babe23a220f662247df70428c1f79c79684890324e6b7166b269b174b98ec8cf +f33b589cc3d3daf1aba6835a22aa2f59f8d386610bfe936a05794242e99cddea +8da5b4e5e56a875c49267e2d48ccae616053235b4b64ae53a573922009e8a05c +a56fe84205488200ac68b62fe4f07572392940638301363c4131ccb86462c242 +afa463e3f7f036f63e622243893261e7ef744ed489397030a6604318da3f592d +037a620fcdc10da51b8f31c816f91016d38efc65b6d463779720ebe8df03be2d +0ec52886ef9205fbfc6563ca80accfecb7c686f0212f85da5024129f01bd81b0 +bb90d58eefd17fb353ca143a4757421323238c5653a3bf9f28cabdce6ff9d946 +867a33fc9ffe0adabd3679b555a9ed3c181d3e108f776e13bb39794cb9f4edd7 +7a607e017fe054811b3ea3f5b02c95343a5eb449723c9fe7857441feab37cc93 +70c285d3d91df0a0e1bb21d022f68f0c0c8bfb311b8efd056f47c67b03b45dc9 +0bd78333d366796421469cda8df6f0095a5eee1a56621d055a5b12d6464cceee +9f5fb6a40ce44ab669786f4f0ff1f348c9d3712761a07eb8aac26c35c694e1cd +65b01b32a2319a381734864a06a349db71a2fba74ddd58010c94aeec901ddeb5 +41e0205df489d02664b4e2fa03a404c8aeeddd6d1506bfe56e2e8a6d3a83f79f +35f2d552dfff754bad59df45582e3aa87e6bd45725b2c44260e651b70af70186 +8b168e440bd70014be5c4ff89028997bde67279b107f9fec9b4b2f2dc112d811 +4dae65205429ffb3c9734df32328ede30565ad65d8a1aa620bd543286908d747 +d13cec2a2f19cafbd2ad480206f8b2b39524a2fee286cea20b22b67dde321e3e +3ed87d8f7d9b253a16c648de1c9c8cd84c4f2304510ee263083ac617954b7c9e +62f397daee458e60e6058addaa14ea573888162b6777c4b5e80c2fbfc8f75ebb +2026c01a1ea38b85c4fca949d15b9a470f36e0b697ef5dcee10c45f01230dc48 +728f50abafaa52ec5f2899b09db8b74f46ed55c8efbd3f54f6afb0691a992b15 +e1bfe3b6fcb6764227aabba94c4450183f139da7e12df63878b0aff0d07c51e5 +21a29ab9fa0482e9dcb043cf704f17bdc1fa1f79bac725d6fb01dda18a700eff +5d691d1573cb0ba677a9b1a62dc483fbbb7e4fb0ee0c87cd631f7145b710d181 +85d5bf85df1cff42d9dda4430a8f6f4b6f6c01d20055d8d9cf1d48f268e046a4 +9bc64bcbd7742d090608a1c025f39d44bad9a05ec2c7b5ea4b48959f1cab0974 +537bdbb8828a830843ecb3b6bac3589cb8a35fddf8a55fe4445ee3419ecb9dc1 +3c9a3045f5fa5264860b6e310854cfec5bf920061c6a4784d911fbd82c6b5353 +72cdc7ff3dba22cbd02303654e4d1ce6c5f03ea5719bb456d1ab804a6a9e08e1 +15d0ddbc46f2ff494f0703fcb9f6c079e5af3f4a7bb5a4546f9ef8d708732fbb +1bb4d11a942470e0a96d5c83d20343876d89fd6db3ae1fe60034cb97659382b8 +03a4c8ee4a01738285c8af5812c4de7a97b1eae85315c9497c082b28990e232d +7603a06ade5075fa217ef86ed78492c31ce4082f14a6952e0d07ca9d8e15589e +7c3f49cfde17055e8695923477b71b4c09986c62875e25576dfc3a3854c1cf5f +73004b97da00a3deef1be0aec1920342613d3e4f805eda2ac121809b02a42d3f +de9e9245943a23627ae0c1c34b5e6bb1504ceb67966e9b6f104fddff62e82b16 +cbe3d401aaff4d9b44236ef0d04b7edf16eb08b7d19862effe88b696d05008ae +ffbfd118722a55a1597604e232416c2190b36c30928f82b208006c26b85d7428 +7153fccc92a65f04229c8d7b2c27ac4294034a051b45f6ed5b0fa3e23af3b5a3 +5f996bb65cf298c4e15e98d228a719e1c968e7d5d0a75a9bc3cdf8b5c4a136cd +a6995d94f5dbe307ae1ca6beb56dfd09a6683bb1437fdcd537e43cb1633a72bc +1e72a5f98497227072d863dee990660c137064f8f73d78d9c5a40096dcff10a9 +4e3c9dff0d2bb80c429e2c135895b2b3c5be663adb1bf39e3125e4017a6050c5 +d4dac24a8149a6166cf87493f766d9706e13a4c3b443722d7ddedf777c5d0bdd +780e839b10a61dcbb8c06caf2246feccc66c6fbaaaf8270e06a4838391d7ba0a +a3d35b278235fff9a707e8da8344c078d88e8eb2b5e2f8cd8f2134d458221623 +1dd96524af97b92662292f6e1759e004e2255dbdc4e0a9fe007e550144af357a +32cd32e348fd2e60d4c10c33d032fc02ff8a897c4b4b5c35992e6caa8bc4c966 +6a520e2e98184efcb59e2d534fa34c428bb51998e68e91dc9382e28798845da1 +ae9d6e418c2e3b05373fe26901654e1e1a7849431681479cf05e0c19392ac9e0 +562794d94316670bdf9afe2d368fdc31fc2a2a98dc8f23bc236690d897e209b1 +c6048724f4ad378857640140a356919180b348fd6ceeb5da8e4b3f9dae1cda65 +fc155e10b53a271f23c65397711cedf404dc45dcfd9d3c87d57c1365cf9e6f9d +64a11df0f71f72ff52a8a4c899879f38e797867570844ce904c3104e28f1b85c +e31f5e4dc09852f5b47b4fcf2b1fb394f4a8c9cc8b807eaa9ad4d8ddd816a28d +7bdea3811e47722cb0a11f3967bfdc501f5f19f5b7f925455da271243465b55f +56030748235d6c1e8cda657c5fb7c1ef58427b148713c569d2fa172a2d32e50f +7440f4cb961d34feff587acfc3009b39005f8ef1b91c28718601d140034b4030 +05dcca93b5d4a0778cfc1a3fbf7e489221c88c27e05652d3c3aacae2cbcd9b5a +439d3687e32bdaa54a317a6f70833c88af86056dcd68e8546832e7662713ce20 +98e5bd9dcfee48545391246e794e408adbeba57fc3a3ba4e18e487abd6f26a3d +085eed9bf8e30a77c85271294eff2f8e3def17482c5455dd60fb942f85dc73ec +9f57db31ce83e7e3574e17004ebe6fd903f485e5ea88c8294ac48ed09afa41d3 +80ea17e2cd33190477a0492a51ba20be31a367e6260d0dbab050cedae7659cf5 +a67d94540d7022178ae1d4463f84630d51af81054a6b7ecf1229d9ba0a6773c8 +e3aa1a9d95416fbeea9ed901f1dab166058080d42f90499b415ad8aafd99ac0b +7220401edb7a32b298bd9b9010679a1f9369a5bbe7cbe04b2c395f1159c2a2fe +b4a85292714a8f491e29c703932acd583f6405828ca8331612f5f580c049da26 +22a27b7aef2806c427af57147beef345e56a2ad82b0fa3662a31828bab7f6b6a +abf00d5bdcf2d595ef576d7da2ea634a82458444145803d443560553a7d17313 +b67ce7fa22fe118e9e8187dae14e79860b371c83ae2ae787210a86a6fdcb95d0 +c05f1b2ac98eaf239af2469397fd8afa989eb8ba0c15412b9f90c1555cbef583 +25c0999b1b10ce4345e6e949b375a91ec348eda0b0d418ad25ae482e02cb47d9 +ec19b444406d720a45986bdf85b4181b8064872f65e7a93bde15ff80ebe555dd +8adfc28b6ab58525a6a72bbe50cde6461edd83ac9359c0042709e63ffda54a50 +a5a6e72058b498b7c494b2a7e68014bf1c354506c4dda52d7173e6530340f834 +7db62785ac8e70a8f560574249630f3f89c159f31ce437b8a86cac7f5b25ccfd +b2fc41fc8392430c296146477d501ea752cf52ec9bfbf462d12b39291f49ae74 +28485eec80df5a1fa01806b3013bda44477e671e87e82f58fab32ffc10c111cb +76e7099f297d6a67a7374e26109f751361768ef8118dca742c8f20774549a2d4 +da72d15706888cec1edbfba70bb8149b54655eba7caaa85529df4bea9ce0c633 +38837abff2597c6b75bd058dfe7091d3719efc3964d1a386b7c6b93d491b02ac +86b08ff115b548abdb68f67de3b6cd280ee1544ddf344782fe30913a21eadc6e +314f3ea2ab3d9a3783d5f9be76c4caed815af7def664098cf1a167444f31cf02 +b9229bfdd8109322df0cce8fe0405d523bd8020753f3d80f49365d5006829fed +63cb9571b219b3869dddfdc2212f0fd468aa3a8c78d06f58fc6be0753bf19eb2 +b014e28d06053e931257185ff8a46b2c443b163f9d9997cd2225a33ec6bef513 +41aeafb9f384bdb7f3c78de5d4adb511c16259b1916b29440fd8cc01dde8ccf4 +e8bf0a4dc53a1e26c020f813cab07eda515e7d395348ecbf8c64186fa5a81390 +7653da3f3143382a374b96398d14bf60fcc5f7603512bed7e8b33e7b20529244 +187795b01754b61d5aaab742be9be4532ddcbe6b88671076aa9551ffd58e4930 +1f3fa48529d85586f1e197dd896f91f0c64ce80bd48519f8c1bf9c4816622cad +d9cbbb97e7628a64f96b6816c5b0312bb98a23715c3de2a797015203e2787aa5 +ef40b3e17cac398805fe76a33819d4825f80654270445ba955779204f5e8fb5f +418edf66b627b992cd3db5f04b18b5dd3f742689b3182d41760bfe95be97e313 +ed97e32ecdc16d3d574a2ba1092408b5ad6c165a39eb148b2513bcdd01141a77 +0720028f31693360e9909897d85bcb5364188d391e34dc98d86d4909fb41a13a +cd4e43c7f943889aaf1d430714d1b0f3302432135a39b11be63f77d04780a191 +cb686729a89c7badec30d3a9b416c32350eb416fbd37104d038b0252a8b91f77 +45b543618155a76f06274dfcc284bfea8726e55ee8b47df6b4760e22c8f2020c +e0da1fbba9564cd974075c1670bbbfa32b5b1598d198a1a9b82d87a7814f5d6a +e5a97d890ae6e9307f3147d78d4fa40f5388b9759429acdb0e20d9ddc923f4cf +f2865f95a8fc0595724b0043e90091a2315ea8c071ab631ccd04c3ea77541646 +b2fae2bd69c5bb80849b85fcc583ed6bc743c7ab0e83634e9625262ca557911a +3715e19e727337fd16171908a75e44fd7f6ba76157167a214f11c228bb1f132a +b6cb965beb1aeb597276e4e1bf52614076a37eb859f9d61669257c195560586b +b567183114c9895464a71774bae8eb31e9de3c11e0011f85024f749a571a3e2f +0fa7d8ce0d53deb20fd2f10895bb8aed95ac89f8956a8c93e809536e9087cca8 +09106a42a59417359e0ec681c5905a6024bd3208fed44320b723392e3f900e90 +767a6af4c4e67b407b215422a6f409d59c309d1999f973fd9b3746d983b0bb9e +1675aa41b9f6713630710faa59328b3659f559a5e547451191d88e336863256e +d43a577b77f81bad982c3d06cbe5a12321cf45da2d300346d8534c4ed6f449e5 +14ad627693dd361913862aa14548113a553b5558f8da4f5fe5cce86ef8b6efec +00b188a5fa1ac6cf819110e6feb793411cfac4f900a379178c2d7990f8adfe06 +4d741594d2134678e7f9789fd72e87985334ce7e531f0855525b9dcac36196cd +2d75d8bbe2b02ad9b20184d54e9ac6bbcfdb0d13367e2b4b4310b9f89172d59c +385866af42d06f9477dbb56e8d3bc8ee8c129849080ced3d7b83d9dc1a32da0d +b79f6e1760b7b836e2d9a0b59dc7312a3cd10932fc771d14f0f2278479e7168f +2f4e058c0177456811b2de2b5358ef33a162bdbd4d908e3332930d0e1bfdcf35 +ebaad4210a5f80a39279c5faad2803a748d96651778d0ce97289bb70ba010d93 +60ca05073141c30ee35fb9b8d9eb3ba37cb97fe42fdeef382fd604a1cccbee9a +65716ccdb777bee502ce3b654612362291ab13fcb507ab797d697f4f32d85763 +39b9cf437eb119eba024e775fe01501a8e7982d266531a5a9316abcbaf5b9672 +8ffdd900cd9814cf82b9ee6e789309cbf1dfc11f715b1a201dda33cf7527da51 +cff0e36d2f4856808b522d5344596058508302f36554419f9654f941ca0804e6 +b38a6d596ca3fd660901d1c3553aa92bcc95703219cdb0cc8bb540c2e60ce0ad +0eaeab36ac18b3ae477967bf586ddc3a45b5949ca5fad78910e834d8c83faed8 +3cd8b0546efd2575a42e8d4e44c80f375c9d960686e6885a6cd283ad3c1f1a9e +8e0cd7ed0590ffcad9da423285a26c04960dfbde0a5315d81e5170ae081644b0 +2aee581ab984fc189b5adbfb155a52d9f7ed759091062e9d2b2c2b03c9272ebc +a0101422d252aeba66664b23a123ab5fb05da5c62e83934c10f7a9489fe6a26e +72ae45fa17dfe3c1badf296c09a375d2451b7b7ed5dfd262a7c74fa4a9a4f5d1 +f431bfd1e79decc99db3f7eddfa78dfc46a47c0881f500f8fdb96aeb4fc4dcaa +ae0f9687e6edb2519ea85fef772477c3e33ddb52900657f018ff227701992647 +c9db8e4802cb0d6976b1cb0e3dccbc573bfb38ecc9db8a95bed9c4d90c97d3b7 +0f87ecba2fc8b03a7088f1eb02875c27cbfa32efbbf38ddfa77ab23c8fb36d1b +ce1112bfc0de7f911f1b096461faf86cc41be0bf61ef31581847b1b478fe28c2 +cf6a34770e43a95e08ba67e429545a65bb9e6e18a6c4dd2a34ca9cfbdba9cfe6 +63826142391f15c543076928f9867bde8b2b1acefe68c777fbcb70707f4f91e4 +7eff73b0c3c26986d1ca582bd05873f4e40179723271d1799dc4fc5e3dd9cf77 +64e41b8aa8dfb907abf53e3a0007a714d6c941114f5beaac82c46927441e3402 +36c2fb70de002ae35627ee5119577ad7fcb9fe5deefc239aa09e6bef15aee873 +db24b3cd614565415a3077b20c1b095a5726ae475c889cd9341c93d4a1984709 +5ffa8e8ef4f31ea7dcf6375177f319a05e551a8905bb47c9f23cc5c0e5fcd8e0 +29b3072632a060e6891f2b77bc1da20cf7da33173db210baaaf8270e0315b6ff +3fd6c2207b1a429577d5d9d66a0f8268d4aaeb29681a21f7319ab813e2a1eadc +39b8eb7aec1c33cc62809a10ef560d2453ed7551f097960efb4e4708858d5729 +6307189fdfd3ab62c75a7c501fada7428e157752fcabfe629902715193acb11f +ca4aff2b0ed13442450e4f2a4873d5cc3689f7d4f7e372326e2f7093bd7df4d0 +ca957794a61a2e813e24155ee3a67c4312a06c72f84acba679e67e6c71f43027 +cdf8a21da3bb5f68e576405c1283016e541a3e9eadd67a20ff9ad7a658a8b831 +2f30c18c451f553c1149960156b201304263eff2f2549fef2e4906909c1b4904 +ced62fd9c0c973b82dd66044bfcd36e1991e0b6b84b6102258e205a458952aa9 +53832d094e6915c3a1669d4f532132424fc707dce60bf9ee9e06d4035394192d +922641adf5777d563ae7960c8cd6175dafb255747737b02c40687953c766601e +caf56e747afdc67f8163de81bec4dbd48b3712c0d24e92747d98d5d1da952de3 +eb9ccb3a132121cb1c9b2de42fe1417bea313043b5aec119bb0d1e3058a82087 +bea4d00203fefed8ac113723b1081e92ca7e91363b86eec7bb5dc2e123e41c66 +577dce271c93c667cd8665372d5d3b906070bd229489a91867551f3127591bca +b1ce86d7d9bbd5f265bebdca4c58af03023e9ba2c291d78b629ef48bdd731c45 +591edf98d4eae6290a00c331780943d1c6671ac237a2844cbb84082c06d39cd6 +b04a2e5819d27a25da749ee7c94488fff5f59eb0a3789522ea85eb999c66f359 +d1ecc77cfe14774fd76b97270e30e95bec696aef56f99123db82304bc662d8d4 +6b342e53171a512e7d435f3009de3613d91a6f32f9ec2e11bc98b09c4dc4d516 +8a2ed64ac351109e5e38a68caac84ab583421eafafee02980bf8d8fc700f1a00 +129564d5efcd4f7896130e76fbcc6c6ad66411285958e3d17c2d408960cecab4 +02c5068c43df99d4de6b9876ec4fa2128d9ddcb0f10aa89aa8935f22c9445804 +4c1b0ce6cd07c272cfaddab0719ef5cc8c597960b7eea7b4cb5a10c826bed1b8 +219d464d72a0be58ae80de6edf876c04dd2abdca41253efcefc0552989dea491 +9605795e6ecbac4ffbc39307ce1fc794d4bd78b64ae38b2750546b8613378f70 +7c5c29640874f1bc3549f9a381ec1d13ab38b1c20d59f90dbd2397a573ffc9df +525a4d4e995618a58148687c5c949e14c0879316236284a571a5a386fc94cb2c +c5f7327f9269996e2483e9c4f22a813db3ba38cd036a454d335497f53d654d6f +e28e4583febc2fe34cac50be37bb6e42b8f92f694cfd4f805c6423089bba4461 +8e36e92d90a06f749d8a1dfd93bd0645dc66cd18ee797ffc06d4938ed9fe7959 +ee2ee5daac4e5f2e15a8b4c311eff43f5ea1a13fb288ac57267b71bd0ae02964 +f1901a7b5005a834e366399eae62532648625bbc13c64c006c372491878ef7fc +645667f249fc7ba564e152012e485320fb3c5dffbfcd936a93916045e0ddf257 +992e927120370994664643e2d57678fb19f0754ec4c483a8b6ceae60d39703d9 +f309e68388cf20bc752caee575c86ba39575a07528b65400cbe9fdae6a5f307a +b199a54aaf70c5889bc64a30d5cce65c2276ed1d9fb30bcdc94a65941a2b0e76 +3940f7d243c8de8120b5b2f2995d2ec3c7be6421aa1f7a5f8b6050c17771c5f9 +d61330fb818df90f3062f9f21c23fd0a59d6ad28e023e0d3d7eb4dfbcf0c6bc9 +9fdfb74f740579c8460fa6755dfc800c5327da99e494d9e18efc6752f1e6eb31 +5e399606ddfe98339d085bf92634d2f557d2a07db440f45fc2e60732c51fc4c3 +047f9f6dfaccaea71a9b14ae1e22223987cfc33856fa6d78be0c8b4cfbd8d608 +96c0699ff248a80af31d111d3d7437427688430782e1e99858a2379852ca04de +bf7d0922b11865b5771d902dae865c3ff7aba28da86ce91a6c031a647b6d5676 +672480a7ea057dd805ade4318482e9f5c7e2592df1672342b98c8b67cf25dda2 +f69d55e28f1c35b070acca2e4c5100c18b102164f534b151375bf8e9ec27cd8e +e43a7a23cca2c5462ea92b202d9eaae4da36f8df69c38a4689b04ba3e6e6a2a7 +8b06763decd52595b21d5348e3f6fbfa775f8b88330a4f35bc3213a5ba19d277 +4fa8c256d06787e6aced43124b422d3ed2ca884c64da93933135926880b21cac +35e222c4b6076bb2b391357e0c643f04d209788fc140c7303c90a3c3faf5fccc +046d3b268154e017f1e4082819de8a5bef0c1725f008b936a243b2eb850d0900 +4560651003c30ae5fd462d8e68e4ae51d17b636bf9d45c7fe07255e470d2748e +f9720203181e528304f71c1fa2fdde7872ccfe55bb77c8a04b529cc5ff114c64 +544c4896f091965dafaa0eef5e8671d258f4303512567dfe2eacc764f0ab9a78 +206ddb0942d1dc868d52241185e7c830c57f31ca9c08453c6a8f35bfd7220a52 +3e3148beb6fca0c2d56048b7755f068220d59d4fc713056bde03b1146e8e4b37 +cb5cb8a90858920236e561fa21f179c12f7be7cb63eba15759bf0b6299ef3835 +b8d41edd37c1f1098fa2bf3cbbfe0f7a98620e7b072f5ce1c90bdb8d5f6fa9e7 +8629f3c6b4bfb047c9ac1869daf234e4a95bc0bb73f036de76595dcfa2d5e856 +22b48bec72edc8a798ae673dd434b01e89019a908f59089c9789f58b8350a43d +b00ca1fe192390daa4e85e7235492ce567dc403ae5fe8f0761274973e07ec119 +1b0ae1cb7f6f31076771d896139920861da5c58d3403a416f243f1b58cf54e94 +f3dbc9351633887e8d7ea6f88fc4a0dc6d2a471a78f98ebdc2a98613499a80fe +b166a4b803b7b4ed05ccabefb2405745f1ff28921a05a0245bfae09355910031 +180305de2f64f071a7abb75a72eff13539eecbc4cf54ff0bc87f6d72d8a742cf +5073aaf7942a137ab2f273e22391ad1d0dec9dafd58ec68553be5fc4e6c4936f +a3e67a86f4ec045cf294a1cb7f9a60ebe5178026fda700042cf5bfadac3d7ad3 +17f9bfb62ebd5946992569e9aedbdce9f3abfaecd6d8fee82559f0888d48f794 +697c54b805026ceb1d708751d88af0e5cf88332068833ceeb24223f5b5025384 +066f67ce49e586ebc4249bfb15074cb522c3626bf2571af43f0164b044b5aa66 +9d8217230edeae2453fe02f018bf8a8043cfd63d744388c12cc8430ca4157c81 +e7018b963021ef43aeb42f1f5246eedde76ad7507e65225430f2ed40877214ad +78a2e199f951e52790e30ca09c0ea8bb318756137639532e638661228e314364 +1b1d60aefb5222a3b724674ab6fbbc3445b878f99b629de47e52e36693dc4060 +9fcb048910f3d70211659cdbce05f0733af96afad264d1841b2fe33f3df5262a +92e98f7a5873f70b931a7c78863dbaacfde460906281d5ba5accd188edb2924a +bfc1c6313cf0cd29ac91d2d374734280adb1ec4b2dac9b53da1134b7ef26d10e +e05685ea4b31e5396c4281ba371b59b12516816675ef303fe4f01f1f84de922d +69edc0d18568c06d4dc79be0b9754b8f88632fc3a74fa418833aa2943c05c912 +b7b60343a7dc7a3f6f1aea9d83011afcc00619ca95cd8f97ea85176570bcb441 +e9b74ce8b100efa22290b3dc8113db1b383ec98f8367eca2844bf1742d752d29 +7cca604ed822c3f7b560300b39afe9fc8d9340735a718b09064157fd10d43dbf +96302c60195fa1d5bde0c68c4f235184898d0381849a6011239ed7d6c47814e0 +a163b82e56389248e7594fb9f4a2522ccea4eca0d36e1295b3ef67aead84cc8b +c297009eb5d21eaad7ab4176a443acadee13915c5ca44ff41ccc2bb9abb47fd9 +6461ec3d38876df77e5fa9993a300c39813f788e17320de56592806658b42a04 +dbcdaf7bd0684f445884e6f1a574467e52019ee8fc129ff3fe74fb03a5d67047 +80155de767defb2964317f6d058d5b8cc35324368469291ebb15cd320d566b96 +c5079d12493a8f84dda5005f8f3fd7038c40d1e704b4faade3ccbbdc7e90903d +fd3da3bfeb37ba41db2557640f2bbd6f3f49d9e37925007cb97f98c6e365d06d +282a433e1aa95dbef41be2facde3f5a08254a366a74b7a2f5c14898881d4be99 +aec4b0ee10022dcc55501637ef6f6570d437dc8120e63045002d7419057e5c15 +6a5539ebefa7d632d343a41df8804a6f855eaa3186b3f97fb7f79fe1377f5472 +04e186f1a97011fb950ecfbdeec1ff992b1ebc6837afbc0d9362c1712b114bb4 +4747c291759e7fee3f81b000f9ce65feaed5c16287f5e812f152ec27815bc6aa +35aaa245c882c9176baabcbb81548b5f271c42169287da48a7c6140af35f09a6 +b82abdc84b8220577cbf0ecf0d8edfd303f468ab9d6a2b89d806b3e19297eb13 +eedade8e405ae9e0e9412525f95e6a7716948fa2ac037dce19d67a156c5b813c +0af189b9b778bbfdf730c2050091018865e23d6cff0ea4fc0d26a0cc510ddf5f +456f6aa4f1c33fe7b40f5f8576b477970d6487275389ce7b2444f09e3fa5c426 +9090dc59354fba985544a261230fb1758bac67e142c4a1e71664d7f66eafd525 +22b83d1f2cbb5f97f04924e8cc4645b27331eae812266982efccbccc4ee93bed +e1e0ae7e88768e690cfaa0abba98973caff66daa632834527b26260e0a4b1655 +3994bdc9c729f2d45f72ba1c510a000b731ac3d9191e1faa5c9cbb7b94056d90 +f65df04c47abd4bc12b9ba0c1f84e4d77081d773a9dd939ba4c4b32785bbb337 +ab4df32d20ce0df7ef0374dcbf88be107e8813b5a769d530cded5649ec7de7de +0f7f373f006ce997b6f7bef0c52d49b8a62a620a37069ee851e7d23244f6a014 +4d50911d347551a63f9ea59cfe0159797af521c09bdf75e12a4a8e4c38ede4c4 +4e7a9712340d42110b7cbf4061ba2f2a5ddcf67a39eef57345975a9198fb8573 +f34b9a350845815873e4ddb7866c702ba7193fb92d21bb74d8bb4c49f2f3c7fc +3b703bcee9e7745fa637a9383786fc2729c73c29d2efa5ea274d9573265df506 +c1ddb510c9f3fdcd3a80c0ab90748651537efa2d8e0bf374472b5c7bb50b0101 +7263ffae7f90a979c3e5f3cd8a5cea478627890536251c4c16c0f63c1c822efa +66a75e01a68758fd97c5928bb2b1df6f2b74d2950015f2eacca793e7888c26ee +723e78f3cd926b1979bdf422bc83b4b51d1a0ae3ce120540e9b653728d769265 +c03c0a3cbee6240c0de90646e7ab730e5e0cf1124566bc16ec17989c1052f8e1 +84590223348e5b4510204322929d8632c4bd136c89169d45718a88babd7f2cda +62afba21cc46bb3207676b96695d911fb99bbf37b375ff4fb8be949fcc4b0481 +3776a3451fe65a47d623565160358c977d4bebce7aadea5648814b8769dfbaee +b8bc2da767da69b10daaff6a50b6a7006ab74f8bd0ec64e5681199b7f3bafeb9 +bd0ebd1a79554e8cf3e5896956d279d4d27202a4667afbc46b84c6b9873e8ef6 +9d5b0777a750a5c8ce86f3d5851cf3203e8b47edaabcc6c6256872f31ff228d5 +7b686b38b35d5dca23c755a5ab9e661630e61d1d376a46466b1f0100f66affcb +fd1d6befb5b196143998848e48119456d6f5791bf1473a2cacb9973bb80421fa +781d90e0c1e6912dcff9ff07ebe821aaff09597bdea4e71e72136c4e37946f0c +146b9d507ee79dc7a715cf4d65db2614cd87c5709112938acf9bb2e01187fc03 +5cea0fd5c2ca980adb6bbf5b9eb427971bed47970a13775be150a7a87bb2b8df +a92f8c86b98a36ab956ece9f5c562071306642d74f177ea0ebc1eadf96cda6ee +4c53703763505ff273c296a11adf59c4919f63c78f9b7c2fa998f5befc631ab5 +4dfec01d96fbd7d076357fd85f26eef6c10aaf99a7639c5111b3a13bd144bdfa +daf1fa9633b69feb2590a878ce4621251a2b860b3e1ad8d7a6ac1a896380f206 +158dbd525bde081e9e7c58f7aba0ba68a22065d3fb7638ab4b2027cfdf4dd926 +0f624b197d19691e1219f705d63781d6eac4ed8bddc3cbe2e7c735f73aabbfa8 +01081532536832bb4455483b827fa9f37d547a4d2cfc98707e5a4efe77037671 +faafb5489b64ea22fa51f2df96a89e8f986b3fa39e113be69438f1a4bb1b5d1f +33ed7ca77228938a98bf47fa54eeb2da8d81ecedec102f71c278d824c2bf5bb5 +37cde6342b1ac156946de7f6c4c12e1d639d83cbe78d8775cce11584a4edbcf4 +59c05abd0b590172401b83fe9cd49b347c01671277ea43400b1ff4212b3d02fa +cc6d384f815d7fdb652ab34d7bacca2e9b2b120de79e3532f81d778b6081d631 +32c88f10184f07abe8830a3f5efe712e7e3cac875f3b157ca3a0dd8a0417d512 +9554ac58171e09ae6ad91f69d3235be00c67d41e00b6988b7df3a07e5d65538b +6f600988178e4c98db360c5ded8f7f8b7866e6d3168a085ca9a823a347519ab3 +5f4fb80774aa4bcee175c02cbe39ea9a0ca56044f50ffb2fd637f925339d30ba +8f4f7fd7ea5a606dfd7b82ba69b4724c960a5cb49ad40f1900a0969cd912957f +345c08603ed7e8292789984bcfafc504dcfc19eadb79ee198dcb6539164db7bd +4d210c9bde5bfe4207c363af21967146511d70f7a0fd682afb045cf22a37bfaa +edf500dc18251dd086a8d2a91ceb979d2a1e9cb45a6b59afedf66174b764dfc1 +1048356c96b585d142f943ec97c62de95f9b8a8253ee0d6b2b0153c445563826 +787921b9a60417cd4075922332dfd82be6d45b581b581c24c4548ac5782f726b +0bf70d2d08493e9a96668054bccea2db3f66cfa6a4d37b36418f9fc8d8058c9f +e713810483a5e75b3f61cfc012dae494dfc2b717cc59e417e25e8c0e21f62186 +acab4158cdf47343ad8b73dc8e43dc792dd29897d8aa1fbb977e9a3dd20fd247 +d0ceb53d2fcc627179dabb49f2920cf8a1fa4d57f39da7e5ca0a94d377cbb20e +2c98445881201bebff5e33ce17d8089f552c3dea96bc70b99cdad2289a3686dc +b5aea099076ae9450c3aa43f18a3d98d711e43835c31f566866ca556b2945738 +f359ef7e7ade8e1f56bfbb0317fc2d08846163cf343c919adbe19686ab94f7b0 +7a06f3d97d5545df781e11a06b06b175fbdd1316580a66af1d94f4247f158c59 +d8e1fee6ecb6ad565e772fdcfead3898a5be123f2d0303ddda02b8e86c7baeea +70eca3cbd43509a85b853eb3286deae9e29921782ed417b13cf1e6775921b2dc +ff5b2424f98bf14408d446d0ab530d88f49d231315c6739ccd0cc8d01cfdc259 +f47bedfe7a53dd893cd5be51674e6ba162e1a8aeb2b21ad54819bd3d648318e5 +4d651933c280e81a327934ef0eebb83b795b3b384a129c16536bdb05bb2ea560 +72241eeb5f35e10fa050fc0f05fe4deb3e2e8eb52a97450c56594746d0278802 +9559abdc108ddd3431c2cea2da1886ebc7a973ef73038004fa13752c80a35ee2 +8e5772676df858dc9ff0d05c735576262b80e3e49751d78f2febd65ae4c1d0d7 +66cb53656583299d2c058bc94f272d398f72728e72368362a69f69af06a708f7 +ceac24a0846496457635fdfae466621eb4e0755230abb71bb5abe293abf7cc5f +8ea2fc15c66a5b2fc6a6d510a6730d9fb678a485616374f5c1c01b2ce834add5 +6f8dba31a95983c97af9e9ec5b8406fc67dc045c551ddf6131834edd18f79d55 +983aec1d18d5fb2209e87f1157df947772de42d04da8085d3691dc7010505c0f +a9724190d9a82611cf435b360971bdcd2e569629d98d439da052bda080ce1e33 +bfa5ebd35ef2e7dd77bd517f1cae2250b13a031c69bfe0d147919c53ad773024 +142ecb1a3ba1ab50a941fb54e63ef49edf844306f7e5d12c9090d2819dc6e450 +42936015482c7bd75693e910eaae10f04385f624083d00276d0499cf9891cecc +d31b06128a7afa49154eed960f37e7fc260e1372f1d4559062471db4f0db6faf +efd3e6e06b578e2ba8ffa1e9c3f5a787124a22e0111ae960bd85fb1d62b6ca5c +b2b3a87e3081470706237fcf936e37dc5b408d0c41299f921d810e01b5052751 +cfcc27024185194c147fe01bc1c4409c520b3e3a5c0f5514aea4cc899ca9e9ff +7834dfe5bb0b4b0b019c1e8163f294fb6ee50b05fec276b53f04160fce3defca +2c33ff34f6b1515705ecaba0aebd40a99fba99942bd8d451e1c1e489655daf7d +39437b97be715b11ff28fb291b972b143da98f5c66b2d02a47850765017bf4e9 +82e2bb732dc64b51fd4fdd3d8144d1231548dcc29bb9927280492da505dfe82a +dd17fb67b02ef0804bc82339d60dcc1c0f8789074747a805a7250f494dd1e9b9 +173110c4b3f2154e865371295ebad4e321f15826b3d3e61a400bdcd15ead2adc +2a5f00bc25e36413e46e195eab01069a35f34fe5c00f46b90d2e444c8d5e8a53 +bfaf1fa61745cec24611b2854a7ee8532b54b40ad523f955a4fa2a9c546dea87 +e6d9e2de21fc4b3b2da747fb3075a641b29f6d6cfc3ecd725f26972e31594686 +111bfe80caba23be92b04171b738c1709bad40060fb0b603d3a2ed6e7d49daa2 +627ea6916d3fc19815fbd0fcbe5d1ec8a8c7a6a7488b465973d3c1991664bf71 +003353d2b025d571348227ec1700407e16fc5bda2cae07dbe55bcd7dd0207219 +f4e61479f22c8b7aaa0ec7281e933379b5d25a6ad9ce46a1c67a488cbb315f2c +08fece286194bb86c66bfcda0fbc668b8b84c2af3e9cc85d065e17f55863529c +d1668f07dcd6e51caca4eca02811c1ffb9a4eaea01a41e8bbb12b1d23cdd10a4 +97d1a6b9ad43927837f9b12b9f703d414070ee06729c1e0f78d5f63629739f5d +95cbfaa9a695db4862149ee51c566b8f94f79ef9a3de87c0ebfd3bcdf4940bfb +314e1bcd17595f3d041b65e4e7765b60a192c4ed917b8361ba0b5fb4fce8f49c +b09412a1ae8f99d878a8fbdd375de3631a63119042e11e6d742f909fcd775784 +1f5a40a168b4da3dddc65d947ad0950a1a275fc72a923422db5fda3d54e4ed03 +a1ae04ab0f59134abf88aa65d6944affa2bd46ed8c5596062e4d32536d2c8ffd +e5cee1bf927d1affbf9dd4e214ef0f323a9f48af8ce0ef87e858edac7a6cbc3f +9ee530f7609cf023032a19298b334306ab3f5ed123b7652aaf77ef421dfa4ea2 +e1dbc68390082b50940aef52f583767e8a5d9eb33142f9883ec9dd26a4c0a446 +31e1b1e55031a9defc48060e783c7a56426e4f690aa6cd006c5a9fa76310d351 +9f8ba5c79c301bb370d30c7b3adcab60adb70e4b4cb9b9dbeac8bb08f07aba62 +3fa6c7805a38a4cf9c5b7f2ddd6dd510b174f7c63b2d5f4e391005bacb81b7e8 +5249518ce22a99e8811376e7a464e22fbdc4574ab3684b416dab3526b3bd0c75 +0acea306c0d448fc4942d2c61d44566f8a058ab93651eb319affdd9ecf2655c1 +d00500943b59360b6c75b780beaa2f1b98165ce2ea6a64aa9435ad5b4d57a089 +0fb6274b5f137ff957e2dc801dfcc8f778fec72a96b31e7457f421399dbd9dfa +c99e611405a24bdf0bdce785d6ade5a5c09ffb66f787bcc2ca4b7e0f5dad5453 +b3d87e5ba383065143952a9364df8cf4063b2f7b3ab30c263e5b92ec64c43c30 +502894c1b01fee36aac472a6e2adbb9b74129074e25e4cfa3c70e8ac2b3d645c +8f54f45ba3ed89629cb4f2f35c418ef74a194c496c4b2518429067932d57bc0f +7569bf4fcac26e621327db71e19eeb5335d8a6f25c99d6aea57bc6ca73238c6f +ea54a43c09c65c83d5319231adc05299a668372a9f77833064c460b312fd39e7 +49426fa209cb1f5d3d90c043603c8f997470de5cded5bef35daf0145f5dca5da +50de2bb8b678e6f36c53643aa97f3fb0bfb3191ef20abf0022d160732455237d +45d23239e4700ca5d7b71231d537bd032c3f2e7fee61b5e32caafd5de34b2a31 +9a4745e6e94da94286497233f66637586af51856552b0430710606bb3aefe457 +acaae21b8cdcd140b2bc4ff16705fcc80d04e0bd9b6a3207d933388b624893fc +349fce3e420690841637e1ce83247d5de15a109350c60944853a42fc3adabeeb +69e78bb11a5143fd2c465be7f72c9478a96883d1369414bcbc5b20bb60457eb5 +22e748594f23e082c29689369e48e01187efc53b3637218a36813cc4da7faa36 +9e29596f5de513074eb3a364b82e1af8a0cdcc513ec66d60f1173dd50937ee3f +dc888950c9a6b86ceebd3bf64b6319eee63db2199b824dc84e53553442b80e6a +6f29d9ed68d767c3d1ae78037e2c7835800e08a67c5be8f57571a71426c25e30 +a80439f9976ba351cc64a15249905b04742ab07e98b867d4985444e7a9096346 +8f70bfe63fe94f0a4f23257703e8793d059ffdc798ef3cf642a870aa311abca2 +c2a19fcbe68054c2bc94e2d030e8bede94db3c839e3d85302c297369903b9c9a +fc45596809d3c3f2be2c287d8b49273640d1dde3c7a4000616cb0821a01ee775 +e7e1b96c796acb7764ce16478e2c98547840df255eb133fe407b5081d808f368 +c575cc039dfd5fcc9e332e629e8565cf227079d25627dcd5e4d6a0710b486b00 +7189b9cc441a094d4be628d1990b63cbc5cb7fa127f49bd2b5ac659115bbb018 +dfb667d4154218d907abe558d4fa3ea3c753aef0e05b94772e6ddba0b88961ce +49d8d6f1d85930efde0fbd9dfa0682c5a8adb81d8d0be2fcd209238765af1977 +dcb18c4f80bbafa42b4cccb09f9da4db574398d30754f0c2870f0ff1d628dd4c +b57e3791ffd27ee4a9793f3ee5e105a917cbf9b6dc9fb7a32c752519b8334b71 +8fbdd41eb77d5e6c5438c6cb200559b914cb5b562cb914d777f889dc0af180a0 +3d2c2036358f8a105ec2a6f6313155cb96c5d792e2dd3c2fec6c56084f295047 +c1ef4ce1317930046ee382913d7df30626801fc5f6d1501fa31e643345128e7c +1f9dbd43ba580ef2bffd9af99a7a325a4e39f02f4ff5d372fd1ad895c3741914 +b1b944da9fefbe268e9a4763767718dae9d44728591c4e60845231f31ee5e929 +30f7c26c3235548323c5d14c3d7bc73033940071739c215441a9e72f2ff242f5 +5c65173ef32f00001340a53936c3f926a54e0818aa8cb28dd6fe9fd1c62ea09e +141fd00782dc1203b43dadebeb2104286082a14af250bf64ec9bc75371a9542a +2d27f971d3ff426371bfaae72a51d2aba44e859625120ccdfb350ba1c7f31413 +4669405f69b8515e23b0e305f3cfb9b0f29b410d26062bc8a1930ca753184e1e +dc97b40c9769450780c4a742ece35d726475e7d5ca91700e23cd325c7853b6c2 +b9b439ea12ea4576d7267e7e19baa00665f42d0cd312715e3b92493bb6a3a6db +54afd1f4c5e7f7bb20be232591b37778de18eecb0d6cfd30d247240b777501c8 +82b269a8959952836bf7d26713019f7677937a97354fd1106f6ee6d09f6c75d0 +296b22831ecac76882f68bb9434dfeef9d18f0d5b8ff6615dcafb348ec7a9866 +6fd749afbcf651be1ed1ca671a6013ce0c183f1ea86566dc9159cd9383b9e5ea +9900ae6c384ce3409aa4db1603fdc010083db0f0ee139b27c6090b8135799e8b +420f8f7b10e7334d53df7a0b1581485bc449776ca4b2678a490f9d0ec5207514 +de7bf64d8cf9711cbaef78b6b599d518d77b4544434b8cd95d04149e1b546204 +32b266a48da343d0704d10661485e4c11d4fd05fb727ab2db4975482edbc7c42 +b9b3af2806828da2173a304f83b9cff0ac4c5d4f553fe7276caec477bef48321 +ba153884a05e23002239cef2f5c95d8f6e99dc9554ea767409ce0108e73b76a4 +273aa49f123dfd32d27fb45f80622c7f61bc3242b8e00e6f50ea21d0b2c35f0f +10308818835feeb760d0ae64c755aae98e40eacb8f0ce744c8aa6d6b5c1d256a +0a476118f5f2d1de2bf12a0dfa68ca2a2e99f5cc0fb1aeb3e56cd8ee3221dd3d +5ad1fd57901727acb63a9aac3aef6c753f57e34aec57d0876b442066c2e324cf +b6637243db0a9cb9d2fe8e82e0dd2d513ad2b33f99bdf99b5c551cc0114da38e +392ac1ba0d3f536963f6e078a6a123f973395ae4846dbd335e30af20c3c23134 +91e2bc5987f44b6d377af7c5242e4f9ffb43517017dc7340f54460977dd8f8b5 +d1461c6707040c47de84d198d4164ddd7e7715a70abd458507fb336b824ba24c +ac0e6901295372b2863c119d0ee2fab224f7c0b56af33c8b82436ba9303cc0ee +3a809129e3c15b8c7a45538ec88fd1597406f696adc7ecdce383d3715325bcec +7563f1f4baaad70af9d24dbe272710dbff77d95c3462aec9e75a1e24e9f0f716 +2f82f1410d4b77344983fcae866279a98112d6718ff23da33bf16255c1b10736 +e8f98e8ef876d73ab139009bda89836d18dd03dfb13e332c50227032ff403ec7 +26dc8fa78d77aaef79bee7e0656275fbb6cc6aba6bec4920167380a1b07f8ede +5fa970f56f530ea2cb06be96def3b5327ff0f35d2d2152d23d712013bfb47b1f +e34f9339712f75c84d90df05f9ba2e8ab689f7804c588e5e075942b6dd11d875 +c56c016d18f48d569ff5ddcf4e323fd9fe03d5c702da6b98776601e925c73ff1 +7943756f5a4867c8d9c3f0a23280e873a891a6371c258e1cca3c4dd8be44e16c +267512e5fcf49a6db090e47da0f7a2f56804992df1c5387639b67aea74912727 +2d54a49823165ad330dd59020f1351f22d2172d018383555b8bd88bd50d5f715 +0839576ac6b14c3d651b54411167189c9b93f44e1783880a4c1b31f671988e19 +be05d3e519b72857420d6053ee7e459e98b31ee77dbe9242fb65d39e7065b67d +4c4b6619bb0a8bf1f860b98111710a61e2038d8ecf06c4f825322a66d327a631 +0bc1e8941fc36ff52d7286dfa8d2c38b76864f062457c198ee7335602cd975ec +1958a3930918b4959aeee256b98e0bbba1c370c9ea62913e9ef33ec799bcccea +de68997283d202476f1f065861c7d611478ffca395677e4152bc82e9686bc4fa +a82c0cc2a7e8b025eabf0fdc11e0564eab69bcdd8c4a05e5c249164c117ba859 +3b0d1c7293455320b0dd104b95afbfde7a03c0ec5b25f9d9ac6accc4de9ce736 +eab4c6726b23a116ff885b29258a57981be31f03ea5c5bf6db8c9ba21b831f37 +41c32223133c36127a0b3ea1d378a31002722f439564eaa70bf9c6465c3a7d03 +da8deaf66b1534bf11654562b6f4ee776d5fd7f3d288b51bb1e78808d261120b +b367cab8ac4ad2e910abe6bd80f9d421127cacdd282116a4bd376ff6999746f1 +4202272291588b6acc250700f32398d7ca3229bdad1e2244fa8d5a93af30fd0b +98f114afb0e4f4f917aa0935f735ec4d5d3293ba3c9d70af980d3fc9b9ba6db0 +ec2d4038a4c9872775c3ff227583bf4a0bb3baa3a14fa3757b01c461b2f6b1c9 +4e549e58ea596670aa747ee95f8b881391593f409cf52daeed278831aaede2f4 +b7dc53a8ea279127c7ac74bd500f97c86a513e546e05b343a3d590b7081df88a +3acc4d21a3c8bb060bd4ac8cf01971a8ba33d1e7828a5e64453028be2731bb48 +dec51bd85a6114c8dbb2f6ee87ed07af749318c90fb75a672b2b9c656c0b760c +ee4c6c462f9d6fae1d26469b37a043720fc710031abe62cf4deb987749340f27 +43a142310687a8b5822724b7b0657e7b291e803d14d2eee8b795b432a983f54e +53b17161d32c7a2d937fc8151c37866d3e25469c346b59c13930312fbbed651b +3019b9f09ef2c2a217780eebe098bb92f43e86c1062e161110d23b17b9b92682 +e32feb15891454b1c6201c375d58c4f66bb0a322fa8cdcdb2ad5556a9b6f0eea +2b3066c1c89a44adf94a7ee1cf4e15d51ae4c17052ac66df51d27e2b1cc36871 +14867d0fc33ea44338e9823c1016ee6263b1bf8365b900d2acdf2dc41b53429c +b64e9e89bf148370f62822b51bc4faf675fac2c9cf47a29f34f37628a471c4e3 +6daa47bc0b23ea7c1933d849ed2cec6eecc3ca56cc93a14a4258ce5148c0dc0c +f4f236316363140a32b91a4a7d78f7bd49e9e138b037621e52dd5e8e30062fb4 +1c537aac83e2e85b2e57cb43102568966d75c37fedd7799108a24de96670fd6a +4e5d9b9b778b6d25d0030070ba7329e482c82696e65df223e0579823f0db7323 +e7ff8a4bbe8ed37afde9a15deb7fc8521a1179e9197e2d3e6640e591c50606e9 +11815ea278b0809d5b7ed1dac77d333638b027e340fb624e9f1d6fdc40ad7cf5 +bc8b03e4cae755be841a9c72c86930024006b17f89f9d4ee22bef17b5baf4cd1 +364f889aecf94c1cce61909dd22f6d35a389136125d44a6b4c27efac337d8e46 +6d657a804eefea97ad0b436468e088a93764365d2481aa2d5e79ab437ecde035 +43f6023c3b75a1eb4c5b1685bf0eb3b9e3944a78c9aa0d410d20f7e366670095 +8f17d09d8b713ba121c46774ce83b09ce675193b845ace5496ed1ed96bd0f1bf +505353ed69f2aab2eef00169531e57f8ae498ec78d5d01aa45f4d7e2c96c486b +e14a1b21a1b61f6e73c970630692e385184d32c08036af05fe240976397d06e1 +18892245ebace16be7ad3445945b9edfd4794f190bc4bdd159813aba09f80544 +58a0c5d5b5624fe081c09dcf2b1707890dbc43def71d3222f8f853a5d169fdaa +95a33d1667b9e9bd7bf5883cdab58f17708bed530ebf7eee4acb2c9bae6b8337 +f1b4cb61b37c32cc0b3e390fdf35df5bb198a2d704ffbee24e27c4c1248f3f85 +606de45396611b4ba6ddbe1e9434e7e48273365ec73dd8df8aa378822e6f1f6f +8f35454c47ac054c77d62fddaa17b41f60997bb9f1ba5b700e7f840f1cbad1cd +e2305a92564e0f4c88bc4f3ccc6ee1175af3b2f83cbc57fcf10f0e63e7f635e7 +1e428064be1542f59407f2a18f70adb7d0eeff6baf6ed415d7a2a0237d17a726 +e84344dd77c48b43f47451142ae90d22b0e90e993715c55d0be8c808944f24d7 +d3b167f8f6f6469aba9fba2bde048298e85784ade8d96fe228ae328a0c8532b8 +1d97be36095fb1a3930417db8c50713f86e647113b607c7c93bfb424316e1aa4 +4f8543880efeb8b9be6fc7b978a4acaae9782a2721757f32173cc39142103963 +9da323208310b292114a62ff42e3cc0c986f709f986e07b9364634fad4a3be7a +8a63cb7b26036eb8515b8ae6af058874ca36054c184f2626ec2683bf21304e1b +5fde01772a0895de5ae8caa031125b614a83b949bf40681252218b10f5d4ec6c +21e8190dafab34551a3b8712b13d195ad6c934cf96b9da70302e84b34e6f8bc0 +ef3d383ccb7adb2e5d67ee464f9b2124cd034dd4ffb20962a6abd3764694e07f +4b4d244fad6fcee6167f5f44f943a02caa9b326726e949a8424496a79f5acb37 +d8c7c3b10d5fec76b568ee77b02061eec7bfc67c9e75ea1784e15ecaf2bade6b +48a80532beea72fbe2ce5062da978663984b2cfcf067ddef4de6155f60a6c34b +b469c3db6fdc40e5f79f3562cf6f8bc43ff8032692ec0f95a03263e2cd7cbfe7 +5b2f4a7c4dc6b8445dbecf16b800f43a6835ba3226b5b112cb09a18bb0161210 +4ab91a24919291406a436f4cafde0ed998da1b99718d003d3afa3729203b5999 +a87df0b91c5adda6e678039344bb36495fb1b5e5965fcfc86f6f61763d48c0d3 +7c55d221b1fded8a9a359371f8c08c778e269334c2af994b75186f3b75b7f61f +6d6d48def0aa6856962f7b9c468c795abec3b622ed16241f4c506963acf2cb36 +29ab91296d06193741f36343fe0f315877a090df94858d93c527d44670760ba5 +68b61609a3d750e4153c0f17dcd5f870b3a38b7d2272ee60a24668afc2b54084 +63664a6fff7ebdf7d2bdf9b1636b17041bb12f49ee3cda336f84c77746fb5036 +61b18775cf02fbb4c635fd09886798b09085b8cdb795bab93438ad36f4e9c23b +b30e1fcff1bab17fe49566f755ff904cbc11da5e966a545c6c7d7259ba4c729a +391ae47953a99bc4d500d68420204e23a07f6c0e137bd1a7034d670e1e9d8804 +1bc039653a023a6edcae8f73c93ddcd8a2e85396f5debed0d0565be384f21c5f +1171e37ce2443cd8ea5b20da6bab9b62ce5e8f1f485a4b3fd7fb22ba4bdd28df +f76493059c56b7a5c65209ee98f2e81ab6e25cd0a0f81cb511004e9da7fcd65a +8e73b549ee33577db68adc05e0b24e820500cd50523470eb760844155d4ffcd1 +759d5f50b803888f3bb3a616f99aad9a18a745fc6c248684c2b0df40e38234fe +1d21017d2a7a1def67c9dd2884d2239e9e1790910a8486e5cd001d2aed32e05c +bf6fd016f4e70e6af610330f47048bfc8d0a490e60b9e27cc75098a74147b30f +267ca6983b5940b8ce47d4fdbfc3a7f89f78ff4c35ec0a50228aed5907e05dd7 +ea33ef10c079981b1ab1c361d78f58f78fcbb3d9d4a569e0c8e1f86067bd61a6 +cdcc34c490078ea150b792d466b7a6a1a4ed7c46f4ca2e46800f5498820464f2 +c88c8e6ea79bac3535fe2c12f9e121a07588426e60067e13e77999939ac6e36d +9b63c024d67d2dd1a1e7172a6441a051b2e1405877aea4ad0e78cabb4cff67cb +82535954d4ba25bbffaf67dfa0d2a889592d2ba5718168b3a620ed8fcc10720f +b25da0cabd8265af47ce144b68c6058350d643d8f0746c43ace3b7445efebca4 +8d48d6f46c9154a95a4f4b8962fe1392418ab22e84ffe824554c74679bfd6662 +09b79c6d147858aa4ea978389503c1b8f0dd5ce10af89739f19a42a932c3cc14 +25882a16c505ddd2547572b93581ae8f0eea2c7725f91b8b2bddfed70ce9b39c +398a0beb2d83471822dc81039695f6fda204907ea0078d854dc4b86318921169 +c744ac7d846af8980e123b6219f8663b9fdbaa3416e6cba8ae367755309372ee +84b812650858053cd0f7f2d4e62d8905b0cd349112adac19953517ac36219044 +3cfb831fbe6e045dc567c182337d4148036e6e715a366a7e2be5bf0da704808d +7bf418275826e99d696b0c296e7b5a15f5e63f9c90c5ac093822290c8d254e7e +828104afc3ef7c5a8d8fe631f191e266434f34d9e10619a7f4b7df6566c86463 +a86f6dfff94f01f8b4c7688e999f306a65628679ab9123af6dca39e88808dfe3 +e99107b918a8dbb02b1d5ed0f6bb82d115cb36889e5aa14c9cef78bf09d3b429 +c1e3cf2ff96d289a6279d186130ec5cfcdd5a7dea4d23124f012646dca173108 +2ad555c142a587d98fca7b8308cccf3856b0901dbb3ca53082b368cd2850613b +32da388cffd23ab28d932eeff2a7388295286539aaf03746f35eb28338ad23f9 +f4fb3c91c79ab2fef1e061cdf2aa1f2a991b39fd0afa1063cd54dae5d31d2f44 +516cd6be0ee051bbb0201cc747a04d5b171d4f13686e77b9ebf9ba2236886c4a +505461037b7a5f2ee8db790e6fdfd047033354f60786c1f2c00aa6847c8fa0f6 +3ab3215c78229d47364fc91ac88f98eec9e5d96ecaf41c0aedb88dc216964a52 +54bf9f88a7bc9f5ed16fd210252dd2f8e7f54ca4b4ef4a7356023556fb69a31e +72df664882f57b786417d6955b17783e9c206fd33064f6d9a9e23ca274189782 +1c18375d12d1ee22e74713f6911c3ab08b1d7f35f00f18f5e9b669ad15d4e1ad +0831fb8edaa74fc257fcc5ab9ade88ed85a19cc22d32b2a9e2ff3830e76caa2d +15f5c1fe3fc21bd1eb96d1d35e8966ac563d1ea40d6d3d2b79a9c602bafadceb +31cc10aa90012955cef8982620ae3d6d01ce14bc184f5dcdbebf94cfb5b10c42 +d174ae261dbed22fb969fcf1bb64f2bdfe0e43ef54eacce5fb5e537e872eb1bd +d7070d3bee6768186c4bc824cb828830b8696af783d3410a62fca2b996aaafab +4ee639122e65f121b941485cfb581c57df7e0c5b7e4c912b75eb6409352ff5c0 +33b1c7e4dca272245235cd8b23a5e9452652d212fad18eaa899935b90bebf320 +3c50b223eb1caaa160a4ce8469a1311c69ba2ae787edc9ee304f32afa013a0e9 +092d80c29dde16413909f3d00f9844e86dc234442748128e96b3ee0d243ac8a8 +00d872aba50e81604e5270aa9972e57b021dbb1eac08a064d250df6acf727c6a +098c99b2074af3b4bf14913fe867707fe0f9b058e05c38205d1603925f7fe1a2 +54eaa39ce49ff00bfb494cbfeec9b738750b53feaead8bce2bfa1e20cedb5e2f +d815755c40352198c1daa5d092c700d3745eaf183bc281b86e7762985bb5f730 +baa1ffa889dbb0e2f7aee08d5abc2180466eecef7c588a1c0f78453685526911 +165bcbf5cf3e9e +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F124_0 /QYKIKI+NimbusMonL-Regu 1 1 +[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright + /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash + /zero/one/two/three/four/five/six/seven + /eight/nine/colon/semicolon/less/equal/greater/question + /at/A/B/C/D/E/F/G + /H/I/J/K/L/M/N/O + /P/Q/R/S/T/U/V/W + /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore + /quoteleft/a/b/c/d/e/f/g + /h/i/j/k/l/m/n/o + /p/q/r/s/t/u/v/w + /x/y/z/braceleft/bar/braceright/asciitilde/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section + /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl + /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet + /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown + /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent + /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron + /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef + /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef + /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef + /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font BITXNG+CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /BITXNG+CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /arrowhookright put +dup 58 /period put +readonly def +currentdict end +currentfile eexec +d9d66f633b846ab284bcf8b0411b772de5ce3c05ef98f858322dcea45e0874c5 +45d25fe192539d9cda4baa46d9c431465e6abf4e4271f89eded7f37be4b31fb4 +7934f62d1f46e8671f6290d6fff601d4937bf71c22d60fb800a15796421e3aa7 +72c500501d8b10c0093f6467c553250f7c27b2c3d893772614a846374a85bc4e +bec0b0a89c4c161c3956ece25274b962c854e535f418279fe26d8f83e38c5c89 +974e9a224b3cbef90a9277af10e0c7cac8dc11c41dc18b814a7682e5f0248674 +11453bc81c443407af56dca20efc9fa776eb9a127b62471340eb64c5abdf2996 +f8b24ef268e4f2eb5d212894c037686094668c31ec7af91d1170dc14429872a0 +a3e68a64db9e871f03b7c73e93f77356c3996948c2deade21d6b4a87854b79da +d4c3d1e0fc754b97495bcfc684282c4d923dfeace4ec7db525bd8d76668602ba +27b09611e4452b169c29ea7d6683a2c6246c9ddcf62885d457325b389868bc54 +3ea6dc3984ba80581133330d766998ae550e2fb5e7c707a559f67b7a34fea2f3 +bebe4226da71af8b6e8d128c7ae0b3dc7c9aa4a1faef312fc9b46399b18c437a +776de1f67caf78e15d4cc76d6fa57dad7abc6d35ede0d7118e8c6f3a201f9ea9 +eabf8a848d182eba8922addbe3c488f51eac02906400a84ea0abfaf48116cdc6 +6fbc00330a76a8818cfaeb7afdeb029a204e0a70b47a05aa50153b56d2bf6736 +c7a2c50b023ed92cfff13eba974f804a346d4130ccfd5233b6d6b92a14c87bbe +2ba216bae4123911e1856975e5cf4d94e44f400f687d2d13db288e0d821451c8 +83e9928f8cbc41e0f4b99f8b29d3b11bd4ed0cbca83d81082e39a9e79cebf433 +671b1af39c3d0e1f5bbe5f1fff62ff6f5f15f0421c56a4dffac682cb07b6f257 +221fed1902e4b69d9bc2e061f2e96f5a46734f91298494a425ef6432f2b9778c +4ebbadd3483ef5447df5f008db9d91c559950ebcedb4b1316a5aae8367a80e06 +bf3162beb99c4aaa617c60be688da7627f29c1775983ef635b26306a94f0b258 +003779f8670a1398681953b785a226057f7d1270fe2dd2ea66d65e2061fbd65f +0ac51b6c347a56e9f3e86e52f3e0bf1d5f8d6540afb32a027a7c96919557692e +b739cc298ec7999b4286538edf7333cf8f8f6ba02c5e8c62929af07acbb90861 +0bcb85345f4206e3ea130512dcfbc6cefa31ef2bd1da11d3010fec57b5b232ca +706f9c44fb9cab8903be783eca66d748b3fa5b1f5d5445f6c16a9a52c88a7e2f +2bfb0be4e416ea209a9810dd6c38e47a58dc9270b2f49f9b9d482156f7dc8164 +b621b6803b6434a2a354a50fd9353a2ce3fa761423634b8f2adcd63b2b7acf15 +07588caf127a0d6b2017a451d3df77c53e6171c66236e5318d49fab9ce4b1026 +853f65d0d5f7913d88ea66b9b63cf06a4bfc8ed3246bb86cf6de255ff46d245d +109939e32dc483a0e5176b614ccb7f1adcf99854cf50317bd081131a146ea089 +8ed59e46da7b6254bdccbc660686e2eda0ad7b894cd2eb2688c0c00aca589d39 +e3caa6e0faf7eeb5df3e3f8113dae4b454a0d8c86fee52779ad3e13a0a871e9b +65b9ef0a2ff20989bae81d1cc1181679fbedb80e7d84a08774e6da58a283ba22 +3780f2717484e066fa7dc012e6d19429b08638045352d358957917123c9c73b4 +326a954f5ebce183ba1025c00c8f559dba85e07b3ed48d2fa0acafa9436d6fdf +e530ce25ac7da170db1764e77b6816343e8a128a075e7744a6f0406551f4640e +c403ea61696459d15ee040bfb53f08700c69333b1cb28142c5b9411d65fbfb1e +c7f4f50c03d122ad4b63e9e65f0a0af43efcc9fc546fd13da42a1c13b8c9cbfa +79a480d923701306249955ce1c61a680b2809d3551325a333a189db71bc83c59 +47d17b31f8ff63564919b00336285f724d22f889748564808083ddaa4eeb8632 +5d636961e1f634f3ff3def1dcd7299bb7679dbaf685e2ac1484bd9b17c5cf4d8 +59897713b51a4deba3332c2ab5c48a76357d2eaaa539a617b09f223661bcb411 +0e6559e99a7d900336a9327d4b8330ee5f56b016cebb8c07dbcc2fa736c07ecb +8930f26b429288c6fe6cee3e7792de58ea3ce248598db0c604787612bd137d80 +e4462d249b229b62142128b57a6b44515262743bb3c70ee96aa4b8c49d6b0be4 +4e19f634add30634f999f4dfb3dcff6a412a9b6067d28751aab1b20928a6e73b +cb81b0510d551f84437062e8cd403bf8c343003965e926465b288b0aa2fc85f9 +90f9a63fce188d72008aed98bcba5ff4ae850711d2664f0857ded002e3a89fa8 +75f930ddf7918d6b2f92ae26af35f50cc9d2a8f9b5d5d80981b12ddf4c59565a +aa62ec34589e5bcc3075cc6a163e45d46bb280b22158c5c04c90beb6f8a1c791 +5597b0f69be3204d876cfa54481cc86ed2fe799bc46555c6c6fffc73854104dc +9c8a6f85331fce7c5d1f20af5d99e4e61b7ab981dd4eae26951a9447d5553140 +b5862e2f39023bc7d14901eacf467a9424a6be8055d82f4b02036cd766367871 +e0a01d09790ab2777db18248482fb32a25fadb62956b93affc59b1796f78d0b6 +6aaeee9778a3b253bd98035c79b5296e173fba9e56e8824ab6191ef9062b1fc8 +1b6b6185a05b167adccc6698b1801297d766492add5b66193d024d121633d329 +25bcf1a9ae109371aaaeb64f2805bf5c2d5a218c191e9eeb4ac30a48291c7251 +f690b51d5135f6a37f5418624c7d2f3ece356b12ec18f73d5177a24ffe371635 +fc88231b3a95d72ca2555f164c503f91b5c7ca174e43aee6534df6d569efd50d +da3e950e11c6cff788e50ce5f1332ad76a2357c39d44ea38e88b24f2d37cf29e +21b7468adfcacc8ab8fe1ae9da4c933b5f7f0a6451964a4924b6ba96c359c828 +d818166d5271e813f7a34a5b18927e66d61003392c96ab36b3e2175f31faa3d3 +7e77200bbbeba91c532c053f318f3f83080bf3d641d4c5df796c2882e34c01b9 +cf74bba01f03ef559012eeece809c019ab6d40d22a16fb9054143990db45b902 +a5574f672dda96d6c18c0fb048e970e6180e6148061e22085c7aa4fdc2102fd2 +d31e84456a56057b9d3189f331cc8354b195564cfdd23579574b7c7a80d2f3e3 +97f07cdab67407a46a4264e985563dae7ad933dac054d64a7ebce65bb2beb5fe +d53360fd76a0fe706e7283550c4d5657aa9bf62ee713592d74e89998e9b0adb2 +327a9dd5f19184a500870a3c53367431b56cc4dd60bb629ae68a009fba0049eb +16d11d5f299d5a99f3d45f6510450e53740da5556335eccd43e1408b826fc535 +10c7784c44cdbf41988ab67ffdc54ea61dd05208204c8bed9c66c678e6324428 +9682cc6ea0b2dad69cdb69dc8daacfd1a98c730dc3d9bc8d83e2fa2e72de08b0 +031ef3455ba92d03acfdb7ecf50ee883a8817abd96e58f72ae050feae0d224a5 +42aa0b4c022f8a90e73ab84216f520d6ded72680471b9ed2ce317536305d7360 +810a92f4957c9aba9328b116349fdfa728e9f042b2fd2d116bbcbbb99ec6966b +a5e1f4fbbb4b1eae6d8bdd40de5fa44127e6d7c05abad3c012082c245265096d +d4445b03ad8dc08d707ecbf0aef0890b0658dc9341fd386d417ad9f5e79c0464 +be4e3b22e4997e1806d192a8be70dfbcf69715b8194347a60e80934ed09fb08e +c4df7c3b204b07ee3610c041dff7d4c76060e4be6a3a2f0b0217005ab38f80ff +fe55a6252afa361b5cd8f3b642e6e193da913ccaeae5508c2470036aad80c0c6 +e977c374852b69a8de69aea44aaad49eb7fcd420bd55a5c5cbf073e859ba9d6a +857da20a5cc2744843ea07efcaf91e992f0a44e1e520bbca097b6965c4e30c99 +03ac3ca1af1bbeeacffd7cc22e7b9763b0876cf8308ea38828a716da7f430898 +2beecd1cb81cd95ab8fe70242026f11061a70fb42445aa9246488d6d0029df17 +dea43305ac74df52e5699b6c243025786b21fd43993a8039e9e75fce2dbb7d6b +7e4cd140e7edacc20dcb473dc45eab68d8ea296baf9bb969093862d391f84073 +5e17f87847ff2e9186080feb184ff7869a5a8bee6aafe3461454dcbcd00d2c24 +61ef831a52dbb0fa736694b4a3a4d85c6d80636b316fb12be67f0887cce6df04 +80c145ea8762ef8b2c43ae71f3c32686fd5813eb49a39bc6d4980472bd5cdbb6 +c282c9ffe2fb52656f607692e1ba726417703feccfd4aeaf9c66d543ce1506b1 +a9d6b95705f67086d4f36b06a283cec841a01f1028d95d4de419d7110f091014 +f6dc905e81add1d54f95b16cddcfd0793d1cf4a85e7a35458c81197a24fe82cb +63edde30cb6b538a708fbd41f00268a772730b85bd8860054acd93fe6b8bbcb9 +cc474568d426e83f15838520a313e0ae1b60959de340398b21986f5c404c9361 +54975d52740bec0f7abfaf271a2ac1f7553b862d45d11ae585936fbb5462e2dd +bf35e4afb7bffcbd3294be3eabec4b787133c3a5e0c95f74a71dad9be990d07c +d157d7258830a3cc3de6459140afba942eef325ee072b3a53a9f281d483eac65 +e8da50ccddb3d43baff7d8c7d7a1847d6d579ce92df1b54de141ce7a73607362 +7d909e8cd9fdc373b840145f9373bc2f02979ee34688bf840f4f9245c2ab976c +ee8bde685c47606201f6611e38a49ab72428def2c85e553313af719ab4d4f5ef +e3f3430522abff76bf8bb8f56afe11008d3f989ffadccb411dd3b7e6352ea873 +3abe5dc71b3b4832ae85bdb23f6cbfb4b2631412e4fe0050a5f7f4216508a3db +ea2d74318ed82f1a2fc791623c869593dcfd6bfb2fe57bdf06e9d1946f9bcea0 +13848fcdc603e3eca5384725118970cebcc9ebc6b74df13ad395fa6efdc22463 +5380eb1b3521aa929eba30958ae2da40852196b67ee44409d323383b0c7fa1f2 +b4fff373041d9f5eeab03d6743f0a291b481dd3ff9e8ebd77a073b8d5f5d93bc +727e6566204893af892f74fc0bc3f3e83643a93747678eb998f9c91b3a0ff942 +3d3924f507f1c7eb18249b2ab73691f5fac868720ff52183091f65ac3be8cb0e +80d257c52ea8647ef747fe304598e1ce0900a4de4031e4b6a58d7869b08a56aa +710c91ccb8afab94ad10d670e767a44e0177795ddfd65c9cdc7332716deefe3f +9e2ed8a54bb6faf63b7bf5f554b934821086c09fc28fa74ea2efd410e006be6b +ebe0c464e078c14968453dc783a788a55d925d72205492c07d0dbaee4982fbed +9b32dd19ae230da5870499feeac55b09b0970ad5926375fd79b95552816be003 +90515262b5ca891babcd81bf86847cbc5850d4a056bdc528e97aded1ea6d7b76 +bd8ec34e742a9fccf19a6310004499b1cc1a920b5f3b746bd4de2d9b9dea341d +25a7a7b60546a8f9ef99190cf8ddedb21a0103414f9f28ae8673c966b12528dc +fb70ce44db4822322605982d708a0b4bef7eb08962e3f433213d7545f351e994 +970828eb443c3bb36ab0c4cab7fadfd949e5f93273141da2b6dffb41b4678647 +93cd4e53c78a63c632d4fcbad772122e86dde337d5438e5e4342a0e18be8b014 +3ddd7290d16096f2149c6c71ad28325dddbf994e651b9d4be89430b31dec3fa7 +d2703196f7f10b5e8d98f20e14151160507e53ff1f3d4bddff3f45f9e64b1b9b +9b26b32bf389a3725c243209245bd78c2f78d67033be00ebe25955a1ac718305 +b52a0260a07220a9f7410bad935538c6c7c56f902a70730c1cf90d45a5f66c6b +a762406e512bf3cc3b52918c6e9e92893279cf86af1684d9b67d1ebbe84be9d8 +4b56548323ab381ae18c9e9570453abe77ca9d9ed1164563120b939fc3acc33d +49f5e989a74ac760f0c99458295278efde92e99003c4780935d12eda68a82308 +ba444819ea9fd930c80263b57ec1b9164aa50ce386b8ef81a53a710416c6c868 +794bddb4fe463b3c59ff9fd085fc7ec37cf2abb7df09d41113f4542f72bffda6 +1fafef41c462eabcc7a3b4fbe46cac256c7af4309a617e73e7934450434e344b +5cb6ddf2e63f4523f1526ed2f79522eae16b23dd9ff4924053a0fa7c4a0b29ff +f4485c041b06147d2c94d276553f443c2980cb96ef5da49bfda4ee95bbf092ac +e2dee947d0c711c1930500b79a5424e8494df6e1798b009a3816342f4d1d7cb0 +b7bf239f3d60361ac605020591740d13ce386bca1e69a2e8063c62f9959c9fb9 +010ae39f18882b1e3b3d0d9b0447db7f7f7a3810375372702686b224896bf5e4 +cd40e308b5a6988b614d8088c296171423cab2657cfb98f462afe21e990b0c74 +4c8738d1b13097ca887ccfd3eabe4f1e29df71d0e51046957409964f9f02a33d +78b2a5bac5058bda0dd8a65fe6c53dff9310fd2b97afd24f39e586417dcc18a1 +5c0be1795e0f2c3d785f8cc1ab5505bb8fc0dfa1364f08876a42dae3383f853f +84e7e54405bb8d00911c5b8ef4794494d9bf076d57a65f2392628b61ff967c77 +29114960e00fadc36961617c61c673bd2d2e4a9d54702233c8414026e67940bd +ed16e2d3822f06068502c0966f2ff68f74d11a0b780b95f3f52bcc162a37b6ef +48cf5ff8513cf4183176734f80b9835401b3db6bd53597645873fa96488eb183 +646b577037e5717952d23cc71ee1780b3df42d9c768804fc47cf147db059b9ee +7a6399d4f4afcf2d296902f16d56d6df28ac4c9a96e357678ba901fe72ce3d2f +b10fbf263146547d455df1bc33a1dfa753251c264db8798da35943a4940962f9 +e3b8a68d2b094177154ba30af7bd201cad919c09a34536e41d6c5772873c0634 +fef84dca5f1a5d5488997e279876af1dfb3f51790a6ae085d09ea4e1947fc10b +987c2db0634c100484f4b45404119fee7a7ec81111029cff1b4cfa1a8637d4a5 +ad472b5ac0cb9f428cb1df8abfea3db8082a26cc815437ab387e7f87902398d2 +e0c6bf6c95c2381f15b61fb2c5bdb8684afbb7a6c1a01ca2286a8dff62e52a16 +3d7c748c1b2c63d2933012c5306cb7efb0b4cd733c56ba7700acc731d294f7a1 +1f2a1f8f461983f2972da8c3dbb3f9117f7a6f3583c8a5dcabb364ac0310457f +93fbca26c31482d806c6a7a4f87f4cb92e3f30b4dd2dd5e3da5360430c008237 +7165549aa416a73c62a50b707074b2b7ded2b07454574f60861cd2f0342e4f78 +24789278e711f18ef858b819a0accb67384b47145fee30b32181d66ff47aa657 +83f0cccb693ac70657bc2bf204974bb3bcbffcd6540477e7a973718754acbe68 +823672daeaf24c93263a57598ac4bc999120e367aaa4b54c643e8c8987024b07 +9b0d40fb33d55cee534e3a38a1a316276704e9a6df08553fde29e4d4526225d1 +fbda6f8cb78098e83e8a360de3c4c77e2998094f920aaba9c7587735cd2f22cb +e17c6b99a8286519242f18de4aabbe470bb8e0931ec7f5c19e1c304df56f2368 +70d154e925c4f2e5012d52a0283ea52acefa09d2a8ecc832358868bce8efba7c +492e3575c1605150a3f7d6822960f1a9975151c7b6e928fc07f73493351895b3 +5ea783de8482144ddfaf6f881d0835472a603fcd52464da80de0c380fed5cc67 +e38eea70c066dadf026e03fe00be35c6310f64aca4b991ed4bc4eb125b4c0a79 +b87109b442c0b624c340271988ca36e92157ebe00ace90fa4515b6c649b9ef36 +f82cfb4954c124878dfece799bd987ee930148967069b9e6ff5663689e5d186c +26dbdfa146c3dd3ab9c2104fa4e92423c88a0821443aa8008b11008525290207 +146118e39b4d7893fdc8c7225f4c97fa3f1cc264122afa3a87d630ef325d3778 +28ecba34700bae5038bc2a1c2e0476351d9e73cb623cf58eb35d4c518630ef2a +f8b64bed95d72bb7403e652e2dda6faad38fe8fe4319ae190f0496a1c6806cca +10efc6d15c7e19522b152476c36f9644a599da6786df08fe7981f9eaa0e8611f +880ce7444e6e72e82aefccf6ae7aa0ae68f883d9f85b8126a6c52687c0ffe6d4 +fc712eae8bcaf81dbfddd0a58717c4cea5ebc76c94567833f5549daa0cf6254c +627a1a0662537ad3b43c6f3a90d553bd6e7e841769777c502e4dd5fb8b15431a +61ad9b26cd69b5d7d2b28776074e7b7beb25da2d5b8ce39e2d982b9fb9122e6f +401cdba8684365458bd82680150de4ea9c386dc6666e613f4de18bcf4540ce5e +663a6f3de86e8ff97339085dd62fc33bdaed076740de76c1830a14618ced99f8 +07519a5526f787b5f96e8086ff187ddc36ab3b385520dd23ceb0b0a779c97537 +496cdcbd8b82bc87bd2473acc490c6a86a6e6f85496a2dabbe2c92f4394c23bb +714c0cdce7c02a397f2a66862ac165931eadc3dd374873357e315c8cd99f00b9 +20d3c62c04401d15413d4c640c2aa4caf5fa5db6eecf4ecf43478b2ed317e06f +cdbab783a6921463b346d8bf72e98a4d7fbe011cbe565cb54a7157af3fa4d5c9 +d6a36c7600f5a884595278efddf5085f74c3d7d8e9beb3be3f7f6131e8233b08 +4b16dfda9cc778dc10adda42786156d707750d12c920cc297e8f58578d5084a8 +6d68a5180a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F230_0 /BITXNG+CMMI10 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/arrowhookright/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/period/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font ZWXELK+NimbusMonL-Bold +%!PS-AdobeFont-1.0: NimbusMonL-Bold 1.05 +%%CreationDate: Wed Dec 22 1999 +% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +% (URW)++,Copyright 1999 by (URW)++ Design & Development +% See the file COPYING (GNU General Public License) for license conditions. +% As a special exception, permission is granted to include this font +% program in a Postscript or PDF file that consists of a document that +% contains text to be displayed or printed using this font, regardless +% of the conditions or license applying to the document itself. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.05) readonly def +/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def +/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def +/FullName (Nimbus Mono L Bold) readonly def +/FamilyName (Nimbus Mono L) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /ZWXELK+NimbusMonL-Bold def +/PaintType 0 def +/WMode 0 def +/FontBBox {-43 -278 681 871} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding StandardEncoding def +currentdict end +currentfile eexec +d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae +6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27 +bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf +045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670 +0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4 +1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa7637750ee32abe88 +6f7c1368d9ce6c8e0c490dfce9b86d093c646a926013616599be4a08eeab1ef9 +4d9066aa43407ce8754ca1bb33035af23db30794e2d3368c4fa14ccccbdeaf01 +2caf3cd75f4a9430011661c1bf054a530ddc57f032ecffb56ef20be97a76074d +a40f2ab5f5ca4b83c12482c76211aebb54d996a3771a33008145b436f16e5100 +3c766da4e9fc3ac88ac60879f47b0d72099a606f615cd397a05aed4a92a6e86b +6a9685a3fce4cb303371639026c74f19dd67a353e70a7f40b4d317f830c0342a +9f2fec7a3304e4c4009e2bc3f0dcee97c8381bc7682c6d3f80d93a69ce5d74bb +b3ae9b016bca6cf044056c8ab210f7f1ab28c6b4c457d0184278951c4e2bd743 +41f9c9c8fafb9f11da77c2ce9f820e65ba3b7184d08598f9ecc956d38ffa3d71 +0ef485905434474fbb7cf4b43b193a537efe076c26a9251d45d06ff575a5b9a6 +20ec66effcfa67a9e089a1a78ab7331d3841898dd7476d70a2a97c8f6c283fae +4010a9eb770604ba65878fa2105d063a44c56e21bd4847b542af04cec1cfc7d5 +ec2b1ee2103bd35e162f2dc6d1f224925a0d7eb5b883a6eff782245605bb8fcc +1e0453694af4725205d9225ffa329bbdd4392fcccb8dac6a0e8be2059177757e +2fc359426f4e1ed2e19ca9b5311c2e77ef9f97618b0c337a906ff39926d2b0b7 +883abba6508102d9f4fb0387d88d82973b53718c98d58c9b83d2a62386b74c16 +9cb5c33dda965420dd78aa19ff23f88bd2355f93ebaca543d8b18ea36b4ee8fc +b5924e01f73a9501819be812383107d361fe8c805163a6957de6aa4af7fa6963 +e77ac8e5d39349be33448d2f6258da61aaf47917c66c7c5ae99a990b727c6c70 +20f14175225efea39202b489cb6623c51f41fe9a5f6d3be27796e51be6945774 +6cdc1ec49ed6114400f4724ecff05fe0bed476dd3d5650ce735475ff6f232456 +5918f9ed222319d2a544aa4a74be19f45cd466fcf191e7ea641ea38f9d3133f8 +872bafe19691dcdf0bce48ed6fd0e0ee9a81faa6dff8b239874ffe2072a73107 +0ffb5095f90a653a1690655a9b4287545138b8049e04eeb928256a05a73edf71 +4e0c8692f37cf1d7e3defd43b2b428f853f35bd79f3811fa7bf788d1c1cf4a61 +65b8eebc60521fac324403d3bca11817c9d15012e0be84e194435fd27361e68d +79b52b6c9a96c1a40596f048a31c49088b883ee21d9bd24b48e4d1e03e7378c0 +5b62dc00623f9c5dbe5087eb9122de23199ac72b491ff847674d6141ca7facd9 +6bdbfc373e1e1f87881fd7bc3a7d64292c55a687f3837424612103bd6be8fe2c +0b3f529ff61d27d3fe8cbb25636f48e6a41f205d04a802e50fd974cfa67f94ec +19c3ec32aa714e650af284926ec5f2e29bb880efc696d77d210536d7d1148ac9 +ea9263bc02d2ba97369f2ab531944e132484c3f2c2638b01fc97731f1b39a492 +4822b5265773a5e86a17a41e7346b7c4c48029f58450663e0d09836d75ca7f8a +d9a78eeea4f41976945501f32bb383455467d217777e642f32777bbd74cff9c7 +97041d0a982ab1c0d4999077201cc9ab52a92cf959cafd2e6790ab45f6927c7e +96f24481280a0242e823e22a4e32669bc829ef1b7ec3fa34e9cdd920b0f7e2c3 +8f138ee0922fbdd3d7bec614805aa562591c3969760019c54ede008db2c2f8af +bc66034e5810bc32c823b819eb39a15c0f25be8f2dfe5a01b90848a5adcc95de +49241dc602f4b71f8901fbb38725ee7ff097f769c017f16598b835a0b93cc6aa +c437310f1a7d586cc05048684af27ef3c09f72ac62adb2f4fe7f99d1340d27c4 +479c144afdc37e4131d8fc6479afbb1004ba15e3e5d0ee470b9811a0f51294c6 +dee3fa7431267cb6ec7a96c590ebc1cc7333a103eddc21219f392ddbea601d6d +dce7a8645953235a0ab6d46578e8e438ffc41be6b509b844b73e586131f694bf +f0ed77a7847f7c747410cbba2473f5869eda83ec8118d800f3b2a7b5ea03e16b +204962bc68ac47bcc5d29f88aee951c2452d22aa967d32c3f37a91ba88baad3d +bc74cf2c7fbf0c76faa4eb347390dd08303b439cb1f1a3363d265fec5734c81c +bf1af913f88820cc29f4a3b54c712e006e1d6bd993668999c3ad54676c71fda5 +e29df4c794a4fa812b13ad32b28bc57e05c7908b8334bd4fe842d57b04423fd0 +db3a43eb047f86eb925dfe31a012031f36d5f6099187724b0e2203ca1da764db +623d1e0a59b9fe47d7d4d67c241d297bc5a6641770f5e9f75c572675ae6e69e7 +ae37627c1e4d3ba60b95605da55c67c5f6ef7ae2049ea3d1246a0c03309ebd39 +951a398883fc919a711e8e891d914459d4296bc3a584610663af1c2ff053c137 +9f447f918ca55c5dd4a52a060d1725c26e6940371eb4fd9d254749d04ebc0f11 +06f62a30d3f714a33e4f65f4dd0b20daaa10aa02b9a6e6eeec07fd93d19f9c0a +6cd6bde1d7ccd1a973bf297fe6a8821e03a381c468b9adfde87a4b7f484a55ff +a5b83052ac23f4b3644234d935485f912cba1c84227a609b32509552ad1d7ce4 +6f564f7f9da1e131d9921befbf53cad1adfee699702cb6bc949688b30f0b4f3f +d3afc9caa04a796e5afe2aa8f8e14a7959731a74dc4b215d7ec095ebe86a3863 +ef6d7975c3d2edc2e7c2f5d2c8cfc5f6fda37368a54dc07a7026ebe9e2d290b1 +eedfe0322838aad2f5be5c299a658f47d0487584b1f9e7def39aaddd212138e0 +8a8d2479be76477e5193944353796d86aa5e2ebce0a453bae8cd9bc976a14910 +93b30d44f25a29808227330b98bb42bad91b4964f6832f2946b0ff1701853c49 +dc522636d5b7fb6ef764097a17da725c3af793585d24c91627f49e83271b7498 +cbd67abde015c94f5f24579852564ef01dc4ad98f15d522bd15fb9043b241350 +2b1f128d874c1d119798ebb0e11be341f78db622204aef7778aa81055bf4b7e8 +c455a6398d7d5dac94a5007b4f76265bc8875392b5354bd38ddc111dbb8b5b92 +15beaf72f041f17d55b49b81f3d1279bb7a5ccb1a9daaf125e79d5ad7dab0595 +9e694040bce7da09f795dd3cd508b405c6bd07cc7ee9bfe298156ff2620bc3cb +cc7b27d9618e04a2ee6e3744d7a344f6554e0baa2290b2082f996026adc420c6 +76ad5978868e062323522240a388179de4d224f19182ba7a35c3aa952844df49 +f6c532d429e5c86f89d1e697fce1b50861cca95504dd63423bf603b14459b7c6 +91bf64bed93e5ca158ed057c9bf9160f61584608ee366e3be548bf2dc46c219e +9e0acdbaaca1a5b02770bbf21dede6a80f3af65ae92a9089683dce3ec5e6ec68 +9de2dc208f7304afddf88f35e1f428dbe74e7042766346ec02e1eda87b8c246f +89a0eb22d1c6fdb17142af0c8c0b565ab6db819d2ae2bb3bad7c7778c53b2686 +72191116278357d8659bcc81753c2906eac08fc3fb966aa5ded522da2a5edf40 +9a3eeb5735617e77a7a77009cd38c2b62bcb89ab73052cce4526f4f02bbec777 +e6ca65c90ff5931dadf03da48afb8561fc2e71008fb1d1d4343512ada1b78e71 +0a10079f211faa5227eb0b30588e9e03fad6d901dca2b6bac956eb8cd2ccfad8 +80e8cb37e31fa6a8206f6a9a2a9e1cfff1205345019a0feaecde57fb0fa418c6 +f4cb83025e7180e50394f52064d8ea0383b80482e48ac91c24d10c7ddabe98b2 +13eaacad917275e916fc0803796efc1f9597f8952547d27dee1fad9ac1fa6d10 +27127514e0f2dcdf9ca30393cefc7cda027c85e53d10ce53796529fb13b079c2 +0c7402109235a0c25965b3b7d741e90e500ec2476c5dd11dfae57d6f57b218c4 +b9cce956161aff0a55a52eb58a59d7a62d90b110f9a0dd26b8c902122271a38b +7923957a15d11cf1427ce56323c7e4428d2ee1ec6b1c465be35668b0a7ac8eb8 +af1f080a993c3c74871e4b7bdb2602d07587aed96ddb05374c2aadaa24486f9a +831ba1179b2ea3602d071411f1756b58168f9ffb572d787b2ffe01bc07c04d48 +f893271ee576454a86a0c216b224e0de81d66ace456d352a5b2537eb96be26e0 +342e4165d30208448c9314ec962ac31ee36f887d0cf61a575444b31180850172 +10ce125407e77e5c63c947fa320845efd26c85ae8813a99e518d679137ae1dfa +9e9f19c49b461da073dc1be4a9d32f6ad62d05afdcdce4e33091132d471edcae +38607b7f5a17e7340b4e1a110bf7ed2bbbb9ad9b8ab909430f29f87b1db0a04f +a4a80796d144bc1875a846990df6fb3f14a1457be695a3cf1a5c16878d44be38 +107e327ec4096cd66caa90efb30bf9837ad04d995c4f9165b1ef14d394b71ff1 +281b0d67d4d3cd375c79603efa6e0830183be17f77e7d5423dbe0776fa1387d7 +df0dccfbda67f6ada4d87dc8c6325f0460690be677aa6db7e0250b5196b420d0 +cc8d66fec329d81a7584a5d001c2c3e42350eb22313f036b5ae64868fc6aeed9 +af95ec8f2aeefe4a95e69cc77f321fb7e7aeaa45b2f56d92d0956bf321ad859b +d2e2bbe984b17fe9303f13428a68d6a1959288ffb63d800c11ffb6226920324f +6517eb5373f2b8f058be35adbc7ff15a2b0a81683aea4ff11071451a49efd1cc +f15664182fc26672cf89416da86a3b8cfb45510e1ebbe11060963434bcb7581c +4816bbd63c6d79dbdca7dcf26a4217bff8060ad7955402af67fe4743997a028c +c33d49847b57712e0e23a1c5b72da33198426130a132be52890df4423fe21d4d +2625e646ce72588478bf941f1f74e875812f7d7ac9c54d0ddcd12178abf50bcf +f5131713cf9c42d0faf6cde696534896406a8a5234a8ac19bfd531ca934c35e1 +576099082701fce199811dd294cc46ca147d5a187c3737d3d128ee8d437a2afb +114183da45b49ddc768c31e35c395c3bf67a79f8b1ac292f38ab2ef721453256 +523e9dc08e80bedabece9bc9af135276c819140d7a0e966156dea6e2f7aae463 +c634c4de83feff86407b556651a455077d64b52c5ff4b80250d312dbdf83dc0e +b9ebd541aa9fbfddef1f775be0c411788b054aad44c85d8723ca7d2a6b00cca2 +4ac55e90ec48e4acc15be17b9544bb71ad967c4b8437470e4d020fc6e8677251 +92e2307b51148b2cf46fc1b7f2b149ebc1ebb02c33477b4c56e56a9f06566377 +d2de31c00d90ff5ddb509f8ed457e915c6fee8103da73b5d782bffad7f7c029e +12e1930e95fd7b7bb37c48b7cc48d99dc9aa79388c90bf6c7c0b83c7f7fc0935 +8fd5f673dcc906c7e0fa7711abe8258828289ef48a40723e39b7ec79f2d3822c +6f45a6ae0745413ce860467d7cc0aef52c680b8cf1767915d3550d9813b5bde7 +1c21b0f7b7119bb0e1eae6a7874ff0588adf14626d101b4e117c63f2e7a60627 +dc40cb9ab16032434469f390804b9039e21f1afc9380f26571e3b2c64a86c851 +74fc32a61b787769985079d60cf71131977accec6954da9032b1333396fd5450 +00e364e7e6a79bdbc9f1e842e222ca480f1f22089a38079692312519392296ef +08f00707ec53e1cf114795631e3b14687b9e351f1b7bd44d6f7d41ac91e8404d +8ae952c3c78e4a6bc9ad64ac1baeb952053c409cfad43a877a7c420006ce3e9e +0278a33cebd6d9d9737432c982165ed82c45d26f55c133162a41be27005cd6fd +e60cc41bc098314a5a1619dedc6bd9acc637f398219f9a3c543f8421ad4c4e58 +9265d23edb6cb45f2273a908ca416ad8c32c2992d9efa95d86e631ac8fad778f +ef9936c2dff4053cfb253c24c65bd20fd534d6509c0c141a358d4ad95bd9b5af +8abb5cacb94788cbf6c43bb54d52751d05a1a2e6848c33ab9b769ca9bccd8e3b +ee742c0d93ecba4c5c31c1d32a567d4213522f2a5687b014351cc01a42c14208 +69ef5852aa703ba076abcd4c6653fe6c4100bfbe047e34d4d6e9c62a6e5532e3 +f9ac9e7cac24e076546134c226f38ad0f51f8f2dd8501a001b5c0da65d9286eb +3560b947ee38fa27a502e87f8c99ffcd54b1d128096360be6c5b6f3e536c57e9 +1acffa0392e87026f5acadd1d81295d54155ac6154e247d95bad5d9ace11215a +e0ca996979f6dd8e94e7567ea17b8827ea4d5d5c9a8484ca568332bac134f993 +91505c7fbd8ba336f9c37d6dedd17261483c232995658b078fe8f1a312cf74ca +de87453964bc73a936a0ea09f74e9b0822b8336cc888f0f1f399061c342c8b18 +1d93b17a0afe2a2a69acf2f91ecbc8441db2aa35091968a0408b2abbfa35e4cc +77208f81b76a199312d8b3c3426e49e08f8359e6ceb694550f4b8fb113f2b977 +937eb20585083e72e0abd60e60ca4ac0f216b65b7a9bcbe1005c5b8bbddb702d +ca9da36f1fd416315266905f3ca5ed221be1ec496c5b16070bbe38ea094ae5ef +be93eb0eacb95603d7c36ba04f606a11ad22580b1ee5498ffae48f218108b774 +d71bde64b7de26f696d95abd3c13853aa368cd2582f2b03be9b7ac59e9bf0207 +df0ad55054c594811c5e89277d3804d058e1fa5419b15d11605066742d284108 +7411f111e7375c6710060d26e0b60f6aa8387f348cf2bcc5762c16ef320e24c1 +755f88376f5f2ec00b4121861518c97145a7105bd0d571454c177da407fbfbc3 +4a93ee4852b09cb436f682f9f84da4d61ecf72f8f801a548a9304f19163d6bb8 +12f5de6e1f2b4ccc494015627416d54877ee71221b95fe357bf67271242a8f17 +a4eb4be3b7a649c234524b2554a8fd24210b7acefdecb2198265167b8bb28593 +07ed7a654e9a6e2119e6dd14fb33faa084c71e930b8035952b87fe8b4a297dc0 +e4a89d17214cf1063caac03d4bdd5b4fd62bfa6897811c3494ec3018c558282c +2efa94538edde156727152eea21c6e3f88f68a0176aaee333b79e6b37344bfe2 +77292544c72d4023a3728c2e39d2841c2450465852d02503fe0a871700b470c1 +a73d8c1db644db39e9c1ce3ccbf2149625e915599ecc3091e15e0a74768ed5b1 +8271fc242e10bd83e73b4636cf874ca6e6d756e707e671d99fc43d61ce6bf80c +3a3be178d9f5d3cb32ca669cf99b70b10dad7d270d0cd85a9865d60df07fdd94 +cd +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F440_0 /ZWXELK+NimbusMonL-Bold 1 1 +[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright + /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash + /zero/one/two/three/four/five/six/seven + /eight/nine/colon/semicolon/less/equal/greater/question + /at/A/B/C/D/E/F/G + /H/I/J/K/L/M/N/O + /P/Q/R/S/T/U/V/W + /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore + /quoteleft/a/b/c/d/e/f/g + /h/i/j/k/l/m/n/o + /p/q/r/s/t/u/v/w + /x/y/z/braceleft/bar/braceright/asciitilde/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section + /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl + /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet + /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown + /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent + /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron + /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef + /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef + /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef + /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font FRBTTO+CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /FRBTTO+CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /arrowleft put +readonly def +currentdict end +currentfile eexec +d9d66f633b846ab284bcf8b0411b772de5cd06dfe1be899059c588357426d7a0 +7b684c079a47d271426064ad18cb9750d8a986d1d67c1b2aeef8ce785cc19c81 +de96489f740045c5e342f02da1c9f9f3c167651e646f1a67cf379789e311ef91 +511d0f605b045b279357d6fc8537c233e7aee6a4fdbe73e75a39eb206d20a6f6 +1021961b748d419ebeeb028b592124e174ca595c108e12725b9875544955cffd +028b698ef742bc8c19f979e35b8e99caddddc89cc6c59733f2a24bc3af36ad86 +1319147a4a219ecb92c71915919c4ab77300264235f643a995902219a56d8626 +de036037defbd3a2c6bb91c73375b5674e43810b4f7eccb675b36f35d63d9ec2 +def21c5fe49b54f92f0d18b89289682cb097244225af6400f6ca98efaf336c9f +c304161e2006b3bedbff4dd36fa7a8f7594c02dab68c077e83335ee6d018f860 +8d9a9131325d953d6c38c7e0a34236506c1e70cb6657dafc3c9520131a251350 +49034e216ae175cb232c2ef5a3c569ab581f936ef4e8b8c8bccac287f06f24ee +1d15d2819058bd9aebc4ea91b74935f6d411562a453674b14bd76fbf5f298f9e +8fd37f529f9e0450bbbe473b5a4039d8d0228f56330fa15411d7544ce700984e +09593a854180d3100e136beea91daedaac36cca03d82b83d953880307edbd0f0 +014451ec8f10b1e30b51c2f9055e906272f02f32085e4b9fbe5a6860a74e274a +74349069b6eb90fce84259d281f037d6de9f42fe557f5f13a87e5c9f668dfb8e +f5e7f4b5ef9f5841b3885a6c8994bfd27fe35fa3cc1dbd5ac68e1c98c0d0ecc3 +bd2795e77848b5faf604f01362ca473ac72284a56cabb68f35ba43ddc6158955 +5bc6614cbcf4b80872c2cc66b6f4f90c315bf73b34e481705ee8b54eef70fbaa +71424420120f27d8853933e3ad4d8026397b040c88567f440df538120d61d0b5 +8232d66e2e006866b60ae46c3f4bda16a2eb5b248bb88a11b3fa4770f0f6c31c +dd13bab11c2f4ac77a63f703a5824638fb765033dce02f584f36c879416fbfb1 +ee7eebe75d57711b44824db906885934dfa7f386b811a2598fd5cca2585045f0 +4cfd32e35f32b90badb9a96f48957b0a311778d21914c9ea27bfbc75197cbb6f +0df8f6fa574e1f1d529a4594f2a6ed99b98fd302f4fb2694e3986c1f46ff165c +7f4c1102526831ae1e469e62f1a6adcf7d2b876c0d43f85d20a6a5dbc2280884 +1c7666d56f832b66cf189c4debed1fb37df76c3f1c632ade8822eead5e7f52ac +e65daa6d86e410d469a7844baa4fc9d28e21490b8cb2d3b2fbe718f55211fe5f +74d3573b99bfccf198c775402823aa742acca713d30b55a09c7b7ce3f5f5517d +6133e546a86c0395bef3387804ac1b07a4d27492485741a8c2ade23bb321da56 +ded0fe0d43baca1483566fb397db76ba9eec923fc2b3941f3b949cb13dcbdc3e +2c84c6e3a7abbe5c22abf9b6959a17d152ed0576524395d8a5049c5144680a19 +0ed3405f2c9ec716cb9c0fbd6b12168d62666ce74149f8505e02aab39977d99a +13a66449c9487a6b2863f7338378fb901e8ac981ec53ca555049b3667b4bcea9 +cd731a850ceecd59afbca1ed2fec76c18fcf5ba1b9fbd81eb84c254fa140eb99 +48838693123cde50278e4aa3cbdb7f7691d52cc624b4226855a74d3ff4b3eb3f +e193702ad68437760ed7173ddb5031737de3470f9340a44e92355ef033958954 +e5b33866ba86201a7951a68783b94f2984b40dac3037d3e6d2250e850984470c +a4fa92527aa313f3f366e97b87d05e114468dcf43ce4a27b9999e24295cbead6 +7dfac0c6d99e7332662743f379dee2b05fc7aed3ae405d631e3893b16e1a3771 +278319e6014b88fc346b4f3d17edfeab40d6552092a8dc6c2cdd506f458bde17 +e66b02d4992a0e370871035bda2106ecf7fab7ced8e8d35c6fbb825ed724b726 +8ce5f3f25d11386c958fe4b773b9268484c12f90e2e25e299a2154e5c480610d +f302e1aceed9d0b3e11681bd5322a13b8fe895fc755e0053890a4135f2993642 +3d11dba2766edb9954e308ad998fb1cfbc2285d1f7a9135d2f06cd2d7f7d7b88 +d1c6c9409fd3962b8b1c9a690e01fda96361ce706ec9dbe3b4d3e0d57baa0d4e +a98200ef682573f9aae9f09e2000b9d7e14ea41682e4e5ac56dae4cec783bf61 +a99a5df4e83fd52c0c02edf26274a16c939868103691ff4f8876c25fa70652e9 +ccb3399053205e0350ed215170f709c1901bf7b97236f7bcc13ba5b35a96e8bf +c6e476d81e396b0c79118e16b5489279703b1a44c9d7e320936a19ed319cd03a +f052845dacdd9b627a47433f2225827c65dda57721e8b196cd368dcba55250e8 +24e6b7b93affbdd429c9bd8e4523d8e8a56427acc3e5bf1b2db9b60cc832002f +1bc52025f18e7d87d9bf1b8cd8dc170c6dcb85af5afc1ac4a24c0e38cfc0f4d9 +8d63cbf3b5cf6f14d902ac8a9b4c48a5d4ba4bdcf4f3b69e2998f507719e2bd7 +db63597995c5cdbba59f9b010a135f4dcc8cfd602d40b30730125606fd1b27f4 +9ccfb1d0f6a97453a8c9a40f643fddb1581504132883598385c4f76b4e57b559 +c0ed46d83ce8427db396e96bb3dbc307df52ed28dad5cf5e32d82510300241fc +fdec6d84bb008cce0fe96c7c6d836fd3c8eca9341951e5ba15ad84a1799d137c +938fda761f12ef2b7e90a49f1ec49445b5638ed4b2d903924dc6ebd72fadf61d +16eb74d88503fc48659a86d95043b4e9764eeee72247367d0ca6ec0dee079f9e +5db531a1411790c08c942b7ce7b028e4b956d5f1df8a47a8ac6c37824b661b57 +147ade729f5fed3dfb47227b27aa34cb86584d20a628bf18c395b186ef197a2f +dcb3b6d97ad24cc35a847cb98944011ec6342d0ff9e13045ed70b68a1a5a53fa +b8f341c7e187ac0888b3c8e119d8b841e494b9c1bd746cbeb1ce48fda15b0054 +817873ce4da21d8550892ab4a06565a98fa666a6be00776bda87181ef8483129 +3708a88f69228dd0c3ef8224301dd8fe81b4abc3563f69bf1212897af3e738c6 +c57cbfa53e64ff6a79549a8d81c3b5566dc7e697e11971a7cc6743ca1991f391 +efd8c0ba9a01397a05bbe5548843de7f2fc4747eba91c5988605a76f1d2aed97 +398cc672cfd5498ba16f6aaf55ed4bf613786aa1ba2e092c06cdf82b6231b0d6 +b2f10cc3499b6c444cef515a033381f7b6502d6e6ff4bcf2bd273cd059bddf06 +652dec312ff80e8c9f37818c2a453523976487f1a46f8e967b5d43aa3e24fe03 +46097a6721d0882aa36fba00d3056a8ad42d4efb81edcda5cdad6ff2388fc54b +775167dd8d709c2a315e130e822ed68a889dcec2ebb10c4c56897ef4c8fffcf8 +6d0d146c61ce0d5d2514ec2e22a66090bba95fae51b7691c7f1ae470c0f6c58e +1eca070773920235792e58838f031cd2cdae29f1e61ca254a1ed00a6f664314b +9fa26bababcc8a6add7faba2081b6e307a17aa47ae1de11f7189b78feb61a957 +51e9257a84d3184ab2b9d858a41aa2c23374497930c4bea32e04d32389c55b93 +23a41d83442345d482927070af462aaba8f5b1de9876ef724fd364ce6e376e0b +a411d2036639832aaf1bec583af5bee73ec7bc9a3a2acdde4c1d6602cd8d15c3 +39922661926a3b2b1d7b15bb30870929d0da419267c3b04b2aea81584bc202db +56b6277ad95af3cc411dda29096eeef6cf0bb3d554bc9411c39990db4ccedf0e +4aebeff2e95e4469a8fd5ba6f03a733c9ddcb832c221f114de5587fa7c9b0096 +2306f9355684eb66d1558aea7150817df7fcd27c3dff8c9abbbe47c2354f7c50 +c306e8739a39f1a71e8e7de4e5932a0a1d2b677041802cb02cc13d7c6aab3235 +1143c982379bf5d50c92ef96afb597d81c107f2ee92f46a81b1bc9b9cb30a296 +74529ce1ba8a022e221c77650c681a19bf0e5080a065e4d66d70f2ee4a876fb4 +40b0b1e29681ff5ff0ea41d27f33a7e25115e9bf421e56f47e24f03945a2ba16 +906a3d0a8b5d3f20abe89d7b7705af5f0f3533f7a546ee67d3bfb3349d4299e8 +e49bec41a8ab12e1bd71b2cff0cb0f1fdfc0ded134b5078a1e87a490d0ee31ae +506618d409acf32cd653c59f36f4e3bc051ca072a4a75b91ddc17660e00cbcb5 +b1fb8d17f4bf7f78f74724ff9f1b84a5eacf2e7da1b9ce0bcc94b7a817dccfbe +46cd999463b0b19a91823d18adc1662117011f2acbbdaa2e062fe77706c48952 +38ba2840d9d98b9a7a0d63b8bd40c34e26496d979edda33e5821c86d9565f1ca +40ce6c160e57ff22d2564348e8f89d38d46b17d591053c79f89c4e750d619407 +eaa5a8bdc52ea6c6ef02744eb4a5c4886c32b210b86b41495d8729174df80f7f +b653a2e6ff5996d96eb51a828d0606998fd526a82a5e8e1dc79127fc6340000f +e218fc26b7c97c3cdfcec5a497f7be1ed11aedb012ffead9aa2b94630ead80b6 +3ca17e79276dec733c9955e9813970215fbe02a751bcdaf5e427a64e9b47b4ef +e105983e0e02c5a8cdc06a5db4126ef333583e4aa17a3fd944ed803d4ef88501 +bd626e0d1d8d7b71176259283e22d9382ae88bbec9cd6ba87933f86fe28af800 +dc2080f38948e3c20d8f4477e2b9f85da4800cbd1b9015eb64a07b459215caa5 +c38b7781d919e199112e241556e1e7681a749cf67a6b246b6b245d34ebaf1504 +f06366b8a1faaf10bb4304579640f2cbf3fb339df697701f6c51afa09351e699 +890462e1a8152f70f301b5f3a01c549371be46d138045ffed5411192bf6eeb13 +51d407ffa26d4b8e7b267a3b3cd5bf9e06816df2e35b6937cccf16b4eb9ca3f1 +272a16fd71588054016ef2743c1bd58c6bf22f083fa9326d19299ecbcf66f4b9 +afed95e1e2a2f8792328e3af6025da7baa1b10a721bc511e9c2f302673df78b9 +f466e742ab2bacd5728bef45dfef5b74d1da674f4b1c8d51a324fa24b23d141a +e082d79c3fea6440336329105d33aa1a960eead51cd500252a4d7d481cc31a99 +e9a59e3b4364a3e19805c97270bd19b031146afd9f46111a10bf886385731d74 +95ed4727f7e2435c96ba702904ad29f606fe9c5f1f9a11a229b1d528b9fa9ba5 +b50b4d4dba0ab5b3840d71c67626b6afcaf743dfe5334e00b64c5a73b3775450 +757b911673bcbacfb0f8509e8b2b2d9dada9a1558b97b146f555f85022bb4bce +86862babbcd259be6537133f30ab2895f60869641b1b9a4cb43b676b0739c112 +2859492d908c6c60aef5ee3b60d515e7e641d008483ab4aea0e159481d623193 +b5e2bb48c77bb87783c7525e59d19a190e2c0aa02446a8d4964844d9f2561a3f +70f20779d197b91450de25463dbb82c2c7c6428706f6d9f6a1474bd85068b37e +4eb45bb80449ca5fea88804308f054167aded26609e7093cd396948cfc810160 +347c6d834531d64a27bcfde1dd24607d5209060f8207da7f5ca88011e24e326b +66a261f36f754a37339d7f10eab4f276e1eabff47f4bdb577b9c4dd3de333fd7 +8f8da94df25df93a57193b1411761f908510980558e23b0584421f920989a758 +138f2e50e1493b3f9f2154a488202e0bb77316ec03f6555de4ae83923dd1588a +fe0bfd9235b4c08a8072804d743e793daf862ae381624303be7e5e0dbd74c51b +4172b1a16c27b6f8c5a695fcf3015cf4f7d89fc91c4c8102eb83a15093263774 +740f02f675477a3b4b6734daf3d18d1e3bb7752922e9b33bfadc539596c276bd +cbf0fcf5437eb33fbf4a83bb2f92462236552eb0303ee70602f42bdc4b51d384 +301922cad3abd13deb81f173e9deed83786f4a5de1d7aa21cc77fc364fdd2e7d +8b9e8074ebcb7f3511f0a256e2cba9b32bac11a5b7acadc0fc1d378ab3557382 +9aaed6a9c679e7e5cac49307549f8c4335fc477267e25506c41035cc248f8797 +8c267cb08fb5bf8a087e95dd47aae4d8389e97ea0da1af064d76e5df286a1774 +a783e3df200df1cfa26ef1ed9b5dce5dc55102cc5718854fd8911a886d0e2e8c +a38eadf009525bbe17d0986f4e3c6a23e608fe2782e7c4bc31ad13d80ec03b7d +1f0ff0855c4d7f9d63d6283ad8658fb13ff68586e3135a99341e4b88678704a9 +c5e8a4c2a9e70f13408c9c54ac9420d52761f62225c64b7c60514b7de0a2c8e3 +f27544869c93890e7df32680fdc438392efdd6a7bbe7621a7642632b7f45bf2b +3f0cc935a688266c39f458b9503ed06e67f4094946e73a3fc27494d890065355 +4fce63c60e6a32436d5ba5e0ab4f373e816b57fa6ba5a2a9bd02cb58af2783b2 +ee1da6169c0f15c23c55a7b2d74edb384c6f646adb73d70e3310873e0c99231b +1af196d1742758956415392b4537b1f04ee4060899648c387bc55df28c6db99d +2f87190bc6f1109ebbd78e15a5641a76198b590286065996f6fe1f776f7013f4 +e999219945c4509d37463f6f18cfc46a500f39e2f2ad229bc16793428a9d8cce +c5d950ee8ef43b425e518f4fa99333f9bf2a420b33b383756ebb0324b7df49c6 +0eeaff9f5f4f0665fe60d40a1f9824c0df60827d2d3915512fc4a5e54db36580 +9e3fd8c1c7c9ead2b0b5011e10ec68e4035d8aa662f0bf09fde9bbeaab5fea32 +3cd1f8cd96c62b0410ec741cc2aab05bcf9cb188194aa1fea94f40a4254d9149 +82dee90d74a6b5d876068386d55c1ab92f62e3d1c3f24d564615ca3035ffce2b +6b49e53257393e66967da9b72010d0f8c4b6f4337487b6abffbaa16aaa86a6c3 +7c22a7b4e6f4ee90d60a9fc7c95b15d34c8a689f028e591215b329d86f35376b +15dffe9323257f0748925c002cac78ce7cf473af7378eda5489e3c464b11e3e4 +87d805cded68a70bb95a36d01885006d2cded168532d575a128f0e03ce4a1827 +b7b0f7ca3da8e4dc774ee59db3616caa3a8924f84f35df50e48477c35fd08945 +308a214bde3389d0cb225ee5d1f96771fe3930b16645c6283b70223dfeca6663 +d72e9b6b4773edd543cbeb81e38a094ff9f1eb6012ca08a77092987bb8dfa849 +361743964bfd43032f77b09d6d1407abdcca53d424ae51fb1ed1434cf4a2f391 +b81678987709e0bea61d8546b8de9b05260d7e2284e445933ecd867cb63b6004 +0fc50c76fb25f81fdaaf545bed63d6065def8265028a224797551a6a8ddfab06 +84798af0747678d53a7564519116755a795f14b254642293aaa3622be7c14f86 +5dd86caf78e0273677f2e33658b24310bf444b1e4f0719c187669b286740775d +66a65699cbc25bea7f7eeb8c3146f9e91e5e0f413376ac09c7e24f9b76d2af1c +b63201760c0a7afae554b8defacb30d9dd146223f69b015b9b7a79cf92d52404 +6531acdb6bd53597645241ec6028c585407b903d0579573ebff088e43efa91af +e77940e6c5ffb955e1fa083b949cb13dc3483bc7637b96f03c79426237a96c21 +26788fbaf00540a987d4ef95082d64a104dbbd75e4ea5c00c2cd02e622987ff7 +2775eeca7c15213edb33fb30b48d17c3bca35ed5ae941829d5992d7bb74f8fb9 +b04fd6fa321052a8c2b40f78c8e8eb081f8851c508f4774267d091e2bcfd53fd +bb9e9b22d7aa6c9b62f0f67a3bb9b1984979d55c45d705c1cbea897072a86b4d +0cb7400640c26526c0a03395986cc3ca897453f7e6c4251d81ed29e82f7052c7 +f8ded9c0aa221832b5750a9845659235f82bc4d9b073a75af2271a0814b1b9a7 +f598e0e7628851b21af4f0b0536c129f6ac5f62090191a7a0776190010de80e2 +7e252e134b7a5c4e14a18a84e7fce3f71645ea072ce3655632d2113d4d176f13 +29142d814a63c756e0a43ad21a55d932d1b83ec93188d7c893220fbf5157baa0 +834ffdf5d191342a4f7afbba2e63b8f36a6394ab5926fcdfdcd8d8cf138fecea +3deb371294591899b4f6f8c8f0ea2c41356eca49df468a952f9c3ffccc8a99e1 +0d5d61732eb44e2ae7b254bab320d13990ffcdb63f3d541ed21ae022e86ddf20 +1eac6701a072aaf27664dd4e7874c4e428682c44de9d9b14c25fa8c2e8760acd +79f11c13e198602be9d9573f6f04643b80abae1cb6269e00c8ab419d49c3606b +11b1f8f46e7977789b19ee83c5bc35bfc48da6d32dd4d16c1303b0799dfe98fa +0cf8531205195af9e992dac76c6cb79ef51865e6b012f29df6d3333daae56b36 +8ede2fc26a580344fdedcdf9c61366f5887fb1e7300f7898e38de35b4dac436d +c4f79f7b365cdf9b6a32d842b6f8494b7b6c91c122af116dd8a3c3c1a35a21a9 +509f5c0c8479c5e57b2c0e175fbb4a85d3b52c927a20fd0cfdf3e2273ec8726b +58c23b0d4f56d69ec2c59d8ce896ea7dd86cea423c2f7250170a09991fdba4f2 +40a6df094cd170ee83bab69d4b8706441730cf417284c8206c646b5105d592da +9274bc54d07e141fcdcd130e51bacc353ea2e99dfae63ecfb9138e0aaa07178e +de98a4f4d365375190585c8579e73929b840667afbc659f5ba4b9f25fe55c75a +2a42fe330a4b90f3a088202806baa50fa1e99fb32973f23819fba8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F548_0 /FRBTTO+CMSY10 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /arrowleft/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font AMYDOG+NimbusRomNo9L-ReguItal +%!PS-AdobeFont-1.0: NimbusRomNo9L-ReguItal 1.05 +%%CreationDate: Wed Dec 22 1999 +% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +% (URW)++,Copyright 1999 by (URW)++ Design & Development +% See the file COPYING (GNU General Public License) for license conditions. +% As a special exception, permission is granted to include this font +% program in a Postscript or PDF file that consists of a document that +% contains text to be displayed or printed using this font, regardless +% of the conditions or license applying to the document itself. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.05) readonly def +/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def +/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def +/FullName (Nimbus Roman No9 L Regular Italic) readonly def +/FamilyName (Nimbus Roman No9 L) readonly def +/Weight (Regular) readonly def +/ItalicAngle -15.5 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /AMYDOG+NimbusRomNo9L-ReguItal def +/PaintType 0 def +/WMode 0 def +/FontBBox {-169 -270 1010 924} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding StandardEncoding def +currentdict end +currentfile eexec +d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae +6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27 +bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf +045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670 +0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4 +1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa7637750b770d7b13 +99fd7523816e22986f43b17ad2f9328028bba7f383ce5c429773b3d968b4307a +efc6f468433d2320871c85fc9a377c8146b0238e6386f2f010e4c23bf50f301c +95de2b4a559abd765880f5b3d8960d7c462f28339aec4978f261a05761583468 +b73b46da2852db1d9b0b53f6427551b6e87f1a1492a19dd774ccc6a1d0bf8d1f +afb24bc1b3a56e452791e8fb9206a2c9df1677e848a67c4dc754cd0833116c84 +25127a919ffae922f6ec724252ae53662f3eeab1dba230a6ab6ad98cf27afcb2 +6837487ece5214be13a113d27d5ec449ac017cc7f12ff7b731b6aea24462f3bf +e743debd18a99eda36d085ad3602ee939e3c2a40fb9551f4e5e904578e8df0ae +a6e10910d5205c917b45b0d0f44caa993ea6fc2e17ea43b83e62abb31717b3cf +d783d25486084caa1c642a4d9719906889510d7e60c8ba0b48b9d40222d36a01 +1aa4c8148ba57f165bb7181534df0a597bcd1df98fd644fd3e3a09a21bb018bf +637e620e494eeb843c575bdc71016214e19d0d3d030b8a9eaea88822ee97d8ba +ffbd2f522d3ac2f34927961e189b0c163c365ebb410088e95a5bd200e62bd5b5 +e846bdf4c127018a54a78bce6dc744c4c1aec0087df470d72e461c8079f1e8a5 +12794d770d391a02d428fccaaa4fc4ce3eefcf12b553d8fc59588b922565aba2 +c179b29dcecea5254dd73f388bb94a7ea4f16c0ea0278deaa11f2be56dadb4b0 +43bf781fb5151a4d2491bfa2d439082e8cf7a05cbc84393aa92f1d09af1e69f1 +692065dfb293c7d7bb552469bead4b1479ad1b75e552af4c162d37027dda9863 +5e1ff0b4c3ba9cdb41e9c292e901446d40a10906ca0c3f649f7968b4ffd2c653 +650bb2320e55fa19938e4c3775f286a05a1011cff4e4c7f353bfdd88ce318584 +799cd9350da919e462621dc3556b48bf53edce91940eab01870741f0fbbebd2b +c6a26e593fd78e7ab5d05af43231c262477a5309acf964c0fbc114419c98df24 +279612da5ae02b2db3eb07c329891aeab0da742593183a92a619912d6e53b33e +f9489dfb011045b4f20c79a7038e473f435dcc8dfed5b9071acab5a322d4e4b9 +f225eef68b8281688882693085432c16d81dbadaa3df3c2ed508a5547c4b8b18 +2cbe2aab5bfd98acf80d5927a07da8a3aa987a899e28e69a49aca9aa960b45b0 +53079246f09b1f8be89a5912784ef566497df949ac722c37b8b4c641f602217d +e1c7fcd757c04c263aa2a4a08d7e08055e5b922d850c2a898cf32baf2418e0a1 +fa6e54e2459ef6283fbcdd406b9079950669763106c9d8b16d0aac8815fe894b +e1c7af9702ca13b36325fdd90110f1b8a03ce3e7aff614a0a2b1b15a1041800b +b72ceea17cf4a939410c53d5bac0b89eeeb9e2f9cfc6bcdfd9a438c109784adf +9d2843fc809a040b9287f0c71d93f7c2b3273d39c5ed535a8e130b46d3c97f4d +e0bf14ef07eec07f1c747a6b5d294cf4d47ac12f1d9282d2de0f808a4c609e4a +0e2a68646e9583b6b9a75c95840bab3fe259ad8846a82af91f44923f25bac677 +3c8ad0a810731fafb0a95a5445b5800d0be0378909aec60f544c3e7438760b6b +feb2b9b16652caab36f65ac444ce9358670e060a90cc422043b8ea8f0b065446 +0b4ed94690003cc77027d8a3c0a06a48bccdf5d6d6770402b4f44ed2673b1329 +06d4f88bf12a3445794fc9db3f1bb4afb8d380def7dc1dc78624c748192fa321 +c96b32dc26b30e54dffe770165d1759d82a5542cfc4a772d8c2cadcd2e2fb1ca +1517ac15deb0bccf94ce83436e989adba2903489abb6b2eb9f977f3f4d690b31 +e8f6e27faa56bde2c4fd331ceb502ad286857dd67d898f8b86e13a98044f77c9 +ef13c7b14a754fd0e07c68a90940f3fe3594afe83c605102c08ccb046b807975 +e69c165c9b833f41da40d17653b80730495803061fe194ca599d53a3367ba3c2 +8db6183ae68f6564178dc0372c58a103da58de056b7b0f8795cccb1cbd4239ee +a2b6af7eeec2f7da99f12110e07d663dfbdc0645dbf9e051f91924855405f022 +13933f1c51af2ca7a39ae3204ed31d68b15f2b74914bf86548d87316170a909e +e9638b25282a209e9d8bbea3ecfa3ed46c2dba5cb3b38d8fadd66baf9417f5cb +6b3a9186e34d1710c011e3a16fe8f9dbc207edeaa72c2f7d4b7b7112bfdd1b0a +1330a7f88ee867f55c828a9154dda3c57b6e596b830b33ff636e46d8d00fb39e +cc497f82e037ae6f7975a36876d66694e3dfccdd4a5f9ee70883fde704969531 +9cf38a1bbe0c7fbea056326e41636e17d93850a1df92ee50089f30f3c4ade4d3 +07305271d998208c7ac0f998b96ab3e3e182e29b819fd861e52b04e00f9b6be0 +8f5766fa4f3557d0ccc9edf31bf84531d664fc186ae2e7f9c81fe8c4f9f1f2ae +3b9560c9df5fe69d969a0d6c120a6621bd68991fd5593f3197223c9f09613eb7 +1ae0c78d9ffad6be1e36df5885f657994ffb6eefb5e0949674c34768f001827f +12f1ba77ae821657e3e96f17de324f9355152cd28c7bc3bb93b0bd0d40d17d35 +2b303f2518e05cfdc4dfa697683ecbd6a949a2eab9cce57b8b14c53ba2265a49 +5c28d22dab35e36b5b02d2fc02738aa6fa7c4cc66c88f5bf25b2be88a4987cfd +39ca40be4ebe0174ba827e7dba9579fe52b869142fe488f9ea5cff30111d6400 +ac3cdd3e1476468fb113f2b977937e70b7214069a06007d987d0f3ade59460c4 +35361b9ee2378b0b2365178ce4fdaff19dc8e52a4eba7cea25387a2e330bea1f +dac191c9e385c837ee253220a279f05876328864c9c2248258814f7a16030c60 +5a0da56b130757b262ba58ab68340b32d30ba67ae01efd748994a6510bdfb15b +50c31f5dedaa1866ee9123cfc235591e6516e8210dc0157687a8f081c3aae846 +7481d16e8af6d8caa9c8596c801dd5948cf7361cafb8e01268eaf0cb40ae29d0 +de3bb879970e06fea94930ffce9d4a15ff822de7486a4023fb6bcf27d496e0a5 +2c73d409ed6aea6923de8e6ddcd7615d76b5af4f2be2cee210bb781fd622574e +042b2fa03ff6e45cbefae7dfb53447fc56da42938717098806352776208567e1 +f07e8372e0bd8a19332de3a09320e82dfb6ac58689a65ec1fb97808e3ecfc84c +1173378bbcabc629bb8d4f2642cfbe1bfa1a25137db295526810f349baa1e4fe +9bc755f32a1ed330171ada792e10540d41b177bffbd9b94c2c008ff74a20138b +eb2d0b23fcdc136e434d7fc5e7710559b91756ad1171ed3bae249960384eb4b8 +4ec4c71e91d872b1db3b7ee412aa9b4e66c8e5a03d5f1d98de47ab51dd77014c +2926ab5e994a095d9ee5fb336746bba506603279bfa91724f6cc868abb2ce5b2 +c145dae2b6128e6c913c8814a5a0b4134c30edc7f97908ddc6e7bb65cf8a58de +88ffab9273afe5819be1d31040559f763e95cfe230d48681d0b4103ebb92a3f8 +01177bde9bdd61e288e9c5dbd18163eac0a67899acfc1c386f8b261fabd320ab +89fe9be450e41549b3753c32e2cd3069e82101530513728dc24d8c2c25b06ae0 +91db97dcde55f701a63895445c0bcce07ccf4c82b318494f42c776d9482c8c19 +46fce4e987e770a4a7512b5276e36ec3072c6dc9812e56e11b34baaaf9bed596 +e52d1ac1768e8e0a8b20b94f320d56406f4ea3202920fe665809102ba71932b5 +51ad5c83f6f34b1e87272e8ac300761cb99c9104a20557c09df9cf7ac51625ab +05c5a60689321d8cef7eb8edd092b9feaba272a94e133aa84a9b7cded15c6824 +3f7ef11eee530323afe1153fbd6285b2302588252609824ed75c05416beae011 +98155779dec43c2e7fc92532951a1ce0dd6613afb3f9c73055f528f993a342c2 +3ea326391cb99feae1d61d95af36536b1c53d0a2c19709f7c85f07715f95a98a +cdb7722e297692fc187c000a9e64bdfb0c56852bf7ff946f932852d3931043f2 +60b7beabb6b6faf76bd8ff3f2a6fca03fb36ef04f59a9f67d26da5ddbc23bf20 +d82e99326a41155cfc7b4fedb80f69d361c31826743ec395b7aa83c10f9b5eed +80044f3c258d7e2052d2cfe08f6046189bd0022ad8e6e7890cd31848b2477ecd +095ba2ca9f4e9ad4bc8c7b2dae33d20d4cd01885c2f172052c1f8bcea593fff3 +4821540e79f626f4d7fa64c0bb4cc5485309e67071d0277a61369645ad3a4d8c +fbfb1722ef6011fa6b2095aa4e5b32746f64c16af093df2e9bc175409949d440 +795f6f2b72a69435be1621154ade8d4dfb1bfbb0e28da8f08c76cd0521ff176a +d2e7dd44916af6a1dfa3ecd6194189190b428cb56e2ef4a1bdc5d739ff1cbefc +39eac4b5934d3707bd30caf67adb3612b37056151b45e9eb73c3bde4b4350148 +23c3ea6ad5be04886842418ea1872bc169f92a890670fe0b8bdd86421400b49d +57e5ae8fdded5d706eebe573a5a172004e59b9c81fc990d2cf7036344c4335b1 +842a5c879354a84cc837d76b2babf981d4e60c857649054fc69fc59bf14aea72 +51210ac8babc95d58f4f3b497d5db3395a638fe339c5149f284b8dfd340c0b0c +1984d43b5951b7bdb82423182dce8af2baad5eb25e037c5d976b534a3459f742 +751b5ed1c5bbe4915a7b281d1b1c806c58bbf900d5ca092fe2119ce099e52872 +0e5c8231dd6d7ed8fa5d2c953bd8bdc13781119d2b31a94bf39948d4b3688e58 +8aeae48e2d66e17935058ed16528d28e50e37bbeb1d155450364517018b1b44d +bb0703befedb3681a2b609063302129628fcc24d88653589b431fb84e4ddb650 +c2f783594de613ebdad8a1324574cad1fd05a37844799928b4da778710e3a4cf +b85afd46ed46ccad840106074f69ae7c306abf4cead6c66f4fbc0fdeef002570 +25305004426efca887ed5b4f2ef6dcb912ff552089f383d270c1312811b510f4 +11622aab22c5add53e1979fa80a9ac5ab80b3255c901cda700904e4254725a18 +6925971163b35469c55ddf9d36d2e690c988678e2be17e2668807c0fee64d264 +5a8f26899ceae3abc5553bc58674333d43f27d0ead9297619e8169554512d7f2 +9984c12dd44285a3d8a75dd20ebdb5280b95471bcbe5473447fcf750c3b061ba +bf491a61adf487ccefc79cc514569978f12a7a3420ee046e1c28776c96c550e7 +fb0e2b46b3e57b2b8a6ae7d306fd0eaeb026beb5b13b8c980828f78905369fad +aa7ac9c3b91df9a4d1be00b3aea709995849ae4ece16c126b99c3d0fc0bdc084 +f8486d70022e0d5a8e50a27e9439e37d3bc175c3a3bb19914a4bded2feb81ec1 +fa7e274b027f4f4bfb331bf4fcb58fcdd1b999a775bd2a9002e846d7fe61c6d2 +e29fedf3121af6edcef90f23f54b128efad5fcc3e2236e1f9f59218994460d1a +f21eb9a2999501fc489873e9eafb986d9e9e780b4eddf332aa72697ec956f63a +4307133ed0fd2dfafe283677469b7b14b155b17a8da4a81cbce56da716149124 +bb3b20fa7a2b64b58d6eab90dbaff1d560e5e5492f17615b7308cf7670f09a04 +6115d454937c733ed45b1156c2e7d0ed43c093d6416b91533637d5d5f649bca5 +50a5ca5522b0f8362042caa30a4bc87a4a4339710e2de9b2c0c84baebedd073f +25cacf0e4c4bdba46f4c545e27d20536827ea4a4d5f5e19518fae6ba2d45b5e0 +b247f20752a795594d9ce548b5c0217ef480cc5a0be6794178fc7c017aa8a3bd +74686310f635ae6153d9e18a0514882d4ccfe9d7dae9f24b393985e8da776880 +1d9a6515ed7bfad3cabd1e13f2a9be17d42dda60f38dc5dd5412b03b938bed86 +0f9cc900eba7eb281e619edc39b5413af1e242ab56171d3a01203c76788d9024 +2f72c89b7adb10f5caf6851acd3a4369972f796d5a1a9816023f5a454dbf5bfa +5ea34c00df81a76fd79a0198e91ea01efbf7d89d78f9da5253250bb29770c4e8 +df955af85d48c33fbdff3845d6868920a3b09ceb0b7de798354e80d1f3ec05d6 +3ceeb37751ab5f9d5f7e682958235c0fb224551296108eeded2e000bf86193ad +5f290f698375727743a699633867f03f2d7801b18627f25628c0b65ace0e766e +ed22bae384ad0305bbba6a3cbb913641106259e2947e77caa437856febd8b604 +7621e8be93bf909cf3893cb2e0b4c75afabcac6ee9ebfa30dc6ba5e9bb572318 +ba844429bd3b5bec550ebf2b7a3776f11dcb71c930489a792bbad9f6a1679b6e +22a32048d0652fe2e3c1dfebce17cf97281087ed892b5d02d83a97dba1b3b221 +4f52eaa45592670902f979905281d7e92e9bbeebb909d5152f97aa49068d3b2e +8ce26b784b48936a3f8e569e5d96d8f3cf19335c7ca5f139815f26b62ef0be05 +2f436d3d7ad037451cef14021a15b0b10a07048ffd4cc4b4ca987cde5290318d +7100cdfb146fa044c694c79f3ff3ac98f1067bcdddc054cb3867af0b7e340e39 +81cc10ba0763901afa3f492590664fbddc6fe2ef568d6765579eaa5ff1501a1e +6b6b303c415557a70b4d60994b9841785a8791b51814f08ce8f0b048c690dc05 +fce223f392df0b93c030960e7a4717203c957f428fa52cf5d206eac92a7ec569 +b1353585ae6a14877eebbd8c402163bec563feab67ed764809e5205bc3f50fcb +557af616a430215a7f9915872478572a2335fa3817abd8ff113020f023c513b4 +202a3015e22d173b07d87e6d6eeeb3e0b0891c00831843c6a2613c15bfbcaf5a +8bad5d9e69a88eed3a1965e1876b223b74dedd8f16a2302c7f70ed7c8b5e60e2 +25c39cd88e4b559888007abc4f48955fe377c69b00be16bf9eec8248ebeb6808 +5a80b2f60ae03c29fa29b91f30efb4ca29bc51fb2bc09a7343d0b107ffd02a03 +b26ffb1c6b1d2b5adb3647d37bdb45420e8a115beadb142e3aeedbcc8d0ecd93 +8777fb9ee661d5db7088e3faf04e91f1865418e2723565fe2617d2d8e106a230 +a2dcb6a4502528d22457a4399cb7f9e4f788a03d6c8b5757cf59267fd86ac4f9 +21675f6da1a90156bbdfa77facf6df331491cd2cde707e509b8e5d03ba1b6781 +eacd2ac3eeabb5f5ac4d0d8f5b10676e7357557c23bd6412c625d7944302c969 +561c704f937fe5304e1704b20352a758d6237e52c4a356a08f9893743a5c20da +6a817899bb2edbadbf4234e1ece52b9b3f3e29095f0975259c931b67595f0ce0 +db8e4ccd5f6fdfdda07663d252bd05fd4ca58fa54a9fa6acceabd97f2313c59d +195cbc3bfb55f9050d5e3ec4e42f883635f18d17efb2a0ab333e09c2521705be +aa147b6717c816e57d38adfb2f4658249a3a345b337251b7537cd305c6424dbf +b204417f4c36086edaa8da348dc065aa5a7f68a0ad3e3676a7c240e76ddc8786 +96b56cd4e70c28c3009185ae13ad4e96c8522735074ad649cabf39201903e974 +12967a45b574790d727dc68222dff726fd162dbfee4964afbe6549abeead5264 +a033fb29e70f1d17fe58934bfdd5ee6defe6056ea4a0e39a39b7fc1a6da06713 +f952bc20c689bdddb94bd67997f60f31fa6239387089deee5b687455a5c06fa9 +fe941781f0d9835d8d020cc6286c2fb8ed5906eccffacadd71ee0b7c7b67d8c7 +aaa95f9cb24fd22bea989e0e0919a4ea35fac630a9090346da895bb5b6e1c1ba +ff90f1e16665998ab7612444979edefd96f1f701d13950e0ca2daa7787735fc8 +4b268e36cba6d7de0506dc5353f3d13ad666cba8f8c56e27e44b57873adee581 +fafd1f33a85b6169d4794b1d73940c134f11dfde03ccc5709f6d806cfffdb6fd +f9361520d0023ac6aa3c93b843d8cd8a652a665eb31d6b75d752e7679a9e1327 +d0adf92820acc78b0793b9f0307c776c201a408a883f99f9d2ade3960b1e62e2 +db5d6ca4115a028f87f77651c95bd71456ba087709827b05a80ff78746cd3c09 +72eec0baa7ebc8a05043e18e63517fb66e333973dfa6bc796af520e8efbae640 +a2f4b94f244d365b76fb3e229726dd7c61478dff4d616cdceaec1ad70d9cefd6 +0e9e6affa41f34b777da7174b3281acda204977bcedb3f5f9f0c5d77607237a6 +9d6780dd18cef875257fd719d237a35864498978239cc0933a9ad0fb8ac74f3d +869fab0c30e8001a2df0ada8f56de43c5e9a7dc78220720dae05f0fff948adf9 +0e8319eafa3fc8e936c9c040b1498e7eafc36f03bb4cd11a6fed37b7a8d05b1d +00b5f36799e9556526f5e5f2205dd641ee39a4bd6c8ec20a36473eadfe1a499e +88284d2fb544b7bdb637868345ae4b3dca6bc0754bad59df4558d2d608faf166 +68daeac6bfb73db431a3146628d371c2d158a1ba65c8d2d47ceec7addae77864 +042ef587a6d6c04dce664bf83492d164d2fc00c1313c220bfdd7a30dede201c5 +1e84d9573c79235a8d847d0a4c231fe009058f5848c775e343c61835c7c8e025 +44dbe77ccfff9e9c950ace49091771604234e586c1335904da22349a847ade3c +060aec69c2987eb1f3332d8b66e59be53edab3da137d59cc6efa0f579f8a1d03 +882c720c27834570c10bf892f79b30340ead8535881b11171b2040fb6637140b +e927369f803a4ff311d78d7e68f4b5f8628fdcfa2cc376442d78e6f47cb378eb +31f079902cd32d6aec688f02a7365b66797de1ea022afec2f3aae36fe01a3e5e +6cc49c79ca23dc10ed8071eea3a0f8924a0dcc610f842e4e30c1104f859ac970 +06c7490195599c65393be11269c8dd7247c96d632523256f59edeb144329b8da +b35303c922432e92394a95196dad464e35858f00e6a27320cf515b7b8af90d06 +82e89f09afb605862d14eab6a99218b3f66f11ea2f345629c402bd9aeb25e3e9 +8734a0ca4a814d824ee4ca5383c6eb8ff1458c767dd9b71530c5f01be2d2611c +f9644c28f3f52ac748749b54eb652f76630e3a62b63a3562a54144c306beddfd +557e154c7d4931bafe9a9136c3aae071b00e7204150cece0d45e10bd736b633c +8abf3817168828ba17b23c8ef8ee35119c43cd7fe068e1f016aadc734d4338d7 +8abd60567f307d6ec471f99b03cc7b5e8140dc07f726303c2185590f9f2224c1 +52bf01b038ae1e963098a309edf98ce5ba1ab235e1190ba23732e42841b2bf69 +36560701e1653df36a29c8c3254d402d0140f5ffeda15ded4728c176e3f39c35 +48b5a2be25266587b52bda256f255c940adddbfcaf37ba2500213239f12dc7e0 +0b61230190a4380917962c18effc6774f6db08b799c5966ca7133fadfd7e2b25 +75116286d1c2a40545f973870cbb5cf97691afe304ca7b586f198c426a71dfa8 +cedbe3d94bda4267b9b5ff1454ac7d54f59c5d94588bb274601cee186b9ee892 +5f359ec5bc402442bba33b2663d564461ca130d7f1405b0467027ec1e27bbec4 +8d51c674c81b66ec733c4c57410956520f9c16708aaee0d9ae34f1050f6412c7 +7a23c8c3364dad8e407319772c9b201c49b75dea4685566d9c912acdb47aece3 +f9786e47398891c07b0269e74e2eb935991c9d7a835eb88bc04eb2b195ddeb02 +38dcd1e4bb773e269ad58fa9e2f5482db94a661f065bfafee3ccc1c812e9fac3 +31fd70975e3a0c72d37207d6c90f998103a821c35734f0153950e5f72ff6a8ac +cb831f57267142dcc4079c915a4d01807fdc883e15a15b67e8cea1ef8d26e4fc +b55c69418d7a4dcef51473a037050cc43e204fc7de2392905800993bbccaf459 +3bd84187fd1c295d111867930dd068988631f5d0abb9adc48b7ca8134f8a3baf +3569f5ffbf19291022b3e13fdabbf0ddf64fef601cf97dc70ed2e4355de38f1c +0ca81966adfc95cf03e794d875025af92bbeaacd9ee58b49c3f0b67d72b13a0a +971076819781d91814c47a0a3b53f767b7630fb55df3d2706d834b127d56fc95 +b9b30ab934839b8324c9ee0147f0bbec998eb1b2939a2102c59c896b9f57c9b2 +fc138cfd94fd5c512bd83e30e8356e983cceb0de72224f78b3c8a98359e46f22 +c19ab808b70c4287397eade3b28a311244385d3d49fb80adc4f90f32366fcf42 +eaea8d05392164a48f03184563922bcbeb78376f512b9a289325a61c0c357e40 +bb3dbeebf870ec12ef096a8997bb6ec55251ad55bd881ebdda84056556380935 +b0b8eb1f74ef96bf02375a30dc53795da638252a12a2e9bc18bfd7ff5aa7a8f4 +4a6bb4a34f1c94a781a129fc975823bd16a6df7c5d75b7f6dff55ac5f82e3e2f +572f339f48024e93f0c59fb1fc95bacf7bf5fd7c683c9b159c3b5d937c3a2110 +e78889021ebbbbe76b1f984317d310ea61f7b5cdb4ed1754a35adc9c6924c3e0 +2e3b157261eea5092e0e7a914a259eea2b14192343680a18710db9f82e54c920 +369587bcdeed8f8acb72d2565ca89ea92b6b58bb861012ccab7270200ed5cef3 +9bdc58f4831161e8ce4ef5c6fc839deb8216482d906d60c1a3292de191b40c79 +85529eae01de8fadd442ec8bfa775366070a9e193138a4c6f6eca7ff554c57a0 +19346015d6ed5dfe8b9dd876a207e7247deaa1e42a41c3edccb32d47e5fa97c0 +9bf3f8324a366856d6c6df8f295da2a9164a99b6e66adf4247dd79bbf54525dd +bcf518651fd8b374cbca6ac532ed443a1c952ce148a67cc655d92b670ab76c64 +cba90089f1d252ab55d93cfd0ec1545e79b65c5337fc57e46ad6ddcf5ca56204 +867e467d3982d77c2e603fee7ec4b57bd8718e5be9203666459815b7428679b2 +134188b7c2c89f64b7426e0dde73f586a7a86a4cc4136bcd5b09b2482aaf3ea2 +6a9c99cdc852ae0a7262b57c06143f1a6528b02cdd69b9fd5edc635873997b4d +7c5644daa467783e154ad0a787e72bf5a627f712267198d9368b480a4e764627 +b268d7f1500b8e155615bf9e59bedc125774802dcbe33451e222f6a9ba24afc1 +92933742c74822f138baac4bddcfbf447dea77a4e913028db069e802014b5d57 +b0c7d6b7a727742eebb6a7c7a2231c94d63fbe66fa8030f3b378006027ceb4b2 +74d8d75d001c7b4d0225ec9cb04ca7f5e1668b44682847a8b14dda4ecd87fda2 +6b1694a2810f90537c403ff242d0accc8b73fa0088d668fb4fd50c4a0b0aafe3 +0dddc6e893c1bb127147fd1b35254e2ef659f023cd826cbf5e400dfba85f4df9 +f70b30a42df485bf5dd6c620e37c82bedef5841131716bc5eeb40aefec8c0379 +f9348a1d7ad0618a422d85300bc0f4208a5b4baf9dd1f568da943f0023eec988 +21187716ec2104282a7fed77b0c5b01e78d5d9d5d99994a9f232859ce68a62a9 +e6960f557f153d7101dd98b7836d7841d3180be3b34a99d4434af82db181de42 +e7f3fd86d86678ea86c4ea4d0af845955141ca4f9266f3ef69c2ce9b73ae1558 +9dd98a8a0802572fba00fc509918a64f1dcabd06286039e75042d53d472ae66e +38ecb6e6795e3dd12757255e786909f306fc17d14ed432f5107aac6cc50236b7 +d381ad2c4da239669d94cb276610a846e991f508a75e1a3a851be789b9a3f75b +f5d7dfde15eadd55e7710d79b5a4127b5e9f85f6bceace031aa9ad412541848d +59dd3f66886672db5d90f51fd15334eb973e64baa4181186cc3c090b2a5bbb70 +e9e1fd9420a31674e9e517b1dc0196fcb5624668785a65dfa60a0944386beda0 +66e2a3d871913d23001c0b5f22c4136fa48e6fbd636fe0bbc104cba53ecd15b7 +0034db9200070b7924ab31ea318cffc35cb44bbda45e04f64516b48bbaceed37 +56a2aaa5d5c0a2d06f71a5ca689c8c8afc991638fff960d060555d9ee7a13868 +434853e22d4d9aed6231039517aa713e67e7c08467c687a21bfb00e6c99c9b15 +51859fb8f437c77bca2b0fc97a36ee9b552645b83ddcd2ae48049085693c356c +53b214b9216d5466852340dbb92eadc60bb6225d9c08bb9f5e9f50e40dfb7c12 +2b5126c6e11393d04691831af2707bf11e0c4e887511a59442469df76bc8eb2e +d2e97d09b6b2f1b533ac64d85d454f57702af92cc88d5ddc46388d6c203ba06a +f57846d420ef1727d97d964da29018245d91f1e37e3e3f9f04e02d997b0c28fe +4c99293e87c978606c3a0c7ca1d121c60ac58fad627be407057eae2ebc2074dd +fd2bd9fb017ad048ead3d1243b7634701508034a934c81a9f63a05b7319676d7 +bb9af94fbe826f84d4149e81b46424e482c8c1c655affecb4393177d768eaa24 +a68a71e4faf578e57865b15f459315a26ddf6e39bd3d16958a3a8cbeab793eaa +533eaa3d89e78d292fe37f0c23e32abfd50b2c9fba8261331c66458340bb4cd5 +4e7a7cac3df5ca530fbffd93789357877ad2fe127377b899340416d6100e2165 +64c62ed803d484656ef5ff7587902285671f280de39228b9432ba46c3ecbdd23 +46222998ef3c528cec6da555eb72092d97664cf35ea21e31ffb70e8b8102ddf6 +0203d3dddaa7593a8dc0b1c6af796d891e80860e6bba501e4c38dd5c6b5a6f35 +a38ef0c7cd4ab7cce0e17fae913eec2572565070169cce8517c37b21699fe4d3 +58439dcec0066047253d42a74ba564d2fc7ccf34b3b4e77fbac09d950c3c134c +5671c64b9964c124d123a299d2070826fde61b7f637bf87739e7a0de70ef82af +c901821eabb31969a27596e9826dd506912d05918ddd2981d5fb153526683f83 +04bbb13678af6d8a65aaae58240688caf7a8419f7bacf078dae7495ab646fc40 +c9004cbabf4c76143e33fe49fed460a102129b9f6cdda0797e53df9b9db99890 +7dc89ecb49ee18cd7556b44b096c9337f6a5618b589c6d7c87ea0f292bb446fe +c901b120180e3b514e3e7e32e52028a30cfd6879068a68b7ef5db202f575a6f3 +52748c45a3509d747d672b446efd09b0dcab7b3f8808c011a0470eb5c9d8d632 +0f413186fdf227c7f9c45c403ef93db5fb63819de4ca368f1b9387dfb0f039e8 +2c47f56fa0d3073c901393803ae628eba7313821a01b07918efa4d901aca044e +90d0227813c537cdc2c906e44140bdcb8717e95b7597ad7c01b51b7dac732e65 +fa3870fe8865ae6dbc96b5a984e2e363c4b67a3a07fe4eb42044112ecfff74f4 +09329f03a55e1f57656f88a08e597bfccb97a2b0bc0c26db9aa5bc5f1d1bafa3 +65f32c6ae5de5f798233ed6878583d8335e8988021438e992be94f6b73608413 +b83693b45e539261664f851652bd9458e643bd60628d0acb48a0edd350749e13 +9e480bb10cfb50b4fa0e37348d2f5ebc3e3f3457128b9793ef1359076da9e92d +e3bbd59ccc0c0327867bd7895a19cb93fdcd6ef8d459ccabadb1e0bc6896b456 +b13cab755da348b349da1b485947a23d05e9bb5dfeb8300f8fef30d7f09d288f +681ee6e23d21f76f806440680e7913d323a264fd6d69d4be33527e050856f8d7 +20fcf33f81e5021271c2cefd7b1c6a2dc9e207140be0030fd866fb65e33cf5fb +8879dd70eed5e887537c45d136be8bb191bd9dc4cea400137903a12b66dcd359 +9b6c2e43306759110af0878c8f37c8daf847657c2bd68d5c3ca105b332d18d5e +03269eedc1ae92f4e45c79915981c1f32b5a39c46c358708460301ca4298bbb4 +5b91e0d45fd1de756c6885545bdf5bce1cd40bb0c92c481a629b0d8dafb6b895 +995c6777d9355af0b03720d3c7456ad60eaa5a80549bb54c0820e000eb30a3e6 +f81c1cdc55b70d902a432d13a233c63ae54f98718d6ddae3c6aabebc65760e59 +d87abb67a5171a4ec2b2377bb5a39f +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F621_0 /AMYDOG+NimbusRomNo9L-ReguItal 1 1 +[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright + /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash + /zero/one/two/three/four/five/six/seven + /eight/nine/colon/semicolon/less/equal/greater/question + /at/A/B/C/D/E/F/G + /H/I/J/K/L/M/N/O + /P/Q/R/S/T/U/V/W + /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore + /quoteleft/a/b/c/d/e/f/g + /h/i/j/k/l/m/n/o + /p/q/r/s/t/u/v/w + /x/y/z/braceleft/bar/braceright/asciitilde/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section + /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl + /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet + /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown + /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent + /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron + /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef + /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef + /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef + /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +612 792 false pdfSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +117.435 701.916 Td +/F116_0 24.7902 Tf +(bzip2) 63.3638 Tj +-278 TJm +(and) 44.077 Tj +-278 TJm +(libbzip2,) 99.1856 Tj +-278 TJm +(ver) 37.2101 Tj +15 TJm +(sion) 50.9687 Tj +-278 TJm +(1.0.6) 55.1334 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +90.493 661.631 Td +/F116_0 20.6585 Tf +(A) 14.9154 Tj +-278 TJm +(pr) 20.6585 Tj +20 TJm +(ogram) 63.1324 Tj +-278 TJm +(and) 36.7308 Tj +-278 TJm +(librar) 51.6669 Tj +-10 TJm +(y) 11.4861 Tj +-278 TJm +(f) 6.8793 Tj +20 TJm +(or) 20.6585 Tj +-278 TJm +(data) 42.4739 Tj +-278 TJm +(compression) 128.5785 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +207.676 503.285 Td +/F116_0 11.9552 Tf +(J) 6.6471 Tj +20 TJm +(ulian) 27.9034 Tj +-278 TJm +(Se) 14.6212 Tj +15 TJm +(war) 20.5988 Tj +20 TJm +(d,) 10.6282 Tj +-278 TJm +(http://www) 61.103 Tj +40 TJm +(.bzip.or) 42.5127 Tj +15 TJm +(g) 7.3046 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 2 2 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 709.534 Td +/F116_0 14.3462 Tf +(bzip2) 36.6689 Tj +-489 TJm +(and) 25.5075 Tj +-488 TJm +(libbzip2,) 57.3991 Tj +-542 TJm +(ver) 21.5336 Tj +15 TJm +(sion) 29.4958 Tj +-488 TJm +(1.0.6:) 36.6832 Tj +-766 TJm +(A) 10.358 Tj +-488 TJm +(pr) 14.3462 Tj +20 TJm +(ogram) 43.842 Tj +-489 TJm +(and) 25.5075 Tj +-489 TJm +(librar) 35.8798 Tj +-10 TJm +(y) 7.9765 Tj +-488 TJm +(f) 4.7773 Tj +20 TJm +(or) 14.3462 Tj +-489 TJm +(data) 29.4958 Tj +72 692.319 Td +(compression) 89.2907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 680.364 Td +/F122_0 9.9626 Tf +(by) 9.9626 Tj +-250 TJm +(Julian) 23.8007 Tj +-250 TJm +(Se) 9.9626 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(ard) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 663.427 Td +(V) 7.193 Tj +111 TJm +(ersion) 24.3486 Tj +-250 TJm +(1.0.6) 19.9252 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(6) 4.9813 Tj +-250 TJm +(September) 42.61 Tj +-250 TJm +(2010) 19.9252 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 651.472 Td +(Cop) 16.6077 Tj +10 TJm +(yright) 23.8007 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(\251) 7.5716 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(1996-2010) 43.1679 Tj +-250 TJm +(Julian) 23.8007 Tj +-250 TJm +(Se) 9.9626 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(ard) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 633.938 Td +/F122_0 7.9701 Tf +(This) 14.1708 Tj +-250 TJm +(program,) 28.9952 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +119.151 633.938 Td +/F124_0 7.9701 Tf +(bzip2) 23.9103 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +143.061 633.938 Td +/F122_0 7.9701 Tf +(,) 1.9925 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(associated) 32.7571 Tj +-250 TJm +(library) 21.2483 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.768 633.938 Td +/F124_0 7.9701 Tf +(libbzip2) 38.2565 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +255.025 633.938 Td +/F122_0 7.9701 Tf +(,) 1.9925 Tj +-250 TJm +(and) 11.5088 Tj +-250 TJm +(all) 7.9701 Tj +-250 TJm +(documentation,) 49.3668 Tj +-250 TJm +(are) 9.7315 Tj +-250 TJm +(cop) 11.5088 Tj +10 TJm +(yright) 19.0406 Tj +-250 TJm +(\251) 6.0573 Tj +-250 TJm +(1996-2010) 34.5344 Tj +-250 TJm +(Julian) 19.0406 Tj +-250 TJm +(Se) 7.9701 Tj +25 TJm +(w) 5.7544 Tj +10 TJm +(ard.) 12.1703 Tj +-310 TJm +(All) 10.1858 Tj +-250 TJm +(rights) 18.1559 Tj +-250 TJm +(reserv) 19.471 Tj +15 TJm +(ed.) 9.5163 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 616.404 Td +(Redistrib) 29.2264 Tj +20 TJm +(ution) 16.3865 Tj +-250 TJm +(and) 11.5088 Tj +-250 TJm +(use) 10.6241 Tj +-250 TJm +(in) 6.2007 Tj +-250 TJm +(source) 20.802 Tj +-250 TJm +(and) 11.5088 Tj +-250 TJm +(binary) 20.3636 Tj +-250 TJm +(forms,) 20.5868 Tj +-250 TJm +(with) 14.1708 Tj +-250 TJm +(or) 6.6391 Tj +-250 TJm +(without) 24.3566 Tj +-250 TJm +(modi\002cation,) 42.2894 Tj +-250 TJm +(are) 9.7315 Tj +-250 TJm +(permitted) 30.5494 Tj +-250 TJm +(pro) 10.6241 Tj +15 TJm +(vided) 17.7096 Tj +-250 TJm +(that) 11.9552 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(follo) 15.0555 Tj +25 TJm +(wing) 15.9402 Tj +-250 TJm +(conditions) 33.2114 Tj +-250 TJm +(are) 9.7315 Tj +-250 TJm +(met:) 14.1708 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +73.993 590.899 Td +(\225) 2.7895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Redistrib) 29.2264 Tj +20 TJm +(utions) 19.4869 Tj +-250 TJm +(of) 6.6391 Tj +-250 TJm +(source) 20.802 Tj +-250 TJm +(code) 15.0475 Tj +-250 TJm +(must) 15.5018 Tj +-250 TJm +(retain) 18.1479 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(abo) 11.5088 Tj +15 TJm +(v) 3.9851 Tj +15 TJm +(e) 3.5387 Tj +-250 TJm +(cop) 11.5088 Tj +10 TJm +(yright) 19.0406 Tj +-250 TJm +(notice,) 21.4714 Tj +-250 TJm +(this) 11.5168 Tj +-250 TJm +(list) 9.7474 Tj +-250 TJm +(of) 6.6391 Tj +-250 TJm +(conditions) 33.2114 Tj +-250 TJm +(and) 11.5088 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(follo) 15.0555 Tj +25 TJm +(wing) 15.9402 Tj +-250 TJm +(disclaimer) 33.2034 Tj +55 TJm +(.) 1.9925 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +73.993 573.365 Td +(\225) 2.7895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 12.3935 Tj +-285 TJm +(origin) 19.0406 Tj +-284 TJm +(of) 6.6391 Tj +-285 TJm +(this) 11.5168 Tj +-285 TJm +(softw) 17.7096 Tj +10 TJm +(are) 9.7315 Tj +-284 TJm +(must) 15.5018 Tj +-285 TJm +(not) 10.1858 Tj +-285 TJm +(be) 7.5238 Tj +-285 TJm +(misrepresente) 44.2659 Tj +1 TJm +(d;) 6.2007 Tj +-303 TJm +(you) 11.9552 Tj +-284 TJm +(must) 15.5018 Tj +-285 TJm +(not) 10.1858 Tj +-285 TJm +(claim) 17.7096 Tj +-284 TJm +(that) 11.9552 Tj +-285 TJm +(you) 11.9552 Tj +-285 TJm +(wrote) 18.1479 Tj +-284 TJm +(the) 9.7395 Tj +-285 TJm +(original) 24.795 Tj +-285 TJm +(softw) 17.7096 Tj +10 TJm +(are.) 11.724 Tj +-828 TJm +(If) 5.3081 Tj +-285 TJm +(you) 11.9552 Tj +-285 TJm +(use) 10.6241 Tj +-284 TJm +(this) 11.5168 Tj +-285 TJm +(softw) 17.7096 Tj +10 TJm +(are) 9.7315 Tj +-285 TJm +(in) 6.2007 Tj +-284 TJm +(a) 3.5387 Tj +79.97 563.801 Td +(product,) 26.3412 Tj +-250 TJm +(an) 7.5238 Tj +-250 TJm +(ackno) 19.0326 Tj +25 TJm +(wledgment) 35.4191 Tj +-250 TJm +(in) 6.2007 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(product) 24.3487 Tj +-250 TJm +(documentation) 47.3743 Tj +-250 TJm +(w) 5.7544 Tj +10 TJm +(ould) 14.1708 Tj +-250 TJm +(be) 7.5238 Tj +-250 TJm +(appreciated) 36.7342 Tj +-250 TJm +(b) 3.9851 Tj +20 TJm +(ut) 6.2007 Tj +-250 TJm +(is) 5.3161 Tj +-250 TJm +(not) 10.1858 Tj +-250 TJm +(required.) 28.5489 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +73.993 546.267 Td +(\225) 2.7895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Altered) 23.9023 Tj +-250 TJm +(source) 20.802 Tj +-250 TJm +(v) 3.9851 Tj +15 TJm +(ersions) 22.5793 Tj +-250 TJm +(must) 15.5018 Tj +-250 TJm +(be) 7.5238 Tj +-250 TJm +(plainly) 22.1409 Tj +-250 TJm +(mark) 16.3786 Tj +10 TJm +(ed) 7.5238 Tj +-250 TJm +(as) 6.6391 Tj +-250 TJm +(such,) 16.6017 Tj +-250 TJm +(and) 11.5088 Tj +-250 TJm +(must) 15.5018 Tj +-250 TJm +(not) 10.1858 Tj +-250 TJm +(be) 7.5238 Tj +-250 TJm +(misrepresented) 48.251 Tj +-250 TJm +(as) 6.6391 Tj +-250 TJm +(being) 17.7096 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(original) 24.795 Tj +-250 TJm +(softw) 17.7096 Tj +10 TJm +(are.) 11.724 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +73.993 528.733 Td +(\225) 2.7895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 12.3935 Tj +-250 TJm +(name) 17.2632 Tj +-250 TJm +(of) 6.6391 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(author) 20.3636 Tj +-250 TJm +(may) 13.7245 Tj +-250 TJm +(not) 10.1858 Tj +-250 TJm +(be) 7.5238 Tj +-250 TJm +(used) 14.6092 Tj +-250 TJm +(to) 6.2007 Tj +-250 TJm +(endorse) 24.787 Tj +-250 TJm +(or) 6.6391 Tj +-250 TJm +(promote) 26.5643 Tj +-250 TJm +(products) 27.449 Tj +-250 TJm +(deri) 12.3935 Tj +25 TJm +(v) 3.9851 Tj +15 TJm +(ed) 7.5238 Tj +-250 TJm +(from) 15.4939 Tj +-250 TJm +(this) 11.5168 Tj +-250 TJm +(softw) 17.7096 Tj +10 TJm +(are) 9.7315 Tj +-250 TJm +(without) 24.3566 Tj +-250 TJm +(speci\002c) 24.3487 Tj +-250 TJm +(prior) 15.4939 Tj +-250 TJm +(written) 22.5793 Tj +-250 TJm +(permission.) 36.9733 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 511.198 Td +(THIS) 17.7096 Tj +-401 TJm +(SOFTW) 27.0107 Tj +120 TJm +(ARE) 15.9402 Tj +-401 TJm +(IS) 7.0854 Tj +-400 TJm +(PR) 9.7474 Tj +40 TJm +(O) 5.7544 Tj +50 TJm +(VIDED) 24.787 Tj +-401 TJm +(BY) 11.0705 Tj +-401 TJm +(THE) 15.4939 Tj +-401 TJm +(A) 5.7544 Tj +55 TJm +(UTHOR) 27.449 Tj +-401 TJm +("AS) 13.4376 Tj +-401 TJm +(IS") 10.3372 Tj +-401 TJm +(AND) 17.2632 Tj +-400 TJm +(ANY) 17.2632 Tj +-401 TJm +(EXPRESS) 34.1041 Tj +-401 TJm +(OR) 11.0705 Tj +-401 TJm +(IMPLIED) 32.3188 Tj +-401 TJm +(W) 7.5238 Tj +120 TJm +(ARRANTIES,) 46.7128 Tj +-401 TJm +(INCLUDING,) 46.2585 Tj +-401 TJm +(B) 5.3161 Tj +11 TJm +(UT) 10.6241 Tj +72 501.634 Td +(NO) 11.5088 Tj +40 TJm +(T) 4.8697 Tj +-304 TJm +(LIMITED) 32.7571 Tj +-304 TJm +(T) 4.8697 Tj +18 TJm +(O,) 7.7469 Tj +-305 TJm +(THE) 15.4939 Tj +-304 TJm +(IMPLIED) 32.3188 Tj +-304 TJm +(W) 7.5238 Tj +120 TJm +(ARRANTIES) 44.7202 Tj +-304 TJm +(OF) 10.1858 Tj +-304 TJm +(MERCHANT) 44.7202 Tj +93 TJm +(ABILITY) 31.8724 Tj +-304 TJm +(AND) 17.2632 Tj +-305 TJm +(FITNESS) 31.442 Tj +-304 TJm +(FOR) 15.5018 Tj +-304 TJm +(A) 5.7544 Tj +-304 TJm +(P) 4.4314 Tj +92 TJm +(AR) 11.0705 Tj +60 TJm +(TICULAR) 34.5344 Tj +-304 TJm +(PURPOSE) 34.9887 Tj +-304 TJm +(ARE) 15.9402 Tj +-305 TJm +(DIS) 12.8398 Tj +1 TJm +(-) 2.654 Tj +72 492.07 Td +(CLAIMED.) 38.2963 Tj +-576 TJm +(IN) 8.4085 Tj +-287 TJm +(NO) 11.5088 Tj +-288 TJm +(EVENT) 26.118 Tj +-288 TJm +(SHALL) 25.6797 Tj +-288 TJm +(THE) 15.4939 Tj +-287 TJm +(A) 5.7544 Tj +55 TJm +(UTHOR) 27.449 Tj +-288 TJm +(BE) 10.1858 Tj +-288 TJm +(LIABLE) 28.3337 Tj +-288 TJm +(FOR) 15.5018 Tj +-288 TJm +(ANY) 17.2632 Tj +-287 TJm +(DIRECT) 28.78 Tj +74 TJm +(,) 1.9925 Tj +-288 TJm +(INDIRECT) 37.1885 Tj +74 TJm +(,) 1.9925 Tj +-288 TJm +(INCIDENT) 37.6268 Tj +93 TJm +(AL,) 12.6167 Tj +-288 TJm +(SPECIAL,) 34.3193 Tj +-288 TJm +(EXEMPLAR) 42.9509 Tj +65 TJm +(Y) 5.7544 Tj +129 TJm +(,) 1.9925 Tj +72 482.506 Td +(OR) 11.0705 Tj +-299 TJm +(CONSEQ) 31.8804 Tj +10 TJm +(UENTIAL) 34.5265 Tj +-300 TJm +(D) 5.7544 Tj +40 TJm +(AMA) 18.5942 Tj +40 TJm +(GES) 15.0555 Tj +-299 TJm +(\(INCLUDING,) 48.9125 Tj +-299 TJm +(B) 5.3161 Tj +10 TJm +(UT) 10.6241 Tj +-299 TJm +(NO) 11.5088 Tj +40 TJm +(T) 4.8697 Tj +-300 TJm +(LIMITED) 32.7571 Tj +-299 TJm +(T) 4.8697 Tj +18 TJm +(O,) 7.7469 Tj +-299 TJm +(PR) 9.7474 Tj +40 TJm +(OCUREMENT) 49.59 Tj +-299 TJm +(OF) 10.1858 Tj +-300 TJm +(SUBSTITUTE) 47.8206 Tj +-299 TJm +(GOODS) 27.449 Tj +-299 TJm +(OR) 11.0705 Tj +-300 TJm +(SER) 14.6172 Tj +80 TJm +(VICES) 23.0256 Tj +1 TJm +(;) 2.2157 Tj +72 472.942 Td +(LOSS) 19.4869 Tj +-360 TJm +(OF) 10.1858 Tj +-360 TJm +(USE,) 17.048 Tj +-360 TJm +(D) 5.7544 Tj +40 TJm +(A) 5.7544 Tj +111 TJm +(T) 4.8697 Tj +93 TJm +(A,) 7.7469 Tj +-360 TJm +(OR) 11.0705 Tj +-359 TJm +(PR) 9.7474 Tj +40 TJm +(OFITS;) 24.3566 Tj +-360 TJm +(OR) 11.0705 Tj +-360 TJm +(B) 5.3161 Tj +10 TJm +(USINESS) 32.3267 Tj +-360 TJm +(INTERR) 28.78 Tj +40 TJm +(UPTION\)) 31.8724 Tj +-360 TJm +(HO) 11.5088 Tj +35 TJm +(WEVER) 28.3337 Tj +-360 TJm +(CA) 11.0705 Tj +55 TJm +(USED) 20.8099 Tj +-359 TJm +(AND) 17.2632 Tj +-360 TJm +(ON) 11.5088 Tj +-360 TJm +(ANY) 17.2632 Tj +-360 TJm +(THEOR) 26.5643 Tj +65 TJm +(Y) 5.7544 Tj +-360 TJm +(OF) 10.1858 Tj +-360 TJm +(LIABI) 21.2483 Tj +1 TJm +(LITY) 18.1479 Tj +128 TJm +(,) 1.9925 Tj +72 463.378 Td +(WHETHER) 38.9578 Tj +-247 TJm +(IN) 8.4085 Tj +-247 TJm +(CONTRA) 32.7651 Tj +40 TJm +(CT) 10.1858 Tj +74 TJm +(,) 1.9925 Tj +-247 TJm +(STRICT) 27.457 Tj +-247 TJm +(LIABILITY) 39.3962 Tj +129 TJm +(,) 1.9925 Tj +-247 TJm +(O) 5.7544 Tj +1 TJm +(R) 5.3161 Tj +-247 TJm +(T) 4.8697 Tj +18 TJm +(OR) 11.0705 Tj +60 TJm +(T) 4.8697 Tj +-247 TJm +(\(INCLUDING) 46.92 Tj +-247 TJm +(NEGLIGENCE) 50.4667 Tj +-247 TJm +(OR) 11.0705 Tj +-247 TJm +(O) 5.7544 Tj +40 TJm +(THER) 20.8099 Tj +55 TJm +(WISE\)) 22.133 Tj +-247 TJm +(ARISING) 32.3188 Tj +-247 TJm +(IN) 8.4085 Tj +-247 TJm +(ANY) 17.2632 Tj +-247 TJm +(W) 7.5238 Tj +120 TJm +(A) 5.7544 Tj +105 TJm +(Y) 5.7544 Tj +-247 TJm +(OUT) 16.3786 Tj +72 453.814 Td +(OF) 10.1858 Tj +-250 TJm +(THE) 15.4939 Tj +-250 TJm +(USE) 15.0555 Tj +-250 TJm +(OF) 10.1858 Tj +-250 TJm +(THIS) 17.7096 Tj +-250 TJm +(SOFTW) 27.0107 Tj +120 TJm +(ARE,) 17.9327 Tj +-250 TJm +(EVEN) 21.2483 Tj +-250 TJm +(IF) 7.0854 Tj +-250 TJm +(AD) 11.5088 Tj +40 TJm +(VISED) 23.464 Tj +-250 TJm +(OF) 10.1858 Tj +-250 TJm +(THE) 15.4939 Tj +-250 TJm +(POSSIBILITY) 47.8206 Tj +-250 TJm +(OF) 10.1858 Tj +-250 TJm +(SUCH) 21.2563 Tj +-250 TJm +(D) 5.7544 Tj +40 TJm +(AMA) 18.5942 Tj +40 TJm +(GE.) 12.6167 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 436.279 Td +(P) 4.4314 Tj +92 TJm +(A) 5.7544 Tj +111 TJm +(TENTS:) 27.0107 Tj +-296 TJm +(T) 4.8697 Tj +80 TJm +(o) 3.9851 Tj +-295 TJm +(the) 9.7395 Tj +-296 TJm +(best) 12.8398 Tj +-295 TJm +(of) 6.6391 Tj +-296 TJm +(my) 10.1858 Tj +-295 TJm +(kno) 11.9552 Tj +25 TJm +(wledge,) 25.0102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +208.544 436.279 Td +/F124_0 7.9701 Tf +(bzip2) 23.9103 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.81 436.279 Td +/F122_0 7.9701 Tf +(and) 11.5088 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +248.674 436.279 Td +/F124_0 7.9701 Tf +(libbzip2) 38.2565 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +289.286 436.279 Td +/F122_0 7.9701 Tf +(do) 7.9701 Tj +-296 TJm +(not) 10.1858 Tj +-295 TJm +(use) 10.6241 Tj +-296 TJm +(an) 7.5238 Tj +15 TJm +(y) 3.9851 Tj +-295 TJm +(patented) 27.0027 Tj +-296 TJm +(algorithms.) 36.0886 Tj +-893 TJm +(Ho) 9.7395 Tj +25 TJm +(we) 9.2931 Tj +25 TJm +(v) 3.9851 Tj +15 TJm +(er) 6.1928 Tj +40 TJm +(,) 1.9925 Tj +-307 TJm +(I) 2.654 Tj +-295 TJm +(do) 7.9701 Tj +-296 TJm +(not) 10.1858 Tj +-295 TJm +(ha) 7.5238 Tj +20 TJm +(v) 3.9851 Tj +15 TJm +(e) 3.5387 Tj +-296 TJm +(the) 9.7395 Tj +-295 TJm +(resources) 30.0951 Tj +-296 TJm +(to) 6.2007 Tj +72 426.715 Td +(carry) 16.3706 Tj +-250 TJm +(out) 10.1858 Tj +-250 TJm +(a) 3.5387 Tj +-250 TJm +(patent) 19.4789 Tj +-250 TJm +(search.) 22.3482 Tj +-620 TJm +(Therefore) 31.4181 Tj +-250 TJm +(I) 2.654 Tj +-250 TJm +(cannot) 21.2483 Tj +-250 TJm +(gi) 6.2007 Tj +25 TJm +(v) 3.9851 Tj +15 TJm +(e) 3.5387 Tj +-250 TJm +(an) 7.5238 Tj +15 TJm +(y) 3.9851 Tj +-250 TJm +(guarantee) 30.9798 Tj +-250 TJm +(of) 6.6391 Tj +-250 TJm +(the) 9.7395 Tj +-250 TJm +(abo) 11.5088 Tj +15 TJm +(v) 3.9851 Tj +15 TJm +(e) 3.5387 Tj +-250 TJm +(statement.) 32.5419 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 3 3 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 707.441 Td +/F116_0 17.2154 Tf +(T) 10.5186 Tj +80 TJm +(ab) 20.0904 Tj +10 TJm +(le) 14.3576 Tj +-278 TJm +(of) 16.2513 Tj +-278 TJm +(Contents) 74.5943 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 686.878 Td +/F122_0 9.9626 Tf +(1.) 7.472 Tj +-310 TJm +(Introduction) 49.2551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.733 686.878 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 686.878 Td +/F122_0 9.9626 Tf +(1) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 674.923 Td +(2.) 7.472 Tj +-310 TJm +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +167.054 674.923 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 674.923 Td +/F122_0 9.9626 Tf +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 662.968 Td +(2.1.) 14.9439 Tj +-310 TJm +(N) 7.193 Tj +35 TJm +(AME) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +132.691 662.968 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 662.968 Td +/F122_0 9.9626 Tf +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 651.013 Td +(2.2.) 14.9439 Tj +-310 TJm +(SYNOPSIS) 47.0534 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +150.582 651.013 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 651.013 Td +/F122_0 9.9626 Tf +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 639.058 Td +(2.3.) 14.9439 Tj +-310 TJm +(DESCRIPTION) 64.7569 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +168.29 639.058 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 639.058 Td +/F122_0 9.9626 Tf +(3) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 627.103 Td +(2.4.) 14.9439 Tj +-310 TJm +(OPTIONS) 42.0621 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.873 627.103 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 627.103 Td +/F122_0 9.9626 Tf +(4) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 615.147 Td +(2.5.) 14.9439 Tj +-310 TJm +(MEMOR) 37.6387 Tj +65 TJm +(Y) 7.193 Tj +-250 TJm +(MAN) 23.2427 Tj +35 TJm +(A) 7.193 Tj +40 TJm +(GEMENT) 41.5042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.412 615.147 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 615.147 Td +/F122_0 9.9626 Tf +(5) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 603.192 Td +(2.6.) 14.9439 Tj +-310 TJm +(RECO) 26.5703 Tj +50 TJm +(VERING) 37.6287 Tj +-250 TJm +(D) 7.193 Tj +40 TJm +(A) 7.193 Tj +111 TJm +(T) 6.0871 Tj +93 TJm +(A) 7.193 Tj +-250 TJm +(FR) 12.1843 Tj +40 TJm +(OM) 16.0497 Tj +-250 TJm +(D) 7.193 Tj +40 TJm +(AMA) 23.2427 Tj +40 TJm +(GED) 20.4731 Tj +-250 TJm +(FILES) 26.5703 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +308.464 603.192 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 603.192 Td +/F122_0 9.9626 Tf +(6) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 591.237 Td +(2.7.) 14.9439 Tj +-310 TJm +(PERFORMANCE) 73.6236 Tj +-250 TJm +(NO) 14.386 Tj +40 TJm +(TES) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +211.958 591.237 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 591.237 Td +/F122_0 9.9626 Tf +(6) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 579.282 Td +(2.8.) 14.9439 Tj +-310 TJm +(CA) 13.8381 Tj +135 TJm +(VEA) 20.4731 Tj +111 TJm +(TS) 11.6264 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +148.799 579.282 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 579.282 Td +/F122_0 9.9626 Tf +(7) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 567.327 Td +(2.9.) 14.9439 Tj +-310 TJm +(A) 7.193 Tj +55 TJm +(UTHOR) 34.3112 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.32 567.327 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 567.327 Td +/F122_0 9.9626 Tf +(7) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 555.372 Td +(3.) 7.472 Tj +-310 TJm +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +160.049 555.372 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +224.856 555.372 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 555.372 Td +/F122_0 9.9626 Tf +(8) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 543.416 Td +(3.1.) 14.9439 Tj +-310 TJm +(T) 6.0871 Tj +80 TJm +(op-le) 20.4731 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(structure) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +179.997 543.416 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 543.416 Td +/F122_0 9.9626 Tf +(8) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 531.461 Td +(3.1.1.) 22.4159 Tj +-310 TJm +(Lo) 11.0684 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +192.866 531.461 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 531.461 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 519.506 Td +(3.1.2.) 22.4159 Tj +-310 TJm +(High-le) 30.4357 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.822 519.506 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 519.506 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 507.551 Td +(3.1.3.) 22.4159 Tj +-310 TJm +(Utility) 26.0223 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.582 507.551 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 507.551 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 495.596 Td +(3.2.) 14.9439 Tj +-310 TJm +(Error) 21.0211 Tj +-250 TJm +(handling) 34.8691 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.611 495.596 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 495.596 Td +/F122_0 9.9626 Tf +(10) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 483.64 Td +(3.3.) 14.9439 Tj +-310 TJm +(Lo) 11.0684 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.045 483.64 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 483.64 Td +/F122_0 9.9626 Tf +(11) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 471.685 Td +(3.3.1.) 22.4159 Tj +-310 TJm +(BZ2_bzCompressInit) 85.7879 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +197.762 471.685 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 471.685 Td +/F122_0 9.9626 Tf +(11) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 459.73 Td +(3.3.2.) 22.4159 Tj +-310 TJm +(BZ2_bzCompress) 71.9499 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +184.201 459.73 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 459.73 Td +/F122_0 9.9626 Tf +(13) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 447.775 Td +(3.3.3.) 22.4159 Tj +-310 TJm +(BZ2_bzCompressEnd) 87.9996 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +198.868 447.775 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 447.775 Td +/F122_0 9.9626 Tf +(16) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 435.82 Td +(3.3.4.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompressInit) 95.1827 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +206.887 435.82 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 435.82 Td +/F122_0 9.9626 Tf +(16) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 423.865 Td +(3.3.5.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompress) 81.3446 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.326 423.865 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 423.865 Td +/F122_0 9.9626 Tf +(17) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 411.909 Td +(3.3.6.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompressEnd) 97.3944 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.207 411.909 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 411.909 Td +/F122_0 9.9626 Tf +(18) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 399.954 Td +(3.4.) 14.9439 Tj +-310 TJm +(High-le) 30.4357 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +184.216 399.954 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 399.954 Td +/F122_0 9.9626 Tf +(18) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 387.999 Td +(3.4.1.) 22.4159 Tj +-310 TJm +(BZ2_bzReadOpen) 74.1516 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +185.302 387.999 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 387.999 Td +/F122_0 9.9626 Tf +(19) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 376.044 Td +(3.4.2.) 22.4159 Tj +-310 TJm +(BZ2_bzRead) 52.5726 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +163.443 376.044 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 376.044 Td +/F122_0 9.9626 Tf +(20) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 364.089 Td +(3.4.3.) 22.4159 Tj +-310 TJm +(BZ2_bzReadGetUnused) 97.3944 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.207 364.089 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 364.089 Td +/F122_0 9.9626 Tf +(21) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 352.134 Td +(3.4.4.) 22.4159 Tj +-310 TJm +(BZ2_bzReadClose) 75.2674 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.074 352.134 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 352.134 Td +/F122_0 9.9626 Tf +(22) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 340.178 Td +(3.4.5.) 22.4159 Tj +-310 TJm +(BZ2_bzWriteOpen) 76.3633 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.622 340.178 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 340.178 Td +/F122_0 9.9626 Tf +(22) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 328.223 Td +(3.4.6.) 22.4159 Tj +-310 TJm +(BZ2_bzWrite) 54.7843 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.763 328.223 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 328.223 Td +/F122_0 9.9626 Tf +(23) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 316.268 Td +(3.4.7.) 22.4159 Tj +-310 TJm +(BZ2_bzWriteClose) 77.4791 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.179 316.268 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 316.268 Td +/F122_0 9.9626 Tf +(23) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 304.313 Td +(3.4.8.) 22.4159 Tj +-310 TJm +(Handling) 37.0808 Tj +-250 TJm +(embedded) 40.9463 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(streams) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.601 304.313 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 304.313 Td +/F122_0 9.9626 Tf +(24) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 292.358 Td +(3.4.9.) 22.4159 Tj +-310 TJm +(Standard) 35.417 Tj +-250 TJm +(\002le-reading/writing) 77.4791 Tj +-250 TJm +(code) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +247.564 292.358 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 292.358 Td +/F122_0 9.9626 Tf +(25) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 280.403 Td +(3.5.) 14.9439 Tj +-310 TJm +(Utility) 26.0223 Tj +-250 TJm +(functions) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +170.645 280.403 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 280.403 Td +/F122_0 9.9626 Tf +(26) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 268.447 Td +(3.5.1.) 22.4159 Tj +-310 TJm +(BZ2_bzBuf) 47.0434 Tj +25 TJm +(fT) 9.4047 Tj +80 TJm +(oBuf) 19.9252 Tj +25 TJm +(fCompress) 43.1679 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.488 268.447 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 268.447 Td +/F122_0 9.9626 Tf +(26) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 256.492 Td +(3.5.2.) 22.4159 Tj +-310 TJm +(BZ2_bzBuf) 47.0434 Tj +25 TJm +(fT) 9.4047 Tj +80 TJm +(oBuf) 19.9252 Tj +25 TJm +(fDecompress) 52.5627 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.613 256.492 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 256.492 Td +/F122_0 9.9626 Tf +(27) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 244.537 Td +(3.6.) 14.9439 Tj +-310 TJm +(zlib) 14.9439 Tj +-250 TJm +(compatibility) 53.1405 Tj +-250 TJm +(functions) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +215.06 244.537 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 244.537 Td +/F122_0 9.9626 Tf +(28) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 232.582 Td +(3.7.) 14.9439 Tj +-310 TJm +(Using) 23.8007 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(stdio-free) 38.1767 Tj +-250 TJm +(en) 9.4047 Tj +40 TJm +(vironment) 40.9562 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.092 232.582 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 232.582 Td +/F122_0 9.9626 Tf +(28) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 220.627 Td +(3.7.1.) 22.4159 Tj +-310 TJm +(Getting) 29.8878 Tj +-250 TJm +(rid) 11.0684 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(stdio) 19.3773 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.492 220.627 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 220.627 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 208.671 Td +(3.7.2.) 22.4159 Tj +-310 TJm +(Critical) 29.8878 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(handling) 34.8691 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +201.629 208.671 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 208.671 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 196.716 Td +(3.8.) 14.9439 Tj +-310 TJm +(Making) 30.9936 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws) 11.0684 Tj +-250 TJm +(DLL) 19.3673 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.243 196.716 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 196.716 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 184.761 Td +(4.) 7.472 Tj +-310 TJm +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +144.898 184.761 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 184.761 Td +/F122_0 9.9626 Tf +(31) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 172.806 Td +(4.1.) 14.9439 Tj +-310 TJm +(Limitations) 45.9475 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(format) 26.5603 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +269.154 172.806 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 172.806 Td +/F122_0 9.9626 Tf +(31) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 160.851 Td +(4.2.) 14.9439 Tj +-310 TJm +(Portability) 42.0721 Tj +-250 TJm +(issues) 23.8007 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.03 160.851 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 160.851 Td +/F122_0 9.9626 Tf +(32) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 148.896 Td +(4.3.) 14.9439 Tj +-310 TJm +(Reporting) 39.8504 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ugs) 13.8381 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.115 148.896 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 148.896 Td +/F122_0 9.9626 Tf +(32) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 136.94 Td +(4.4.) 14.9439 Tj +-310 TJm +(Did) 14.9439 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(get) 12.1743 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(right) 18.8194 Tj +-250 TJm +(package?) 37.0609 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.109 136.94 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 136.94 Td +/F122_0 9.9626 Tf +(33) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 124.985 Td +(4.5.) 14.9439 Tj +-310 TJm +(Further) 29.3299 Tj +-250 TJm +(Reading) 33.2053 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +170.361 124.985 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 124.985 Td +/F122_0 9.9626 Tf +(34) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +536.068 50.852 Td +(iii) 8.3088 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 1 4 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 701.916 Td +/F116_0 24.7902 Tf +(1.) 20.675 Tj +-278 TJm +(Intr) 39.937 Tj +20 TJm +(oduction) 104.6642 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 679.998 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.507 679.998 Td +/F122_0 9.9626 Tf +(compresses) 45.9276 Tj +-263 TJm +(\002les) 16.6077 Tj +-263 TJm +(using) 21.589 Tj +-263 TJm +(the) 12.1743 Tj +-262 TJm +(Burro) 23.2427 Tj +25 TJm +(ws-Wheeler) 48.1293 Tj +-263 TJm +(block-sorting) 53.1305 Tj +-263 TJm +(te) 7.193 Tj +15 TJm +(xt) 7.7509 Tj +-263 TJm +(compression) 50.3609 Tj +-263 TJm +(algorithm,) 41.2352 Tj +-266 TJm +(and) 14.386 Tj +-263 TJm +(Huf) 15.4918 Tj +25 TJm +(fman) 20.4731 Tj +-263 TJm +(coding.) 29.6088 Tj +72 668.043 Td +(Compression) 52.5826 Tj +-203 TJm +(is) 6.6451 Tj +-204 TJm +(generally) 37.0708 Tj +-203 TJm +(considerably) 50.9089 Tj +-203 TJm +(better) 22.6848 Tj +-204 TJm +(t) 2.7696 Tj +1 TJm +(han) 14.386 Tj +-204 TJm +(that) 14.9439 Tj +-203 TJm +(achie) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ed) 9.4047 Tj +-203 TJm +(by) 9.9626 Tj +-204 TJm +(more) 20.4731 Tj +-203 TJm +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(entional) 32.0995 Tj +-203 TJm +(LZ77/LZ78-based) 73.0458 Tj +-204 TJm +(compressors,) 52.2937 Tj +72 656.087 Td +(and) 14.386 Tj +-250 TJm +(approaches) 44.8118 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(performance) 50.341 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(PPM) 19.9352 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(amily) 22.6948 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(statistical) 37.6387 Tj +-250 TJm +(compressors.) 52.2937 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 634.17 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +105.074 634.17 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-320 TJm +(b) 4.9813 Tj +20 TJm +(uilt) 13.2901 Tj +-319 TJm +(on) 9.9626 Tj +-320 TJm +(top) 12.7322 Tj +-320 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.712 634.17 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +224.533 634.17 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-337 TJm +(a) 4.4234 Tj +-320 TJm +(\003e) 9.9626 Tj +15 TJm +(xible) 19.9252 Tj +-320 TJm +(library) 26.5603 Tj +-319 TJm +(for) 11.6164 Tj +-320 TJm +(handling) 34.8691 Tj +-320 TJm +(compressed) 47.0334 Tj +-320 TJm +(data) 16.5977 Tj +-319 TJm +(in) 7.7509 Tj +-320 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +449.816 634.17 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +482.889 634.17 Td +/F122_0 9.9626 Tf +(format.) 29.0509 Tj +-1039 TJm +(This) 17.7135 Tj +72 622.214 Td +(manual) 29.3299 Tj +-316 TJm +(describes) 37.0708 Tj +-316 TJm +(both) 17.7135 Tj +-317 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-316 TJm +(to) 7.7509 Tj +-316 TJm +(use) 13.2801 Tj +-316 TJm +(the) 12.1743 Tj +-316 TJm +(program) 33.7533 Tj +-316 TJm +(and) 14.386 Tj +-317 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-316 TJm +(to) 7.7509 Tj +-316 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-316 TJm +(with) 17.7135 Tj +-316 TJm +(the) 12.1743 Tj +-317 TJm +(library) 26.5603 Tj +-316 TJm +(interf) 21.579 Tj +10 TJm +(ace.) 15.7608 Tj +-1017 TJm +(Most) 20.4831 Tj +-316 TJm +(of) 8.2988 Tj +-316 TJm +(the) 12.1743 Tj +-317 TJm +(manual) 29.3299 Tj +-316 TJm +(is) 6.6451 Tj +72 610.259 Td +(de) 9.4047 Tj +25 TJm +(v) 4.9813 Tj +20 TJm +(oted) 17.1556 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(program,) 36.2439 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(good) 19.9252 Tj +-250 TJm +(ne) 9.4047 Tj +25 TJm +(ws) 11.0684 Tj +-250 TJm +(if) 6.0871 Tj +-250 TJm +(your) 18.2614 Tj +-250 TJm +(interest) 29.3299 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(only) 17.7135 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(program.) 36.2439 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 578.379 Td +(\225) 3.4869 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-450 TJm +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-278 TJm +(to) 7.7509 Tj +-278 TJm +(use) 13.2801 Tj +-277 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-278 TJm +([2]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-278 TJm +(describes) 37.0708 Tj +-278 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-278 TJm +(to) 7.7509 Tj +-278 TJm +(use) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +256.282 578.379 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +286.17 578.379 Td +/F122_0 9.9626 Tf +(;) 2.7696 Tj +-292 TJm +(this) 14.396 Tj +-278 TJm +(is) 6.6451 Tj +-277 TJm +(the) 12.1743 Tj +-278 TJm +(only) 17.7135 Tj +-278 TJm +(part) 15.4918 Tj +-278 TJm +(you) 14.9439 Tj +-278 TJm +(need) 18.8094 Tj +-278 TJm +(to) 7.7509 Tj +-277 TJm +(read) 17.1456 Tj +-278 TJm +(if) 6.0871 Tj +-278 TJm +(you) 14.9439 Tj +-278 TJm +(just) 14.396 Tj +-278 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-277 TJm +(to) 7.7509 Tj +-278 TJm +(kno) 14.9439 Tj +25 TJm +(w) 7.193 Tj +81.963 566.424 Td +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(operate) 29.3199 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(program.) 36.2439 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 544.506 Td +(\225) 3.4869 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-450 TJm +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(libbzip2) 32.6574 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +([8]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(describes) 37.0708 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(programming) 54.2364 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(aces) 17.1456 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(detail,) 24.6275 Tj +-250 TJm +(and) 14.386 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 522.588 Td +(\225) 3.4869 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-450 TJm +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +([31]) 16.5977 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(records) 29.3199 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(miscellaneous) 56.4481 Tj +-250 TJm +(notes) 21.031 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(I) 3.3175 Tj +-250 TJm +(thought) 30.4457 Tj +-250 TJm +(ought) 22.6948 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(recorded) 34.8492 Tj +-250 TJm +(some) 21.031 Tj +25 TJm +(where.) 26.8293 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.852 Td +(1) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 2 5 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 701.916 Td +/F116_0 24.7902 Tf +(2.) 20.675 Tj +-278 TJm +(Ho) 33.0453 Tj +15 TJm +(w) 19.2868 Tj +-278 TJm +(to) 23.4019 Tj +-278 TJm +(use) 42.7135 Tj +-278 TJm +(bzip2) 63.3638 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 656.35 Td +/F116_0 17.2154 Tf +(T) 10.5186 Tj +80 TJm +(ab) 20.0904 Tj +10 TJm +(le) 14.3576 Tj +-278 TJm +(of) 16.2513 Tj +-278 TJm +(Contents) 74.5943 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 635.788 Td +/F122_0 9.9626 Tf +(2.1.) 14.9439 Tj +-310 TJm +(N) 7.193 Tj +35 TJm +(AME) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +132.691 635.788 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 635.788 Td +/F122_0 9.9626 Tf +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 623.832 Td +(2.2.) 14.9439 Tj +-310 TJm +(SYNOPSIS) 47.0534 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +150.582 623.832 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 623.832 Td +/F122_0 9.9626 Tf +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 611.877 Td +(2.3.) 14.9439 Tj +-310 TJm +(DESCRIPTION) 64.7569 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +168.29 611.877 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 611.877 Td +/F122_0 9.9626 Tf +(3) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 599.922 Td +(2.4.) 14.9439 Tj +-310 TJm +(OPTIONS) 42.0621 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.873 599.922 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 599.922 Td +/F122_0 9.9626 Tf +(4) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 587.967 Td +(2.5.) 14.9439 Tj +-310 TJm +(MEMOR) 37.6387 Tj +65 TJm +(Y) 7.193 Tj +-250 TJm +(MAN) 23.2427 Tj +35 TJm +(A) 7.193 Tj +40 TJm +(GEMENT) 41.5042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.412 587.967 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 587.967 Td +/F122_0 9.9626 Tf +(5) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 576.012 Td +(2.6.) 14.9439 Tj +-310 TJm +(RECO) 26.5703 Tj +50 TJm +(VERING) 37.6287 Tj +-250 TJm +(D) 7.193 Tj +40 TJm +(A) 7.193 Tj +111 TJm +(T) 6.0871 Tj +93 TJm +(A) 7.193 Tj +-250 TJm +(FR) 12.1843 Tj +40 TJm +(OM) 16.0497 Tj +-250 TJm +(D) 7.193 Tj +40 TJm +(AMA) 23.2427 Tj +40 TJm +(GED) 20.4731 Tj +-250 TJm +(FILES) 26.5703 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +308.464 576.012 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 576.012 Td +/F122_0 9.9626 Tf +(6) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 564.057 Td +(2.7.) 14.9439 Tj +-310 TJm +(PERFORMANCE) 73.6236 Tj +-250 TJm +(NO) 14.386 Tj +40 TJm +(TES) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +211.958 564.057 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 564.057 Td +/F122_0 9.9626 Tf +(6) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 552.101 Td +(2.8.) 14.9439 Tj +-310 TJm +(CA) 13.8381 Tj +135 TJm +(VEA) 20.4731 Tj +111 TJm +(TS) 11.6264 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +148.799 552.101 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 552.101 Td +/F122_0 9.9626 Tf +(7) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 540.146 Td +(2.9.) 14.9439 Tj +-310 TJm +(A) 7.193 Tj +55 TJm +(UTHOR) 34.3112 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.32 540.146 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 540.146 Td +/F122_0 9.9626 Tf +(7) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 508.266 Td +(This) 17.7135 Tj +-250 TJm +(chapter) 29.3199 Tj +-250 TJm +(contains) 33.2053 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(cop) 14.386 Tj +10 TJm +(y) 4.9813 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +213.837 508.266 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +246.215 508.266 Td +/F122_0 9.9626 Tf +(man) 17.1556 Tj +-250 TJm +(page,) 21.3 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(nothing) 30.4457 Tj +-250 TJm +(else.) 17.9825 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 473.513 Td +/F116_0 20.6585 Tf +(2.1.) 34.4584 Tj +-278 TJm +(NAME) 60.8186 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 441.632 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 441.632 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +112.349 441.632 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +117.33 441.632 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.664 441.632 Td +/F122_0 9.9626 Tf +(-) 3.3175 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(block-sorting) 53.1305 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(compressor) 45.9276 Tj +40 TJm +(,) 2.4907 Tj +-250 TJm +(v1.0.6) 24.9065 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 419.715 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 419.715 Td +/F124_0 9.9626 Tf +(bzcat) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +114.839 419.715 Td +/F122_0 9.9626 Tf +(-) 3.3175 Tj +-250 TJm +(decompresses) 55.3323 Tj +-250 TJm +(\002les) 16.6077 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(stdout) 24.3586 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 397.797 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 397.797 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +156.682 397.797 Td +/F122_0 9.9626 Tf +(-) 3.3175 Tj +-250 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ers) 11.6164 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(damaged) 35.965 Tj +-250 TJm +(bzip2) 22.1369 Tj +-250 TJm +(\002les) 16.6077 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 353.081 Td +/F116_0 20.6585 Tf +(2.2.) 34.4584 Tj +-278 TJm +(SYNOPSIS) 105.6269 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 321.201 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 321.201 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +114.839 321.201 Td +/F122_0 9.9626 Tf +([) 3.3175 Tj +-250 TJm +(-cdfkqstvzVL123456789) 100.164 Tj +-250 TJm +(]) 3.3175 Tj +-250 TJm +([) 3.3175 Tj +-250 TJm +(\002lenames) 38.1866 Tj +-250 TJm +(...) 7.472 Tj +-620 TJm +(]) 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 299.283 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 299.283 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +126.795 299.283 Td +/F122_0 9.9626 Tf +([) 3.3175 Tj +-250 TJm +(-fkvsVL) 33.7533 Tj +-250 TJm +(]) 3.3175 Tj +-250 TJm +([) 3.3175 Tj +-250 TJm +(\002lenames) 38.1866 Tj +-250 TJm +(...) 7.472 Tj +-620 TJm +(]) 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 277.365 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 277.365 Td +/F124_0 9.9626 Tf +(bzcat) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +114.839 277.365 Td +/F122_0 9.9626 Tf +([) 3.3175 Tj +-250 TJm +(-s) 7.193 Tj +-250 TJm +(]) 3.3175 Tj +-250 TJm +([) 3.3175 Tj +-250 TJm +(\002lenames) 38.1866 Tj +-250 TJm +(...) 7.472 Tj +-620 TJm +(]) 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 255.447 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 255.447 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +156.683 255.447 Td +/F122_0 9.9626 Tf +(\002lename) 34.3112 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.852 Td +(2) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 3 6 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +477.109 749.245 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 704.93 Td +/F116_0 20.6585 Tf +(2.3.) 34.4584 Tj +-278 TJm +(DESCRIPTION) 141.1802 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 683.012 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.56 683.012 Td +/F122_0 9.9626 Tf +(compresses) 45.9276 Tj +-268 TJm +(\002les) 16.6077 Tj +-268 TJm +(using) 21.589 Tj +-268 TJm +(the) 12.1743 Tj +-269 TJm +(Burro) 23.2427 Tj +25 TJm +(ws-Wheeler) 48.1293 Tj +-268 TJm +(block) 22.1369 Tj +-268 TJm +(sorting) 27.6761 Tj +-268 TJm +(te) 7.193 Tj +15 TJm +(xt) 7.7509 Tj +-268 TJm +(compression) 50.3609 Tj +-268 TJm +(algorithm,) 41.2352 Tj +-273 TJm +(and) 14.386 Tj +-268 TJm +(Huf) 15.4918 Tj +25 TJm +(fman) 20.4731 Tj +-268 TJm +(coding.) 29.6088 Tj +72 671.057 Td +(Compression) 52.5826 Tj +-203 TJm +(is) 6.6451 Tj +-204 TJm +(generally) 37.0708 Tj +-203 TJm +(considerably) 50.9089 Tj +-203 TJm +(better) 22.6848 Tj +-204 TJm +(t) 2.7696 Tj +1 TJm +(han) 14.386 Tj +-204 TJm +(that) 14.9439 Tj +-203 TJm +(achie) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ed) 9.4047 Tj +-203 TJm +(by) 9.9626 Tj +-204 TJm +(more) 20.4731 Tj +-203 TJm +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(entional) 32.0995 Tj +-203 TJm +(LZ77/LZ78-based) 73.0458 Tj +-204 TJm +(compressors,) 52.2937 Tj +72 659.101 Td +(and) 14.386 Tj +-250 TJm +(approaches) 44.8118 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(performance) 50.341 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(PPM) 19.9352 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(amily) 22.6948 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(statistical) 37.6387 Tj +-250 TJm +(compressors.) 52.2937 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 637.184 Td +(The) 15.4918 Tj +-250 TJm +(command-line) 57.5539 Tj +-250 TJm +(options) 29.3399 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(deliberately) 47.0334 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-250 TJm +(similar) 27.6761 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(those) 21.031 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(GNU) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +364.869 637.184 Td +/F124_0 9.9626 Tf +(gzip) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +388.779 637.184 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(identical.) 36.8018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 615.266 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +105.175 615.266 Td +/F122_0 9.9626 Tf +(e) 4.4234 Tj +15 TJm +(xpects) 25.4544 Tj +-330 TJm +(a) 4.4234 Tj +-330 TJm +(list) 12.1843 Tj +-330 TJm +(of) 8.2988 Tj +-330 TJm +(\002le) 12.7322 Tj +-329 TJm +(names) 25.4544 Tj +-330 TJm +(to) 7.7509 Tj +-330 TJm +(accompan) 40.3884 Tj +15 TJm +(y) 4.9813 Tj +-330 TJm +(the) 12.1743 Tj +-330 TJm +(command-line) 57.5539 Tj +-330 TJm +(\003ags.) 21.31 Tj +-1099 TJm +(Each) 19.9152 Tj +-330 TJm +(\002le) 12.7322 Tj +-330 TJm +(is) 6.6451 Tj +-330 TJm +(replaced) 33.7433 Tj +-330 TJm +(by) 9.9626 Tj +-330 TJm +(a) 4.4234 Tj +-330 TJm +(compressed) 47.0334 Tj +72 603.311 Td +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-349 TJm +(of) 8.2988 Tj +-348 TJm +(itself,) 22.4159 Tj +-373 TJm +(with) 17.7135 Tj +-349 TJm +(the) 12.1743 Tj +-349 TJm +(name) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +204.444 603.311 Td +/F124_0 9.9626 Tf +(original_name.bz2) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +306.063 603.311 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1212 TJm +(Each) 19.9152 Tj +-348 TJm +(compressed) 47.0334 Tj +-349 TJm +(\002le) 12.7322 Tj +-348 TJm +(has) 13.2801 Tj +-349 TJm +(the) 12.1743 Tj +-348 TJm +(same) 20.4731 Tj +-349 TJm +(modi\002cation) 50.3709 Tj +-349 TJm +(date,) 19.0883 Tj +72 591.356 Td +(permissions,) 50.092 Tj +-344 TJm +(and,) 16.8766 Tj +-344 TJm +(when) 21.579 Tj +-325 TJm +(possible,) 35.1481 Tj +-344 TJm +(o) 4.9813 Tj +25 TJm +(wnership) 36.5229 Tj +-325 TJm +(as) 8.2988 Tj +-325 TJm +(the) 12.1743 Tj +-326 TJm +(corresponding) 56.996 Tj +-325 TJm +(original,) 33.4843 Tj +-344 TJm +(so) 8.8568 Tj +-325 TJm +(that) 14.9439 Tj +-325 TJm +(these) 20.4731 Tj +-325 TJm +(properties) 39.8404 Tj +-325 TJm +(can) 13.8281 Tj +-326 TJm +(be) 9.4047 Tj +-325 TJm +(correctly) 35.4071 Tj +72 579.4 Td +(restored) 32.0895 Tj +-308 TJm +(at) 7.193 Tj +-308 TJm +(decompression) 59.7656 Tj +-307 TJm +(time.) 20.2042 Tj +-484 TJm +(File) 15.5018 Tj +-308 TJm +(name) 21.579 Tj +-308 TJm +(handling) 34.8691 Tj +-308 TJm +(is) 6.6451 Tj +-307 TJm +(nai) 12.1743 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-308 TJm +(in) 7.7509 Tj +-308 TJm +(the) 12.1743 Tj +-308 TJm +(sense) 21.579 Tj +-308 TJm +(that) 14.9439 Tj +-308 TJm +(there) 19.9152 Tj +-307 TJm +(is) 6.6451 Tj +-308 TJm +(no) 9.9626 Tj +-308 TJm +(mechanism) 45.3796 Tj +-308 TJm +(for) 11.6164 Tj +-308 TJm +(preserving) 42.0521 Tj +72 567.445 Td +(original) 30.9936 Tj +-334 TJm +(\002le) 12.7322 Tj +-333 TJm +(names,) 27.9451 Tj +-355 TJm +(permissions,) 50.092 Tj +-355 TJm +(o) 4.9813 Tj +25 TJm +(wnerships) 40.3983 Tj +-333 TJm +(or) 8.2988 Tj +-334 TJm +(dates) 20.4731 Tj +-334 TJm +(in) 7.7509 Tj +-333 TJm +(\002lesystems) 44.2838 Tj +-334 TJm +(which) 24.3486 Tj +-334 TJm +(lack) 16.5977 Tj +-333 TJm +(these) 20.4731 Tj +-334 TJm +(concepts,) 37.3498 Tj +-355 TJm +(or) 8.2988 Tj +-333 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-334 TJm +(serious) 28.224 Tj +-334 TJm +(\002le) 12.7322 Tj +72 555.49 Td +(name) 21.579 Tj +-250 TJm +(length) 24.9065 Tj +-250 TJm +(restrictions,) 46.7644 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(as) 8.2988 Tj +-250 TJm +(MS-DOS.) 40.1294 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 533.572 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.379 533.572 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +121.255 533.572 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +165.589 533.572 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(erwrite) 28.2141 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xisting) 27.1282 Tj +-250 TJm +(\002les.) 19.0983 Tj +-620 TJm +(If) 6.6351 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(happen,) 31.2626 Tj +-250 TJm +(specify) 28.772 Tj +-250 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +495.977 533.572 Td +/F124_0 9.9626 Tf +(-f) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +510.423 533.572 Td +/F122_0 9.9626 Tf +(\003ag.) 17.4346 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 511.654 Td +(If) 6.6351 Tj +-284 TJm +(no) 9.9626 Tj +-285 TJm +(\002le) 12.7322 Tj +-284 TJm +(names) 25.4544 Tj +-284 TJm +(are) 12.1643 Tj +-284 TJm +(speci\002ed,) 37.9077 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.935 511.654 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +226.655 511.654 Td +/F122_0 9.9626 Tf +(compresses) 45.9276 Tj +-284 TJm +(from) 19.3673 Tj +-285 TJm +(standard) 33.7533 Tj +-284 TJm +(input) 20.4831 Tj +-284 TJm +(to) 7.7509 Tj +-284 TJm +(standard) 33.7533 Tj +-285 TJm +(output.) 27.9551 Tj +-825 TJm +(In) 8.2988 Tj +-285 TJm +(this) 14.396 Tj +-284 TJm +(case,) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +491.778 511.654 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +524.499 511.654 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +72 499.699 Td +(decline) 28.772 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(write) 20.4731 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(terminal,) 35.696 Tj +-250 TJm +(as) 8.2988 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(entirely) 30.4357 Tj +-250 TJm +(incomprehensible) 70.8341 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(therefore) 35.955 Tj +-250 TJm +(pointless.) 37.9177 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 477.781 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +116.176 477.781 Td +/F122_0 9.9626 Tf +(\(or) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +130.125 477.781 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-600 TJm +(-d) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +177.946 477.781 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-234 TJm +(decompresses) 55.3323 Tj +-234 TJm +(all) 9.9626 Tj +-234 TJm +(speci\002ed) 35.417 Tj +-235 TJm +(\002les.) 19.0983 Tj +-609 TJm +(Files) 19.3773 Tj +-234 TJm +(which) 24.3486 Tj +-234 TJm +(were) 19.3573 Tj +-234 TJm +(not) 12.7322 Tj +-235 TJm +(created) 28.762 Tj +-234 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +445.012 477.781 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +477.233 477.781 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-234 TJm +(be) 9.4047 Tj +-234 TJm +(detected) 33.1954 Tj +72 465.826 Td +(and) 14.386 Tj +-280 TJm +(i) 2.7696 Tj +1 TJm +(gnored,) 30.1568 Tj +-287 TJm +(and) 14.386 Tj +-280 TJm +(a) 4.4234 Tj +-279 TJm +(w) 7.193 Tj +10 TJm +(arning) 25.4544 Tj +-280 TJm +(issued.) 27.3972 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.033 465.826 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +248.705 465.826 Td +/F122_0 9.9626 Tf +(attempts) 33.7633 Tj +-279 TJm +(to) 7.7509 Tj +-280 TJm +(guess) 22.1369 Tj +-279 TJm +(the) 12.1743 Tj +-280 TJm +(\002lename) 34.3112 Tj +-279 TJm +(for) 11.6164 Tj +-280 TJm +(the) 12.1743 Tj +-279 TJm +(decompressed) 56.4381 Tj +-280 TJm +(\002le) 12.7322 Tj +-279 TJm +(from) 19.3673 Tj +-280 TJm +(that) 14.9439 Tj +-279 TJm +(of) 8.2988 Tj +-280 TJm +(the) 12.1743 Tj +72 453.871 Td +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(as) 8.2988 Tj +-250 TJm +(follo) 18.8194 Tj +25 TJm +(ws:) 13.8381 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 421.991 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 421.991 Td +/F124_0 9.9626 Tf +(filename.bz2) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.66 421.991 Td +/F122_0 9.9626 Tf +(becomes) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.01 421.991 Td +/F124_0 9.9626 Tf +(filename) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 400.073 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 400.073 Td +/F124_0 9.9626 Tf +(filename.bz) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +156.682 400.073 Td +/F122_0 9.9626 Tf +(becomes) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +194.032 400.073 Td +/F124_0 9.9626 Tf +(filename) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 378.155 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 378.155 Td +/F124_0 9.9626 Tf +(filename.tbz2) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.66 378.155 Td +/F122_0 9.9626 Tf +(becomes) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.01 378.155 Td +/F124_0 9.9626 Tf +(filename.tar) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 356.237 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 356.237 Td +/F124_0 9.9626 Tf +(filename.tbz) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.66 356.237 Td +/F122_0 9.9626 Tf +(becomes) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.01 356.237 Td +/F124_0 9.9626 Tf +(filename.tar) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 334.319 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 334.319 Td +/F124_0 9.9626 Tf +(anyothername) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.66 334.319 Td +/F122_0 9.9626 Tf +(becomes) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.01 334.319 Td +/F124_0 9.9626 Tf +(anyothername.out) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 312.402 Td +/F122_0 9.9626 Tf +(If) 6.6351 Tj +-342 TJm +(the) 12.1743 Tj +-342 TJm +(\002le) 12.7322 Tj +-342 TJm +(does) 18.2614 Tj +-342 TJm +(n) 4.9813 Tj +-1 TJm +(ot) 7.7509 Tj +-342 TJm +(end) 14.386 Tj +-342 TJm +(in) 7.7509 Tj +-342 TJm +(one) 14.386 Tj +-342 TJm +(of) 8.2988 Tj +-342 TJm +(the) 12.1743 Tj +-342 TJm +(recognised) 43.158 Tj +-342 TJm +(endings,) 33.4843 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +309.305 312.402 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +333.215 312.402 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +339.344 312.402 Td +/F124_0 9.9626 Tf +(.bz) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +357.276 312.402 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.405 312.402 Td +/F124_0 9.9626 Tf +(.tbz2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +396.702 312.402 Td +/F122_0 9.9626 Tf +(or) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +408.409 312.402 Td +/F124_0 9.9626 Tf +(.tbz) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +432.319 312.402 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +438.448 312.402 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +471.744 312.402 Td +/F122_0 9.9626 Tf +(complains) 40.9562 Tj +-342 TJm +(that) 14.9439 Tj +-342 TJm +(it) 5.5392 Tj +72 300.446 Td +(cannot) 26.5603 Tj +-250 TJm +(guess) 22.1369 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(name) 21.579 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(original) 30.9936 Tj +-250 TJm +(\002le,) 15.2229 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(uses) 17.1556 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(original) 30.9936 Tj +-250 TJm +(name) 21.579 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +370.009 300.446 Td +/F124_0 9.9626 Tf +(.out) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +396.41 300.446 Td +/F122_0 9.9626 Tf +(appended.) 40.6673 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 278.529 Td +(As) 11.0684 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(compression,) 52.8516 Tj +-250 TJm +(supplying) 39.3025 Tj +-250 TJm +(no) 9.9626 Tj +-250 TJm +(\002lenames) 38.1866 Tj +-250 TJm +(causes) 26.0024 Tj +-250 TJm +(decompression) 59.7656 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(standard) 33.7533 Tj +-250 TJm +(input) 20.4831 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(standard) 33.7533 Tj +-250 TJm +(output.) 27.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 256.611 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +116.409 256.611 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-257 TJm +(correctly) 35.4071 Tj +-258 TJm +(decompress) 47.0334 Tj +-257 TJm +(a) 4.4234 Tj +-258 TJm +(\002le) 12.7322 Tj +-257 TJm +(which) 24.3486 Tj +-258 TJm +(is) 6.6451 Tj +-257 TJm +(the) 12.1743 Tj +-258 TJm +(concatenation) 55.3323 Tj +-257 TJm +(of) 8.2988 Tj +-258 TJm +(tw) 9.9626 Tj +10 TJm +(o) 4.9813 Tj +-258 TJm +(or) 8.2988 Tj +-257 TJm +(more) 20.4731 Tj +-258 TJm +(compressed) 47.0334 Tj +-257 TJm +(\002les.) 19.0983 Tj +-665 TJm +(The) 15.4918 Tj +-258 TJm +(result) 22.1369 Tj +-257 TJm +(is) 6.6451 Tj +72 244.656 Td +(the) 12.1743 Tj +-239 TJm +(concatenation) 55.3323 Tj +-238 TJm +(of) 8.2988 Tj +-239 TJm +(the) 12.1743 Tj +-239 TJm +(corresponding) 56.996 Tj +-239 TJm +(uncompressed) 56.996 Tj +-238 TJm +(\002les.) 19.0983 Tj +-613 TJm +(Inte) 15.4918 Tj +15 TJm +(grity) 18.8194 Tj +-238 TJm +(testing) 26.5703 Tj +-239 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +382.247 244.656 Td +/F124_0 9.9626 Tf +(-t) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +394.202 244.656 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-239 TJm +(of) 8.2988 Tj +-238 TJm +(concatenated) 52.0048 Tj +-239 TJm +(compressed) 47.0334 Tj +-239 TJm +(\002les) 16.6077 Tj +-239 TJm +(is) 6.6451 Tj +72 232.7 Td +(also) 16.0497 Tj +-250 TJm +(supported.) 41.7831 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 210.783 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-399 TJm +(can) 13.8281 Tj +-399 TJm +(also) 16.0497 Tj +-399 TJm +(compress) 37.6287 Tj +-400 TJm +(or) 8.2988 Tj +-399 TJm +(decompress) 47.0334 Tj +-399 TJm +(\002les) 16.6077 Tj +-399 TJm +(to) 7.7509 Tj +-399 TJm +(the) 12.1743 Tj +-399 TJm +(standard) 33.7533 Tj +-399 TJm +(output) 25.4644 Tj +-399 TJm +(by) 9.9626 Tj +-400 TJm +(gi) 7.7509 Tj +25 TJm +(ving) 17.7135 Tj +-399 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +409.67 210.783 Td +/F124_0 9.9626 Tf +(-c) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +425.602 210.783 Td +/F122_0 9.9626 Tf +(\003ag.) 17.4346 Tj +-757 TJm +(Multiple) 34.3212 Tj +-400 TJm +(\002l) 8.3088 Tj +1 TJm +(es) 8.2988 Tj +-400 TJm +(may) 17.1556 Tj +-399 TJm +(be) 9.4047 Tj +72 198.827 Td +(compressed) 47.0334 Tj +-367 TJm +(and) 14.386 Tj +-367 TJm +(decompressed) 56.4381 Tj +-367 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-367 TJm +(this.) 16.8866 Tj +-1321 TJm +(The) 15.4918 Tj +-367 TJm +(resulting) 34.8691 Tj +-367 TJm +(outputs) 29.3399 Tj +-367 TJm +(are) 12.1643 Tj +-367 TJm +(fed) 12.7222 Tj +-367 TJm +(sequentially) 48.1492 Tj +-366 TJm +(to) 7.7509 Tj +-367 TJm +(stdout.) 26.8492 Tj +-1322 TJm +(Compression) 52.5826 Tj +-367 TJm +(of) 8.2988 Tj +72 186.872 Td +(multiple) 33.2153 Tj +-289 TJm +(\002les) 16.6077 Tj +-289 TJm +(in) 7.7509 Tj +-289 TJm +(this) 14.396 Tj +-289 TJm +(manner) 29.8778 Tj +-288 TJm +(generates) 37.6188 Tj +-289 TJm +(a) 4.4234 Tj +-289 TJm +(stream) 26.5603 Tj +-289 TJm +(containing) 42.0621 Tj +-289 TJm +(multiple) 33.2153 Tj +-289 TJm +(compressed) 47.0334 Tj +-289 TJm +(\002le) 12.7322 Tj +-289 TJm +(representations.) 62.8042 Tj +-853 TJm +(Such) 19.9252 Tj +-289 TJm +(a) 4.4234 Tj +-289 TJm +(stream) 26.5603 Tj +72 174.917 Td +(can) 13.8281 Tj +-391 TJm +(be) 9.4047 Tj +-391 TJm +(decompressed) 56.4381 Tj +-390 TJm +(correctly) 35.4071 Tj +-391 TJm +(only) 17.7135 Tj +-391 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.116 174.917 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +271.898 174.917 Td +/F122_0 9.9626 Tf +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-391 TJm +(0.9.0) 19.9252 Tj +-391 TJm +(or) 8.2988 Tj +-390 TJm +(later) 17.7035 Tj +55 TJm +(.) 2.4907 Tj +-733 TJm +(Earlier) 27.1082 Tj +-391 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-391 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +448.071 174.917 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +481.852 174.917 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-391 TJm +(stop) 16.6077 Tj +-391 TJm +(after) 18.2515 Tj +72 162.962 Td +(decompressing) 59.7656 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002rst) 15.5018 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 141.044 Td +/F124_0 9.9626 Tf +(bzcat) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.379 141.044 Td +/F122_0 9.9626 Tf +(\(or) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +118.486 141.044 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-600 TJm +(-dc) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.284 141.044 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-250 TJm +(decompresses) 55.3323 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(speci\002ed) 35.417 Tj +-250 TJm +(\002les) 16.6077 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(standard) 33.7533 Tj +-250 TJm +(output.) 27.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 119.126 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.866 119.126 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-299 TJm +(read) 17.1456 Tj +-299 TJm +(ar) 7.7409 Tj +18 TJm +(guments) 33.7633 Tj +-299 TJm +(from) 19.3673 Tj +-299 TJm +(the) 12.1743 Tj +-299 TJm +(en) 9.4047 Tj +40 TJm +(vironment) 40.9562 Tj +-298 TJm +(v) 4.9813 Tj +25 TJm +(ariables) 30.9837 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +316.903 119.126 Td +/F124_0 9.9626 Tf +(BZIP2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +349.769 119.126 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +367.133 119.126 Td +/F124_0 9.9626 Tf +(BZIP) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +391.043 119.126 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-299 TJm +(in) 7.7509 Tj +-299 TJm +(that) 14.9439 Tj +-299 TJm +(order) 21.0211 Tj +40 TJm +(,) 2.4907 Tj +-311 TJm +(and) 14.386 Tj +-299 TJm +(will) 15.5018 Tj +-299 TJm +(process) 29.8778 Tj +-299 TJm +(them) 19.9252 Tj +72 107.171 Td +(before) 25.4445 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(ar) 7.7409 Tj +18 TJm +(guments) 33.7633 Tj +-250 TJm +(read) 17.1456 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(command) 39.2925 Tj +-250 TJm +(line.) 17.4346 Tj +-310 TJm +(This) 17.7135 Tj +-250 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(enient) 24.3486 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(supply) 26.5703 Tj +-250 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-250 TJm +(ar) 7.7409 Tj +18 TJm +(guments.) 36.2539 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 85.253 Td +(Compression) 52.5826 Tj +-294 TJm +(is) 6.6451 Tj +-294 TJm +(al) 7.193 Tj +10 TJm +(w) 7.193 Tj +10 TJm +(ays) 13.2801 Tj +-294 TJm +(performed,) 43.9849 Tj +-305 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-294 TJm +(if) 6.0871 Tj +-294 TJm +(the) 12.1743 Tj +-294 TJm +(compressed) 47.0334 Tj +-294 TJm +(\002le) 12.7322 Tj +-293 TJm +(is) 6.6451 Tj +-294 TJm +(slightly) 29.8978 Tj +-294 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +-294 TJm +(than) 17.1556 Tj +-294 TJm +(the) 12.1743 Tj +-294 TJm +(original.) 33.4843 Tj +-884 TJm +(Files) 19.3773 Tj +-294 TJm +(of) 8.2988 Tj +-294 TJm +(less) 14.9439 Tj +-294 TJm +(than) 17.1556 Tj +72 73.298 Td +(about) 22.1369 Tj +-246 TJm +(one) 14.386 Tj +-246 TJm +(hundred) 32.6474 Tj +-245 TJm +(bytes) 21.031 Tj +-246 TJm +(tend) 17.1556 Tj +-246 TJm +(to) 7.7509 Tj +-246 TJm +(get) 12.1743 Tj +-246 TJm +(l) 2.7696 Tj +1 TJm +(ar) 7.7409 Tj +18 TJm +(ger) 12.7222 Tj +40 TJm +(,) 2.4907 Tj +-247 TJm +(since) 20.4731 Tj +-246 TJm +(the) 12.1743 Tj +-246 TJm +(compression) 50.3609 Tj +-245 TJm +(mechanism) 45.3796 Tj +-246 TJm +(has) 13.2801 Tj +-246 TJm +(a) 4.4234 Tj +-246 TJm +(constant) 33.2053 Tj +-246 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(erhead) 26.5503 Tj +-245 TJm +(in) 7.7509 Tj +-246 TJm +(the) 12.1743 Tj +-246 TJm +(re) 7.7409 Tj +15 TJm +(gion) 17.7135 Tj +-246 TJm +(of) 8.2988 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.951 Td +(3) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 4 7 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +477.109 749.245 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(50) 9.9626 Tj +-264 TJm +(bytes.) 23.5217 Tj +-351 TJm +(Random) 33.7633 Tj +-264 TJm +(dat) 12.1743 Tj +1 TJm +(a) 4.4234 Tj +-264 TJm +(\(including) 40.9562 Tj +-264 TJm +(the) 12.1743 Tj +-264 TJm +(output) 25.4644 Tj +-263 TJm +(of) 8.2988 Tj +-264 TJm +(most) 19.3773 Tj +-264 TJm +(\002le) 12.7322 Tj +-263 TJm +(compressors\)) 53.1206 Tj +-264 TJm +(is) 6.6451 Tj +-264 TJm +(coded) 23.7907 Tj +-263 TJm +(at) 7.193 Tj +-264 TJm +(about) 22.1369 Tj +-264 TJm +(8.05) 17.4346 Tj +-263 TJm +(bits) 14.396 Tj +-264 TJm +(per) 12.7222 Tj +-264 TJm +(byte,) 19.6462 Tj +-267 TJm +(gi) 7.7509 Tj +25 TJm +(ving) 17.7135 Tj +-264 TJm +(an) 9.4047 Tj +72 698.082 Td +(e) 4.4234 Tj +15 TJm +(xpansion) 35.9749 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(around) 27.6661 Tj +-250 TJm +(0.5%.) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 676.283 Td +(As) 11.0684 Tj +-268 TJm +(a) 4.4234 Tj +-268 TJm +(self-check) 40.9363 Tj +-269 TJm +(for) 11.6164 Tj +-268 TJm +(your) 18.2614 Tj +-268 TJm +(protection,) 42.889 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +217.273 676.283 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +249.833 676.283 Td +/F122_0 9.9626 Tf +(uses) 17.1556 Tj +-268 TJm +(32-bit) 23.8007 Tj +-268 TJm +(CRCs) 23.8106 Tj +-269 TJm +(to) 7.7509 Tj +-268 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-268 TJm +(sure) 16.5977 Tj +-268 TJm +(that) 14.9439 Tj +-268 TJm +(the) 12.1743 Tj +-269 TJm +(decompressed) 56.4381 Tj +-268 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-268 TJm +(of) 8.2988 Tj +-268 TJm +(a) 4.4234 Tj +-268 TJm +(\002le) 12.7322 Tj +-269 TJm +(is) 6.6451 Tj +72 664.328 Td +(identical) 34.3112 Tj +-200 TJm +(to) 7.7509 Tj +-199 TJm +(the) 12.1743 Tj +-200 TJm +(original.) 33.4843 Tj +-586 TJm +(This) 17.7135 Tj +-200 TJm +(guards) 26.5603 Tj +-199 TJm +(ag) 9.4047 Tj +5 TJm +(ainst) 18.8194 Tj +-200 TJm +(corruption) 41.5042 Tj +-199 TJm +(of) 8.2988 Tj +-200 TJm +(the) 12.1743 Tj +-200 TJm +(compressed) 47.0334 Tj +-199 TJm +(data,) 19.0883 Tj +-210 TJm +(and) 14.386 Tj +-199 TJm +(ag) 9.4047 Tj +5 TJm +(ainst) 18.8194 Tj +-200 TJm +(undetected) 43.158 Tj +-200 TJm +(b) 4.9813 Tj +20 TJm +(ugs) 13.8381 Tj +-199 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +510.112 664.328 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 652.373 Td +/F122_0 9.9626 Tf +(\(hopefully) 41.5042 Tj +-275 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-274 TJm +(unlik) 20.4831 Tj +10 TJm +(ely\).) 17.9825 Tj +-384 TJm +(The) 15.4918 Tj +-275 TJm +(chances) 31.5316 Tj +-275 TJm +(of) 8.2988 Tj +-275 TJm +(data) 16.5977 Tj +-274 TJm +(corruption) 41.5042 Tj +-275 TJm +(going) 22.6948 Tj +-275 TJm +(undetected) 43.158 Tj +-274 TJm +(is) 6.6451 Tj +-275 TJm +(microscopic,) 51.1878 Tj +-281 TJm +(about) 22.1369 Tj +-275 TJm +(one) 14.386 Tj +-274 TJm +(chance) 27.6562 Tj +-275 TJm +(in) 7.7509 Tj +-275 TJm +(four) 16.5977 Tj +72 640.417 Td +(billion) 26.0223 Tj +-279 TJm +(for) 11.6164 Tj +-279 TJm +(each) 18.2515 Tj +-279 TJm +(\002le) 12.7322 Tj +-280 TJm +(processed.) 41.7732 Tj +-795 TJm +(Be) 11.0684 Tj +-279 TJm +(a) 4.4234 Tj +15 TJm +(w) 7.193 Tj +10 TJm +(are,) 14.655 Tj +-286 TJm +(though,) 30.1668 Tj +-287 TJm +(that) 14.9439 Tj +-279 TJm +(the) 12.1743 Tj +-279 TJm +(check) 23.2328 Tj +-279 TJm +(occurs) 26.0024 Tj +-279 TJm +(upon) 19.9252 Tj +-279 TJm +(decompression,) 62.2563 Tj +-287 TJm +(so) 8.8568 Tj +-279 TJm +(it) 5.5392 Tj +-279 TJm +(can) 13.8281 Tj +-279 TJm +(only) 17.7135 Tj +-280 TJm +(tell) 12.7322 Tj +-279 TJm +(you) 14.9439 Tj +72 628.462 Td +(that) 14.9439 Tj +-237 TJm +(something) 41.5142 Tj +-236 TJm +(is) 6.6451 Tj +-237 TJm +(wrong.) 27.9451 Tj +-611 TJm +(It) 6.0871 Tj +-237 TJm +(can') 17.1456 Tj +18 TJm +(t) 2.7696 Tj +-237 TJm +(help) 17.1556 Tj +-237 TJm +(you) 14.9439 Tj +-236 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-237 TJm +(the) 12.1743 Tj +-237 TJm +(original) 30.9936 Tj +-237 TJm +(uncompressed) 56.996 Tj +-236 TJm +(data.) 19.0883 Tj +-612 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-236 TJm +(can) 13.8281 Tj +-237 TJm +(use) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +458.159 628.462 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +532.249 628.462 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +72 616.507 Td +(try) 11.0684 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(damaged) 35.965 Tj +-250 TJm +(\002les.) 19.0983 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 594.708 Td +(Return) 27.1182 Tj +-298 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +-406 TJm +(0) 4.9813 Tj +-298 TJm +(for) 11.6164 Tj +-298 TJm +(a) 4.4234 Tj +-298 TJm +(normal) 28.224 Tj +-298 TJm +(e) 4.4234 Tj +15 TJm +(xit,) 13.0112 Tj +-310 TJm +(1) 4.9813 Tj +-298 TJm +(for) 11.6164 Tj +-297 TJm +(en) 9.4047 Tj +40 TJm +(vironmental) 48.1492 Tj +-298 TJm +(problems) 37.0808 Tj +-298 TJm +(\(\002le) 16.0497 Tj +-298 TJm +(not) 12.7322 Tj +-298 TJm +(found,) 25.7334 Tj +-310 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +25 TJm +(alid) 14.9439 Tj +-298 TJm +(\003ags,) 21.31 Tj +-310 TJm +(I/O) 13.2801 Tj +-298 TJm +(errors,) 25.7234 Tj +-310 TJm +(etc.\),) 19.9152 Tj +-310 TJm +(2) 4.9813 Tj +-298 TJm +(to) 7.7509 Tj +72 582.753 Td +(indicate) 31.5416 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(corrupt) 28.772 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le,) 15.2229 Tj +-250 TJm +(3) 4.9813 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(internal) 30.4357 Tj +-250 TJm +(consistenc) 41.5042 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(\(e) 7.7409 Tj +15 TJm +(g,) 7.472 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ug\)) 13.2801 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(caused) 27.1082 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +443.065 582.753 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +475.444 582.753 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(panic.) 24.0696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 548.118 Td +/F116_0 20.6585 Tf +(2.4.) 34.4584 Tj +-278 TJm +(OPTIONS) 92.9839 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 516.475 Td +/F124_0 9.9626 Tf +(-c) 11.9551 Tj +-600 TJm +(--stdout) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 504.52 Td +/F122_0 9.9626 Tf +(Compress) 39.8504 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(decompress) 47.0334 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(standard) 33.7533 Tj +-250 TJm +(output.) 27.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 478.854 Td +/F124_0 9.9626 Tf +(-d) 11.9551 Tj +-600 TJm +(--decompress) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 466.899 Td +/F122_0 9.9626 Tf +(F) 5.5392 Tj +15 TJm +(orce) 17.1456 Tj +-296 TJm +(decompression.) 62.2563 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.214 466.899 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +230.102 466.899 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +235.659 466.899 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +280.454 466.899 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +297.791 466.899 Td +/F124_0 9.9626 Tf +(bzcat) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +330.631 466.899 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-296 TJm +(really) 22.6848 Tj +-296 TJm +(the) 12.1743 Tj +-297 TJm +(same) 20.4731 Tj +-296 TJm +(program,) 36.2439 Tj +-308 TJm +(and) 14.386 Tj +-296 TJm +(the) 12.1743 Tj +-296 TJm +(decision) 33.2053 Tj +-297 TJm +(about) 22.1369 Tj +108 454.944 Td +(what) 19.3673 Tj +-303 TJm +(actions) 28.224 Tj +-303 TJm +(to) 7.7509 Tj +-303 TJm +(tak) 12.1743 Tj +10 TJm +(e) 4.4234 Tj +-303 TJm +(is) 6.6451 Tj +-303 TJm +(done) 19.3673 Tj +-303 TJm +(on) 9.9626 Tj +-304 TJm +(the) 12.1743 Tj +-303 TJm +(basis) 19.9252 Tj +-303 TJm +(of) 8.2988 Tj +-303 TJm +(which) 24.3486 Tj +-303 TJm +(name) 21.579 Tj +-303 TJm +(is) 6.6451 Tj +-303 TJm +(used.) 20.7521 Tj +-939 TJm +(This) 17.7135 Tj +-303 TJm +(\003ag) 14.9439 Tj +-303 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(errides) 27.1082 Tj +-303 TJm +(that) 14.9439 Tj +-303 TJm +(mechanism,) 47.8703 Tj +-316 TJm +(and) 14.386 Tj +108 442.988 Td +(forces) 24.3386 Tj +-250 TJm +(bzip2) 22.1369 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(decompress.) 49.5241 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 417.323 Td +/F124_0 9.9626 Tf +(-z) 11.9551 Tj +-600 TJm +(--compress) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 405.368 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-250 TJm +(complement) 49.2551 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +187.969 405.368 Td +/F124_0 9.9626 Tf +(-d) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +199.924 405.368 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +-310 TJm +(forces) 24.3386 Tj +-250 TJm +(compression,) 52.8516 Tj +-250 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(ardless) 27.6661 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +20 TJm +(okation) 29.8878 Tj +-250 TJm +(name.) 24.0696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 379.702 Td +/F124_0 9.9626 Tf +(-t) 11.9551 Tj +-600 TJm +(--test) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 367.747 Td +/F122_0 9.9626 Tf +(Check) 25.4544 Tj +-270 TJm +(inte) 14.9439 Tj +15 TJm +(grity) 18.8194 Tj +-271 TJm +(of) 8.2988 Tj +-270 TJm +(the) 12.1743 Tj +-271 TJm +(speci\002ed) 35.417 Tj +-270 TJm +(\002le\(s\),) 25.7334 Tj +-276 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-270 TJm +(don') 18.2614 Tj +18 TJm +(t) 2.7696 Tj +-270 TJm +(decompress) 47.0334 Tj +-271 TJm +(them.) 22.4159 Tj +-742 TJm +(This) 17.7135 Tj +-271 TJm +(really) 22.6848 Tj +-270 TJm +(performs) 35.965 Tj +-270 TJm +(a) 4.4234 Tj +-271 TJm +(trial) 16.0497 Tj +-270 TJm +(decompres-) 46.4755 Tj +108 355.792 Td +(sion) 16.6077 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(thro) 16.0497 Tj +25 TJm +(ws) 11.0684 Tj +-250 TJm +(a) 4.4234 Tj +15 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(result.) 24.6275 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 330.126 Td +/F124_0 9.9626 Tf +(-f) 11.9551 Tj +-600 TJm +(--force) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 318.171 Td +/F122_0 9.9626 Tf +(F) 5.5392 Tj +15 TJm +(orce) 17.1456 Tj +-338 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(erwrite) 28.2141 Tj +-339 TJm +(of) 8.2988 Tj +-338 TJm +(output) 25.4644 Tj +-338 TJm +(\002les.) 19.0983 Tj +-1150 TJm +(Normally) 38.1866 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +289.831 318.171 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +323.089 318.171 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-338 TJm +(not) 12.7322 Tj +-339 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(erwrite) 28.2141 Tj +-338 TJm +(e) 4.4234 Tj +15 TJm +(xisting) 27.1282 Tj +-338 TJm +(output) 25.4644 Tj +-338 TJm +(\002les.) 19.0983 Tj +-1150 TJm +(Also) 18.8194 Tj +-339 TJm +(forces) 24.3386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 306.215 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +140.379 306.215 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(break) 22.1269 Tj +-250 TJm +(hard) 17.7035 Tj +-250 TJm +(links) 19.3773 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(\002les,) 19.0983 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(otherwise) 38.7346 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ouldn') 26.0123 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(do.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 284.416 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +141.211 284.416 Td +/F122_0 9.9626 Tf +(normally) 35.9749 Tj +-334 TJm +(declines) 32.6474 Tj +-333 TJm +(to) 7.7509 Tj +-334 TJm +(decompress) 47.0334 Tj +-333 TJm +(\002les) 16.6077 Tj +-334 TJm +(which) 24.3486 Tj +-333 TJm +(don') 18.2614 Tj +18 TJm +(t) 2.7696 Tj +-334 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-333 TJm +(the) 12.1743 Tj +-334 TJm +(correct) 27.6562 Tj +-333 TJm +(magic) 24.3486 Tj +-334 TJm +(header) 26.5503 Tj +-333 TJm +(bytes.) 23.5217 Tj +-561 TJm +(If) 6.6351 Tj +-334 TJm +(forced) 25.4445 Tj +108 272.461 Td +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +111.318 272.461 Td +/F124_0 9.9626 Tf +(-f) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +123.273 272.461 Td +/F122_0 9.9626 Tf +(\),) 5.8082 Tj +-250 TJm +(ho) 9.9626 Tj +25 TJm +(we) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +40 TJm +(,) 2.4907 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(pass) 17.1556 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(\002les) 16.6077 Tj +-250 TJm +(through) 30.9936 Tj +-250 TJm +(unmodi\002ed.) 47.8803 Tj +-310 TJm +(This) 17.7135 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(GNU) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +412.585 272.461 Td +/F124_0 9.9626 Tf +(gzip) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +438.986 272.461 Td +/F122_0 9.9626 Tf +(beha) 18.8094 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(es.) 10.7895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 246.795 Td +/F124_0 9.9626 Tf +(-k) 11.9551 Tj +-600 TJm +(--keep) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 234.84 Td +/F122_0 9.9626 Tf +(K) 7.193 Tj +25 TJm +(eep) 13.8281 Tj +-250 TJm +(\(don') 21.579 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(delete\)) 27.1082 Tj +-250 TJm +(input) 20.4831 Tj +-250 TJm +(\002les) 16.6077 Tj +-250 TJm +(during) 26.0123 Tj +-250 TJm +(compression) 50.3609 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(decompression.) 62.2563 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 209.174 Td +/F124_0 9.9626 Tf +(-s) 11.9551 Tj +-600 TJm +(--small) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 197.219 Td +/F122_0 9.9626 Tf +(Reduce) 29.8778 Tj +-347 TJm +(memory) 33.2053 Tj +-347 TJm +(usage,) 25.1755 Tj +-371 TJm +(for) 11.6164 Tj +-346 TJm +(compression,) 52.8516 Tj +-371 TJm +(decompression) 59.7656 Tj +-347 TJm +(and) 14.386 Tj +-347 TJm +(testing.) 29.0609 Tj +-1201 TJm +(Files) 19.3773 Tj +-347 TJm +(are) 12.1643 Tj +-347 TJm +(decompressed) 56.4381 Tj +-346 TJm +(and) 14.386 Tj +-347 TJm +(tested) 23.2427 Tj +108 185.264 Td +(using) 21.589 Tj +-388 TJm +(a) 4.4234 Tj +-388 TJm +(modi\002ed) 35.427 Tj +-388 TJm +(algorithm) 38.7446 Tj +-389 TJm +(which) 24.3486 Tj +-388 TJm +(only) 17.7135 Tj +-388 TJm +(requires) 32.0895 Tj +-388 TJm +(2.5) 12.4533 Tj +-388 TJm +(bytes) 21.031 Tj +-388 TJm +(per) 12.7222 Tj +-388 TJm +(block) 22.1369 Tj +-389 TJm +(byte.) 19.6462 Tj +-1448 TJm +(This) 17.7135 Tj +-389 TJm +(means) 25.4544 Tj +-388 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-388 TJm +(\002le) 12.7322 Tj +-388 TJm +(can) 13.8281 Tj +-388 TJm +(be) 9.4047 Tj +108 173.309 Td +(decompressed) 56.4381 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(2300k) 24.9065 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(memory) 33.2053 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(albeit) 22.1369 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(about) 22.1369 Tj +-250 TJm +(half) 15.4918 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(normal) 28.224 Tj +-250 TJm +(speed.) 25.1755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 151.51 Td +(During) 28.224 Tj +-252 TJm +(compr) 25.4544 Tj +1 TJm +(ession,) 27.3972 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +194.091 151.51 Td +/F124_0 9.9626 Tf +(-s) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +208.551 151.51 Td +/F122_0 9.9626 Tf +(selects) 26.5603 Tj +-252 TJm +(a) 4.4234 Tj +-251 TJm +(block) 22.1369 Tj +-252 TJm +(size) 15.4918 Tj +-251 TJm +(of) 8.2988 Tj +-252 TJm +(200k,) 22.4159 Tj +-251 TJm +(which) 24.3486 Tj +-252 TJm +(limits) 22.7048 Tj +-251 TJm +(memory) 33.2053 Tj +-252 TJm +(use) 13.2801 Tj +-251 TJm +(to) 7.7509 Tj +-252 TJm +(around) 27.6661 Tj +-251 TJm +(the) 12.1743 Tj +-252 TJm +(same) 20.4731 Tj +-251 TJm +(\002gure,) 25.7334 Tj +-252 TJm +(at) 7.193 Tj +108 139.554 Td +(the) 12.1743 Tj +-287 TJm +(e) 4.4234 Tj +15 TJm +(xpense) 27.6661 Tj +-287 TJm +(of) 8.2988 Tj +-288 TJm +(your) 18.2614 Tj +-287 TJm +(compression) 50.3609 Tj +-287 TJm +(ratio.) 20.7521 Tj +-843 TJm +(In) 8.2988 Tj +-287 TJm +(short,) 22.4159 Tj +-297 TJm +(if) 6.0871 Tj +-287 TJm +(your) 18.2614 Tj +-287 TJm +(machine) 33.7533 Tj +-287 TJm +(is) 6.6451 Tj +-287 TJm +(lo) 7.7509 Tj +25 TJm +(w) 7.193 Tj +-287 TJm +(on) 9.9626 Tj +-288 TJm +(memory) 33.2053 Tj +-287 TJm +(\(8) 8.2988 Tj +-287 TJm +(me) 12.1743 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(abytes) 25.4544 Tj +-287 TJm +(or) 8.2988 Tj +-287 TJm +(less\),) 20.7521 Tj +108 127.599 Td +(use) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +123.771 127.599 Td +/F124_0 9.9626 Tf +(-s) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +138.217 127.599 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +-250 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(erything.) 35.696 Tj +-620 TJm +(See) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +(MEMOR) 37.6387 Tj +65 TJm +(Y) 7.193 Tj +-250 TJm +(MAN) 23.2427 Tj +35 TJm +(A) 7.193 Tj +40 TJm +(GEMENT) 41.5042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +([5]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(belo) 17.1556 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 101.933 Td +/F124_0 9.9626 Tf +(-q) 11.9551 Tj +-600 TJm +(--quiet) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 89.978 Td +/F122_0 9.9626 Tf +(Suppress) 35.9749 Tj +-221 TJm +(non-essential) 52.5726 Tj +-220 TJm +(w) 7.193 Tj +10 TJm +(arning) 25.4544 Tj +-221 TJm +(messages.) 40.1194 Tj +-300 TJm +(Messages) 38.7346 Tj +-221 TJm +(pertaining) 40.3983 Tj +-221 TJm +(to) 7.7509 Tj +-220 TJm +(I/O) 13.2801 Tj +-221 TJm +(errors) 23.2328 Tj +-221 TJm +(and) 14.386 Tj +-220 TJm +(other) 20.4731 Tj +-221 TJm +(critical) 27.6661 Tj +-221 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ents) 16.0497 Tj +-221 TJm +(wi) 9.9626 Tj +1 TJm +(ll) 5.5392 Tj +-221 TJm +(not) 12.7322 Tj +108 78.023 Td +(be) 9.4047 Tj +-250 TJm +(suppressed.) 46.2065 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.852 Td +(4) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 5 8 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +477.109 749.245 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F124_0 9.9626 Tf +(-v) 11.9551 Tj +-600 TJm +(--verbose) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 698.082 Td +/F122_0 9.9626 Tf +(V) 7.193 Tj +111 TJm +(erbose) 26.0024 Tj +-323 TJm +(mode) 22.1369 Tj +-322 TJm +(--) 6.6351 Tj +-323 TJm +(sho) 13.8381 Tj +25 TJm +(w) 7.193 Tj +-322 TJm +(the) 12.1743 Tj +-323 TJm +(compression) 50.3609 Tj +-323 TJm +(ratio) 18.2614 Tj +-322 TJm +(for) 11.6164 Tj +-323 TJm +(each) 18.2515 Tj +-322 TJm +(\002le) 12.7322 Tj +-323 TJm +(processed.) 41.7732 Tj +-1056 TJm +(Further) 29.3299 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +430.015 698.082 Td +/F124_0 9.9626 Tf +(-v) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +441.97 698.082 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +55 TJm +(s) 3.8755 Tj +-323 TJm +(increase) 32.6375 Tj +-322 TJm +(the) 12.1743 Tj +-323 TJm +(v) 4.9813 Tj +15 TJm +(erbosity) 32.0995 Tj +108 686.127 Td +(le) 7.193 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el,) 9.6836 Tj +-250 TJm +(spe) 13.2801 Tj +25 TJm +(wing) 19.9252 Tj +-250 TJm +(out) 12.7322 Tj +-250 TJm +(lots) 14.396 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(information) 47.0434 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(primarily) 37.0808 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(interest) 29.3299 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(diagnostic) 40.9562 Tj +-250 TJm +(purposes.) 37.9077 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 660.224 Td +/F124_0 9.9626 Tf +(-L) 11.9551 Tj +-600 TJm +(--license) 53.798 Tj +-600 TJm +(-V) 11.9551 Tj +-600 TJm +(--version) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 648.269 Td +/F122_0 9.9626 Tf +(Display) 30.9936 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(softw) 22.1369 Tj +10 TJm +(are) 12.1643 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ersion,) 26.8392 Tj +-250 TJm +(license) 27.6661 Tj +-250 TJm +(terms) 22.1369 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(conditions.) 44.0048 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 622.366 Td +/F124_0 9.9626 Tf +(-1) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +86.446 622.366 Td +/F122_0 9.9626 Tf +(\(or) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +100.553 622.366 Td +/F124_0 9.9626 Tf +(--fast) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +136.418 622.366 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +152.468 622.366 Td +/F124_0 9.9626 Tf +(-9) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.914 622.366 Td +/F122_0 9.9626 Tf +(\(or) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.021 622.366 Td +/F124_0 9.9626 Tf +(-best) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.909 622.366 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 610.411 Td +(Set) 12.7322 Tj +-288 TJm +(the) 12.1743 Tj +-289 TJm +(block) 22.1369 Tj +-288 TJm +(size) 15.4918 Tj +-288 TJm +(to) 7.7509 Tj +-288 TJm +(100) 14.9439 Tj +-289 TJm +(k,) 7.472 Tj +-298 TJm +(200) 14.9439 Tj +-288 TJm +(k) 4.9813 Tj +-288 TJm +(...) 7.472 Tj +-850 TJm +(900) 14.9439 Tj +-288 TJm +(k) 4.9813 Tj +-288 TJm +(when) 21.579 Tj +-289 TJm +(compressing.) 52.8516 Tj +-849 TJm +(Has) 15.4918 Tj +-289 TJm +(no) 9.9626 Tj +-288 TJm +(ef) 7.7409 Tj +25 TJm +(fect) 14.9339 Tj +-288 TJm +(when) 21.579 Tj +-288 TJm +(decompressing.) 62.2563 Tj +-850 TJm +(See) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +108 598.456 Td +(MEMOR) 37.6387 Tj +65 TJm +(Y) 7.193 Tj +-297 TJm +(MAN) 23.2427 Tj +35 TJm +(A) 7.193 Tj +40 TJm +(GEMENT) 41.5042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-297 TJm +([5]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-298 TJm +(belo) 17.1556 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(.) 2.4907 Tj +-904 TJm +(The) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +297.278 598.456 Td +/F124_0 9.9626 Tf +(--fast) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +336.106 598.456 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +353.454 598.456 Td +/F124_0 9.9626 Tf +(--best) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.281 598.456 Td +/F122_0 9.9626 Tf +(aliases) 26.5603 Tj +-297 TJm +(are) 12.1643 Tj +-298 TJm +(primarily) 37.0808 Tj +-297 TJm +(for) 11.6164 Tj +-297 TJm +(GNU) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +516.09 598.456 Td +/F124_0 9.9626 Tf +(gzip) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 586.501 Td +/F122_0 9.9626 Tf +(compatibility) 53.1405 Tj +65 TJm +(.) 2.4907 Tj +-356 TJm +(In) 8.2988 Tj +-265 TJm +(particular) 38.1767 Tj +40 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +220.423 586.501 Td +/F124_0 9.9626 Tf +(--fast) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +258.932 586.501 Td +/F122_0 9.9626 Tf +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-265 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-266 TJm +(things) 24.3586 Tj +-265 TJm +(signi\002cantly) 49.2651 Tj +-265 TJm +(f) 3.3175 Tj +10 TJm +(aster) 18.8094 Tj +55 TJm +(.) 2.4907 Tj +-712 TJm +(And) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +444.622 586.501 Td +/F124_0 9.9626 Tf +(--best) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +483.131 586.501 Td +/F122_0 9.9626 Tf +(merely) 27.6661 Tj +-265 TJm +(selects) 26.5603 Tj +108 574.545 Td +(the) 12.1743 Tj +-250 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-250 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 548.643 Td +/F124_0 9.9626 Tf +(--) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 536.688 Td +/F122_0 9.9626 Tf +(T) 6.0871 Tj +35 TJm +(reats) 18.8094 Tj +-261 TJm +(all) 9.9626 Tj +-261 TJm +(subsequent) 44.2738 Tj +-260 TJm +(ar) 7.7409 Tj +18 TJm +(guments) 33.7633 Tj +-261 TJm +(as) 8.2988 Tj +-261 TJm +(\002le) 12.7322 Tj +-261 TJm +(names,) 27.9451 Tj +-263 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-261 TJm +(if) 6.0871 Tj +-261 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-260 TJm +(start) 17.1556 Tj +-261 TJm +(with) 17.7135 Tj +-261 TJm +(a) 4.4234 Tj +-261 TJm +(dash.) 20.7521 Tj +-685 TJm +(This) 17.7135 Tj +-260 TJm +(is) 6.6451 Tj +-261 TJm +(so) 8.8568 Tj +-261 TJm +(you) 14.9439 Tj +-261 TJm +(can) 13.8281 Tj +-260 TJm +(handle) 26.5603 Tj +-261 TJm +(\002les) 16.6077 Tj +108 524.732 Td +(with) 17.7135 Tj +-250 TJm +(names) 25.4544 Tj +-250 TJm +(be) 9.4047 Tj +15 TJm +(ginning) 30.4457 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(dash,) 20.7521 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xample:) 32.0995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +302.27 524.732 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-600 TJm +(--) 11.9551 Tj +-600 TJm +(-myfilename) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +421.821 524.732 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 498.83 Td +/F124_0 9.9626 Tf +(--repetitive-fast) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +178.6 498.83 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.563 498.83 Td +/F124_0 9.9626 Tf +(--repetitive-best) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 486.874 Td +/F122_0 9.9626 Tf +(These) 23.7907 Tj +-207 TJm +(\003ags) 18.8194 Tj +-206 TJm +(are) 12.1643 Tj +-207 TJm +(redundant) 39.8404 Tj +-207 TJm +(in) 7.7509 Tj +-206 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-207 TJm +(0.9.5) 19.9252 Tj +-207 TJm +(and) 14.386 Tj +-206 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e.) 6.914 Tj +-591 TJm +(The) 15.4918 Tj +15 TJm +(y) 4.9813 Tj +-207 TJm +(pro) 13.2801 Tj +15 TJm +(vided) 22.1369 Tj +-207 TJm +(some) 21.031 Tj +-207 TJm +(coa) 13.8281 Tj +1 TJm +(rse) 11.6164 Tj +-207 TJm +(control) 28.224 Tj +-207 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-207 TJm +(the) 12.1743 Tj +-206 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +108 474.919 Td +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-251 TJm +(sorting) 27.6761 Tj +-250 TJm +(algorithm) 38.7446 Tj +-250 TJm +(in) 7.7509 Tj +-251 TJm +(earlier) 25.4445 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ersions,) 30.7147 Tj +-250 TJm +(which) 24.3486 Tj +-251 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(sometimes) 42.62 Tj +-250 TJm +(useful.) 26.8392 Tj +-622 TJm +(0.9.5) 19.9252 Tj +-251 TJm +(and) 14.386 Tj +-250 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-251 TJm +(an) 9.4047 Tj +-250 TJm +(impro) 23.8007 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ed) 9.4047 Tj +108 462.964 Td +(algorithm) 38.7446 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(renders) 29.3199 Tj +-250 TJm +(these) 20.4731 Tj +-250 TJm +(\003ags) 18.8194 Tj +-250 TJm +(irrele) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant.) 14.6649 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 414.264 Td +/F116_0 20.6585 Tf +(2.5.) 34.4584 Tj +-278 TJm +(MEMOR) 79.184 Tj +50 TJm +(Y) 13.7792 Tj +-278 TJm +(MANA) 61.9548 Tj +50 TJm +(GEMENT) 88.3771 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 392.346 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.454 392.346 Td +/F122_0 9.9626 Tf +(compresses) 45.9276 Tj +-258 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-257 TJm +(\002les) 16.6077 Tj +-258 TJm +(in) 7.7509 Tj +-257 TJm +(blocks.) 28.503 Tj +-666 TJm +(The) 15.4918 Tj +-257 TJm +(block) 22.1369 Tj +-258 TJm +(size) 15.4918 Tj +-258 TJm +(af) 7.7409 Tj +25 TJm +(fects) 18.8094 Tj +-257 TJm +(both) 17.7135 Tj +-258 TJm +(the) 12.1743 Tj +-257 TJm +(compression) 50.3609 Tj +-258 TJm +(ratio) 18.2614 Tj +-257 TJm +(achie) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ed,) 11.8953 Tj +-260 TJm +(and) 14.386 Tj +-258 TJm +(the) 12.1743 Tj +-257 TJm +(amount) 29.8878 Tj +72 380.391 Td +(of) 8.2988 Tj +-215 TJm +(memory) 33.2053 Tj +-215 TJm +(needed) 28.2141 Tj +-215 TJm +(for) 11.6164 Tj +-215 TJm +(compression) 50.3609 Tj +-214 TJm +(and) 14.386 Tj +-215 TJm +(decompression.) 62.2563 Tj +-597 TJm +(The) 15.4918 Tj +-215 TJm +(\003ags) 18.8194 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +337.719 380.391 Td +/F124_0 9.9626 Tf +(-1) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +351.815 380.391 Td +/F122_0 9.9626 Tf +(through) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +384.95 380.391 Td +/F124_0 9.9626 Tf +(-9) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +399.046 380.391 Td +/F122_0 9.9626 Tf +(specify) 28.772 Tj +-215 TJm +(the) 12.1743 Tj +-215 TJm +(block) 22.1369 Tj +-215 TJm +(size) 15.4918 Tj +-215 TJm +(to) 7.7509 Tj +-214 TJm +(be) 9.4047 Tj +-215 TJm +(100,000) 32.3785 Tj +72 368.435 Td +(bytes) 21.031 Tj +-278 TJm +(through) 30.9936 Tj +-277 TJm +(900,000) 32.3785 Tj +-278 TJm +(bytes) 21.031 Tj +-278 TJm +(\(the) 15.4918 Tj +-277 TJm +(def) 12.7222 Tj +10 TJm +(ault\)) 18.2614 Tj +-278 TJm +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(.) 2.4907 Tj +-786 TJm +(At) 9.9626 Tj +-278 TJm +(decompression) 59.7656 Tj +-278 TJm +(time,) 20.2042 Tj +-284 TJm +(the) 12.1743 Tj +-278 TJm +(block) 22.1369 Tj +-278 TJm +(size) 15.4918 Tj +-277 TJm +(used) 18.2614 Tj +-278 TJm +(for) 11.6164 Tj +-278 TJm +(compression) 50.3609 Tj +72 356.48 Td +(is) 6.6451 Tj +-243 TJm +(read) 17.1456 Tj +-242 TJm +(from) 19.3673 Tj +-243 TJm +(the) 12.1743 Tj +-242 TJm +(header) 26.5503 Tj +-243 TJm +(of) 8.2988 Tj +-242 TJm +(the) 12.1743 Tj +-243 TJm +(compressed) 47.0334 Tj +-242 TJm +(\002le,) 15.2229 Tj +-244 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +275.174 356.48 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +319.433 356.48 Td +/F122_0 9.9626 Tf +(then) 17.1556 Tj +-243 TJm +(all) 9.9626 Tj +1 TJm +(o) 4.9813 Tj +-1 TJm +(c) 4.4234 Tj +1 TJm +(ates) 15.4918 Tj +-243 TJm +(itself) 19.9252 Tj +-242 TJm +(just) 14.396 Tj +-243 TJm +(enough) 29.3299 Tj +-243 TJm +(memory) 33.2053 Tj +-242 TJm +(to) 7.7509 Tj +-243 TJm +(decompress) 47.0334 Tj +72 344.525 Td +(the) 12.1743 Tj +-303 TJm +(\002le.) 15.2229 Tj +-940 TJm +(Since) 22.1369 Tj +-304 TJm +(block) 22.1369 Tj +-303 TJm +(sizes) 19.3673 Tj +-303 TJm +(are) 12.1643 Tj +-303 TJm +(stored) 24.3486 Tj +-304 TJm +(in) 7.7509 Tj +-303 TJm +(compressed) 47.0334 Tj +-303 TJm +(\002les,) 19.0983 Tj +-317 TJm +(it) 5.5392 Tj +-303 TJm +(follo) 18.8194 Tj +25 TJm +(ws) 11.0684 Tj +-304 TJm +(that) 14.9439 Tj +-303 TJm +(the) 12.1743 Tj +-303 TJm +(\003ags) 18.8194 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +406.35 344.525 Td +/F124_0 9.9626 Tf +(-1) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +421.327 344.525 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +432.1 344.525 Td +/F124_0 9.9626 Tf +(-9) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +447.077 344.525 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-303 TJm +(irrele) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant) 12.1743 Tj +-304 TJm +(to) 7.7509 Tj +-303 TJm +(and) 14.386 Tj +-303 TJm +(so) 8.8568 Tj +72 332.57 Td +(ignored) 30.4357 Tj +-250 TJm +(during) 26.0123 Tj +-250 TJm +(decompression.) 62.2563 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 310.652 Td +(Compression) 52.5826 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(decompression) 59.7656 Tj +-250 TJm +(requirements,) 54.5054 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(bytes,) 23.5217 Tj +-250 TJm +(can) 13.8281 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(estimated) 38.1866 Tj +-250 TJm +(as:) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 247.723] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 299.131 Td +/F124_0 9.9626 Tf +(Compression:) 71.7307 Tj +-1278 TJm +(400k) 23.9102 Tj +-426 TJm +(+) 5.9776 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(8) 5.9776 Tj +-426 TJm +(x) 5.9776 Tj +-426 TJm +(block) 29.8878 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(\)) 5.9776 Tj +90 275.22 Td +(Decompression:) 83.6858 Tj +-426 TJm +(100k) 23.9102 Tj +-426 TJm +(+) 5.9776 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(4) 5.9776 Tj +-426 TJm +(x) 5.9776 Tj +-426 TJm +(block) 29.8878 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(\),) 11.9551 Tj +-426 TJm +(or) 11.9551 Tj +153.66 263.265 Td +(100k) 23.9102 Tj +-426 TJm +(+) 5.9776 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(2.5) 17.9327 Tj +-426 TJm +(x) 5.9776 Tj +-426 TJm +(block) 29.8878 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 225.805 Td +/F122_0 9.9626 Tf +(Lar) 13.8281 Tj +18 TJm +(ger) 12.7222 Tj +-292 TJm +(block) 22.1369 Tj +-292 TJm +(sizes) 19.3673 Tj +-291 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-292 TJm +(rapidly) 28.224 Tj +-292 TJm +(diminishing) 47.6113 Tj +-292 TJm +(mar) 15.4918 Tj +18 TJm +(ginal) 19.9252 Tj +-291 TJm +(returns.) 30.1568 Tj +-871 TJm +(Most) 20.4831 Tj +-292 TJm +(of) 8.2988 Tj +-291 TJm +(the) 12.1743 Tj +-292 TJm +(compression) 50.3609 Tj +-292 TJm +(comes) 25.4544 Tj +-292 TJm +(from) 19.3673 Tj +-291 TJm +(the) 12.1743 Tj +-292 TJm +(\002rst) 15.5018 Tj +-292 TJm +(tw) 9.9626 Tj +10 TJm +(o) 4.9813 Tj +-292 TJm +(or) 8.2988 Tj +72 213.85 Td +(three) 19.9152 Tj +-232 TJm +(hundred) 32.6474 Tj +-232 TJm +(k) 4.9813 Tj +-232 TJm +(of) 8.2988 Tj +-232 TJm +(block) 22.1369 Tj +-232 TJm +(size,) 17.9825 Tj +-235 TJm +(a) 4.4234 Tj +-232 TJm +(f) 3.3175 Tj +10 TJm +(act) 11.6164 Tj +-232 TJm +(w) 7.193 Tj +10 TJm +(orth) 16.0497 Tj +-232 TJm +(bearing) 29.8778 Tj +-232 TJm +(in) 7.7509 Tj +-232 TJm +(mind) 20.4831 Tj +-232 TJm +(when) 21.579 Tj +-231 TJm +(using) 21.589 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +354.025 213.85 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +386.223 213.85 Td +/F122_0 9.9626 Tf +(on) 9.9626 Tj +-232 TJm +(small) 21.589 Tj +-232 TJm +(machines.) 40.1194 Tj +-304 TJm +(It) 6.0871 Tj +-232 TJm +(is) 6.6451 Tj +-232 TJm +(also) 16.0497 Tj +-231 TJm +(important) 38.7446 Tj +72 201.895 Td +(to) 7.7509 Tj +-250 TJm +(appreciate) 40.9363 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(decompression) 59.7656 Tj +-250 TJm +(memory) 33.2053 Tj +-250 TJm +(requirement) 48.1393 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(set) 11.0684 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(compression) 50.3609 Tj +-250 TJm +(time) 17.7135 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(choice) 26.0024 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(block) 22.1369 Tj +-250 TJm +(size.) 17.9825 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 179.977 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-388 TJm +(\002les) 16.6077 Tj +-389 TJm +(compressed) 47.0334 Tj +-388 TJm +(with) 17.7135 Tj +-389 TJm +(the) 12.1743 Tj +-388 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-389 TJm +(900k) 19.9252 Tj +-388 TJm +(block) 22.1369 Tj +-389 TJm +(size,) 17.9825 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +302.002 179.977 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +347.716 179.977 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-388 TJm +(require) 28.2141 Tj +-389 TJm +(about) 22.1369 Tj +-388 TJm +(3700) 19.9252 Tj +-389 TJm +(kbytes) 26.0123 Tj +-388 TJm +(to) 7.7509 Tj +-389 TJm +(decompress.) 49.5241 Tj +72 168.022 Td +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-424 TJm +(support) 29.8878 Tj +-425 TJm +(decompression) 59.7656 Tj +-424 TJm +(of) 8.2988 Tj +-424 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-425 TJm +(\002l) 8.3088 Tj +1 TJm +(e) 4.4234 Tj +-425 TJm +(on) 9.9626 Tj +-424 TJm +(a) 4.4234 Tj +-424 TJm +(4) 4.9813 Tj +-425 TJm +(me) 12.1743 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(abyte) 21.579 Tj +-424 TJm +(machine,) 36.2439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +348.272 168.022 Td +/F124_0 9.9626 Tf +(bunzip2) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +394.342 168.022 Td +/F122_0 9.9626 Tf +(has) 13.2801 Tj +-424 TJm +(an) 9.4047 Tj +-425 TJm +(option) 25.4644 Tj +-424 TJm +(to) 7.7509 Tj +-424 TJm +(decompress) 47.0334 Tj +-424 TJm +(using) 21.589 Tj +72 156.067 Td +(approximately) 57.5539 Tj +-281 TJm +(half) 15.4918 Tj +-281 TJm +(this) 14.396 Tj +-280 TJm +(amount) 29.8878 Tj +-281 TJm +(of) 8.2988 Tj +-281 TJm +(memory) 33.2053 Tj +65 TJm +(,) 2.4907 Tj +-288 TJm +(about) 22.1369 Tj +-281 TJm +(2300) 19.9252 Tj +-281 TJm +(kbytes.) 28.503 Tj +-805 TJm +(Decompression) 61.9773 Tj +-280 TJm +(speed) 22.6848 Tj +-281 TJm +(is) 6.6451 Tj +-281 TJm +(also) 16.0497 Tj +-281 TJm +(halv) 17.1556 Tj +15 TJm +(ed,) 11.8953 Tj +-288 TJm +(so) 8.8568 Tj +-281 TJm +(you) 14.9439 Tj +-281 TJm +(should) 26.5703 Tj +72 144.112 Td +(use) 13.2801 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(option) 25.4644 Tj +-250 TJm +(only) 17.7135 Tj +-250 TJm +(where) 24.3386 Tj +-250 TJm +(necessary) 38.7246 Tj +65 TJm +(.) 2.4907 Tj +-620 TJm +(The) 15.4918 Tj +-250 TJm +(rele) 14.9339 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant) 12.1743 Tj +-250 TJm +(\003ag) 14.9439 Tj +-250 TJm +(is) 6.6451 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.024 144.112 Td +/F124_0 9.9626 Tf +(-s) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +316.979 144.112 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 122.194 Td +(In) 8.2988 Tj +-204 TJm +(general,) 31.8106 Tj +-214 TJm +(try) 11.0684 Tj +-204 TJm +(and) 14.386 Tj +-205 TJm +(use) 13.2801 Tj +-204 TJm +(the) 12.1743 Tj +-204 TJm +(lar) 10.5105 Tj +18 TJm +(gest) 16.0497 Tj +-205 TJm +(block) 22.1369 Tj +-204 TJm +(size) 15.4918 Tj +-205 TJm +(memory) 33.2053 Tj +-204 TJm +(constraints) 43.1679 Tj +-204 TJm +(allo) 14.9439 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(,) 2.4907 Tj +-214 TJm +(since) 20.4731 Tj +-204 TJm +(that) 14.9439 Tj +-205 TJm +(maximises) 42.62 Tj +-204 TJm +(the) 12.1743 Tj +-204 TJm +(compression) 50.3609 Tj +-205 TJm +(achie) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ed.) 11.8953 Tj +72 110.239 Td +(Compression) 52.5826 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(decompression) 59.7656 Tj +-250 TJm +(speed) 22.6848 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(virtually) 33.7633 Tj +-250 TJm +(unaf) 17.7035 Tj +25 TJm +(fected) 24.3386 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(block) 22.1369 Tj +-250 TJm +(size.) 17.9825 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 88.321 Td +(Another) 32.6474 Tj +-296 TJm +(signi\002cant) 41.5142 Tj +-296 TJm +(point) 20.4831 Tj +-295 TJm +(applies) 28.224 Tj +-296 TJm +(to) 7.7509 Tj +-296 TJm +(\002les) 16.6077 Tj +-296 TJm +(which) 24.3486 Tj +-296 TJm +(\002t) 8.3088 Tj +-296 TJm +(in) 7.7509 Tj +-296 TJm +(a) 4.4234 Tj +-295 TJm +(single) 23.8007 Tj +-296 TJm +(block) 22.1369 Tj +-296 TJm +(--) 6.6351 Tj +-296 TJm +(that) 14.9439 Tj +-296 TJm +(means) 25.4544 Tj +-296 TJm +(most) 19.3773 Tj +-295 TJm +(\002les) 16.6077 Tj +-296 TJm +(you') 18.2614 Tj +50 TJm +(d) 4.9813 Tj +-296 TJm +(encounter) 39.2825 Tj +-296 TJm +(using) 21.589 Tj +-296 TJm +(a) 4.4234 Tj +72 76.366 Td +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-290 TJm +(block) 22.1369 Tj +-290 TJm +(size.) 17.9825 Tj +-859 TJm +(The) 15.4918 Tj +-290 TJm +(amount) 29.8878 Tj +-290 TJm +(of) 8.2988 Tj +-290 TJm +(real) 14.9339 Tj +-290 TJm +(memory) 33.2053 Tj +-289 TJm +(touched) 31.5416 Tj +-290 TJm +(is) 6.6451 Tj +-290 TJm +(proportional) 49.2551 Tj +-290 TJm +(to) 7.7509 Tj +-290 TJm +(the) 12.1743 Tj +-290 TJm +(size) 15.4918 Tj +-290 TJm +(of) 8.2988 Tj +-290 TJm +(the) 12.1743 Tj +-289 TJm +(\002le,) 15.2229 Tj +-300 TJm +(since) 20.4731 Tj +-290 TJm +(the) 12.1743 Tj +-290 TJm +(\002le) 12.7322 Tj +-290 TJm +(is) 6.6451 Tj +-290 TJm +(smaller) 29.3299 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.951 Td +(5) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 6 9 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +477.109 749.245 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(than) 17.1556 Tj +-362 TJm +(a) 4.4234 Tj +-362 TJm +(block.) 24.6275 Tj +-1293 TJm +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-362 TJm +(e) 4.4234 Tj +15 TJm +(xample,) 31.8205 Tj +-390 TJm +(compressing) 50.3609 Tj +-362 TJm +(a) 4.4234 Tj +-362 TJm +(\002le) 12.7322 Tj +-362 TJm +(20,000) 27.3972 Tj +-362 TJm +(bytes) 21.031 Tj +-362 TJm +(long) 17.7135 Tj +-362 TJm +(with) 17.7135 Tj +-362 TJm +(the) 12.1743 Tj +-362 TJm +(\003ag) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +406.528 710.037 Td +/F124_0 9.9626 Tf +(-9) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +422.09 710.037 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-362 TJm +(cause) 22.1269 Tj +-362 TJm +(the) 12.1743 Tj +-362 TJm +(compressor) 45.9276 Tj +-362 TJm +(to) 7.7509 Tj +72 698.082 Td +(allocate) 30.9837 Tj +-271 TJm +(around) 27.6661 Tj +-272 TJm +(7600k) 24.9065 Tj +-271 TJm +(of) 8.2988 Tj +-272 TJm +(memory) 33.2053 Tj +65 TJm +(,) 2.4907 Tj +-277 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-271 TJm +(only) 17.7135 Tj +-272 TJm +(touch) 22.1369 Tj +-271 TJm +(400k) 19.9252 Tj +-272 TJm +(+) 5.6189 Tj +-271 TJm +(20000) 24.9065 Tj +-272 TJm +(*) 4.9813 Tj +-271 TJm +(8) 4.9813 Tj +-272 TJm +(=) 5.6189 Tj +-271 TJm +(560) 14.9439 Tj +-272 TJm +(kbytes) 26.0123 Tj +-271 TJm +(of) 8.2988 Tj +-272 TJm +(it.) 8.0299 Tj +-748 TJm +(Similarly) 37.0908 Tj +65 TJm +(,) 2.4907 Tj +-277 TJm +(the) 12.1743 Tj +-272 TJm +(decompressor) 55.3323 Tj +72 686.127 Td +(will) 15.5018 Tj +-250 TJm +(allocate) 30.9837 Tj +-250 TJm +(3700k) 24.9065 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(only) 17.7135 Tj +-250 TJm +(touch) 22.1369 Tj +-250 TJm +(100k) 19.9252 Tj +-250 TJm +(+) 5.6189 Tj +-250 TJm +(20000) 24.9065 Tj +-250 TJm +(*) 4.9813 Tj +-250 TJm +(4) 4.9813 Tj +-250 TJm +(=) 5.6189 Tj +-250 TJm +(180) 14.9439 Tj +-250 TJm +(kbytes.) 28.503 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 664.209 Td +(Here) 19.3573 Tj +-293 TJm +(is) 6.6451 Tj +-294 TJm +(a) 4.4234 Tj +-293 TJm +(table) 19.3673 Tj +-294 TJm +(which) 24.3486 Tj +-293 TJm +(summarises) 47.0434 Tj +-294 TJm +(the) 12.1743 Tj +-293 TJm +(maximum) 40.4083 Tj +-294 TJm +(memory) 33.2053 Tj +-293 TJm +(usage) 22.6848 Tj +-294 TJm +(for) 11.6164 Tj +-293 TJm +(dif) 11.0684 Tj +25 TJm +(ferent) 23.2328 Tj +-294 TJm +(block) 22.1369 Tj +-293 TJm +(sizes.) 21.8579 Tj +-881 TJm +(Also) 18.8194 Tj +-293 TJm +(recorded) 34.8492 Tj +-294 TJm +(is) 6.6451 Tj +-293 TJm +(the) 12.1743 Tj +-294 TJm +(total) 17.7135 Tj +72 652.254 Td +(compressed) 47.0334 Tj +-289 TJm +(size) 15.4918 Tj +-289 TJm +(for) 11.6164 Tj +-289 TJm +(14) 9.9626 Tj +-289 TJm +(\002les) 16.6077 Tj +-290 TJm +(of) 8.2988 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(Calg) 18.8194 Tj +5 TJm +(ary) 12.7222 Tj +-289 TJm +(T) 6.0871 Tj +70 TJm +(e) 4.4234 Tj +15 TJm +(xt) 7.7509 Tj +-289 TJm +(Compression) 52.5826 Tj +-289 TJm +(Corpus) 28.782 Tj +-289 TJm +(totalling) 33.2153 Tj +-289 TJm +(3,141,622) 39.8504 Tj +-290 TJm +(bytes.) 23.5217 Tj +-854 TJm +(This) 17.7135 Tj +-290 TJm +(column) 29.8878 Tj +-289 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +72 640.299 Td +(some) 21.031 Tj +-253 TJm +(feel) 14.9339 Tj +-253 TJm +(for) 11.6164 Tj +-253 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-253 TJm +(compression) 50.3609 Tj +-253 TJm +(v) 4.9813 Tj +25 TJm +(aries) 18.8094 Tj +-253 TJm +(with) 17.7135 Tj +-253 TJm +(block) 22.1369 Tj +-253 TJm +(size.) 17.9825 Tj +-638 TJm +(These) 23.7907 Tj +-253 TJm +(\002gures) 27.1182 Tj +-253 TJm +(tend) 17.1556 Tj +-254 TJm +(to) 7.7509 Tj +-253 TJm +(understate) 40.9463 Tj +-253 TJm +(the) 12.1743 Tj +-253 TJm +(adv) 14.386 Tj +25 TJm +(antage) 26.0024 Tj +-253 TJm +(of) 8.2988 Tj +-253 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +-253 TJm +(block) 22.1369 Tj +72 628.344 Td +(sizes) 19.3673 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +-250 TJm +(\002les,) 19.0983 Tj +-250 TJm +(since) 20.4731 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(Corpus) 28.782 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(dominated) 42.0621 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(smaller) 29.3299 Tj +-250 TJm +(\002les.) 19.0983 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 469.773] cm +0 0 468 155.417 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +123.952 616.822 Td +/F124_0 9.9626 Tf +(Compress) 47.8205 Tj +-1278 TJm +(Decompress) 59.7756 Tj +-1278 TJm +(Decompress) 59.7756 Tj +-1278 TJm +(Corpus) 35.8654 Tj +90 604.867 Td +(Flag) 23.9102 Tj +-2130 TJm +(usage) 29.8878 Tj +-2556 TJm +(usage) 29.8878 Tj +-2982 TJm +(-s) 11.9551 Tj +-426 TJm +(usage) 29.8878 Tj +-2130 TJm +(Size) 23.9102 Tj +94.244 580.957 Td +(-1) 11.9551 Tj +-2556 TJm +(1200k) 29.8878 Tj +-2982 TJm +(500k) 23.9102 Tj +-3834 TJm +(350k) 23.9102 Tj +-2556 TJm +(914704) 35.8654 Tj +94.244 569.001 Td +(-2) 11.9551 Tj +-2556 TJm +(2000k) 29.8878 Tj +-2982 TJm +(900k) 23.9102 Tj +-3834 TJm +(600k) 23.9102 Tj +-2556 TJm +(877703) 35.8654 Tj +94.244 557.046 Td +(-3) 11.9551 Tj +-2556 TJm +(2800k) 29.8878 Tj +-2556 TJm +(1300k) 29.8878 Tj +-3834 TJm +(850k) 23.9102 Tj +-2556 TJm +(860338) 35.8654 Tj +94.244 545.091 Td +(-4) 11.9551 Tj +-2556 TJm +(3600k) 29.8878 Tj +-2556 TJm +(1700k) 29.8878 Tj +-3408 TJm +(1100k) 29.8878 Tj +-2556 TJm +(846899) 35.8654 Tj +94.244 533.136 Td +(-5) 11.9551 Tj +-2556 TJm +(4400k) 29.8878 Tj +-2556 TJm +(2100k) 29.8878 Tj +-3408 TJm +(1350k) 29.8878 Tj +-2556 TJm +(845160) 35.8654 Tj +94.244 521.181 Td +(-6) 11.9551 Tj +-2556 TJm +(5200k) 29.8878 Tj +-2556 TJm +(2500k) 29.8878 Tj +-3408 TJm +(1600k) 29.8878 Tj +-2556 TJm +(838626) 35.8654 Tj +94.244 509.225 Td +(-7) 11.9551 Tj +-2556 TJm +(6100k) 29.8878 Tj +-2556 TJm +(2900k) 29.8878 Tj +-3408 TJm +(1850k) 29.8878 Tj +-2556 TJm +(834096) 35.8654 Tj +94.244 497.27 Td +(-8) 11.9551 Tj +-2556 TJm +(6800k) 29.8878 Tj +-2556 TJm +(3300k) 29.8878 Tj +-3408 TJm +(2100k) 29.8878 Tj +-2556 TJm +(828642) 35.8654 Tj +94.244 485.315 Td +(-9) 11.9551 Tj +-2556 TJm +(7600k) 29.8878 Tj +-2556 TJm +(3700k) 29.8878 Tj +-3408 TJm +(2350k) 29.8878 Tj +-2556 TJm +(828642) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 435.021 Td +/F116_0 20.6585 Tf +(2.6.) 34.4584 Tj +-278 TJm +(RECO) 59.6824 Tj +50 TJm +(VERING) 79.2047 Tj +-278 TJm +(D) 14.9154 Tj +40 TJm +(A) 14.9154 Tj +90 TJm +(T) 12.6223 Tj +90 TJm +(A) 14.9154 Tj +-278 TJm +(FR) 27.5378 Tj +20 TJm +(OM) 33.2808 Tj +-278 TJm +(D) 14.9154 Tj +40 TJm +(AMA) 47.0394 Tj +50 TJm +(GED) 44.767 Tj +72 410.23 Td +(FILES) 58.5462 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 388.312 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +105.138 388.312 Td +/F122_0 9.9626 Tf +(compresses) 45.9276 Tj +-326 TJm +(\002les) 16.6077 Tj +-326 TJm +(in) 7.7509 Tj +-326 TJm +(blocks,) 28.503 Tj +-346 TJm +(usually) 28.782 Tj +-326 TJm +(900kbytes) 40.9562 Tj +-326 TJm +(long.) 20.2042 Tj +-1077 TJm +(Each) 19.9152 Tj +-326 TJm +(block) 22.1369 Tj +-326 TJm +(is) 6.6451 Tj +-327 TJm +(handled) 31.5416 Tj +-326 TJm +(independently) 56.4481 Tj +65 TJm +(.) 2.4907 Tj +-1077 TJm +(If) 6.6351 Tj +-326 TJm +(a) 4.4234 Tj +-326 TJm +(media) 24.3486 Tj +-326 TJm +(or) 8.2988 Tj +72 376.357 Td +(transmission) 50.3709 Tj +-319 TJm +(error) 19.3573 Tj +-318 TJm +(causes) 26.0024 Tj +-319 TJm +(a) 4.4234 Tj +-318 TJm +(multi-block) 46.4955 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.519 376.357 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +261.603 376.357 Td +/F122_0 9.9626 Tf +(\002le) 12.7322 Tj +-319 TJm +(to) 7.7509 Tj +-318 TJm +(become) 30.9837 Tj +-319 TJm +(damaged,) 38.4556 Tj +-336 TJm +(i) 2.7696 Tj +1 TJm +(t) 2.7696 Tj +-319 TJm +(may) 17.1556 Tj +-319 TJm +(be) 9.4047 Tj +-318 TJm +(possible) 32.6574 Tj +-319 TJm +(to) 7.7509 Tj +-318 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-319 TJm +(data) 16.5977 Tj +-319 TJm +(from) 19.3673 Tj +-318 TJm +(the) 12.1743 Tj +72 364.402 Td +(undamaged) 45.9276 Tj +-250 TJm +(blocks) 26.0123 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002le.) 15.2229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 342.484 Td +(The) 15.4918 Tj +-358 TJm +(compressed) 47.0334 Tj +-357 TJm +(representation) 56.4381 Tj +-358 TJm +(of) 8.2988 Tj +-357 TJm +(each) 18.2515 Tj +-358 TJm +(block) 22.1369 Tj +-358 TJm +(is) 6.6451 Tj +-357 TJm +(delimited) 37.6387 Tj +-358 TJm +(by) 9.9626 Tj +-357 TJm +(a) 4.4234 Tj +-358 TJm +(48-bit) 23.8007 Tj +-358 TJm +(pattern,) 30.1568 Tj +-384 TJm +(which) 24.3486 Tj +-358 TJm +(mak) 17.1556 Tj +10 TJm +(es) 8.2988 Tj +-357 TJm +(it) 5.5392 Tj +-358 TJm +(possible) 32.6574 Tj +-357 TJm +(to) 7.7509 Tj +-358 TJm +(\002nd) 15.5018 Tj +-358 TJm +(the) 12.1743 Tj +72 330.529 Td +(block) 22.1369 Tj +-286 TJm +(boundaries) 43.7159 Tj +-286 TJm +(with) 17.7135 Tj +-285 TJm +(reasonable) 42.6001 Tj +-286 TJm +(certainty) 34.8591 Tj +65 TJm +(.) 2.4907 Tj +-835 TJm +(Each) 19.9152 Tj +-285 TJm +(block) 22.1369 Tj +-286 TJm +(also) 16.0497 Tj +-286 TJm +(carries) 26.5503 Tj +-286 TJm +(its) 9.4147 Tj +-285 TJm +(o) 4.9813 Tj +25 TJm +(wn) 12.1743 Tj +-286 TJm +(32-bit) 23.8007 Tj +-286 TJm +(CRC,) 22.4258 Tj +-286 TJm +(so) 8.8568 Tj +-285 TJm +(damaged) 35.965 Tj +-286 TJm +(blocks) 26.0123 Tj +-286 TJm +(can) 13.8281 Tj +-286 TJm +(be) 9.4047 Tj +72 318.574 Td +(distinguished) 53.1405 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(undamaged) 45.9276 Tj +-250 TJm +(ones.) 20.7521 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 296.656 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +146.448 296.656 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-273 TJm +(a) 4.4234 Tj +-272 TJm +(simple) 26.5703 Tj +-273 TJm +(program) 33.7533 Tj +-273 TJm +(whose) 25.4544 Tj +-272 TJm +(purpose) 31.5416 Tj +-273 TJm +(is) 6.6451 Tj +-273 TJm +(to) 7.7509 Tj +-272 TJm +(search) 25.4445 Tj +-273 TJm +(for) 11.6164 Tj +-273 TJm +(blocks) 26.0123 Tj +-272 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.655 296.656 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +419.282 296.656 Td +/F122_0 9.9626 Tf +(\002les,) 19.0983 Tj +-278 TJm +(and) 14.386 Tj +-273 TJm +(write) 20.4731 Tj +-273 TJm +(each) 18.2515 Tj +-272 TJm +(block) 22.1369 Tj +-273 TJm +(out) 12.7322 Tj +72 284.701 Td +(into) 15.5018 Tj +-255 TJm +(i) 2.7696 Tj +1 TJm +(ts) 6.6451 Tj +-255 TJm +(o) 4.9813 Tj +25 TJm +(wn) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +121.429 284.701 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +147.875 284.701 Td +/F122_0 9.9626 Tf +(\002le.) 15.2229 Tj +-647 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-255 TJm +(can) 13.8281 Tj +-254 TJm +(then) 17.1556 Tj +-255 TJm +(use) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +240.01 284.701 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-600 TJm +(-t) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +290.367 284.701 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-254 TJm +(test) 13.8381 Tj +-255 TJm +(the) 12.1743 Tj +-254 TJm +(inte) 14.9439 Tj +15 TJm +(grity) 18.8194 Tj +-255 TJm +(of) 8.2988 Tj +-254 TJm +(the) 12.1743 Tj +-255 TJm +(resulting) 34.8691 Tj +-254 TJm +(\002les,) 19.0983 Tj +-256 TJm +(and) 14.386 Tj +-255 TJm +(decompress) 47.0334 Tj +-254 TJm +(those) 21.031 Tj +72 272.746 Td +(which) 24.3486 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(undamaged.) 48.4182 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 250.828 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +150.099 250.828 Td +/F122_0 9.9626 Tf +(tak) 12.1743 Tj +10 TJm +(es) 8.2988 Tj +-639 TJm +(a) 4.4234 Tj +-639 TJm +(single) 23.8007 Tj +-639 TJm +(ar) 7.7409 Tj +18 TJm +(gument,) 32.3785 Tj +-737 TJm +(the) 12.1743 Tj +-639 TJm +(name) 21.579 Tj +-639 TJm +(of) 8.2988 Tj +-639 TJm +(the) 12.1743 Tj +-639 TJm +(damaged) 35.965 Tj +-639 TJm +(\002le,) 15.2229 Tj +-737 TJm +(and) 14.386 Tj +-639 TJm +(writes) 24.3486 Tj +-639 TJm +(a) 4.4234 Tj +-639 TJm +(number) 30.4357 Tj +-639 TJm +(of) 8.2988 Tj +-640 TJm +(\002) 5.5392 Tj +1 TJm +(les) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 238.873 Td +/F124_0 9.9626 Tf +(rec0001file.bz2) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.664 238.873 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.072 238.873 Td +/F124_0 9.9626 Tf +(rec0002file.bz2) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +258.736 238.873 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-494 TJm +(etc,) 14.107 Tj +-493 TJm +(containing) 42.0621 Tj +-445 TJm +(the) 12.1743 Tj +-445 TJm +(e) 4.4234 Tj +15 TJm +(xtracted) 32.0895 Tj +-445 TJm +(blocks.) 28.503 Tj +-1789 TJm +(The) 15.4918 Tj +-445 TJm +(output) 25.4644 Tj +-445 TJm +(\002lenames) 38.1866 Tj +-445 TJm +(are) 12.1643 Tj +72 226.918 Td +(designed) 35.417 Tj +-337 TJm +(so) 8.8568 Tj +-337 TJm +(that) 14.9439 Tj +-337 TJm +(the) 12.1743 Tj +-337 TJm +(use) 13.2801 Tj +-337 TJm +(of) 8.2988 Tj +-337 TJm +(wildc) 22.1369 Tj +1 TJm +(ards) 16.5977 Tj +-337 TJm +(in) 7.7509 Tj +-337 TJm +(subsequent) 44.2738 Tj +-337 TJm +(processing) 42.61 Tj +-337 TJm +(--) 6.6351 Tj +-337 TJm +(for) 11.6164 Tj +-337 TJm +(e) 4.4234 Tj +15 TJm +(xample,) 31.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +396.538 226.918 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-600 TJm +(-dc) 17.9327 Tj +-600 TJm +(rec) 17.9327 Tj +474.247 225.174 Td +(*) 5.9776 Tj +480.224 226.918 Td +(file.bz2) 47.8205 Tj +-600 TJm +(>) 5.9776 Tj +72 214.962 Td +(recovered_data) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.177 214.962 Td +/F122_0 9.9626 Tf +(--) 6.6351 Tj +-250 TJm +(lists) 16.0597 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002les) 16.6077 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(correct) 27.6562 Tj +-250 TJm +(order) 21.0211 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 193.045 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.93 193.045 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-221 TJm +(be) 9.4047 Tj +-220 TJm +(of) 8.2988 Tj +-221 TJm +(most) 19.3773 Tj +-221 TJm +(use) 13.2801 Tj +-220 TJm +(dealing) 29.3299 Tj +-221 TJm +(with) 17.7135 Tj +-221 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +307.229 193.045 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +333.338 193.045 Td +/F122_0 9.9626 Tf +(\002les,) 19.0983 Tj +-227 TJm +(as) 8.2988 Tj +-220 TJm +(these) 20.4731 Tj +-221 TJm +(will) 15.5018 Tj +-221 TJm +(contain) 29.3299 Tj +-220 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +-221 TJm +(blocks.) 28.503 Tj +-600 TJm +(It) 6.0871 Tj +-221 TJm +(is) 6.6451 Tj +-221 TJm +(clearly) 27.1082 Tj +72 181.089 Td +(futile) 21.031 Tj +-289 TJm +(to) 7.7509 Tj +-289 TJm +(use) 13.2801 Tj +-289 TJm +(it) 5.5392 Tj +-289 TJm +(on) 9.9626 Tj +-289 TJm +(damaged) 35.965 Tj +-289 TJm +(single-block) 49.2551 Tj +-290 TJm +(\002les) 16.6077 Tj +1 TJm +(,) 2.4907 Tj +-299 TJm +(since) 20.4731 Tj +-289 TJm +(a) 4.4234 Tj +-290 TJm +(damaged) 35.965 Tj +-289 TJm +(block) 22.1369 Tj +-289 TJm +(cannot) 26.5603 Tj +-289 TJm +(be) 9.4047 Tj +-289 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ered.) 19.6363 Tj +-854 TJm +(If) 6.6351 Tj +-289 TJm +(you) 14.9439 Tj +-290 TJm +(wish) 18.8194 Tj +-289 TJm +(to) 7.7509 Tj +-289 TJm +(minimise) 37.0908 Tj +72 169.134 Td +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-320 TJm +(potential) 34.8691 Tj +-320 TJm +(data) 16.5977 Tj +-319 TJm +(loss) 15.5018 Tj +-320 TJm +(through) 30.9936 Tj +-320 TJm +(media) 24.3486 Tj +-320 TJm +(or) 8.2988 Tj +-319 TJm +(transmission) 50.3709 Tj +-320 TJm +(errors,) 25.7234 Tj +-337 TJm +(you) 14.9439 Tj +-320 TJm +(might) 23.2527 Tj +-320 TJm +(consider) 33.7533 Tj +-320 TJm +(compressing) 50.3609 Tj +-319 TJm +(with) 17.7135 Tj +-320 TJm +(a) 4.4234 Tj +-320 TJm +(smaller) 29.3299 Tj +-320 TJm +(block) 22.1369 Tj +72 157.179 Td +(size.) 17.9825 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 122.426 Td +/F116_0 20.6585 Tf +(2.7.) 34.4584 Tj +-278 TJm +(PERFORMANCE) 161.818 Tj +-278 TJm +(NO) 30.9878 Tj +40 TJm +(TES) 40.1808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 100.508 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-305 TJm +(sorting) 27.6761 Tj +-304 TJm +(phase) 22.6848 Tj +-305 TJm +(of) 8.2988 Tj +-304 TJm +(compression) 50.3609 Tj +-305 TJm +(g) 4.9813 Tj +5 TJm +(athers) 23.7907 Tj +-304 TJm +(together) 32.6474 Tj +-305 TJm +(similar) 27.6761 Tj +-304 TJm +(strings) 26.5703 Tj +-305 TJm +(in) 7.7509 Tj +-304 TJm +(the) 12.1743 Tj +-305 TJm +(\002le.) 15.2229 Tj +-947 TJm +(Because) 33.1954 Tj +-305 TJm +(of) 8.2988 Tj +-304 TJm +(this,) 16.8866 Tj +-319 TJm +(\002les) 16.6077 Tj +-304 TJm +(containing) 42.0621 Tj +-305 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +72 88.553 Td +(long) 17.7135 Tj +-286 TJm +(runs) 17.1556 Tj +-285 TJm +(of) 8.2988 Tj +-286 TJm +(repeated) 33.7433 Tj +-285 TJm +(symbols,) 35.706 Tj +-295 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-286 TJm +("aabaabaabaab) 59.3771 Tj +-285 TJm +(...") 11.5367 Tj +-571 TJm +(\(repeated) 37.0609 Tj +-286 TJm +(se) 8.2988 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(eral) 14.9339 Tj +-286 TJm +(hundred) 32.6474 Tj +-285 TJm +(times\)) 24.9065 Tj +-286 TJm +(may) 17.1556 Tj +-286 TJm +(com) 17.1556 Tj +1 TJm +(press) 20.4731 Tj +-286 TJm +(more) 20.4731 Tj +-286 TJm +(slo) 11.6264 Tj +25 TJm +(wly) 14.9439 Tj +72 76.598 Td +(than) 17.1556 Tj +-322 TJm +(normal.) 30.7147 Tj +-524 TJm +(V) 7.193 Tj +111 TJm +(ersions) 28.224 Tj +-322 TJm +(0.9.5) 19.9252 Tj +-321 TJm +(and) 14.386 Tj +-322 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-322 TJm +(f) 3.3175 Tj +10 TJm +(are) 12.1643 Tj +-321 TJm +(much) 22.1369 Tj +-322 TJm +(better) 22.6848 Tj +-321 TJm +(than) 17.1556 Tj +-322 TJm +(pre) 12.7222 Tj +25 TJm +(vious) 21.589 Tj +-321 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-322 TJm +(in) 7.7509 Tj +-322 TJm +(this) 14.396 Tj +-321 TJm +(respect.) 30.7047 Tj +-1050 TJm +(The) 15.4918 Tj +-321 TJm +(ratio) 18.2614 Tj +-322 TJm +(between) 33.1954 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.951 Td +(6) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 7 10 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +477.109 749.245 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(w) 7.193 Tj +10 TJm +(orst-case) 35.4071 Tj +-289 TJm +(and) 14.386 Tj +-290 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(erage-case) 42.0322 Tj +-289 TJm +(compression) 50.3609 Tj +-290 TJm +(time) 17.7135 Tj +-289 TJm +(is) 6.6451 Tj +-290 TJm +(in) 7.7509 Tj +-289 TJm +(the) 12.1743 Tj +-290 TJm +(re) 7.7409 Tj +15 TJm +(gion) 17.7135 Tj +-289 TJm +(of) 8.2988 Tj +-289 TJm +(10:1.) 20.2042 Tj +-857 TJm +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-290 TJm +(pre) 12.7222 Tj +25 TJm +(vious) 21.589 Tj +-289 TJm +(v) 4.9813 Tj +15 TJm +(ersions,) 30.7147 Tj +-299 TJm +(this) 14.396 Tj +-290 TJm +(\002gure) 23.2427 Tj +-289 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-290 TJm +(more) 20.4731 Tj +72 698.082 Td +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-250 TJm +(100:1.) 25.1855 Tj +-620 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-250 TJm +(can) 13.8281 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +186.002 698.082 Td +/F124_0 9.9626 Tf +(-vvvv) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +218.38 698.082 Td +/F122_0 9.9626 Tf +(option) 25.4644 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(monitor) 31.5516 Tj +-250 TJm +(progress) 33.7533 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(great) 19.9152 Tj +-250 TJm +(detail,) 24.6275 Tj +-250 TJm +(if) 6.0871 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant.) 14.6649 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 676.164 Td +(Decompression) 61.9773 Tj +-250 TJm +(speed) 22.6848 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(unaf) 17.7035 Tj +25 TJm +(fected) 24.3386 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(these) 20.4731 Tj +-250 TJm +(phenomena.) 48.4182 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 654.247 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.863 654.247 Td +/F122_0 9.9626 Tf +(usually) 28.782 Tj +-299 TJm +(allocates) 34.8591 Tj +-298 TJm +(se) 8.2988 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(eral) 14.9339 Tj +-299 TJm +(me) 12.1743 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(abytes) 25.4544 Tj +-298 TJm +(of) 8.2988 Tj +-299 TJm +(memory) 33.2053 Tj +-299 TJm +(to) 7.7509 Tj +-298 TJm +(operate) 29.3199 Tj +-299 TJm +(in,) 10.2416 Tj +-311 TJm +(and) 14.386 Tj +-298 TJm +(then) 17.1556 Tj +-299 TJm +(char) 17.1456 Tj +18 TJm +(ges) 13.2801 Tj +-298 TJm +(all) 9.9626 Tj +-299 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-299 TJm +(it) 5.5392 Tj +-298 TJm +(in) 7.7509 Tj +-299 TJm +(a) 4.4234 Tj +-298 TJm +(f) 3.3175 Tj +10 TJm +(airly) 18.2614 Tj +-299 TJm +(random) 30.4357 Tj +72 642.291 Td +(f) 3.3175 Tj +10 TJm +(ashion.) 28.503 Tj +-743 TJm +(This) 17.7135 Tj +-270 TJm +(means) 25.4544 Tj +-271 TJm +(that) 14.9439 Tj +-270 TJm +(performance,) 52.8317 Tj +-276 TJm +(both) 17.7135 Tj +-270 TJm +(for) 11.6164 Tj +-271 TJm +(compressing) 50.3609 Tj +-270 TJm +(and) 14.386 Tj +-271 TJm +(decompressing,) 62.2563 Tj +-275 TJm +(is) 6.6451 Tj +-271 TJm +(lar) 10.5105 Tj +18 TJm +(gely) 17.1556 Tj +-270 TJm +(determined) 44.8217 Tj +-271 TJm +(by) 9.9626 Tj +-270 TJm +(the) 12.1743 Tj +-271 TJm +(speed) 22.6848 Tj +72 630.336 Td +(at) 7.193 Tj +-294 TJm +(which) 24.3486 Tj +-294 TJm +(your) 18.2614 Tj +-294 TJm +(machine) 33.7533 Tj +-295 TJm +(ca) 8.8468 Tj +1 TJm +(n) 4.9813 Tj +-295 TJm +(service) 28.2141 Tj +-294 TJm +(cache) 22.6749 Tj +-294 TJm +(misses.) 29.0609 Tj +-442 TJm +(Because) 33.1954 Tj +-294 TJm +(of) 8.2988 Tj +-294 TJm +(this,) 16.8866 Tj +-306 TJm +(small) 21.589 Tj +-294 TJm +(changes) 32.0895 Tj +-294 TJm +(to) 7.7509 Tj +-294 TJm +(the) 12.1743 Tj +-294 TJm +(code) 18.8094 Tj +-294 TJm +(to) 7.7509 Tj +-294 TJm +(reduce) 26.5503 Tj +-294 TJm +(the) 12.1743 Tj +-295 TJm +(miss) 18.2714 Tj +-294 TJm +(rate) 14.9339 Tj +72 618.381 Td +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-253 TJm +(been) 18.8094 Tj +-253 TJm +(observ) 26.5603 Tj +15 TJm +(ed) 9.4047 Tj +-253 TJm +(to) 7.7509 Tj +-253 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-253 TJm +(disproportionately) 73.0557 Tj +-253 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-253 TJm +(performance) 50.341 Tj +-253 TJm +(impro) 23.8007 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ements.) 30.7147 Tj +-639 TJm +(I) 3.3175 Tj +-253 TJm +(imagine) 32.0995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +438.909 618.381 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +471.318 618.381 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-253 TJm +(perform) 32.0895 Tj +-253 TJm +(best) 16.0497 Tj +72 606.426 Td +(on) 9.9626 Tj +-250 TJm +(machines) 37.6287 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-250 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-250 TJm +(caches.) 29.041 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 571.673 Td +/F116_0 20.6585 Tf +(2.8.) 34.4584 Tj +-278 TJm +(CA) 29.8309 Tj +80 TJm +(VEA) 42.4739 Tj +90 TJm +(TS) 26.4016 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 549.755 Td +/F122_0 9.9626 Tf +(I/O) 13.2801 Tj +-268 TJm +(error) 19.3573 Tj +-267 TJm +(messages) 37.6287 Tj +-268 TJm +(are) 12.1643 Tj +-268 TJm +(not) 12.7322 Tj +-268 TJm +(as) 8.2988 Tj +-267 TJm +(helpful) 28.224 Tj +-268 TJm +(as) 8.2988 Tj +-268 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-267 TJm +(could) 22.1369 Tj +-268 TJm +(be.) 11.8953 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +293.313 549.755 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +325.868 549.755 Td +/F122_0 9.9626 Tf +(tries) 17.1556 Tj +-268 TJm +(hard) 17.7035 Tj +-267 TJm +(to) 7.7509 Tj +-268 TJm +(detect) 23.7907 Tj +-268 TJm +(I/O) 13.2801 Tj +-268 TJm +(errors) 23.2328 Tj +-267 TJm +(and) 14.386 Tj +-268 TJm +(e) 4.4234 Tj +15 TJm +(xit) 10.5205 Tj +-268 TJm +(cleanly) 28.772 Tj +65 TJm +(,) 2.4907 Tj +-272 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-268 TJm +(the) 12.1743 Tj +72 537.8 Td +(details) 26.0123 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(what) 19.3673 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(problem) 33.2053 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(sometimes) 42.62 Tj +-250 TJm +(seem) 20.4731 Tj +-250 TJm +(rather) 23.2328 Tj +-250 TJm +(misleading.) 46.2165 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 515.882 Td +(This) 17.7135 Tj +-280 TJm +(manual) 29.3299 Tj +-279 TJm +(page) 18.8094 Tj +-280 TJm +(pertains) 31.5416 Tj +-280 TJm +(to) 7.7509 Tj +-279 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-280 TJm +(1.0.6) 19.9252 Tj +-280 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +256.84 515.882 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +286.728 515.882 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-798 TJm +(Compressed) 49.2551 Tj +-280 TJm +(data) 16.5977 Tj +-279 TJm +(created) 28.762 Tj +-280 TJm +(by) 9.9626 Tj +-280 TJm +(this) 14.396 Tj +-279 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-280 TJm +(is) 6.6451 Tj +-280 TJm +(entirely) 30.4357 Tj +-279 TJm +(forw) 18.8094 Tj +10 TJm +(ards) 16.5977 Tj +72 503.927 Td +(and) 14.386 Tj +-294 TJm +(backw) 26.0024 Tj +10 TJm +(ards) 16.5977 Tj +-293 TJm +(compatible) 44.2738 Tj +-294 TJm +(with) 17.7135 Tj +-294 TJm +(the) 12.1743 Tj +-293 TJm +(pre) 12.7222 Tj +25 TJm +(vious) 21.589 Tj +-294 TJm +(public) 24.9065 Tj +-294 TJm +(releases,) 34.0223 Tj +-304 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-294 TJm +(0.1pl2,) 27.6761 Tj +-305 TJm +(0.9.0) 19.9252 Tj +-293 TJm +(and) 14.386 Tj +-294 TJm +(0.9.5,) 22.4159 Tj +-305 TJm +(1.0.0,) 22.4159 Tj +-304 TJm +(1.0.1,) 22.4159 Tj +-305 TJm +(1.0.2) 19.9252 Tj +-294 TJm +(and) 14.386 Tj +72 491.972 Td +(1.0.3,) 22.4159 Tj +-263 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-260 TJm +(with) 17.7135 Tj +-260 TJm +(the) 12.1743 Tj +-260 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-260 TJm +(e) 4.4234 Tj +15 TJm +(xception:) 37.0808 Tj +-330 TJm +(0.9.0) 19.9252 Tj +-260 TJm +(and) 14.386 Tj +-260 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-260 TJm +(can) 13.8281 Tj +-260 TJm +(correctly) 35.4071 Tj +-260 TJm +(decompress) 47.0334 Tj +-260 TJm +(multiple) 33.2153 Tj +-260 TJm +(concatenated) 52.0048 Tj +-260 TJm +(compressed) 47.0334 Tj +72 480.017 Td +(\002les.) 19.0983 Tj +-310 TJm +(0.1pl2) 25.1855 Tj +-250 TJm +(cannot) 26.5603 Tj +-250 TJm +(do) 9.9626 Tj +-250 TJm +(this;) 17.1656 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(stop) 16.6077 Tj +-250 TJm +(after) 18.2515 Tj +-250 TJm +(decompressing) 59.7656 Tj +-250 TJm +(just) 14.396 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002rst) 15.5018 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 458.099 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +146.174 458.099 Td +/F122_0 9.9626 Tf +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-245 TJm +(prior) 19.3673 Tj +-245 TJm +(to) 7.7509 Tj +-245 TJm +(1.0.2) 19.9252 Tj +-246 TJm +(used) 18.2614 Tj +-245 TJm +(32-bit) 23.8007 Tj +-245 TJm +(inte) 14.9439 Tj +15 TJm +(gers) 16.5977 Tj +-245 TJm +(to) 7.7509 Tj +-245 TJm +(represent) 36.5129 Tj +-245 TJm +(bit) 10.5205 Tj +-246 TJm +(positions) 35.9849 Tj +-245 TJm +(in) 7.7509 Tj +-245 TJm +(compressed) 47.0334 Tj +-245 TJm +(\002les,) 19.0983 Tj +-246 TJm +(so) 8.8568 Tj +-245 TJm +(it) 5.5392 Tj +-245 TJm +(could) 22.1369 Tj +72 446.144 Td +(not) 12.7322 Tj +-384 TJm +(handle) 26.5603 Tj +-383 TJm +(compressed) 47.0334 Tj +-384 TJm +(\002les) 16.6077 Tj +-383 TJm +(more) 20.4731 Tj +-384 TJm +(than) 17.1556 Tj +-383 TJm +(512) 14.9439 Tj +-384 TJm +(me) 12.1743 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(abytes) 25.4544 Tj +-383 TJm +(long.) 20.2042 Tj +-1421 TJm +(V) 7.193 Tj +111 TJm +(ersions) 28.224 Tj +-384 TJm +(1.0.2) 19.9252 Tj +-383 TJm +(and) 14.386 Tj +-384 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-384 TJm +(use) 13.2801 Tj +-383 TJm +(64-bit) 23.8007 Tj +-384 TJm +(ints) 14.396 Tj +-383 TJm +(on) 9.9626 Tj +-384 TJm +(some) 21.031 Tj +72 434.189 Td +(platforms) 38.1866 Tj +-245 TJm +(which) 24.3486 Tj +-246 TJm +(support) 29.8878 Tj +-245 TJm +(them) 19.9252 Tj +-246 TJm +(\(GNU) 24.8965 Tj +-245 TJm +(supported) 39.2925 Tj +-245 TJm +(tar) 10.5105 Tj +18 TJm +(gets,) 18.5404 Tj +-247 TJm +(and) 14.386 Tj +-245 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws\).) 16.8766 Tj +-309 TJm +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-245 TJm +(establish) 34.8691 Tj +-245 TJm +(whether) 32.0895 Tj +-246 TJm +(or) 8.2988 Tj +-245 TJm +(not) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +468.269 434.189 Td +/F124_0 9.9626 Tf +(bzip2recover) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 422.233 Td +/F122_0 9.9626 Tf +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-255 TJm +(b) 4.9813 Tj +20 TJm +(uilt) 13.2901 Tj +-255 TJm +(with) 17.7135 Tj +-255 TJm +(such) 18.2614 Tj +-255 TJm +(a) 4.4234 Tj +-255 TJm +(limitation,) 41.2452 Tj +-256 TJm +(run) 13.2801 Tj +-255 TJm +(it) 5.5392 Tj +-255 TJm +(without) 30.4457 Tj +-255 TJm +(ar) 7.7409 Tj +18 TJm +(guments.) 36.2539 Tj +-325 TJm +(In) 8.2988 Tj +-255 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-256 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ent) 12.1743 Tj +-255 TJm +(you) 14.9439 Tj +-255 TJm +(can) 13.8281 Tj +-255 TJm +(b) 4.9813 Tj +20 TJm +(uild) 15.5018 Tj +-255 TJm +(yourself) 32.6474 Tj +-255 TJm +(an) 9.4047 Tj +-255 TJm +(unlimited) 38.1966 Tj +-255 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-255 TJm +(if) 6.0871 Tj +72 410.278 Td +(you) 14.9439 Tj +-250 TJm +(can) 13.8281 Tj +-250 TJm +(recompile) 39.8404 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.318 410.278 Td +/F124_0 9.9626 Tf +(MaybeUInt64) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +244.562 410.278 Td +/F122_0 9.9626 Tf +(set) 11.0684 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(unsigned) 35.9749 Tj +-250 TJm +(64-bit) 23.8007 Tj +-250 TJm +(inte) 14.9439 Tj +15 TJm +(ger) 12.7222 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 375.525 Td +/F116_0 20.6585 Tf +(2.9.) 34.4584 Tj +-278 TJm +(A) 14.9154 Tj +50 TJm +(UTHOR) 73.441 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 353.607 Td +/F122_0 9.9626 Tf +(Julian) 23.8007 Tj +-250 TJm +(Se) 9.9626 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(ard,) 15.2129 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +132.801 353.607 Td +/F124_0 9.9626 Tf +(jseward@bzip.org) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 331.69 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-299 TJm +(ideas) 20.4731 Tj +-300 TJm +(embodied) 39.2925 Tj +-299 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.942 331.69 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +199.813 331.69 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-299 TJm +(du) 9.9626 Tj +-1 TJm +(e) 4.4234 Tj +-299 TJm +(to) 7.7509 Tj +-299 TJm +(\(at) 10.5105 Tj +-300 TJm +(least\)) 21.579 Tj +-299 TJm +(the) 12.1743 Tj +-300 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-299 TJm +(people:) 29.3299 Tj +-409 TJm +(Michael) 32.6474 Tj +-300 TJm +(Burro) 23.2427 Tj +25 TJm +(ws) 11.0684 Tj +-299 TJm +(and) 14.386 Tj +-300 TJm +(Da) 11.6164 Tj +20 TJm +(vid) 12.7322 Tj +-299 TJm +(Wheeler) 33.7433 Tj +-299 TJm +(\(for) 14.9339 Tj +72 319.735 Td +(the) 12.1743 Tj +-312 TJm +(block) 22.1369 Tj +-313 TJm +(sorting) 27.6761 Tj +-312 TJm +(transformation\),) 64.468 Tj +-328 TJm +(Da) 11.6164 Tj +20 TJm +(vid) 12.7322 Tj +-312 TJm +(Wheeler) 33.7433 Tj +-313 TJm +(\(ag) 12.7222 Tj +5 TJm +(ain,) 14.6649 Tj +-327 TJm +(for) 11.6164 Tj +-313 TJm +(the) 12.1743 Tj +-312 TJm +(Huf) 15.4918 Tj +25 TJm +(fman) 20.4731 Tj +-312 TJm +(coder\),) 27.9351 Tj +-328 TJm +(Peter) 20.4731 Tj +-313 TJm +(Fenwick) 34.3112 Tj +-312 TJm +(\(for) 14.9339 Tj +-312 TJm +(the) 12.1743 Tj +-313 TJm +(structured) 39.8404 Tj +72 307.779 Td +(coding) 27.1182 Tj +-325 TJm +(model) 24.9065 Tj +-326 TJm +(in) 7.7509 Tj +-325 TJm +(the) 12.1743 Tj +-326 TJm +(original) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +191.156 307.779 Td +/F124_0 9.9626 Tf +(bzip) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +215.067 307.779 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-344 TJm +(and) 14.386 Tj +-326 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +-325 TJm +(re\002nements\),) 52.2937 Tj +-345 TJm +(and) 14.386 Tj +-325 TJm +(Alistair) 29.8878 Tj +-326 TJm +(Mof) 17.1556 Tj +25 TJm +(f) 3.3175 Tj +10 TJm +(at,) 9.6836 Tj +-344 TJm +(Radford) 32.6474 Tj +-325 TJm +(Neal) 18.8094 Tj +-326 TJm +(and) 14.386 Tj +-325 TJm +(Ian) 12.7222 Tj +-326 TJm +(W) 9.4047 Tj +40 TJm +(itten) 17.7135 Tj +-325 TJm +(\(for) 14.9339 Tj +72 295.824 Td +(the) 12.1743 Tj +-277 TJm +(arithmetic) 40.3983 Tj +-277 TJm +(coder) 22.1269 Tj +-277 TJm +(in) 7.7509 Tj +-277 TJm +(the) 12.1743 Tj +-277 TJm +(original) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +214.171 295.824 Td +/F124_0 9.9626 Tf +(bzip) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.082 295.824 Td +/F122_0 9.9626 Tf +(\).) 5.8082 Tj +-782 TJm +(I) 3.3175 Tj +-277 TJm +(am) 12.1743 Tj +-276 TJm +(much) 22.1369 Tj +-277 TJm +(indebted) 34.3112 Tj +-277 TJm +(for) 11.6164 Tj +-277 TJm +(their) 18.2614 Tj +-277 TJm +(help,) 19.6462 Tj +-284 TJm +(support) 29.8878 Tj +-277 TJm +(and) 14.386 Tj +-277 TJm +(advice.) 28.493 Tj +-781 TJm +(See) 14.386 Tj +-277 TJm +(the) 12.1743 Tj +-277 TJm +(manual) 29.3299 Tj +72 283.869 Td +(in) 7.7509 Tj +-330 TJm +(the) 12.1743 Tj +-330 TJm +(source) 26.0024 Tj +-330 TJm +(distrib) 25.4644 Tj +20 TJm +(ution) 20.4831 Tj +-330 TJm +(for) 11.6164 Tj +-329 TJm +(pointers) 32.0995 Tj +-330 TJm +(to) 7.7509 Tj +-330 TJm +(sources) 29.8778 Tj +-330 TJm +(of) 8.2988 Tj +-330 TJm +(documentation.) 61.7083 Tj +-1099 TJm +(Christian) 36.5329 Tj +-330 TJm +(v) 4.9813 Tj +20 TJm +(on) 9.9626 Tj +-330 TJm +(Roques) 29.8878 Tj +-330 TJm +(encouraged) 45.9176 Tj +-330 TJm +(me) 12.1743 Tj +-330 TJm +(to) 7.7509 Tj +-330 TJm +(look) 17.7135 Tj +72 271.914 Td +(for) 11.6164 Tj +-271 TJm +(f) 3.3175 Tj +10 TJm +(aster) 18.8094 Tj +-271 TJm +(sorting) 27.6761 Tj +-271 TJm +(algorithms,) 45.1107 Tj +-276 TJm +(so) 8.8568 Tj +-272 TJm +(as) 8.2988 Tj +-271 TJm +(to) 7.7509 Tj +-271 TJm +(speed) 22.6848 Tj +-271 TJm +(up) 9.9626 Tj +-271 TJm +(compression.) 52.8516 Tj +-746 TJm +(Bela) 18.2614 Tj +-271 TJm +(Lubkin) 28.782 Tj +-271 TJm +(encouraged) 45.9176 Tj +-271 TJm +(me) 12.1743 Tj +-272 TJm +(to) 7.7509 Tj +-271 TJm +(impro) 23.8007 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-271 TJm +(the) 12.1743 Tj +-271 TJm +(w) 7.193 Tj +10 TJm +(orst-case) 35.4071 Tj +72 259.959 Td +(compression) 50.3609 Tj +-340 TJm +(performance.) 52.8317 Tj +-580 TJm +(Donna) 26.5603 Tj +-339 TJm +(Robinson) 38.1966 Tj +-340 TJm +(XMLised) 38.1866 Tj +-340 TJm +(the) 12.1743 Tj +-340 TJm +(documentation.) 61.7083 Tj +-580 TJm +(Man) 18.2614 Tj +15 TJm +(y) 4.9813 Tj +-340 TJm +(people) 26.5603 Tj +-340 TJm +(sent) 16.0497 Tj +-339 TJm +(patches,) 32.3685 Tj +-363 TJm +(helped) 26.5603 Tj +-340 TJm +(with) 17.7135 Tj +72 248.003 Td +(portability) 41.5142 Tj +-250 TJm +(problems,) 39.5714 Tj +-250 TJm +(lent) 14.9439 Tj +-250 TJm +(machines,) 40.1194 Tj +-250 TJm +(g) 4.9813 Tj +5 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(advice) 26.0024 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(were) 19.3573 Tj +-250 TJm +(generally) 37.0708 Tj +-250 TJm +(helpful.) 30.7147 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +539.395 50.951 Td +(7) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 8 11 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 75.786 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 701.916 Td +/F116_0 24.7902 Tf +(3.) 20.675 Tj +-556 TJm +(Pr) 26.1785 Tj +20 TJm +(ogramming) 134.9826 Tj +-278 TJm +(with) 49.5804 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +330.484 701.916 Td +/F440_0 24.7902 Tf +(libbzip2) 118.993 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 656.35 Td +/F116_0 17.2154 Tf +(T) 10.5186 Tj +80 TJm +(ab) 20.0904 Tj +10 TJm +(le) 14.3576 Tj +-278 TJm +(of) 16.2513 Tj +-278 TJm +(Contents) 74.5943 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 635.788 Td +/F122_0 9.9626 Tf +(3.1.) 14.9439 Tj +-310 TJm +(T) 6.0871 Tj +80 TJm +(op-le) 20.4731 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(structure) 34.8591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +179.997 635.788 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 635.788 Td +/F122_0 9.9626 Tf +(8) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 623.832 Td +(3.1.1.) 22.4159 Tj +-310 TJm +(Lo) 11.0684 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +192.866 623.832 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 623.832 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 611.877 Td +(3.1.2.) 22.4159 Tj +-310 TJm +(High-le) 30.4357 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.822 611.877 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 611.877 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 599.922 Td +(3.1.3.) 22.4159 Tj +-310 TJm +(Utility) 26.0223 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(summary) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.582 599.922 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.108 599.922 Td +/F122_0 9.9626 Tf +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 587.967 Td +(3.2.) 14.9439 Tj +-310 TJm +(Error) 21.0211 Tj +-250 TJm +(handling) 34.8691 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +162.611 587.967 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 587.967 Td +/F122_0 9.9626 Tf +(10) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 576.012 Td +(3.3.) 14.9439 Tj +-310 TJm +(Lo) 11.0684 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.045 576.012 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 576.012 Td +/F122_0 9.9626 Tf +(11) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 564.057 Td +(3.3.1.) 22.4159 Tj +-310 TJm +(BZ2_bzCompressInit) 85.7879 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +197.762 564.057 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 564.057 Td +/F122_0 9.9626 Tf +(11) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 552.101 Td +(3.3.2.) 22.4159 Tj +-310 TJm +(BZ2_bzCompress) 71.9499 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +184.201 552.101 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 552.101 Td +/F122_0 9.9626 Tf +(13) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 540.146 Td +(3.3.3.) 22.4159 Tj +-310 TJm +(BZ2_bzCompressEnd) 87.9996 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +198.868 540.146 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 540.146 Td +/F122_0 9.9626 Tf +(16) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 528.191 Td +(3.3.4.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompressInit) 95.1827 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +206.887 528.191 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 528.191 Td +/F122_0 9.9626 Tf +(16) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 516.236 Td +(3.3.5.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompress) 81.3446 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.326 516.236 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 516.236 Td +/F122_0 9.9626 Tf +(17) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 504.281 Td +(3.3.6.) 22.4159 Tj +-310 TJm +(BZ2_bzDecompressEnd) 97.3944 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.207 504.281 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 504.281 Td +/F122_0 9.9626 Tf +(18) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 492.325 Td +(3.4.) 14.9439 Tj +-310 TJm +(High-le) 30.4357 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +184.216 492.325 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 492.325 Td +/F122_0 9.9626 Tf +(18) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 480.37 Td +(3.4.1.) 22.4159 Tj +-310 TJm +(BZ2_bzReadOpen) 74.1516 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +185.302 480.37 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 480.37 Td +/F122_0 9.9626 Tf +(19) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 468.415 Td +(3.4.2.) 22.4159 Tj +-310 TJm +(BZ2_bzRead) 52.5726 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +163.443 468.415 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 468.415 Td +/F122_0 9.9626 Tf +(20) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 456.46 Td +(3.4.3.) 22.4159 Tj +-310 TJm +(BZ2_bzReadGetUnused) 97.3944 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.207 456.46 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 456.46 Td +/F122_0 9.9626 Tf +(21) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 444.505 Td +(3.4.4.) 22.4159 Tj +-310 TJm +(BZ2_bzReadClose) 75.2674 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.074 444.505 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 444.505 Td +/F122_0 9.9626 Tf +(22) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 432.55 Td +(3.4.5.) 22.4159 Tj +-310 TJm +(BZ2_bzWriteOpen) 76.3633 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.622 432.55 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 432.55 Td +/F122_0 9.9626 Tf +(22) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 420.594 Td +(3.4.6.) 22.4159 Tj +-310 TJm +(BZ2_bzWrite) 54.7843 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.763 420.594 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 420.594 Td +/F122_0 9.9626 Tf +(23) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 408.639 Td +(3.4.7.) 22.4159 Tj +-310 TJm +(BZ2_bzWriteClose) 77.4791 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.179 408.639 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 408.639 Td +/F122_0 9.9626 Tf +(23) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 396.684 Td +(3.4.8.) 22.4159 Tj +-310 TJm +(Handling) 37.0808 Tj +-250 TJm +(embedded) 40.9463 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(streams) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.601 396.684 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 396.684 Td +/F122_0 9.9626 Tf +(24) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 384.729 Td +(3.4.9.) 22.4159 Tj +-310 TJm +(Standard) 35.417 Tj +-250 TJm +(\002le-reading/writing) 77.4791 Tj +-250 TJm +(code) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +247.564 384.729 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 384.729 Td +/F122_0 9.9626 Tf +(25) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 372.774 Td +(3.5.) 14.9439 Tj +-310 TJm +(Utility) 26.0223 Tj +-250 TJm +(functions) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +170.645 372.774 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 372.774 Td +/F122_0 9.9626 Tf +(26) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 360.819 Td +(3.5.1.) 22.4159 Tj +-310 TJm +(BZ2_bzBuf) 47.0434 Tj +25 TJm +(fT) 9.4047 Tj +80 TJm +(oBuf) 19.9252 Tj +25 TJm +(fCompress) 43.1679 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.488 360.819 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 360.819 Td +/F122_0 9.9626 Tf +(26) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 348.863 Td +(3.5.2.) 22.4159 Tj +-310 TJm +(BZ2_bzBuf) 47.0434 Tj +25 TJm +(fT) 9.4047 Tj +80 TJm +(oBuf) 19.9252 Tj +25 TJm +(fDecompress) 52.5627 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.613 348.863 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 348.863 Td +/F122_0 9.9626 Tf +(27) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 336.908 Td +(3.6.) 14.9439 Tj +-310 TJm +(zlib) 14.9439 Tj +-250 TJm +(compatibility) 53.1405 Tj +-250 TJm +(functions) 37.0808 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +215.06 336.908 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 336.908 Td +/F122_0 9.9626 Tf +(28) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 324.953 Td +(3.7.) 14.9439 Tj +-310 TJm +(Using) 23.8007 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(stdio-free) 38.1767 Tj +-250 TJm +(en) 9.4047 Tj +40 TJm +(vironment) 40.9562 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.092 324.953 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 324.953 Td +/F122_0 9.9626 Tf +(28) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 312.998 Td +(3.7.1.) 22.4159 Tj +-310 TJm +(Getting) 29.8878 Tj +-250 TJm +(rid) 11.0684 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(stdio) 19.3773 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.492 312.998 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 312.998 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 301.043 Td +(3.7.2.) 22.4159 Tj +-310 TJm +(Critical) 29.8878 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(handling) 34.8691 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +201.629 301.043 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 301.043 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 289.088 Td +(3.8.) 14.9439 Tj +-310 TJm +(Making) 30.9936 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws) 11.0684 Tj +-250 TJm +(DLL) 19.3673 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.243 289.088 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 289.088 Td +/F122_0 9.9626 Tf +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 257.207 Td +(This) 17.7135 Tj +-250 TJm +(chapter) 29.3199 Tj +-250 TJm +(describes) 37.0708 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(programming) 54.2364 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.448 257.207 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +330.269 257.207 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 235.289 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-273 TJm +(general) 29.3199 Tj +-272 TJm +(background) 47.0334 Tj +-273 TJm +(information,) 49.534 Tj +-278 TJm +(particularly) 45.9276 Tj +-273 TJm +(about) 22.1369 Tj +-273 TJm +(memory) 33.2053 Tj +-272 TJm +(use) 13.2801 Tj +-273 TJm +(and) 14.386 Tj +-273 TJm +(performance) 50.341 Tj +-272 TJm +(aspects,) 31.2626 Tj +-279 TJm +(you') 18.2614 Tj +50 TJm +(d) 4.9813 Tj +-272 TJm +(be) 9.4047 Tj +-273 TJm +(well) 17.1556 Tj +-273 TJm +(advised) 30.4357 Tj +72 223.334 Td +(to) 7.7509 Tj +-250 TJm +(read) 17.1456 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +([2]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(as) 8.2988 Tj +-250 TJm +(well.) 19.6462 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 188.581 Td +/F116_0 20.6585 Tf +(3.1.) 34.4584 Tj +-278 TJm +(T) 12.6223 Tj +80 TJm +(op-le) 49.3532 Tj +15 TJm +(vel) 28.7153 Tj +-278 TJm +(structure) 89.5339 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 166.663 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +123.608 166.663 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-380 TJm +(a) 4.4234 Tj +-380 TJm +(\003e) 9.9626 Tj +15 TJm +(xible) 19.9252 Tj +-381 TJm +(library) 26.5603 Tj +-380 TJm +(for) 11.6164 Tj +-380 TJm +(compressing) 50.3609 Tj +-380 TJm +(and) 14.386 Tj +-380 TJm +(decompressing) 59.7656 Tj +-380 TJm +(data) 16.5977 Tj +-381 TJm +(in) 7.7509 Tj +-380 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.291 166.663 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +438.966 166.663 Td +/F122_0 9.9626 Tf +(data) 16.5977 Tj +-380 TJm +(format.) 29.0509 Tj +-1401 TJm +(Although) 37.6387 Tj +72 154.708 Td +(packaged) 37.6188 Tj +-285 TJm +(as) 8.2988 Tj +-284 TJm +(a) 4.4234 Tj +-285 TJm +(single) 23.8007 Tj +-285 TJm +(entity) 22.6948 Tj +65 TJm +(,) 2.4907 Tj +-293 TJm +(it) 5.5392 Tj +-285 TJm +(helps) 21.031 Tj +-285 TJm +(to) 7.7509 Tj +-284 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(ard) 12.7222 Tj +-285 TJm +(the) 12.1743 Tj +-285 TJm +(library) 26.5603 Tj +-284 TJm +(as) 8.2988 Tj +-285 TJm +(three) 19.9152 Tj +-285 TJm +(separate) 32.6375 Tj +-284 TJm +(parts:) 22.1369 Tj +-380 TJm +(the) 12.1743 Tj +-285 TJm +(lo) 7.7509 Tj +25 TJm +(w) 7.193 Tj +-284 TJm +(le) 7.193 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-285 TJm +(interf) 21.579 Tj +10 TJm +(ace,) 15.7608 Tj +-293 TJm +(and) 14.386 Tj +-285 TJm +(the) 12.1743 Tj +-285 TJm +(high) 17.7135 Tj +72 142.753 Td +(le) 7.193 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace,) 15.7608 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(utility) 23.8106 Tj +-250 TJm +(functions.) 39.5714 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 120.835 Td +(The) 15.4918 Tj +-349 TJm +(structure) 34.8591 Tj +-349 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +141.082 120.835 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.903 120.835 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +55 TJm +(s) 3.8755 Tj +-349 TJm +(interf) 21.579 Tj +10 TJm +(aces) 17.1456 Tj +-349 TJm +(is) 6.6451 Tj +-349 TJm +(similar) 27.6761 Tj +-349 TJm +(to) 7.7509 Tj +-349 TJm +(that) 14.9439 Tj +-349 TJm +(of) 8.2988 Tj +-349 TJm +(Jean-loup) 38.7346 Tj +-349 TJm +(Gailly') 28.224 Tj +55 TJm +(s) 3.8755 Tj +-349 TJm +(and) 14.386 Tj +-349 TJm +(Mark) 21.579 Tj +-349 TJm +(Adler') 26.0024 Tj +55 TJm +(s) 3.8755 Tj +-349 TJm +(e) 4.4234 Tj +15 TJm +(xcellent) 31.5416 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +516.09 120.835 Td +/F124_0 9.9626 Tf +(zlib) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 108.88 Td +/F122_0 9.9626 Tf +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 86.962 Td +(All) 12.7322 Tj +-242 TJm +(e) 4.4234 Tj +15 TJm +(xternally) 35.417 Tj +-242 TJm +(visible) 26.5703 Tj +-241 TJm +(symbols) 33.2153 Tj +-242 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-242 TJm +(names) 25.4544 Tj +-242 TJm +(be) 9.4047 Tj +15 TJm +(ginning) 30.4457 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +284.687 86.962 Td +/F124_0 9.9626 Tf +(BZ2_) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +308.597 86.962 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-615 TJm +(This) 17.7135 Tj +-241 TJm +(is) 6.6451 Tj +-242 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-242 TJm +(in) 7.7509 Tj +-242 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-242 TJm +(1.0.) 14.9439 Tj +-614 TJm +(The) 15.4918 Tj +-242 TJm +(intention) 35.427 Tj +-242 TJm +(is) 6.6451 Tj +-241 TJm +(to) 7.7509 Tj +-242 TJm +(minimise) 37.0908 Tj +72 75.007 Td +(pollution) 35.9849 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(namespaces) 47.5814 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(clients.) 28.503 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +541.288 50.951 Td +(8) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 9 12 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +420.96 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +498.449 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 75.786 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(part) 15.4918 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(need) 18.8094 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +240.567 710.037 Td +/F124_0 9.9626 Tf +(#include) 47.8205 Tj +-600 TJm +() 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +350.654 710.037 Td +/F122_0 9.9626 Tf +(into) 15.5018 Tj +-250 TJm +(your) 18.2614 Tj +-250 TJm +(sources.) 32.3685 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 679.416 Td +/F116_0 17.2154 Tf +(3.1.1.) 43.0729 Tj +-278 TJm +(Lo) 21.0372 Tj +15 TJm +(w-le) 33.484 Tj +15 TJm +(vel) 23.9294 Tj +-278 TJm +(summar) 66.9679 Tj +-10 TJm +(y) 9.5718 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 657.498 Td +/F122_0 9.9626 Tf +(This) 17.7135 Tj +-212 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-212 TJm +(pro) 13.2801 Tj +15 TJm +(vides) 21.031 Tj +-212 TJm +(services) 32.0895 Tj +-212 TJm +(for) 11.6164 Tj +-212 TJm +(compressing) 50.3609 Tj +-212 TJm +(and) 14.386 Tj +-212 TJm +(decompress) 47.0334 Tj +1 TJm +(ing) 12.7322 Tj +-212 TJm +(data) 16.5977 Tj +-212 TJm +(in) 7.7509 Tj +-212 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +-595 TJm +(There') 26.5503 Tj +55 TJm +(s) 3.8755 Tj +-212 TJm +(no) 9.9626 Tj +-212 TJm +(pro) 13.2801 Tj +15 TJm +(vision) 24.3586 Tj +-212 TJm +(for) 11.6164 Tj +-212 TJm +(dealing) 29.3299 Tj +72 645.543 Td +(with) 17.7135 Tj +-213 TJm +(\002les,) 19.0983 Tj +-220 TJm +(streams) 30.4357 Tj +-213 TJm +(or) 8.2988 Tj +-213 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-213 TJm +(other) 20.4731 Tj +-213 TJm +(I/O) 13.2801 Tj +-213 TJm +(mechanisms,) 51.7457 Tj +-221 TJm +(just) 14.396 Tj +-213 TJm +(straight) 29.8878 Tj +-213 TJm +(memory-to-memory) 80.7967 Tj +-213 TJm +(w) 7.193 Tj +10 TJm +(ork.) 15.7708 Tj +-595 TJm +(In) 8.2988 Tj +-213 TJm +(f) 3.3175 Tj +10 TJm +(act,) 14.107 Tj +-221 TJm +(this) 14.396 Tj +-213 TJm +(part) 15.4918 Tj +-213 TJm +(of) 8.2988 Tj +-213 TJm +(the) 12.1743 Tj +-213 TJm +(library) 26.5603 Tj +72 633.588 Td +(can) 13.8281 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(compiled) 37.0808 Tj +-250 TJm +(without) 30.4457 Tj +-250 TJm +(inclusion) 36.5329 Tj +-250 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +222.534 633.588 Td +/F124_0 9.9626 Tf +(stdio.h) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +264.377 633.588 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(may) 17.1556 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(helpful) 28.224 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(embedded) 40.9463 Tj +-250 TJm +(applications.) 50.6399 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 611.67 Td +(The) 15.4918 Tj +-250 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(part) 15.4918 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(no) 9.9626 Tj +-250 TJm +(global) 24.9065 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(ariables) 30.9837 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(therefore) 35.955 Tj +-250 TJm +(thread-safe.) 46.7445 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 589.752 Td +(Six) 13.2901 Tj +-875 TJm +(routines) 32.0995 Tj +-876 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-875 TJm +(up) 9.9626 Tj +-876 TJm +(the) 12.1743 Tj +-875 TJm +(lo) 7.7509 Tj +25 TJm +(w) 7.193 Tj +-876 TJm +(le) 7.193 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-875 TJm +(interf) 21.579 Tj +10 TJm +(ace:) 16.0398 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +308.791 589.752 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +416.387 589.752 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +429.158 589.752 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +512.844 589.752 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-1032 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 577.797 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressEnd) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +186.15 577.797 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +-1258 TJm +(compression,) 52.8516 Tj +-1510 TJm +(and) 14.386 Tj +-1257 TJm +(a) 4.4234 Tj +-1258 TJm +(corresponding) 56.996 Tj +-1258 TJm +(trio) 13.8381 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +417.958 577.797 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressInit) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 577.797 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 565.842 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.707 565.842 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +192.158 565.842 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressEnd) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +310.798 565.842 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +-508 TJm +(decompression.) 62.2563 Tj +-2171 TJm +(The) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +431.918 564.099 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +437.895 565.842 Td +(Init) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +466.871 565.842 Td +/F122_0 9.9626 Tf +(functions) 37.0808 Tj +-508 TJm +(allocate) 30.9837 Tj +72 553.887 Td +(memory) 33.2053 Tj +-574 TJm +(for) 11.6164 Tj +-573 TJm +(compression/decompression) 112.8962 Tj +-574 TJm +(and) 14.386 Tj +-574 TJm +(do) 9.9626 Tj +-573 TJm +(other) 20.4731 Tj +-574 TJm +(initialisations,) 56.1891 Tj +-654 TJm +(whilst) 24.3586 Tj +-574 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +419.503 552.143 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +425.48 553.887 Td +(End) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +449.128 553.887 Td +/F122_0 9.9626 Tf +(functions) 37.0808 Tj +-574 TJm +(close) 20.4731 Tj +-573 TJm +(do) 9.9626 Tj +25 TJm +(wn) 12.1743 Tj +72 541.932 Td +(operations) 41.5042 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(release) 27.6562 Tj +-250 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 520.014 Td +(The) 15.4918 Tj +-303 TJm +(real) 14.9339 Tj +-303 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-303 TJm +(is) 6.6451 Tj +-303 TJm +(done) 19.3673 Tj +-303 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.892 520.014 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +263.598 520.014 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +281.003 520.014 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +376.645 520.014 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-939 TJm +(These) 23.7907 Tj +-303 TJm +(compress) 37.6287 Tj +-303 TJm +(and) 14.386 Tj +-303 TJm +(decompress) 47.0334 Tj +-303 TJm +(data) 16.5977 Tj +72 508.059 Td +(from) 19.3673 Tj +-205 TJm +(a) 4.4234 Tj +-205 TJm +(user) 16.5977 Tj +20 TJm +(-supplied) 37.0808 Tj +-205 TJm +(input) 20.4831 Tj +-206 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-205 TJm +(to) 7.7509 Tj +-205 TJm +(a) 4.4234 Tj +-205 TJm +(user) 16.5977 Tj +20 TJm +(-supplied) 37.0808 Tj +-205 TJm +(output) 25.4644 Tj +-205 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +55 TJm +(.) 2.4907 Tj +-591 TJm +(These) 23.7907 Tj +-205 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fers) 14.9339 Tj +-205 TJm +(can) 13.8281 Tj +-205 TJm +(be) 9.4047 Tj +-205 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-205 TJm +(size;) 18.2614 Tj +-220 TJm +(arbitrary) 34.3012 Tj +-206 TJm +(quantities) 38.7446 Tj +-205 TJm +(of) 8.2988 Tj +72 496.104 Td +(data) 16.5977 Tj +-258 TJm +(are) 12.1643 Tj +-258 TJm +(handled) 31.5416 Tj +-258 TJm +(by) 9.9626 Tj +-257 TJm +(making) 29.8878 Tj +-258 TJm +(repeated) 33.7433 Tj +-258 TJm +(calls) 18.2614 Tj +-258 TJm +(to) 7.7509 Tj +-258 TJm +(these) 20.4731 Tj +-258 TJm +(functions.) 39.5714 Tj +-667 TJm +(This) 17.7135 Tj +-258 TJm +(is) 6.6451 Tj +-258 TJm +(a) 4.4234 Tj +-257 TJm +(\003e) 9.9626 Tj +15 TJm +(xible) 19.9252 Tj +-258 TJm +(mechanism) 45.3796 Tj +-258 TJm +(allo) 14.9439 Tj +25 TJm +(wing) 19.9252 Tj +-258 TJm +(a) 4.4234 Tj +-258 TJm +(consumer) 38.7346 Tj +20 TJm +(-pull) 18.8194 Tj +72 484.148 Td +(style) 18.8194 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(acti) 14.386 Tj +25 TJm +(vity) 15.5018 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(producer) 35.4071 Tj +20 TJm +(-push,) 24.6275 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(mixture) 30.9936 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(both.) 20.2042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 453.527 Td +/F116_0 17.2154 Tf +(3.1.2.) 43.0729 Tj +-278 TJm +(High-le) 58.343 Tj +15 TJm +(vel) 23.9294 Tj +-278 TJm +(summar) 66.9679 Tj +-10 TJm +(y) 9.5718 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 431.609 Td +/F122_0 9.9626 Tf +(This) 17.7135 Tj +-284 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-284 TJm +(pro) 13.2801 Tj +15 TJm +(vides) 21.031 Tj +-285 TJm +(some) 21.031 Tj +-284 TJm +(handy) 24.3486 Tj +-284 TJm +(wrappers) 36.5129 Tj +-284 TJm +(around) 27.6661 Tj +-284 TJm +(the) 12.1743 Tj +-284 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-285 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-284 TJm +(to) 7.7509 Tj +-284 TJm +(f) 3.3175 Tj +10 TJm +(acilitate) 31.5416 Tj +-284 TJm +(reading) 29.8778 Tj +-284 TJm +(and) 14.386 Tj +-285 TJm +(writ) 16.0497 Tj +1 TJm +(ing) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +510.112 431.609 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 419.654 Td +/F122_0 9.9626 Tf +(format) 26.5603 Tj +-347 TJm +(\002les) 16.6077 Tj +-346 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +125.391 419.654 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +152.754 419.654 Td +/F122_0 9.9626 Tf +(\002les\).) 22.4159 Tj +-1200 TJm +(The) 15.4918 Tj +-346 TJm +(routines) 32.0995 Tj +-347 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-346 TJm +(hooks) 23.8007 Tj +-347 TJm +(to) 7.7509 Tj +-346 TJm +(f) 3.3175 Tj +10 TJm +(acilitate) 31.5416 Tj +-347 TJm +(reading) 29.8778 Tj +-347 TJm +(\002les) 16.6077 Tj +-346 TJm +(in) 7.7509 Tj +-347 TJm +(which) 24.3486 Tj +-346 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +460.049 419.654 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +493.39 419.654 Td +/F122_0 9.9626 Tf +(data) 16.5977 Tj +-347 TJm +(stream) 26.5603 Tj +72 407.699 Td +(is) 6.6451 Tj +-339 TJm +(embedded) 40.9463 Tj +-339 TJm +(within) 25.4644 Tj +-339 TJm +(some) 21.031 Tj +-339 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +20 TJm +(-scale) 23.2328 Tj +-339 TJm +(\002le) 12.7322 Tj +-339 TJm +(structure,) 37.3498 Tj +-361 TJm +(or) 8.2988 Tj +-340 TJm +(wher) 19.9152 Tj +1 TJm +(e) 4.4234 Tj +-340 TJm +(there) 19.9152 Tj +-339 TJm +(are) 12.1643 Tj +-339 TJm +(multiple) 33.2153 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +400.941 407.699 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +434.207 407.699 Td +/F122_0 9.9626 Tf +(data) 16.5977 Tj +-339 TJm +(streams) 30.4357 Tj +-339 TJm +(concatenated) 52.0048 Tj +72 395.744 Td +(end-to-end.) 45.6486 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 373.826 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-332 TJm +(reading) 29.8778 Tj +-333 TJm +(\002les,) 19.0983 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +144.803 373.826 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +228.489 373.826 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.496 373.826 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.272 373.826 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +300.279 373.826 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +393.253 373.826 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +410.951 373.826 Td +/F124_0 9.9626 Tf +(BZ2_bzReadGetUnused) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +527.836 373.826 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +72 361.871 Td +(supplied.) 36.2539 Tj +-620 TJm +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(writing) 28.782 Tj +-250 TJm +(\002les,) 19.0983 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +183.471 361.871 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteOpen) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +273.135 361.871 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +278.116 361.871 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +346.36 361.871 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.237 361.871 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteFinish) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +467.346 361.871 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 339.953 Td +(As) 11.0684 Tj +-374 TJm +(with) 17.7135 Tj +-374 TJm +(the) 12.1743 Tj +-375 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-374 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-405 TJm +(no) 9.9626 Tj +-374 TJm +(global) 24.9065 Tj +-374 TJm +(v) 4.9813 Tj +25 TJm +(ariables) 30.9837 Tj +-375 TJm +(are) 12.1643 Tj +-374 TJm +(used) 18.2614 Tj +-374 TJm +(so) 8.8568 Tj +-374 TJm +(the) 12.1743 Tj +-374 TJm +(library) 26.5603 Tj +-375 TJm +(is) 6.6451 Tj +-374 TJm +(per) 12.7222 Tj +-374 TJm +(se) 8.2988 Tj +-374 TJm +(thread-safe.) 46.7445 Tj +-1365 TJm +(Ho) 12.1743 Tj +25 TJm +(we) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +40 TJm +(,) 2.4907 Tj +-406 TJm +(if) 6.0871 Tj +-374 TJm +(I/O) 13.2801 Tj +72 327.998 Td +(errors) 23.2328 Tj +-267 TJm +(occur) 22.1269 Tj +-267 TJm +(whilst) 24.3586 Tj +-267 TJm +(reading) 29.8778 Tj +-267 TJm +(or) 8.2988 Tj +-267 TJm +(writing) 28.782 Tj +-267 TJm +(the) 12.1743 Tj +-268 TJm +(underlying) 43.1679 Tj +-267 TJm +(compressed) 47.0334 Tj +-267 TJm +(\002les,) 19.0983 Tj +-271 TJm +(you) 14.9439 Tj +-267 TJm +(may) 17.1556 Tj +-267 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-267 TJm +(to) 7.7509 Tj +-267 TJm +(consult) 28.782 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +457.199 327.998 Td +/F124_0 9.9626 Tf +(errno) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +489.748 327.998 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-267 TJm +(determine) 39.8404 Tj +72 316.043 Td +(the) 12.1743 Tj +-366 TJm +(cause) 22.1269 Tj +-365 TJm +(of) 8.2988 Tj +-366 TJm +(the) 12.1743 Tj +-365 TJm +(error) 19.3573 Tj +55 TJm +(.) 2.4907 Tj +-1314 TJm +(In) 8.2988 Tj +-366 TJm +(that) 14.9439 Tj +-365 TJm +(case,) 19.6363 Tj +-395 TJm +(you') 18.2614 Tj +50 TJm +(d) 4.9813 Tj +-366 TJm +(need) 18.8094 Tj +-365 TJm +(a) 4.4234 Tj +-366 TJm +(C) 6.6451 Tj +-365 TJm +(library) 26.5603 Tj +-366 TJm +(which) 24.3486 Tj +-366 TJm +(correctly) 35.4071 Tj +-365 TJm +(supports) 33.7633 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +431.668 316.043 Td +/F124_0 9.9626 Tf +(errno) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +465.199 316.043 Td +/F122_0 9.9626 Tf +(in) 7.7509 Tj +-366 TJm +(a) 4.4234 Tj +-365 TJm +(multithreaded) 55.3422 Tj +72 304.088 Td +(en) 9.4047 Tj +40 TJm +(vironment.) 43.4469 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 282.17 Td +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-243 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-243 TJm +(the) 12.1743 Tj +-242 TJm +(library) 26.5603 Tj +-243 TJm +(a) 4.4234 Tj +-243 TJm +(little) 18.2714 Tj +-242 TJm +(simpler) 29.8878 Tj +-243 TJm +(and) 14.386 Tj +-243 TJm +(more) 20.4731 Tj +-243 TJm +(portable,) 35.1381 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +289.263 282.17 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +375.368 282.17 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.172 282.17 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteOpen) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +484.254 282.17 Td +/F122_0 9.9626 Tf +(require) 28.2141 Tj +-243 TJm +(you) 14.9439 Tj +-243 TJm +(to) 7.7509 Tj +72 270.215 Td +(pass) 17.1556 Tj +-247 TJm +(them) 19.9252 Tj +-248 TJm +(\002le) 12.7322 Tj +-247 TJm +(handles) 30.4357 Tj +-247 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +165.421 270.215 Td +/F124_0 9.9626 Tf +(FILE) 23.9102 Tj +189.331 268.471 Td +(*) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +195.309 270.215 Td +/F122_0 9.9626 Tf +(s\)) 7.193 Tj +-247 TJm +(which) 24.3486 Tj +-248 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-247 TJm +(pre) 12.7222 Tj +25 TJm +(viously) 29.3399 Tj +-247 TJm +(been) 18.8094 Tj +-248 TJm +(opened) 28.772 Tj +-247 TJm +(for) 11.6164 Tj +-247 TJm +(reading) 29.8778 Tj +-247 TJm +(or) 8.2988 Tj +-248 TJm +(writing) 28.782 Tj +-247 TJm +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(.) 2.4907 Tj +-618 TJm +(That) 18.2614 Tj +-248 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +20 TJm +(oids) 16.6077 Tj +72 258.259 Td +(portability) 41.5142 Tj +-272 TJm +(problems) 37.0808 Tj +-273 TJm +(associated) 40.9463 Tj +-272 TJm +(with) 17.7135 Tj +-272 TJm +(\002le) 12.7322 Tj +-273 TJm +(operations) 41.5042 Tj +-272 TJm +(and) 14.386 Tj +-272 TJm +(\002le) 12.7322 Tj +-273 TJm +(attrib) 21.031 Tj +20 TJm +(utes,) 18.5404 Tj +-278 TJm +(whilst) 24.3586 Tj +-272 TJm +(not) 12.7322 Tj +-272 TJm +(being) 22.1369 Tj +-273 TJm +(much) 22.1369 Tj +-272 TJm +(of) 8.2988 Tj +-273 TJm +(an) 9.4047 Tj +-272 TJm +(imposition) 42.63 Tj +-272 TJm +(on) 9.9626 Tj +-273 TJm +(the) 12.1743 Tj +72 246.304 Td +(programmer) 49.2451 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 215.683 Td +/F116_0 17.2154 Tf +(3.1.3.) 43.0729 Tj +-278 TJm +(Utility) 47.8244 Tj +-278 TJm +(functions) 77.4693 Tj +-278 TJm +(summar) 66.9679 Tj +-10 TJm +(y) 9.5718 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 193.765 Td +/F122_0 9.9626 Tf +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-273 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-273 TJm +(simple) 26.5703 Tj +-273 TJm +(needs,) 25.1755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +165.929 193.765 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffCompress) 143.4614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +312.112 193.765 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +329.219 193.765 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +487.357 193.765 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-273 TJm +(pro) 13.2801 Tj +15 TJm +(vided.) 24.6275 Tj +72 181.81 Td +(These) 23.7907 Tj +-374 TJm +(compress) 37.6287 Tj +-373 TJm +(data) 16.5977 Tj +-374 TJm +(in) 7.7509 Tj +-373 TJm +(memory) 33.2053 Tj +-374 TJm +(from) 19.3673 Tj +-373 TJm +(one) 14.386 Tj +-374 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-373 TJm +(to) 7.7509 Tj +-374 TJm +(another) 29.8778 Tj +-374 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-373 TJm +(in) 7.7509 Tj +-374 TJm +(a) 4.4234 Tj +-373 TJm +(single) 23.8007 Tj +-374 TJm +(function) 33.2053 Tj +-373 TJm +(call.) 16.8766 Tj +-1362 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-373 TJm +(should) 26.5703 Tj +-374 TJm +(assess) 24.3486 Tj +72 169.855 Td +(whether) 32.0895 Tj +-344 TJm +(these) 20.4731 Tj +-343 TJm +(functions) 37.0808 Tj +-344 TJm +(ful\002ll) 22.1469 Tj +-344 TJm +(your) 18.2614 Tj +-343 TJm +(memory-to-memory) 80.7967 Tj +-344 TJm +(compression/decompression) 112.8962 Tj +-343 TJm +(requirements) 52.0147 Tj +-344 TJm +(before) 25.4445 Tj +-344 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(esting) 23.8007 Tj +72 157.9 Td +(ef) 7.7409 Tj +25 TJm +(fort) 14.386 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(understanding) 56.4481 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(more) 20.4731 Tj +-250 TJm +(general) 29.3199 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(more) 20.4731 Tj +-250 TJm +(comple) 29.3299 Tj +15 TJm +(x) 4.9813 Tj +-250 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace.) 15.7608 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 135.982 Td +(Y) 7.193 Tj +110 TJm +(oshioka) 30.9936 Tj +-423 TJm +(Tsuneo) 29.3299 Tj +-422 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +150.161 135.982 Td +/F124_0 9.9626 Tf +(tsuneo@rr.iij4u.or.jp) 125.5288 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +275.69 135.982 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-423 TJm +(has) 13.2801 Tj +-422 TJm +(contrib) 28.224 Tj +20 TJm +(uted) 17.1556 Tj +-423 TJm +(some) 21.031 Tj +-423 TJm +(functions) 37.0808 Tj +-422 TJm +(to) 7.7509 Tj +-423 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-423 TJm +(better) 22.6848 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +476.462 135.982 Td +/F124_0 9.9626 Tf +(zlib) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +504.583 135.982 Td +/F122_0 9.9626 Tf +(compati-) 35.417 Tj +72 124.027 Td +(bility) 21.041 Tj +65 TJm +(.) 2.4907 Tj +-1446 TJm +(These) 23.7907 Tj +-388 TJm +(functions) 37.0808 Tj +-387 TJm +(are) 12.1643 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.914 124.027 Td +/F124_0 9.9626 Tf +(BZ2_bzopen) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +253.689 124.027 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +260.385 124.027 Td +/F124_0 9.9626 Tf +(BZ2_bzread) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +320.161 124.027 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +326.857 124.027 Td +/F124_0 9.9626 Tf +(BZ2_bzwrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.611 124.027 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +399.307 124.027 Td +/F124_0 9.9626 Tf +(BZ2_bzflush) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +465.06 124.027 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +471.756 124.027 Td +/F124_0 9.9626 Tf +(BZ2_bzclose) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 124.027 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 112.072 Td +/F124_0 9.9626 Tf +(BZ2_bzerror) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +140.408 112.072 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +157.449 112.072 Td +/F124_0 9.9626 Tf +(BZ2_bzlibVersion) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +253.091 112.072 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-719 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-266 TJm +(may) 17.1556 Tj +-267 TJm +(\002nd) 15.5018 Tj +-266 TJm +(these) 20.4731 Tj +-267 TJm +(functions) 37.0808 Tj +-266 TJm +(more) 20.4731 Tj +-267 TJm +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(enient) 24.3486 Tj +-266 TJm +(for) 11.6164 Tj +-267 TJm +(simple) 26.5703 Tj +-266 TJm +(\002le) 12.7322 Tj +-267 TJm +(reading) 29.8778 Tj +72 100.116 Td +(and) 14.386 Tj +-270 TJm +(writ) 16.0497 Tj +1 TJm +(ing,) 15.2229 Tj +-275 TJm +(than) 17.1556 Tj +-269 TJm +(those) 21.031 Tj +-270 TJm +(in) 7.7509 Tj +-269 TJm +(the) 12.1743 Tj +-270 TJm +(high-le) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-269 TJm +(interf) 21.579 Tj +10 TJm +(ace.) 15.7608 Tj +-737 TJm +(These) 23.7907 Tj +-270 TJm +(functions) 37.0808 Tj +-269 TJm +(are) 12.1643 Tj +-270 TJm +(not) 12.7322 Tj +-269 TJm +(\(yet\)) 18.8094 Tj +-270 TJm +(of) 8.2988 Tj +25 TJm +(\002cially) 27.6761 Tj +-269 TJm +(part) 15.4918 Tj +-270 TJm +(of) 8.2988 Tj +-269 TJm +(the) 12.1743 Tj +-270 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-274 TJm +(and) 14.386 Tj +-270 TJm +(are) 12.1643 Tj +72 88.161 Td +(minimally) 40.9662 Tj +-291 TJm +(documented) 48.6972 Tj +-291 TJm +(here.) 19.6363 Tj +-867 TJm +(If) 6.6351 Tj +-291 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-291 TJm +(break,) 24.6176 Tj +-301 TJm +(you) 14.9439 Tj +-291 TJm +(get) 12.1743 Tj +-292 TJm +(to) 7.7509 Tj +-291 TJm +(k) 4.9813 Tj +10 TJm +(eep) 13.8281 Tj +-291 TJm +(all) 9.9626 Tj +-291 TJm +(the) 12.1743 Tj +-291 TJm +(pieces.) 27.3872 Tj +-433 TJm +(I) 3.3175 Tj +-291 TJm +(hope) 19.3673 Tj +-291 TJm +(to) 7.7509 Tj +-291 TJm +(document) 39.2925 Tj +-292 TJm +(them) 19.9252 Tj +-291 TJm +(properly) 33.7533 Tj +-291 TJm +(when) 21.579 Tj +72 76.206 Td +(time) 17.7135 Tj +-250 TJm +(permits.) 32.3785 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +541.288 51.071 Td +(9) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 10 13 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(Y) 7.193 Tj +110 TJm +(oshioka) 30.9936 Tj +-250 TJm +(also) 16.0497 Tj +-250 TJm +(contrib) 28.224 Tj +20 TJm +(uted) 17.1556 Tj +-250 TJm +(modi\002cations) 54.2464 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(allo) 14.9439 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(uilt) 13.2901 Tj +-250 TJm +(as) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws) 11.0684 Tj +-250 TJm +(DLL.) 21.8579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 675.504 Td +/F116_0 20.6585 Tf +(3.2.) 34.4584 Tj +-278 TJm +(Err) 29.8515 Tj +20 TJm +(or) 20.6585 Tj +-278 TJm +(handling) 86.084 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 653.805 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-214 TJm +(library) 26.5603 Tj +-215 TJm +(is) 6.6451 Tj +-214 TJm +(designed) 35.417 Tj +-215 TJm +(to) 7.7509 Tj +-214 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-215 TJm +(cleanly) 28.772 Tj +-214 TJm +(in) 7.7509 Tj +-215 TJm +(all) 9.9626 Tj +-214 TJm +(situations,) 40.6873 Tj +-222 TJm +(including) 37.6387 Tj +-214 TJm +(the) 12.1743 Tj +-215 TJm +(w) 7.193 Tj +10 TJm +(orst-case) 35.4071 Tj +-214 TJm +(situation) 34.3212 Tj +-215 TJm +(of) 8.2988 Tj +-214 TJm +(decompressing) 59.7656 Tj +-215 TJm +(random) 30.4357 Tj +72 641.85 Td +(data.) 19.0883 Tj +-764 TJm +(I'm) 14.386 Tj +-274 TJm +(not) 12.7322 Tj +-275 TJm +(100%) 23.2427 Tj +-274 TJm +(sure) 16.5977 Tj +-274 TJm +(that) 14.9439 Tj +-274 TJm +(it) 5.5392 Tj +-274 TJm +(can) 13.8281 Tj +-274 TJm +(al) 7.193 Tj +10 TJm +(w) 7.193 Tj +10 TJm +(ays) 13.2801 Tj +-274 TJm +(do) 9.9626 Tj +-274 TJm +(this,) 16.8866 Tj +-280 TJm +(so) 8.8568 Tj +-274 TJm +(you) 14.9439 Tj +-274 TJm +(might) 23.2527 Tj +-274 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-274 TJm +(to) 7.7509 Tj +-274 TJm +(add) 14.386 Tj +-274 TJm +(a) 4.4234 Tj +-275 TJm +(s) 3.8755 Tj +1 TJm +(ignal) 19.9252 Tj +-275 TJm +(handler) 29.8778 Tj +-274 TJm +(to) 7.7509 Tj +-274 TJm +(catch) 21.0211 Tj +-274 TJm +(se) 8.2988 Tj +15 TJm +(gmentation) 44.8317 Tj +72 629.895 Td +(violations) 39.3025 Tj +-273 TJm +(during) 26.0123 Tj +-273 TJm +(decompression) 59.7656 Tj +-273 TJm +(if) 6.0871 Tj +-273 TJm +(you) 14.9439 Tj +-273 TJm +(are) 12.1643 Tj +-273 TJm +(feeling) 27.6661 Tj +-274 TJm +(especiall) 34.8591 Tj +1 TJm +(y) 4.9813 Tj +-274 TJm +(paranoid.) 37.3498 Tj +-758 TJm +(I) 3.3175 Tj +-273 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-273 TJm +(be) 9.4047 Tj +-273 TJm +(interested) 38.7346 Tj +-273 TJm +(in) 7.7509 Tj +-274 TJm +(hearing) 29.8778 Tj +-273 TJm +(more) 20.4731 Tj +-273 TJm +(about) 22.1369 Tj +72 617.939 Td +(the) 12.1743 Tj +-250 TJm +(rob) 13.2801 Tj +20 TJm +(ustness) 28.782 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(corrupted) 38.1767 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(data.) 19.0883 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 596.241 Td +(V) 7.193 Tj +111 TJm +(ersion) 24.3486 Tj +-251 TJm +(1.0.3) 19.9252 Tj +-251 TJm +(more) 20.4731 Tj +-251 TJm +(rob) 13.2801 Tj +20 TJm +(ust) 11.6264 Tj +-251 TJm +(in) 7.7509 Tj +-251 TJm +(this) 14.396 Tj +-251 TJm +(respect) 28.2141 Tj +-252 TJm +(than) 17.1556 Tj +-251 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-251 TJm +(pre) 12.7222 Tj +25 TJm +(vious) 21.589 Tj +-251 TJm +(v) 4.9813 Tj +15 TJm +(ersion.) 26.8392 Tj +-626 TJm +(In) 8.2988 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(estig) 18.8194 Tj +5 TJm +(ations) 23.8007 Tj +-251 TJm +(with) 17.7135 Tj +-251 TJm +(V) 7.193 Tj +111 TJm +(algrind) 28.224 Tj +-251 TJm +(\(a) 7.7409 Tj +-252 TJm +(tool) 15.5018 Tj +-251 TJm +(for) 11.6164 Tj +-251 TJm +(detecting) 36.5229 Tj +72 584.285 Td +(problems) 37.0808 Tj +-422 TJm +(with) 17.7135 Tj +-421 TJm +(memory) 33.2053 Tj +-422 TJm +(management\)) 54.2264 Tj +-421 TJm +(indicate) 31.5416 Tj +-422 TJm +(that,) 17.4346 Tj +-464 TJm +(at) 7.193 Tj +-422 TJm +(least) 18.2614 Tj +-421 TJm +(for) 11.6164 Tj +-422 TJm +(the) 12.1743 Tj +-422 TJm +(f) 3.3175 Tj +1 TJm +(e) 4.4234 Tj +25 TJm +(w) 7.193 Tj +-422 TJm +(\002les) 16.6077 Tj +-422 TJm +(I) 3.3175 Tj +-421 TJm +(tested,) 25.7334 Tj +-464 TJm +(all) 9.9626 Tj +-422 TJm +(single-bit) 37.6387 Tj +-422 TJm +(errors) 23.2328 Tj +-421 TJm +(in) 7.7509 Tj +-422 TJm +(the) 12.1743 Tj +72 572.33 Td +(decompressed) 56.4381 Tj +-342 TJm +(data) 16.5977 Tj +-341 TJm +(are) 12.1643 Tj +-342 TJm +(caught) 26.5603 Tj +-342 TJm +(properly) 33.7533 Tj +65 TJm +(,) 2.4907 Tj +-365 TJm +(with) 17.7135 Tj +-341 TJm +(no) 9.9626 Tj +-342 TJm +(se) 8.2988 Tj +15 TJm +(gmentation) 44.8317 Tj +-342 TJm +(f) 3.3175 Tj +10 TJm +(aults,) 21.31 Tj +-365 TJm +(no) 9.9626 Tj +-341 TJm +(uses) 17.1556 Tj +-342 TJm +(of) 8.2988 Tj +-342 TJm +(uninitialised) 49.2651 Tj +-342 TJm +(data,) 19.0883 Tj +-364 TJm +(no) 9.9626 Tj +-342 TJm +(out) 12.7322 Tj +-342 TJm +(of) 8.2988 Tj +-342 TJm +(range) 22.1269 Tj +72 560.375 Td +(reads) 21.0211 Tj +-261 TJm +(or) 8.2988 Tj +-260 TJm +(writes,) 26.8392 Tj +-263 TJm +(and) 14.386 Tj +-261 TJm +(no) 9.9626 Tj +-261 TJm +(in\002nit) 23.8106 Tj +1 TJm +(e) 4.4234 Tj +-261 TJm +(looping) 30.4457 Tj +-261 TJm +(in) 7.7509 Tj +-260 TJm +(the) 12.1743 Tj +-261 TJm +(decompressor) 55.3323 Tj +55 TJm +(.) 2.4907 Tj +-342 TJm +(So) 10.5205 Tj +-260 TJm +(it') 8.8568 Tj +55 TJm +(s) 3.8755 Tj +-261 TJm +(certainly) 34.8591 Tj +-260 TJm +(pretty) 23.2427 Tj +-261 TJm +(rob) 13.2801 Tj +20 TJm +(ust,) 14.117 Tj +-263 TJm +(although) 34.8691 Tj +-261 TJm +(I) 3.3175 Tj +-260 TJm +(w) 7.193 Tj +10 TJm +(ouldn') 26.0123 Tj +18 TJm +(t) 2.7696 Tj +-261 TJm +(claim) 22.1369 Tj +72 548.42 Td +(it) 5.5392 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(totally) 25.4644 Tj +-250 TJm +(bombproof.) 46.7644 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 526.721 Td +(The) 15.4918 Tj +-282 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +105.84 526.721 Td +/F124_0 9.9626 Tf +(bzlib.h) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +150.491 526.721 Td +/F122_0 9.9626 Tf +(contains) 33.2053 Tj +-282 TJm +(all) 9.9626 Tj +-282 TJm +(de\002nitions) 42.0721 Tj +-282 TJm +(needed) 28.2141 Tj +-281 TJm +(to) 7.7509 Tj +-282 TJm +(use) 13.2801 Tj +-282 TJm +(the) 12.1743 Tj +-282 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-811 TJm +(In) 8.2988 Tj +-282 TJm +(particular) 38.1767 Tj +40 TJm +(,) 2.4907 Tj +-290 TJm +(you) 14.9439 Tj +-282 TJm +(should) 26.5703 Tj +-281 TJm +(de\002nitely) 37.6387 Tj +-282 TJm +(not) 12.7322 Tj +-282 TJm +(include) 29.3299 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 514.766 Td +/F124_0 9.9626 Tf +(bzlib_private.h) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.664 514.766 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 493.067 Td +(In) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.807 493.067 Td +/F124_0 9.9626 Tf +(bzlib.h) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +124.651 493.067 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-252 TJm +(the) 12.1743 Tj +-252 TJm +(v) 4.9813 Tj +25 TJm +(arious) 24.3486 Tj +-252 TJm +(return) 23.7907 Tj +-252 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-251 TJm +(are) 12.1643 Tj +-252 TJm +(de\002ned.) 31.8205 Tj +-631 TJm +(The) 15.4918 Tj +-252 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-252 TJm +(list) 12.1843 Tj +-251 TJm +(is) 6.6451 Tj +-252 TJm +(not) 12.7322 Tj +-252 TJm +(intended) 34.3112 Tj +-252 TJm +(as) 8.2988 Tj +-251 TJm +(an) 9.4047 Tj +-252 TJm +(e) 4.4234 Tj +15 TJm +(xhausti) 28.782 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-252 TJm +(description) 44.2738 Tj +-252 TJm +(of) 8.2988 Tj +72 481.112 Td +(the) 12.1743 Tj +-236 TJm +(circumstances) 56.4381 Tj +-236 TJm +(in) 7.7509 Tj +-237 TJm +(which) 24.3486 Tj +-236 TJm +(a) 4.4234 Tj +-236 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-236 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-236 TJm +(may) 17.1556 Tj +-237 TJm +(be) 9.4047 Tj +-236 TJm +(returned) 33.1954 Tj +-236 TJm +(--) 6.6351 Tj +-236 TJm +(those) 21.031 Tj +-236 TJm +(descriptions) 48.1492 Tj +-236 TJm +(are) 12.1643 Tj +-237 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-236 TJm +(later) 17.7035 Tj +55 TJm +(.) 2.4907 Tj +-305 TJm +(Rather) 26.5603 Tj +40 TJm +(,) 2.4907 Tj +-239 TJm +(it) 5.5392 Tj +-236 TJm +(is) 6.6451 Tj +-237 TJm +(intended) 34.3112 Tj +-236 TJm +(to) 7.7509 Tj +72 469.157 Td +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +15 TJm +(y) 4.9813 Tj +-266 TJm +(the) 12.1743 Tj +-265 TJm +(rough) 23.2427 Tj +-266 TJm +(meaning) 34.3112 Tj +-265 TJm +(of) 8.2988 Tj +-266 TJm +(each) 18.2515 Tj +-266 TJm +(return) 23.7907 Tj +-265 TJm +(v) 4.9813 Tj +25 TJm +(alue.) 19.0883 Tj +-714 TJm +(The) 15.4918 Tj +-265 TJm +(\002rst) 15.5018 Tj +-266 TJm +(\002) 5.5392 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-265 TJm +(actions) 28.224 Tj +-266 TJm +(are) 12.1643 Tj +-266 TJm +(normal) 28.224 Tj +-265 TJm +(and) 14.386 Tj +-266 TJm +(not) 12.7322 Tj +-265 TJm +(intended) 34.3112 Tj +-266 TJm +(to) 7.7509 Tj +-266 TJm +(denote) 26.5603 Tj +-265 TJm +(an) 9.4047 Tj +-266 TJm +(error) 19.3573 Tj +72 457.202 Td +(situation.) 36.8118 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 425.759 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 413.804 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-250 TJm +(requested) 38.1767 Tj +-250 TJm +(action) 24.3486 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(completed) 41.5042 Tj +-250 TJm +(successfully) 48.6972 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 388.34 Td +/F124_0 9.9626 Tf +(BZ_RUN_OK,) 59.7756 Tj +-600 TJm +(BZ_FLUSH_OK,) 71.7307 Tj +-600 TJm +(BZ_FINISH_OK) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 376.384 Td +/F122_0 9.9626 Tf +(In) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +118.789 376.384 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +202.476 376.384 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(requested) 38.1767 Tj +-250 TJm +(\003ush/\002nish/nothing-special) 108.4927 Tj +-250 TJm +(action) 24.3486 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(completed) 41.5042 Tj +-250 TJm +(successfully) 48.6972 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 350.92 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 338.965 Td +/F122_0 9.9626 Tf +(Compression) 52.5826 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(completed,) 43.9948 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(logical) 27.1182 Tj +-250 TJm +(stream) 26.5603 Tj +-250 TJm +(end) 14.386 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(detected) 33.1954 Tj +-250 TJm +(during) 26.0123 Tj +-250 TJm +(decompression.) 62.2563 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 303.756 Td +(The) 15.4918 Tj +-250 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-250 TJm +(indicate) 31.5416 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(kind.) 20.2042 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 272.314 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 260.359 Td +/F122_0 9.9626 Tf +(Indicates) 35.965 Tj +-386 TJm +(that) 14.9439 Tj +-385 TJm +(the) 12.1743 Tj +-386 TJm +(library) 26.5603 Tj +-386 TJm +(has) 13.2801 Tj +-386 TJm +(been) 18.8094 Tj +-385 TJm +(improperly) 44.2738 Tj +-386 TJm +(compiled) 37.0808 Tj +-386 TJm +(on) 9.9626 Tj +-386 TJm +(your) 18.2614 Tj +-385 TJm +(platform) 34.3112 Tj +-386 TJm +(--) 6.6351 Tj +-386 TJm +(a) 4.4234 Tj +-386 TJm +(major) 23.2427 Tj +-385 TJm +(con\002guration) 53.1305 Tj +-386 TJm +(error) 19.3573 Tj +55 TJm +(.) 2.4907 Tj +108 248.404 Td +(Speci\002cally) 47.0434 Tj +65 TJm +(,) 2.4907 Tj +-481 TJm +(it) 5.5392 Tj +-435 TJm +(means) 25.4544 Tj +-435 TJm +(that) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +220.614 248.404 Td +/F124_0 9.9626 Tf +(sizeof\(char\)) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +292.345 248.404 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +299.628 248.404 Td +/F124_0 9.9626 Tf +(sizeof\(short\)) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +381.669 248.404 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +400.388 248.404 Td +/F124_0 9.9626 Tf +(sizeof\(int\)) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +470.474 248.404 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-435 TJm +(not) 12.7322 Tj +-435 TJm +(1,) 7.472 Tj +-481 TJm +(2) 4.9813 Tj +-435 TJm +(and) 14.386 Tj +108 236.448 Td +(4) 4.9813 Tj +-389 TJm +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(,) 2.4907 Tj +-424 TJm +(as) 8.2988 Tj +-390 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-389 TJm +(should) 26.5703 Tj +-389 TJm +(be.) 11.8953 Tj +-1456 TJm +(Note) 19.3673 Tj +-389 TJm +(that) 14.9439 Tj +-389 TJm +(the) 12.1743 Tj +-389 TJm +(library) 26.5603 Tj +-390 TJm +(should) 26.5703 Tj +-389 TJm +(still) 14.9539 Tj +-389 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-389 TJm +(properly) 33.7533 Tj +-390 TJm +(on) 9.9626 Tj +-389 TJm +(64-bit) 23.8007 Tj +-389 TJm +(platforms) 38.1866 Tj +108 224.493 Td +(which) 24.3486 Tj +-292 TJm +(follo) 18.8194 Tj +25 TJm +(w) 7.193 Tj +-292 TJm +(the) 12.1743 Tj +-292 TJm +(LP64) 21.589 Tj +-292 TJm +(programming) 54.2364 Tj +-293 TJm +(model) 24.9065 Tj +-292 TJm +(--) 6.6351 Tj +-292 TJm +(that) 14.9439 Tj +-292 TJm +(is,) 9.1357 Tj +-303 TJm +(where) 24.3386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +355.279 224.493 Td +/F124_0 9.9626 Tf +(sizeof\(long\)) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +429.92 224.493 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +447.217 224.493 Td +/F124_0 9.9626 Tf +(sizeof\(void) 65.7532 Tj +512.97 222.75 Td +(*) 5.9776 Tj +518.948 224.493 Td +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +527.836 224.493 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +108 212.538 Td +(8.) 7.472 Tj +-620 TJm +(Under) 24.8965 Tj +-250 TJm +(LP64,) 24.0796 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +175.606 212.538 Td +/F124_0 9.9626 Tf +(sizeof\(int\)) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +243.85 212.538 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(still) 14.9539 Tj +-250 TJm +(4,) 7.472 Tj +-250 TJm +(so) 8.8568 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +291.74 212.538 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +339.561 212.538 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +433.458 212.538 Td +/F124_0 9.9626 Tf +(long) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +459.859 212.538 Td +/F122_0 9.9626 Tf +(type,) 19.6462 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(OK.) 16.8766 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 187.073 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 175.118 Td +/F122_0 9.9626 Tf +(When) 23.7907 Tj +-291 TJm +(using) 21.589 Tj +-290 TJm +(the) 12.1743 Tj +-291 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-300 TJm +(it) 5.5392 Tj +-291 TJm +(is) 6.6451 Tj +-290 TJm +(important) 38.7446 Tj +-291 TJm +(to) 7.7509 Tj +-290 TJm +(call) 14.386 Tj +-291 TJm +(the) 12.1743 Tj +-290 TJm +(functions) 37.0808 Tj +-291 TJm +(in) 7.7509 Tj +-290 TJm +(the) 12.1743 Tj +-291 TJm +(correct) 27.6562 Tj +-290 TJm +(sequence) 36.5129 Tj +-291 TJm +(and) 14.386 Tj +-290 TJm +(with) 17.7135 Tj +-291 TJm +(data) 16.5977 Tj +-290 TJm +(structures) 38.7346 Tj +108 163.163 Td +(\(b) 8.2988 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fers) 14.9339 Tj +-206 TJm +(etc\)) 14.9339 Tj +-205 TJm +(in) 7.7509 Tj +-206 TJm +(the) 12.1743 Tj +-205 TJm +(correct) 27.6562 Tj +-206 TJm +(states.) 24.6275 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +239.409 163.163 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +289.278 163.163 Td +/F122_0 9.9626 Tf +(checks) 27.1082 Tj +-206 TJm +(as) 8.2988 Tj +-205 TJm +(much) 22.1369 Tj +-206 TJm +(as) 8.2988 Tj +-206 TJm +(it) 5.5392 Tj +-205 TJm +(can) 13.8281 Tj +-206 TJm +(to) 7.7509 Tj +-205 TJm +(ensure) 26.0024 Tj +-206 TJm +(this) 14.396 Tj +-206 TJm +(is) 6.6451 Tj +-205 TJm +(happening,) 43.9948 Tj +-215 TJm +(and) 14.386 Tj +-205 TJm +(returns) 27.6661 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 151.208 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +213.27 151.208 Td +/F122_0 9.9626 Tf +(if) 6.0871 Tj +-367 TJm +(not.) 15.2229 Tj +-659 TJm +(Code) 21.031 Tj +-367 TJm +(which) 24.3486 Tj +-367 TJm +(complies) 35.9749 Tj +-366 TJm +(precisely) 35.965 Tj +-367 TJm +(with) 17.7135 Tj +-366 TJm +(the) 12.1743 Tj +-367 TJm +(function) 33.2053 Tj +-366 TJm +(semantics,) 41.7831 Tj +-396 TJm +(as) 8.2988 Tj +-367 TJm +(detailed) 31.5416 Tj +108 139.253 Td +(belo) 17.1556 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(ne) 9.4047 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-250 TJm +(recei) 19.3573 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue;) 19.3673 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ent) 12.1743 Tj +-250 TJm +(denotes) 30.4357 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(uggy) 19.9252 Tj +-250 TJm +(code) 18.8094 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(estig) 18.8194 Tj +5 TJm +(ate.) 14.107 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 113.788 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 101.833 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-434 TJm +(when) 21.579 Tj +-434 TJm +(a) 4.4234 Tj +-434 TJm +(parameter) 39.8305 Tj +-434 TJm +(to) 7.7509 Tj +-434 TJm +(a) 4.4234 Tj +-433 TJm +(function) 33.2053 Tj +-434 TJm +(call) 14.386 Tj +-434 TJm +(is) 6.6451 Tj +-434 TJm +(out) 12.7322 Tj +-434 TJm +(of) 8.2988 Tj +-434 TJm +(range) 22.1269 Tj +-434 TJm +(or) 8.2988 Tj +-434 TJm +(otherwise) 38.7346 Tj +-434 TJm +(manifestly) 42.0621 Tj +-434 TJm +(incorrect.) 37.8977 Tj +-1723 TJm +(As) 11.0684 Tj +108 89.878 Td +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +131.644 89.878 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +233.263 89.878 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-595 TJm +(this) 14.396 Tj +-596 TJm +(denotes) 30.4357 Tj +-595 TJm +(a) 4.4234 Tj +-595 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-596 TJm +(in) 7.7509 Tj +-595 TJm +(the) 12.1743 Tj +-595 TJm +(client) 22.1369 Tj +-595 TJm +(code.) 21.3 Tj +-2692 TJm +(The) 15.4918 Tj +-596 TJm +(distinction) 42.0721 Tj +-595 TJm +(between) 33.1954 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 77.923 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +194.177 77.923 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +211.054 77.923 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +315.163 77.923 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(bit) 10.5205 Tj +-250 TJm +(hazy) 18.8094 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(still) 14.9539 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(orth) 16.0497 Tj +-250 TJm +(making.) 32.3785 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(10) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 11 14 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 698.082 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-228 TJm +(when) 21.579 Tj +-227 TJm +(a) 4.4234 Tj +-228 TJm +(request) 28.772 Tj +-227 TJm +(to) 7.7509 Tj +-228 TJm +(allocate) 30.9837 Tj +-228 TJm +(memory) 33.2053 Tj +-227 TJm +(f) 3.3175 Tj +10 TJm +(ailed.) 21.8579 Tj +-605 TJm +(Note) 19.3673 Tj +-228 TJm +(that) 14.9439 Tj +-228 TJm +(the) 12.1743 Tj +-227 TJm +(quantity) 32.6574 Tj +-228 TJm +(of) 8.2988 Tj +-227 TJm +(memory) 33.2053 Tj +-228 TJm +(needed) 28.2141 Tj +-228 TJm +(to) 7.7509 Tj +-227 TJm +(decompress) 47.0334 Tj +108 686.127 Td +(a) 4.4234 Tj +-351 TJm +(stream) 26.5603 Tj +-352 TJm +(cannot) 26.5603 Tj +-351 TJm +(be) 9.4047 Tj +-352 TJm +(determined) 44.8217 Tj +-351 TJm +(until) 18.2714 Tj +-352 TJm +(the) 12.1743 Tj +-351 TJm +(stream') 29.8778 Tj +55 TJm +(s) 3.8755 Tj +-351 TJm +(header) 26.5503 Tj +-352 TJm +(has) 13.2801 Tj +-351 TJm +(been) 18.8094 Tj +-352 TJm +(read.) 19.6363 Tj +-1228 TJm +(So) 10.5205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +426.471 686.127 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +525.614 686.127 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 674.172 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.13 674.172 Td +/F122_0 9.9626 Tf +(may) 17.1556 Tj +-437 TJm +(return) 23.7907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.784 674.172 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +297.867 674.172 Td +/F122_0 9.9626 Tf +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-437 TJm +(though) 27.6761 Tj +-437 TJm +(some) 21.031 Tj +-437 TJm +(of) 8.2988 Tj +-437 TJm +(the) 12.1743 Tj +-437 TJm +(compressed) 47.0334 Tj +-437 TJm +(data) 16.5977 Tj +-437 TJm +(has) 13.2801 Tj +-437 TJm +(been) 18.8094 Tj +-437 TJm +(read.) 19.6363 Tj +108 662.217 Td +(The) 15.4918 Tj +-479 TJm +(same) 20.4731 Tj +-478 TJm +(is) 6.6451 Tj +-479 TJm +(not) 12.7322 Tj +-478 TJm +(true) 15.4918 Tj +-479 TJm +(for) 11.6164 Tj +-479 TJm +(compression;) 53.1305 Tj +-593 TJm +(once) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +301.675 662.217 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +414.04 662.217 Td +/F122_0 9.9626 Tf +(or) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +427.107 662.217 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteOpen) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +521.539 662.217 Td +/F122_0 9.9626 Tf +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +108 650.261 Td +(successfully) 48.6972 Tj +-250 TJm +(completed,) 43.9948 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +205.672 650.261 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +279.894 650.261 Td +/F122_0 9.9626 Tf +(cannot) 26.5603 Tj +-250 TJm +(occur) 22.1269 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 624.359 Td +/F124_0 9.9626 Tf +(BZ_DATA_ERROR) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 612.404 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-266 TJm +(when) 21.579 Tj +-265 TJm +(a) 4.4234 Tj +-266 TJm +(data) 16.5977 Tj +-265 TJm +(inte) 14.9439 Tj +15 TJm +(grity) 18.8194 Tj +-266 TJm +(error) 19.3573 Tj +-266 TJm +(is) 6.6451 Tj +-265 TJm +(detected) 33.1954 Tj +-266 TJm +(during) 26.0123 Tj +-265 TJm +(decompression.) 62.2563 Tj +-714 TJm +(Most) 20.4831 Tj +-266 TJm +(importantl) 41.5142 Tj +1 TJm +(y) 4.9813 Tj +64 TJm +(,) 2.4907 Tj +-269 TJm +(this) 14.396 Tj +-266 TJm +(means) 25.4544 Tj +-265 TJm +(when) 21.579 Tj +108 600.448 Td +(stored) 24.3486 Tj +-222 TJm +(and) 14.386 Tj +-223 TJm +(computed) 39.2925 Tj +-222 TJm +(CRCs) 23.8106 Tj +-222 TJm +(for) 11.6164 Tj +-222 TJm +(the) 12.1743 Tj +-223 TJm +(data) 16.5977 Tj +-222 TJm +(do) 9.9626 Tj +-222 TJm +(not) 12.7322 Tj +-222 TJm +(match.) 26.8392 Tj +-602 TJm +(This) 17.7135 Tj +-222 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-222 TJm +(is) 6.6451 Tj +-223 TJm +(also) 16.0497 Tj +-222 TJm +(returned) 33.1954 Tj +-222 TJm +(upon) 19.9252 Tj +-222 TJm +(detection) 36.5229 Tj +-223 TJm +(of) 8.2988 Tj +-222 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-222 TJm +(other) 20.4731 Tj +108 588.493 Td +(anomaly) 34.3112 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(data.) 19.0883 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 562.59 Td +/F124_0 9.9626 Tf +(BZ_DATA_ERROR_MAGIC) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 550.635 Td +/F122_0 9.9626 Tf +(As) 11.0684 Tj +-306 TJm +(a) 4.4234 Tj +-306 TJm +(special) 27.6661 Tj +-306 TJm +(case) 17.1456 Tj +-307 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +191.852 550.635 Td +/F124_0 9.9626 Tf +(BZ_DATA_ERROR) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +269.561 550.635 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-306 TJm +(it) 5.5392 Tj +-306 TJm +(is) 6.6451 Tj +-306 TJm +(sometimes) 42.62 Tj +-306 TJm +(useful) 24.3486 Tj +-307 TJm +(to) 7.7509 Tj +-306 TJm +(kno) 14.9439 Tj +25 TJm +(w) 7.193 Tj +-306 TJm +(when) 21.579 Tj +-306 TJm +(the) 12.1743 Tj +-306 TJm +(compressed) 47.0334 Tj +-306 TJm +(stream) 26.5603 Tj +-306 TJm +(does) 18.2614 Tj +108 538.68 Td +(not) 12.7322 Tj +-250 TJm +(start) 17.1556 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(correct) 27.6562 Tj +-250 TJm +(magic) 24.3486 Tj +-250 TJm +(bytes) 21.031 Tj +-250 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +261.562 538.68 Td +/F124_0 9.9626 Tf +('B') 17.9327 Tj +-600 TJm +('Z') 17.9327 Tj +-600 TJm +('h') 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +327.316 538.68 Td +/F122_0 9.9626 Tf +(\).) 5.8082 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 512.777 Td +/F124_0 9.9626 Tf +(BZ_IO_ERROR) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 500.822 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-233 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.123 500.822 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.218 500.822 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +237.922 500.822 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.995 500.822 Td +/F122_0 9.9626 Tf +(when) 21.579 Tj +-233 TJm +(there) 19.9152 Tj +-232 TJm +(is) 6.6451 Tj +-233 TJm +(an) 9.4047 Tj +-233 TJm +(error) 19.3573 Tj +-233 TJm +(reading) 29.8778 Tj +-232 TJm +(or) 8.2988 Tj +-233 TJm +(writing) 28.782 Tj +-233 TJm +(in) 7.7509 Tj +-233 TJm +(the) 12.1743 Tj +-232 TJm +(compressed) 47.0334 Tj +108 488.867 Td +(\002le,) 15.2229 Tj +-384 TJm +(and) 14.386 Tj +-357 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.511 488.867 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +245.755 488.867 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +263.698 488.867 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteOpen) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +356.92 488.867 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +-357 TJm +(attempts) 33.7633 Tj +-357 TJm +(to) 7.7509 Tj +-357 TJm +(use) 13.2801 Tj +-357 TJm +(a) 4.4234 Tj +-357 TJm +(\002le) 12.7322 Tj +-357 TJm +(for) 11.6164 Tj +-358 TJm +(which) 24.3486 Tj +-357 TJm +(the) 12.1743 Tj +-357 TJm +(error) 19.3573 Tj +108 476.912 Td +(indicator) 35.417 Tj +-260 TJm +(\(viz,) 17.9825 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.603 476.912 Td +/F124_0 9.9626 Tf +(ferror\(f\)) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +220.401 476.912 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-260 TJm +(is) 6.6451 Tj +-260 TJm +(set.) 13.5591 Tj +-680 TJm +(On) 12.1743 Tj +-259 TJm +(receipt) 27.1082 Tj +-260 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +311.223 476.912 Td +/F124_0 9.9626 Tf +(BZ_IO_ERROR) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +376.976 476.912 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-260 TJm +(the) 12.1743 Tj +-260 TJm +(caller) 22.1269 Tj +-260 TJm +(should) 26.5703 Tj +-260 TJm +(consult) 28.782 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +482.068 476.912 Td +/F124_0 9.9626 Tf +(errno) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +514.546 476.912 Td +/F122_0 9.9626 Tf +(and/or) 25.4544 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 464.956 Td +/F124_0 9.9626 Tf +(perror) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +146.356 464.956 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(acquire) 29.3199 Tj +-250 TJm +(operating-system) 68.6224 Tj +-250 TJm +(speci\002c) 30.4357 Tj +-250 TJm +(information) 47.0434 Tj +-250 TJm +(about) 22.1369 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(problem.) 35.696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 439.054 Td +/F124_0 9.9626 Tf +(BZ_UNEXPECTED_EOF) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 427.099 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-250 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.467 427.099 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.733 427.099 Td +/F122_0 9.9626 Tf +(when) 21.579 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(\002nishes) 30.4457 Tj +-250 TJm +(before) 25.4445 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(logical) 27.1182 Tj +-250 TJm +(end) 14.386 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(stream) 26.5603 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(detected.) 35.686 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 401.196 Td +/F124_0 9.9626 Tf +(BZ_OUTBUFF_FULL) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +108 389.241 Td +/F122_0 9.9626 Tf +(Returned) 36.5229 Tj +-258 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.632 389.241 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffCompress) 143.4614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.668 389.241 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +322.627 389.241 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +480.617 389.241 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-258 TJm +(indicate) 31.5416 Tj +-259 TJm +(that) 14.9439 Tj +108 377.285 Td +(the) 12.1743 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(\002t) 8.3088 Tj +-250 TJm +(into) 15.5018 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-250 TJm +(pro) 13.2801 Tj +15 TJm +(vided.) 24.6275 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 328.585 Td +/F116_0 20.6585 Tf +(3.3.) 34.4584 Tj +-278 TJm +(Lo) 25.2447 Tj +15 TJm +(w-le) 40.1808 Tj +15 TJm +(vel) 28.7153 Tj +-278 TJm +(interface) 86.1046 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 297.964 Td +/F116_0 17.2154 Tf +(3.3.1.) 43.0729 Tj +-278 TJm +(BZ2_bzCompressInit) 171.2244 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +/F122_0 9.9626 Tf +(11) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 12 15 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 445.031] cm +0 0 468 274.969 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(typedef) 41.8429 Tj +-426 TJm +(struct) 35.8654 Tj +-426 TJm +({) 5.9776 Tj +98.488 699.676 Td +(char) 23.9102 Tj +126.642 697.933 Td +(*) 5.9776 Tj +132.62 699.676 Td +(next_in;) 47.8205 Tj +98.488 687.721 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(avail_in;) 53.798 Tj +98.488 675.766 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(total_in_lo32;) 83.6858 Tj +98.488 663.811 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(total_in_hi32;) 83.6858 Tj +98.488 639.9 Td +(char) 23.9102 Tj +126.642 638.157 Td +(*) 5.9776 Tj +132.62 639.9 Td +(next_out;) 53.798 Tj +98.488 627.945 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(avail_out;) 59.7756 Tj +98.488 615.99 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(total_out_lo32;) 89.6634 Tj +98.488 604.035 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(total_out_hi32;) 89.6634 Tj +98.488 580.124 Td +(void) 23.9102 Tj +126.642 578.381 Td +(*) 5.9776 Tj +132.62 580.124 Td +(state;) 35.8654 Tj +98.488 556.214 Td +(void) 23.9102 Tj +126.642 554.471 Td +(*) 5.9776 Tj +132.62 556.214 Td +(\() 5.9776 Tj +138.597 554.471 Td +(*) 5.9776 Tj +144.575 556.214 Td +(bzalloc\)\(void) 77.7083 Tj +226.528 554.471 Td +(*) 5.9776 Tj +232.505 556.214 Td +(,int,int\);) 59.7756 Tj +98.488 544.259 Td +(void) 23.9102 Tj +-426 TJm +(\() 5.9776 Tj +132.62 542.515 Td +(*) 5.9776 Tj +138.597 544.259 Td +(bzfree\)\(void) 71.7307 Tj +214.572 542.515 Td +(*) 5.9776 Tj +220.55 544.259 Td +(,void) 29.8878 Tj +254.682 542.515 Td +(*) 5.9776 Tj +260.659 544.259 Td +(\);) 11.9551 Tj +98.488 532.304 Td +(void) 23.9102 Tj +126.642 530.56 Td +(*) 5.9776 Tj +132.62 532.304 Td +(opaque;) 41.8429 Tj +90 520.349 Td +(}) 5.9776 Tj +-426 TJm +(bz_stream;) 59.7756 Tj +90 496.438 Td +(int) 17.9327 Tj +-426 TJm +(BZ2_bzCompressInit) 107.5961 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +292.281 494.695 Td +(*) 5.9776 Tj +298.259 496.438 Td +(strm,) 29.8878 Tj +196.099 484.483 Td +(int) 17.9327 Tj +-426 TJm +(blockSize100k,) 83.6858 Tj +196.099 472.528 Td +(int) 17.9327 Tj +-426 TJm +(verbosity,) 59.7756 Tj +196.099 460.573 Td +(int) 17.9327 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 423.113 Td +/F122_0 9.9626 Tf +(Prepares) 34.3012 Tj +-356 TJm +(for) 11.6164 Tj +-356 TJm +(compression.) 52.8516 Tj +-1256 TJm +(The) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +209.41 423.113 Td +/F124_0 9.9626 Tf +(bz_stream) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +266.754 423.113 Td +/F122_0 9.9626 Tf +(structure) 34.8591 Tj +-356 TJm +(holds) 21.589 Tj +-356 TJm +(all) 9.9626 Tj +-356 TJm +(data) 16.5977 Tj +-356 TJm +(pertaining) 40.3983 Tj +-356 TJm +(to) 7.7509 Tj +-356 TJm +(the) 12.1743 Tj +-356 TJm +(compression) 50.3609 Tj +-355 TJm +(acti) 14.386 Tj +25 TJm +(vity) 15.5018 Tj +65 TJm +(.) 2.4907 Tj +-1256 TJm +(A) 7.193 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 411.158 Td +/F124_0 9.9626 Tf +(bz_stream) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +128.581 411.158 Td +/F122_0 9.9626 Tf +(structure) 34.8591 Tj +-279 TJm +(should) 26.5703 Tj +-280 TJm +(be) 9.4047 Tj +-279 TJm +(allocated) 35.965 Tj +-279 TJm +(and) 14.386 Tj +-280 TJm +(initialised) 39.3025 Tj +-279 TJm +(prior) 19.3673 Tj +-279 TJm +(to) 7.7509 Tj +-279 TJm +(the) 12.1743 Tj +-280 TJm +(call.) 16.8766 Tj +-796 TJm +(The) 15.4918 Tj +-279 TJm +(\002elds) 21.589 Tj +-279 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +431.939 411.158 Td +/F124_0 9.9626 Tf +(bz_stream) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +488.52 411.158 Td +/F122_0 9.9626 Tf +(comprise) 36.5229 Tj +-279 TJm +(the) 12.1743 Tj +72 399.203 Td +(entirety) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(user) 16.5977 Tj +20 TJm +(-visible) 29.8878 Tj +-250 TJm +(data.) 19.0883 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +204.422 399.203 Td +/F124_0 9.9626 Tf +(state) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +236.8 399.203 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(pointer) 28.224 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(pri) 11.0684 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ate) 11.6164 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(structures) 38.7346 Tj +-250 TJm +(required) 33.1954 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(compression.) 52.8516 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 377.285 Td +(Custom) 31.0036 Tj +-372 TJm +(memory) 33.2053 Tj +-372 TJm +(allocators) 38.7346 Tj +-372 TJm +(are) 12.1643 Tj +-372 TJm +(supported,) 41.7831 Tj +-403 TJm +(via) 12.1743 Tj +-372 TJm +(\002elds) 21.589 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +288.908 377.285 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +330.751 377.285 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +337.253 377.285 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +373.118 377.285 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-403 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +397.714 377.285 Td +/F124_0 9.9626 Tf +(opaque) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +433.579 377.285 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1353 TJm +(The) 15.4918 Tj +-372 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +493.782 377.285 Td +/F124_0 9.9626 Tf +(opaque) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +533.355 377.285 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +72 365.33 Td +(passed) 26.5603 Tj +-306 TJm +(to) 7.7509 Tj +-306 TJm +(as) 8.2988 Tj +-306 TJm +(the) 12.1743 Tj +-306 TJm +(\002rst) 15.5018 Tj +-306 TJm +(ar) 7.7409 Tj +18 TJm +(gument) 29.8878 Tj +-306 TJm +(to) 7.7509 Tj +-306 TJm +(all) 9.9626 Tj +-306 TJm +(calls) 18.2614 Tj +-305 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +253.941 365.33 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +298.832 365.33 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +316.266 365.33 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +352.132 365.33 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-320 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-306 TJm +(is) 6.6451 Tj +-306 TJm +(otherwise) 38.7346 Tj +-306 TJm +(ignored) 30.4357 Tj +-306 TJm +(by) 9.9626 Tj +-306 TJm +(the) 12.1743 Tj +-306 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-955 TJm +(The) 15.4918 Tj +72 353.375 Td +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +89.431 353.375 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +-600 TJm +(\() 5.9776 Tj +-600 TJm +(opaque,) 41.8429 Tj +-600 TJm +(n,) 11.9551 Tj +-600 TJm +(m) 5.9776 Tj +-600 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +235.938 353.375 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-306 TJm +(e) 4.4234 Tj +15 TJm +(xpected) 30.9837 Tj +-305 TJm +(to) 7.7509 Tj +-306 TJm +(return) 23.7907 Tj +-306 TJm +(a) 4.4234 Tj +-305 TJm +(pointer) 28.224 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +360.3 353.375 Td +/F124_0 9.9626 Tf +(p) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +369.322 353.375 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +380.118 353.375 Td +/F124_0 9.9626 Tf +(n) 5.9776 Tj +392.073 351.631 Td +(*) 5.9776 Tj +404.029 353.375 Td +(m) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +413.051 353.375 Td +/F122_0 9.9626 Tf +(bytes) 21.031 Tj +-306 TJm +(of) 8.2988 Tj +-305 TJm +(memory) 33.2053 Tj +65 TJm +(,) 2.4907 Tj +-320 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +504.135 353.375 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +72 341.42 Td +(\() 5.9776 Tj +-600 TJm +(opaque,) 41.8429 Tj +-600 TJm +(p) 5.9776 Tj +-600 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +152.199 341.42 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-250 TJm +(free) 15.4819 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 319.502 Td +(If) 6.6351 Tj +-280 TJm +(you) 14.9439 Tj +-280 TJm +(don') 18.2614 Tj +18 TJm +(t) 2.7696 Tj +-280 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-279 TJm +(to) 7.7509 Tj +-280 TJm +(use) 13.2801 Tj +-280 TJm +(a) 4.4234 Tj +-280 TJm +(custom) 28.782 Tj +-280 TJm +(memory) 33.2053 Tj +-279 TJm +(allocator) 34.8591 Tj +40 TJm +(,) 2.4907 Tj +-288 TJm +(set) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +299.9 319.502 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +341.743 319.502 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +347.096 319.502 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +385.749 319.502 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +402.923 319.502 Td +/F124_0 9.9626 Tf +(opaque) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +441.576 319.502 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +452.115 319.502 Td +/F124_0 9.9626 Tf +(NULL) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +476.025 319.502 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-280 TJm +(and) 14.386 Tj +-280 TJm +(the) 12.1743 Tj +-280 TJm +(library) 26.5603 Tj +72 307.547 Td +(will) 15.5018 Tj +-250 TJm +(then) 17.1556 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(standard) 33.7533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.318 307.547 Td +/F124_0 9.9626 Tf +(malloc) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +214.674 307.547 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +219.934 307.547 Td +/F124_0 9.9626 Tf +(free) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +246.335 307.547 Td +/F122_0 9.9626 Tf +(routines.) 34.5901 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 285.629 Td +(Before) 27.1082 Tj +-362 TJm +(calling) 27.1182 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +133.438 285.629 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +241.035 285.629 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-390 TJm +(\002elds) 21.589 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +272.606 285.629 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +314.449 285.629 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +320.825 285.629 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +360.296 285.629 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +378.289 285.629 Td +/F124_0 9.9626 Tf +(opaque) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +417.76 285.629 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-362 TJm +(be) 9.4047 Tj +-362 TJm +(\002lled) 20.4831 Tj +-362 TJm +(appropriately) 53.1206 Tj +65 TJm +(,) 2.4907 Tj +72 273.674 Td +(as) 8.2988 Tj +-322 TJm +(just) 14.396 Tj +-323 TJm +(described.) 40.6673 Tj +-1055 TJm +(Upon) 22.1369 Tj +-322 TJm +(return,) 26.2813 Tj +-341 TJm +(the) 12.1743 Tj +-322 TJm +(internal) 30.4357 Tj +-323 TJm +(state) 18.2614 Tj +-322 TJm +(will) 15.5018 Tj +-323 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-322 TJm +(been) 18.8094 Tj +-323 TJm +(allocated) 35.965 Tj +-322 TJm +(and) 14.386 Tj +-323 TJm +(initialised,) 41.7931 Tj +-340 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +459.801 273.674 Td +/F124_0 9.9626 Tf +(total_in_lo32) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 273.674 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 261.718 Td +/F124_0 9.9626 Tf +(total_in_hi32) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +149.709 261.718 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.006 261.718 Td +/F124_0 9.9626 Tf +(total_out_lo32) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +241.435 261.718 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +258.564 261.718 Td +/F124_0 9.9626 Tf +(total_out_hi32) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +344.994 261.718 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-275 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-276 TJm +(been) 18.8094 Tj +-275 TJm +(set) 11.0684 Tj +-275 TJm +(to) 7.7509 Tj +-276 TJm +(zero.) 19.6363 Tj +-772 TJm +(These) 23.7907 Tj +-275 TJm +(four) 16.5977 Tj +-275 TJm +(\002elds) 21.589 Tj +-276 TJm +(are) 12.1643 Tj +72 249.763 Td +(used) 18.2614 Tj +-340 TJm +(by) 9.9626 Tj +-339 TJm +(the) 12.1743 Tj +-340 TJm +(library) 26.5603 Tj +-339 TJm +(to) 7.7509 Tj +-340 TJm +(inform) 27.1182 Tj +-339 TJm +(the) 12.1743 Tj +-340 TJm +(caller) 22.1269 Tj +-339 TJm +(of) 8.2988 Tj +-340 TJm +(the) 12.1743 Tj +-339 TJm +(total) 17.7135 Tj +-340 TJm +(amount) 29.8878 Tj +-339 TJm +(of) 8.2988 Tj +-340 TJm +(data) 16.5977 Tj +-340 TJm +(passed) 26.5603 Tj +-339 TJm +(into) 15.5018 Tj +-340 TJm +(and) 14.386 Tj +-339 TJm +(out) 12.7322 Tj +-340 TJm +(of) 8.2988 Tj +-339 TJm +(the) 12.1743 Tj +-340 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-362 TJm +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(.) 2.4907 Tj +72 237.808 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-376 TJm +(should) 26.5703 Tj +-377 TJm +(not) 12.7322 Tj +-376 TJm +(try) 11.0684 Tj +-376 TJm +(to) 7.7509 Tj +-377 TJm +(change) 28.2141 Tj +-376 TJm +(them.) 22.4159 Tj +-1378 TJm +(As) 11.0684 Tj +-377 TJm +(of) 8.2988 Tj +-376 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-377 TJm +(1.0,) 14.9439 Tj +-408 TJm +(64-bit) 23.8007 Tj +-376 TJm +(counts) 26.0123 Tj +-376 TJm +(are) 12.1643 Tj +-377 TJm +(maintained,) 46.7644 Tj +-408 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-376 TJm +(on) 9.9626 Tj +-376 TJm +(32-bit) 23.8007 Tj +-377 TJm +(platforms,) 40.6773 Tj +72 225.853 Td +(using) 21.589 Tj +-371 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +113.148 225.853 Td +/F124_0 9.9626 Tf +(_hi32) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +146.729 225.853 Td +/F122_0 9.9626 Tf +(\002elds) 21.589 Tj +-371 TJm +(to) 7.7509 Tj +-370 TJm +(store) 19.3673 Tj +-371 TJm +(the) 12.1743 Tj +-371 TJm +(upper) 22.6848 Tj +-370 TJm +(32) 9.9626 Tj +-371 TJm +(bits) 14.396 Tj +-370 TJm +(of) 8.2988 Tj +-371 TJm +(the) 12.1743 Tj +-371 TJm +(count.) 24.6275 Tj +-1344 TJm +(So,) 13.0112 Tj +-400 TJm +(for) 11.6164 Tj +-371 TJm +(e) 4.4234 Tj +15 TJm +(xample,) 31.8205 Tj +-401 TJm +(the) 12.1743 Tj +-371 TJm +(total) 17.7135 Tj +-370 TJm +(amount) 29.8878 Tj +-371 TJm +(of) 8.2988 Tj +-370 TJm +(data) 16.5977 Tj +-371 TJm +(in) 7.7509 Tj +-371 TJm +(is) 6.6451 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 213.898 Td +/F124_0 9.9626 Tf +(\(total_in_hi32) 83.6858 Tj +-600 TJm +(<<) 11.9551 Tj +-600 TJm +(32\)) 17.9327 Tj +-600 TJm +(+) 5.9776 Tj +-600 TJm +(total_in_lo32) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +293.171 213.898 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 191.98 Td +(P) 5.5392 Tj +15 TJm +(arameter) 34.8492 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +115.367 191.98 Td +/F124_0 9.9626 Tf +(blockSize100k) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +196.205 191.98 Td +/F122_0 9.9626 Tf +(speci\002es) 34.3112 Tj +-314 TJm +(the) 12.1743 Tj +-314 TJm +(block) 22.1369 Tj +-314 TJm +(size) 15.4918 Tj +-314 TJm +(to) 7.7509 Tj +-314 TJm +(be) 9.4047 Tj +-314 TJm +(used) 18.2614 Tj +-314 TJm +(for) 11.6164 Tj +-314 TJm +(compression.) 52.8516 Tj +-1004 TJm +(It) 6.0871 Tj +-314 TJm +(should) 26.5703 Tj +-314 TJm +(be) 9.4047 Tj +-314 TJm +(a) 4.4234 Tj +-315 TJm +(v) 4.9813 Tj +25 TJm +(al) 7.193 Tj +1 TJm +(u) 4.9813 Tj +-1 TJm +(e) 4.4234 Tj +-314 TJm +(between) 33.1954 Tj +-314 TJm +(1) 4.9813 Tj +72 180.025 Td +(and) 14.386 Tj +-289 TJm +(9) 4.9813 Tj +-289 TJm +(inclusi) 26.5703 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-299 TJm +(and) 14.386 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(actual) 23.7907 Tj +-289 TJm +(block) 22.1369 Tj +-289 TJm +(size) 15.4918 Tj +-289 TJm +(used) 18.2614 Tj +-289 TJm +(is) 6.6451 Tj +-289 TJm +(100000) 29.8878 Tj +-289 TJm +(x) 4.9813 Tj +-289 TJm +(this) 14.396 Tj +-289 TJm +(\002gure.) 25.7334 Tj +-854 TJm +(9) 4.9813 Tj +-290 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(best) 16.0497 Tj +-289 TJm +(compression) 50.3609 Tj +-289 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-289 TJm +(tak) 12.1743 Tj +10 TJm +(es) 8.2988 Tj +-289 TJm +(most) 19.3773 Tj +72 168.07 Td +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 146.152 Td +(P) 5.5392 Tj +15 TJm +(arameter) 34.8492 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +115.095 146.152 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +171.75 146.152 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-287 TJm +(be) 9.4047 Tj +-286 TJm +(set) 11.0684 Tj +-287 TJm +(to) 7.7509 Tj +-287 TJm +(a) 4.4234 Tj +-287 TJm +(number) 30.4357 Tj +-286 TJm +(between) 33.1954 Tj +-287 TJm +(0) 4.9813 Tj +-287 TJm +(and) 14.386 Tj +-287 TJm +(4) 4.9813 Tj +-286 TJm +(inclusi) 26.5703 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e.) 6.914 Tj +-841 TJm +(0) 4.9813 Tj +-286 TJm +(is) 6.6451 Tj +-287 TJm +(silent,) 24.0796 Tj +-296 TJm +(and) 14.386 Tj +-287 TJm +(greater) 27.6562 Tj +-287 TJm +(numbers) 34.3112 Tj +-286 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +72 134.197 Td +(increasingly) 48.6972 Tj +-342 TJm +(v) 4.9813 Tj +15 TJm +(erbose) 26.0024 Tj +-342 TJm +(monitoring/deb) 61.4394 Tj +20 TJm +(ugging) 27.6761 Tj +-342 TJm +(output.) 27.9551 Tj +-1173 TJm +(If) 6.6351 Tj +-343 TJm +(the) 12.1743 Tj +-342 TJm +(library) 26.5603 Tj +-342 TJm +(has) 13.2801 Tj +-342 TJm +(been) 18.8094 Tj +-342 TJm +(compiled) 37.0808 Tj +-342 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +446.429 134.197 Td +/F124_0 9.9626 Tf +(-DBZ_NO_STDIO) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +524.138 134.197 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-342 TJm +(no) 9.9626 Tj +72 122.241 Td +(such) 18.2614 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(appear) 26.5503 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(erbosity) 32.0995 Tj +-250 TJm +(setting.) 29.0609 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 100.324 Td +(P) 5.5392 Tj +15 TJm +(arameter) 34.8492 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +116.619 100.324 Td +/F124_0 9.9626 Tf +(workFactor) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +180.775 100.324 Td +/F122_0 9.9626 Tf +(controls) 32.0995 Tj +-440 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-439 TJm +(the) 12.1743 Tj +-440 TJm +(compression) 50.3609 Tj +-439 TJm +(phase) 22.6848 Tj +-440 TJm +(beha) 18.8094 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-440 TJm +(when) 21.579 Tj +-439 TJm +(presented) 38.1767 Tj +-440 TJm +(with) 17.7135 Tj +-440 TJm +(w) 7.193 Tj +10 TJm +(orst) 14.9439 Tj +-439 TJm +(case,) 19.6363 Tj +-487 TJm +(highly) 25.4644 Tj +72 88.368 Td +(repetiti) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-433 TJm +(input) 20.4831 Tj +-396 TJm +(data.) 19.0883 Tj +-1496 TJm +(If) 6.6351 Tj +-396 TJm +(compression) 50.3609 Tj +-396 TJm +(runs) 17.1556 Tj +-397 TJm +(i) 2.7696 Tj +1 TJm +(nto) 12.7322 Tj +-397 TJm +(dif) 11.0684 Tj +25 TJm +(\002culties) 31.5516 Tj +-396 TJm +(caused) 27.1082 Tj +-396 TJm +(by) 9.9626 Tj +-396 TJm +(repetiti) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-396 TJm +(data,) 19.0883 Tj +-432 TJm +(the) 12.1743 Tj +-397 TJm +(library) 26.5603 Tj +-396 TJm +(switches) 34.3112 Tj +-396 TJm +(from) 19.3673 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +(12) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 13 16 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(the) 12.1743 Tj +-255 TJm +(standard) 33.7533 Tj +-254 TJm +(sorting) 27.6761 Tj +-255 TJm +(algorithm) 38.7446 Tj +-254 TJm +(to) 7.7509 Tj +-255 TJm +(a) 4.4234 Tj +-255 TJm +(f) 3.3175 Tj +10 TJm +(allback) 28.772 Tj +-254 TJm +(algorithm.) 41.2352 Tj +-648 TJm +(The) 15.4918 Tj +-255 TJm +(f) 3.3175 Tj +10 TJm +(allback) 28.772 Tj +-254 TJm +(is) 6.6451 Tj +-255 TJm +(slo) 11.6264 Tj +25 TJm +(wer) 14.9339 Tj +-255 TJm +(than) 17.1556 Tj +-254 TJm +(the) 12.1743 Tj +-255 TJm +(standard) 33.7533 Tj +-254 TJm +(algorithm) 38.7446 Tj +-255 TJm +(by) 9.9626 Tj +-255 TJm +(perhaps) 30.9837 Tj +72 698.082 Td +(a) 4.4234 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(actor) 19.9152 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(three,) 22.4059 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(al) 7.193 Tj +10 TJm +(w) 7.193 Tj +10 TJm +(ays) 13.2801 Tj +-250 TJm +(beha) 18.8094 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-250 TJm +(reasonably) 43.158 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(no) 9.9626 Tj +-250 TJm +(matter) 25.4544 Tj +-250 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(bad) 14.386 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(input.) 22.9738 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 676.268 Td +(Lo) 11.0684 Tj +25 TJm +(wer) 14.9339 Tj +-240 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-239 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +138.421 676.268 Td +/F124_0 9.9626 Tf +(workFactor) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.585 676.268 Td +/F122_0 9.9626 Tf +(reduce) 26.5503 Tj +-240 TJm +(the) 12.1743 Tj +-239 TJm +(amount) 29.8878 Tj +-240 TJm +(of) 8.2988 Tj +-240 TJm +(ef) 7.7409 Tj +25 TJm +(fort) 14.386 Tj +-239 TJm +(the) 12.1743 Tj +-240 TJm +(standard) 33.7533 Tj +-240 TJm +(algorithm) 38.7446 Tj +-240 TJm +(wi) 9.9626 Tj +1 TJm +(ll) 5.5392 Tj +-240 TJm +(e) 4.4234 Tj +15 TJm +(xpend) 24.3486 Tj +-240 TJm +(before) 25.4445 Tj +-240 TJm +(resorting) 35.417 Tj +-239 TJm +(to) 7.7509 Tj +-240 TJm +(the) 12.1743 Tj +72 664.313 Td +(f) 3.3175 Tj +10 TJm +(allback.) 31.2626 Tj +-618 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-248 TJm +(should) 26.5703 Tj +-247 TJm +(set) 11.0684 Tj +-248 TJm +(this) 14.396 Tj +-247 TJm +(parameter) 39.8305 Tj +-248 TJm +(carefully;) 38.1767 Tj +-248 TJm +(too) 12.7322 Tj +-248 TJm +(lo) 7.7509 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(,) 2.4907 Tj +-248 TJm +(and) 14.386 Tj +-247 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +-248 TJm +(inputs) 24.3586 Tj +-248 TJm +(will) 15.5018 Tj +-247 TJm +(be) 9.4047 Tj +-248 TJm +(handled) 31.5416 Tj +-247 TJm +(by) 9.9626 Tj +-248 TJm +(the) 12.1743 Tj +-247 TJm +(f) 3.3175 Tj +10 TJm +(allback) 28.772 Tj +-248 TJm +(algorithm) 38.7446 Tj +72 652.358 Td +(and) 14.386 Tj +-308 TJm +(so) 8.8568 Tj +-308 TJm +(compress) 37.6287 Tj +-308 TJm +(rather) 23.2328 Tj +-309 TJm +(slo) 11.6264 Tj +25 TJm +(wly) 14.9439 Tj +65 TJm +(,) 2.4907 Tj +-322 TJm +(too) 12.7322 Tj +-309 TJm +(high,) 20.2042 Tj +-322 TJm +(and) 14.386 Tj +-308 TJm +(your) 18.2614 Tj +-309 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(erage-to-w) 43.148 Tj +10 TJm +(orst) 14.9439 Tj +-308 TJm +(case) 17.1456 Tj +-308 TJm +(compression) 50.3609 Tj +-308 TJm +(times) 21.589 Tj +-308 TJm +(can) 13.8281 Tj +-308 TJm +(become) 30.9837 Tj +-309 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-308 TJm +(lar) 10.5105 Tj +18 TJm +(ge.) 11.8953 Tj +72 640.402 Td +(The) 15.4918 Tj +-250 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(30) 9.9626 Tj +-250 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-250 TJm +(reasonable) 42.6001 Tj +-250 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +-250 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(wide) 19.3673 Tj +-250 TJm +(range) 22.1269 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(circumstances.) 58.9288 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 618.588 Td +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-250 TJm +(range) 22.1269 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(0) 4.9813 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(250) 14.9439 Tj +-250 TJm +(inclusi) 26.5703 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e.) 6.914 Tj +-620 TJm +(0) 4.9813 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(special) 27.6661 Tj +-250 TJm +(case,) 19.6363 Tj +-250 TJm +(equi) 17.1556 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(alent) 19.3673 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(using) 21.589 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(def) 12.7222 Tj +10 TJm +(ault) 14.9439 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(30.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 596.774 Td +(Note) 19.3673 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(generated) 38.7246 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(same) 20.4731 Tj +-250 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(ardless) 27.6661 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(whether) 32.0895 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(allback) 28.772 Tj +-250 TJm +(algorithm) 38.7446 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(used.) 20.7521 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 574.96 Td +(Be) 11.0684 Tj +-303 TJm +(a) 4.4234 Tj +15 TJm +(w) 7.193 Tj +10 TJm +(are) 12.1643 Tj +-303 TJm +(also) 16.0497 Tj +-303 TJm +(that) 14.9439 Tj +-303 TJm +(this) 14.396 Tj +-304 TJm +(parameter) 39.8305 Tj +-303 TJm +(may) 17.1556 Tj +-303 TJm +(disappear) 38.1767 Tj +-303 TJm +(entirely) 30.4357 Tj +-303 TJm +(in) 7.7509 Tj +-303 TJm +(future) 23.7907 Tj +-303 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-303 TJm +(of) 8.2988 Tj +-303 TJm +(the) 12.1743 Tj +-304 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-938 TJm +(In) 8.2988 Tj +-303 TJm +(principle) 35.417 Tj +-303 TJm +(it) 5.5392 Tj +-304 TJm +(should) 26.5703 Tj +-303 TJm +(be) 9.4047 Tj +72 563.005 Td +(possible) 32.6574 Tj +-270 TJm +(to) 7.7509 Tj +-270 TJm +(de) 9.4047 Tj +25 TJm +(vise) 16.0497 Tj +-270 TJm +(a) 4.4234 Tj +-270 TJm +(good) 19.9252 Tj +-270 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-270 TJm +(to) 7.7509 Tj +-271 TJm +(automat) 32.0995 Tj +1 TJm +(ically) 22.1369 Tj +-271 TJm +(choose) 27.6661 Tj +-270 TJm +(which) 24.3486 Tj +-270 TJm +(algorithm) 38.7446 Tj +-270 TJm +(to) 7.7509 Tj +-270 TJm +(use.) 15.7708 Tj +-740 TJm +(Such) 19.9252 Tj +-270 TJm +(a) 4.4234 Tj +-270 TJm +(mechanism) 45.3796 Tj +-271 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-270 TJm +(render) 25.4445 Tj +-270 TJm +(the) 12.1743 Tj +72 551.049 Td +(parameter) 39.8305 Tj +-250 TJm +(obsolete.) 35.696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 529.235 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 384.677] cm +0 0 468 143.462 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 519.771 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 507.816 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 495.86 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 483.905 Td +(if) 11.9551 Tj +-426 TJm +(strm) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 471.95 Td +(or) 11.9551 Tj +-426 TJm +(blockSize) 53.798 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(1) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(blockSize) 53.798 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(9) 5.9776 Tj +98.488 459.995 Td +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(4) 5.9776 Tj +98.488 448.04 Td +(or) 11.9551 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(250) 17.9327 Tj +90 436.085 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 424.129 Td +(if) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(enough) 35.8654 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +90 412.174 Td +(BZ_OK) 29.8878 Tj +98.488 400.219 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 362.863 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 313.947] cm +0 0 468 47.821 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 353.399 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +98.488 341.444 Td +(if) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(returned) 47.8205 Tj +98.488 329.488 Td +(no) 11.9551 Tj +-426 TJm +(specific) 47.8205 Tj +-426 TJm +(action) 35.8654 Tj +-426 TJm +(needed) 35.8654 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(case) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(error) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 283.429 Td +/F116_0 17.2154 Tf +(3.3.2.) 43.0729 Tj +-278 TJm +(BZ2_bzCompress) 145.4013 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 254.959] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 270.501 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzCompress) 83.6858 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +268.371 268.757 Td +(*) 5.9776 Tj +274.348 270.501 Td +(strm,) 29.8878 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(action) 35.8654 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 233.145 Td +/F122_0 9.9626 Tf +(Pro) 13.8381 Tj +15 TJm +(vides) 21.031 Tj +-222 TJm +(more) 20.4731 Tj +-221 TJm +(input) 20.4831 Tj +-222 TJm +(and/or) 25.4544 Tj +-222 TJm +(output) 25.4644 Tj +-222 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-221 TJm +(space) 22.1269 Tj +-222 TJm +(for) 11.6164 Tj +-222 TJm +(the) 12.1743 Tj +-221 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-601 TJm +(The) 15.4918 Tj +-222 TJm +(caller) 22.1269 Tj +-222 TJm +(maintains) 38.7446 Tj +-222 TJm +(input) 20.4831 Tj +-221 TJm +(and) 14.386 Tj +-222 TJm +(output) 25.4644 Tj +-222 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fers,) 17.4246 Tj +-227 TJm +(and) 14.386 Tj +-222 TJm +(calls) 18.2614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 221.19 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.177 221.19 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(transfer) 30.4258 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(between) 33.1954 Tj +-250 TJm +(them.) 22.4159 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 199.375 Td +(Before) 27.1082 Tj +-212 TJm +(each) 18.2515 Tj +-213 TJm +(call) 14.386 Tj +-212 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +147.961 199.375 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +231.647 199.375 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +236.329 199.375 Td +/F124_0 9.9626 Tf +(next_in) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +280.288 199.375 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-212 TJm +(point) 20.4831 Tj +-213 TJm +(at) 7.193 Tj +-212 TJm +(the) 12.1743 Tj +-213 TJm +(data) 16.5977 Tj +-212 TJm +(to) 7.7509 Tj +-213 TJm +(be) 9.4047 Tj +-212 TJm +(compressed,) 49.5241 Tj +-220 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +463.493 199.375 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +513.43 199.375 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +72 187.42 Td +(indicate) 31.5416 Tj +-246 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-247 TJm +(m) 7.7509 Tj +1 TJm +(an) 9.4047 Tj +14 TJm +(y) 4.9813 Tj +-246 TJm +(bytes) 21.031 Tj +-246 TJm +(the) 12.1743 Tj +-246 TJm +(library) 26.5603 Tj +-247 TJm +(may) 17.1556 Tj +-246 TJm +(read.) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +259.242 187.42 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +345.382 187.42 Td +/F122_0 9.9626 Tf +(updates) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +378.271 187.42 Td +/F124_0 9.9626 Tf +(next_in) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +420.114 187.42 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +425.066 187.42 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +475.34 187.42 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +492.179 187.42 Td +/F124_0 9.9626 Tf +(total_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 175.465 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(re\003ect) 24.8965 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(bytes) 21.031 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(read.) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 153.651 Td +(Similarly) 37.0908 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +113.611 153.651 Td +/F124_0 9.9626 Tf +(next_out) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +164.072 153.651 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-265 TJm +(point) 20.4831 Tj +-265 TJm +(to) 7.7509 Tj +-265 TJm +(a) 4.4234 Tj +-265 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-265 TJm +(in) 7.7509 Tj +-265 TJm +(which) 24.3486 Tj +-265 TJm +(the) 12.1743 Tj +-265 TJm +(compressed) 47.0334 Tj +-265 TJm +(data) 16.5977 Tj +-265 TJm +(is) 6.6451 Tj +-265 TJm +(to) 7.7509 Tj +-265 TJm +(be) 9.4047 Tj +-265 TJm +(placed,) 28.493 Tj +-269 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +464.742 153.651 Td +/F124_0 9.9626 Tf +(avail_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +521.181 153.651 Td +/F122_0 9.9626 Tf +(indi-) 18.8194 Tj +72 141.696 Td +(cating) 24.3486 Tj +-209 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-209 TJm +(much) 22.1369 Tj +-209 TJm +(output) 25.4644 Tj +-209 TJm +(space) 22.1269 Tj +-209 TJm +(is) 6.6451 Tj +-210 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +243.087 141.696 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +328.856 141.696 Td +/F122_0 9.9626 Tf +(updates) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +361.375 141.696 Td +/F124_0 9.9626 Tf +(next_out) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +409.196 141.696 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +413.851 141.696 Td +/F124_0 9.9626 Tf +(avail_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +469.732 141.696 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +486.202 141.696 Td +/F124_0 9.9626 Tf +(total_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 129.74 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(re\003ect) 24.8965 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(bytes) 21.031 Tj +-250 TJm +(output.) 27.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 107.926 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-272 TJm +(may) 17.1556 Tj +-272 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-272 TJm +(and) 14.386 Tj +-272 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-272 TJm +(as) 8.2988 Tj +-272 TJm +(little) 18.2714 Tj +-272 TJm +(or) 8.2988 Tj +-272 TJm +(as) 8.2988 Tj +-272 TJm +(much) 22.1369 Tj +-271 TJm +(data) 16.5977 Tj +-272 TJm +(as) 8.2988 Tj +-272 TJm +(you) 14.9439 Tj +-272 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-272 TJm +(on) 9.9626 Tj +-272 TJm +(each) 18.2515 Tj +-272 TJm +(call) 14.386 Tj +-272 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +399.123 107.926 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +482.809 107.926 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-752 TJm +(In) 8.2988 Tj +-272 TJm +(the) 12.1743 Tj +-272 TJm +(limit,) 21.32 Tj +72 95.971 Td +(it) 5.5392 Tj +-266 TJm +(is) 6.6451 Tj +-265 TJm +(acceptable) 42.0422 Tj +-266 TJm +(to) 7.7509 Tj +-266 TJm +(supply) 26.5703 Tj +-266 TJm +(and) 14.386 Tj +-265 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-266 TJm +(data) 16.5977 Tj +-266 TJm +(one) 14.386 Tj +-265 TJm +(byte) 17.1556 Tj +-266 TJm +(at) 7.193 Tj +-266 TJm +(a) 4.4234 Tj +-266 TJm +(time,) 20.2042 Tj +-269 TJm +(although) 34.8691 Tj +-266 TJm +(this) 14.396 Tj +-266 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-265 TJm +(be) 9.4047 Tj +-266 TJm +(terribly) 29.3299 Tj +-266 TJm +(inef) 15.4918 Tj +25 TJm +(\002cient.) 27.3972 Tj +-714 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-266 TJm +(should) 26.5703 Tj +72 84.016 Td +(al) 7.193 Tj +10 TJm +(w) 7.193 Tj +10 TJm +(ays) 13.2801 Tj +-250 TJm +(ensure) 26.0024 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(least) 18.2614 Tj +-250 TJm +(one) 14.386 Tj +-250 TJm +(byte) 17.1556 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(space) 22.1269 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable) 26.5603 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(each) 18.2515 Tj +-250 TJm +(call.) 16.8766 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(13) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 14 17 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(A) 7.193 Tj +-250 TJm +(second) 27.6661 Tj +-250 TJm +(purpose) 31.5416 Tj +-250 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +156.662 710.037 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +242.839 710.037 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(request) 28.772 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(change) 28.2141 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(mode) 22.1369 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 688.12 Td +(Conceptually) 53.1305 Tj +65 TJm +(,) 2.4907 Tj +-217 TJm +(a) 4.4234 Tj +-210 TJm +(compressed) 47.0334 Tj +-209 TJm +(stream) 26.5603 Tj +-209 TJm +(can) 13.8281 Tj +-209 TJm +(be) 9.4047 Tj +-210 TJm +(in) 7.7509 Tj +-209 TJm +(one) 14.386 Tj +-209 TJm +(of) 8.2988 Tj +-209 TJm +(four) 16.5977 Tj +-210 TJm +(states:) 24.9065 Tj +-289 TJm +(IDLE,) 25.1755 Tj +-209 TJm +(R) 6.6451 Tj +40 TJm +(UNNING,) 41.7732 Tj +-210 TJm +(FLUSHING) 49.2551 Tj +-209 TJm +(and) 14.386 Tj +-209 TJm +(FINISHING.) 52.2937 Tj +-419 TJm +(Be-) 14.386 Tj +72 676.164 Td +(fore) 16.0398 Tj +-264 TJm +(initialisation) 49.823 Tj +-263 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +146.434 676.164 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +254.031 676.164 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-264 TJm +(and) 14.386 Tj +-263 TJm +(after) 18.2515 Tj +-264 TJm +(termination) 45.9375 Tj +-264 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +349.75 676.164 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressEnd) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +451.369 676.164 Td +/F122_0 9.9626 Tf +(\),) 5.8082 Tj +-267 TJm +(a) 4.4234 Tj +-264 TJm +(stream) 26.5603 Tj +-264 TJm +(is) 6.6451 Tj +-263 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(arded) 22.1269 Tj +72 664.209 Td +(as) 8.2988 Tj +-250 TJm +(IDLE.) 25.1755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 642.291 Td +(Upon) 22.1369 Tj +-389 TJm +(initialisation) 49.823 Tj +-390 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.036 642.291 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +262.632 642.291 Td +/F122_0 9.9626 Tf +(\),) 5.8082 Tj +-424 TJm +(the) 12.1743 Tj +-390 TJm +(stream) 26.5603 Tj +-389 TJm +(is) 6.6451 Tj +-390 TJm +(placed) 26.0024 Tj +-389 TJm +(in) 7.7509 Tj +-389 TJm +(the) 12.1743 Tj +-390 TJm +(R) 6.6451 Tj +40 TJm +(UNNING) 39.2825 Tj +-389 TJm +(state.) 20.7521 Tj +-1457 TJm +(Subsequent) 45.9375 Tj +-389 TJm +(calls) 18.2614 Tj +72 630.336 Td +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +83.818 630.336 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +171.571 630.336 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-408 TJm +(pass) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +223.431 630.336 Td +/F124_0 9.9626 Tf +(BZ_RUN) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +263.362 630.336 Td +/F122_0 9.9626 Tf +(as) 8.2988 Tj +-408 TJm +(the) 12.1743 Tj +-409 TJm +(request) 28.772 Tj +1 TJm +(ed) 9.4047 Tj +-409 TJm +(action;) 27.1182 Tj +-487 TJm +(other) 20.4731 Tj +-408 TJm +(actions) 28.224 Tj +-409 TJm +(are) 12.1643 Tj +-408 TJm +(ille) 12.7322 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(al) 7.193 Tj +-408 TJm +(and) 14.386 Tj +-408 TJm +(will) 15.5018 Tj +-408 TJm +(result) 22.1369 Tj +-409 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 618.381 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +173.619 618.381 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 596.463 Td +(At) 9.9626 Tj +-279 TJm +(some) 21.031 Tj +-279 TJm +(point,) 22.9738 Tj +-286 TJm +(the) 12.1743 Tj +-279 TJm +(calling) 27.1182 Tj +-279 TJm +(program) 33.7533 Tj +-279 TJm +(will) 15.5018 Tj +-279 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-278 TJm +(pro) 13.2801 Tj +14 TJm +(vi) 7.7509 Tj +1 TJm +(ded) 14.386 Tj +-279 TJm +(all) 9.9626 Tj +-279 TJm +(the) 12.1743 Tj +-279 TJm +(input) 20.4831 Tj +-279 TJm +(data) 16.5977 Tj +-279 TJm +(it) 5.5392 Tj +-279 TJm +(w) 7.193 Tj +10 TJm +(ants) 16.0497 Tj +-279 TJm +(to.) 10.2416 Tj +-793 TJm +(It) 6.0871 Tj +-279 TJm +(will) 15.5018 Tj +-279 TJm +(then) 17.1556 Tj +-279 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-279 TJm +(to) 7.7509 Tj +-279 TJm +(\002nish) 22.1469 Tj +-279 TJm +(up) 9.9626 Tj +-279 TJm +(--) 6.6351 Tj +72 584.508 Td +(in) 7.7509 Tj +-287 TJm +(ef) 7.7409 Tj +25 TJm +(fect,) 17.4246 Tj +-297 TJm +(asking) 26.0123 Tj +-288 TJm +(the) 12.1743 Tj +-287 TJm +(library) 26.5603 Tj +-287 TJm +(to) 7.7509 Tj +-288 TJm +(process) 29.8778 Tj +-287 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-288 TJm +(data) 16.5977 Tj +-287 TJm +(it) 5.5392 Tj +-287 TJm +(might) 23.2527 Tj +-288 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-287 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fered) 20.4632 Tj +-288 TJm +(internally) 38.1866 Tj +65 TJm +(.) 2.4907 Tj +-844 TJm +(In) 8.2988 Tj +-288 TJm +(this) 14.396 Tj +-287 TJm +(state,) 20.7521 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +456.314 584.508 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 572.553 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-258 TJm +(no) 9.9626 Tj +-257 TJm +(longer) 25.4544 Tj +-258 TJm +(attempt) 29.8878 Tj +-258 TJm +(to) 7.7509 Tj +-258 TJm +(read) 17.1456 Tj +-257 TJm +(data) 16.5977 Tj +-258 TJm +(from) 19.3673 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.208 572.553 Td +/F124_0 9.9626 Tf +(next_in) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +276.051 572.553 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-260 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-257 TJm +(it) 5.5392 Tj +-258 TJm +(will) 15.5018 Tj +-258 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-257 TJm +(to) 7.7509 Tj +-258 TJm +(write) 20.4731 Tj +-258 TJm +(data) 16.5977 Tj +-258 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +407.082 572.553 Td +/F124_0 9.9626 Tf +(next_out) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +454.902 572.553 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-666 TJm +(Because) 33.1954 Tj +-258 TJm +(the) 12.1743 Tj +-258 TJm +(output) 25.4644 Tj +72 560.598 Td +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-228 TJm +(supplied) 33.7633 Tj +-228 TJm +(by) 9.9626 Tj +-229 TJm +(the) 12.1743 Tj +-228 TJm +(user) 16.5977 Tj +-228 TJm +(can) 13.8281 Tj +-228 TJm +(be) 9.4047 Tj +-228 TJm +(arbitrarily) 39.8404 Tj +-229 TJm +(sma) 16.0497 Tj +1 TJm +(ll,) 8.0299 Tj +-233 TJm +(the) 12.1743 Tj +-228 TJm +(\002nishing-up) 48.1592 Tj +-228 TJm +(operation) 37.6287 Tj +-229 TJm +(cannot) 26.5603 Tj +-228 TJm +(necessarily) 44.2638 Tj +-228 TJm +(be) 9.4047 Tj +-228 TJm +(done) 19.3673 Tj +-228 TJm +(with) 17.7135 Tj +-229 TJm +(a) 4.4234 Tj +-228 TJm +(single) 23.8007 Tj +72 548.642 Td +(call) 14.386 Tj +-250 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +99.666 548.642 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +183.352 548.642 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 526.725 Td +(Instead,) 31.2626 Tj +-346 TJm +(the) 12.1743 Tj +-327 TJm +(calling) 27.1182 Tj +-326 TJm +(program) 33.7533 Tj +-327 TJm +(passes) 25.4544 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +218.231 526.725 Td +/F124_0 9.9626 Tf +(BZ_FINISH) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +275.284 526.725 Td +/F122_0 9.9626 Tf +(as) 8.2988 Tj +-327 TJm +(an) 9.4047 Tj +-327 TJm +(acti) 14.386 Tj +1 TJm +(on) 9.9626 Tj +-327 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +338.109 526.725 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +421.795 526.725 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1081 TJm +(This) 17.7135 Tj +-326 TJm +(changes) 32.0895 Tj +-327 TJm +(the) 12.1743 Tj +-327 TJm +(stream') 29.8778 Tj +55 TJm +(s) 3.8755 Tj +72 514.77 Td +(state) 18.2614 Tj +-291 TJm +(to) 7.7509 Tj +-290 TJm +(FINISHING.) 52.2937 Tj +-581 TJm +(An) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-291 TJm +(remaining) 40.3983 Tj +-290 TJm +(input) 20.4831 Tj +-291 TJm +(\(ie,) 13.0012 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +264.452 514.77 Td +/F124_0 9.9626 Tf +(next_in[0) 53.798 Tj +-600 TJm +(..) 11.9551 Tj +-1200 TJm +(avail_in-1]) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +413.892 514.77 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-291 TJm +(is) 6.6451 Tj +-290 TJm +(compressed) 47.0334 Tj +-291 TJm +(and) 14.386 Tj +-290 TJm +(transferred) 43.148 Tj +72 502.814 Td +(to) 7.7509 Tj +-421 TJm +(the) 12.1743 Tj +-421 TJm +(output) 25.4644 Tj +-421 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +55 TJm +(.) 2.4907 Tj +-1646 TJm +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-421 TJm +(do) 9.9626 Tj +-422 TJm +(this) 14.396 Tj +1 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +222.339 502.814 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +310.22 502.814 Td +/F122_0 9.9626 Tf +(must) 19.3773 Tj +-421 TJm +(be) 9.4047 Tj +-421 TJm +(called) 23.7907 Tj +-421 TJm +(repeatedly) 41.4942 Tj +-421 TJm +(until) 18.2714 Tj +-421 TJm +(all) 9.9626 Tj +-421 TJm +(the) 12.1743 Tj +-421 TJm +(output) 25.4644 Tj +-421 TJm +(has) 13.2801 Tj +-421 TJm +(been) 18.8094 Tj +72 490.859 Td +(consumed.) 42.889 Tj +-1397 TJm +(At) 9.9626 Tj +-379 TJm +(that) 14.9439 Tj +-380 TJm +(point,) 22.9738 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.346 490.859 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +275.813 490.859 Td +/F122_0 9.9626 Tf +(returns) 27.6661 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +307.259 490.859 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +384.968 490.859 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-379 TJm +(and) 14.386 Tj +-380 TJm +(the) 12.1743 Tj +-379 TJm +(stream') 29.8778 Tj +55 TJm +(s) 3.8755 Tj +-380 TJm +(state) 18.2614 Tj +-379 TJm +(is) 6.6451 Tj +-380 TJm +(set) 11.0684 Tj +-379 TJm +(back) 18.8094 Tj +-379 TJm +(to) 7.7509 Tj +72 478.904 Td +(IDLE.) 25.1755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +99.666 478.904 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressEnd) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.776 478.904 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-250 TJm +(then) 17.1556 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(called.) 26.2813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 456.986 Td +(Just) 15.5018 Tj +-380 TJm +(to) 7.7509 Tj +-380 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-379 TJm +(sure) 16.5977 Tj +-380 TJm +(the) 12.1743 Tj +-380 TJm +(calling) 27.1182 Tj +-380 TJm +(program) 33.7533 Tj +-379 TJm +(does) 18.2614 Tj +-380 TJm +(not) 12.7322 Tj +-380 TJm +(cheat,) 23.5117 Tj +-412 TJm +(the) 12.1743 Tj +-380 TJm +(library) 26.5603 Tj +-380 TJm +(mak) 17.1556 Tj +10 TJm +(es) 8.2988 Tj +-379 TJm +(a) 4.4234 Tj +-380 TJm +(note) 17.1556 Tj +-380 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +415.708 456.986 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +467.312 456.986 Td +/F122_0 9.9626 Tf +(at) 7.193 Tj +-380 TJm +(the) 12.1743 Tj +-380 TJm +(time) 17.7135 Tj +-379 TJm +(of) 8.2988 Tj +-380 TJm +(the) 12.1743 Tj +72 445.031 Td +(\002rst) 15.5018 Tj +-286 TJm +(call) 14.386 Tj +-286 TJm +(t) 2.7696 Tj +1 TJm +(o) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +118.179 445.031 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +204.713 445.031 Td +/F122_0 9.9626 Tf +(which) 24.3486 Tj +-286 TJm +(has) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +248.035 445.031 Td +/F124_0 9.9626 Tf +(BZ_FINISH) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +304.68 445.031 Td +/F122_0 9.9626 Tf +(as) 8.2988 Tj +-286 TJm +(an) 9.4047 Tj +-286 TJm +(action) 24.3486 Tj +-285 TJm +(\(ie,) 13.0012 Tj +-295 TJm +(at) 7.193 Tj +-286 TJm +(the) 12.1743 Tj +-286 TJm +(time) 17.7135 Tj +-285 TJm +(the) 12.1743 Tj +-286 TJm +(program) 33.7533 Tj +-286 TJm +(has) 13.2801 Tj +-286 TJm +(announced) 43.158 Tj +-285 TJm +(its) 9.4147 Tj +72 433.076 Td +(intention) 35.427 Tj +-292 TJm +(to) 7.7509 Tj +-292 TJm +(not) 12.7322 Tj +-291 TJm +(supply) 26.5703 Tj +-292 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-292 TJm +(more) 20.4731 Tj +-292 TJm +(input\).) 26.2913 Tj +-870 TJm +(By) 11.6264 Tj +-292 TJm +(comparing) 42.61 Tj +-292 TJm +(this) 14.396 Tj +-292 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-291 TJm +(with) 17.7135 Tj +-292 TJm +(that) 14.9439 Tj +-292 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.862 433.076 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +443.589 433.076 Td +/F122_0 9.9626 Tf +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-292 TJm +(subsequent) 44.2738 Tj +-292 TJm +(calls) 18.2614 Tj +-291 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 421.121 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.686 421.121 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-247 TJm +(the) 12.1743 Tj +-247 TJm +(library) 26.5603 Tj +-246 TJm +(can) 13.8281 Tj +-247 TJm +(detect) 23.7907 Tj +-246 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-247 TJm +(attem) 22.1369 Tj +1 TJm +(p) 4.9813 Tj +-1 TJm +(t) 2.7696 Tj +1 TJm +(s) 3.8755 Tj +-247 TJm +(to) 7.7509 Tj +-246 TJm +(slip) 14.396 Tj +-247 TJm +(in) 7.7509 Tj +-246 TJm +(more) 20.4731 Tj +-247 TJm +(data) 16.5977 Tj +-246 TJm +(to) 7.7509 Tj +-247 TJm +(compress.) 40.1194 Tj +-617 TJm +(An) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-247 TJm +(calls) 18.2614 Tj +-246 TJm +(for) 11.6164 Tj +-247 TJm +(which) 24.3486 Tj +-246 TJm +(this) 14.396 Tj +-247 TJm +(is) 6.6451 Tj +72 409.165 Td +(detected) 33.1954 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(return) 23.7907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +151.959 409.165 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +253.578 409.165 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-500 TJm +(This) 17.7135 Tj +-250 TJm +(indicates) 35.417 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(programming) 54.2364 Tj +-250 TJm +(mistak) 26.5703 Tj +10 TJm +(e) 4.4234 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(corrected.) 39.5515 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 387.248 Td +(Instead) 28.772 Tj +-224 TJm +(of) 8.2988 Tj +-223 TJm +(asking) 26.0123 Tj +-224 TJm +(to) 7.7509 Tj +-223 TJm +(\002nish,) 24.6375 Tj +-229 TJm +(the) 12.1743 Tj +-224 TJm +(calling) 27.1182 Tj +-223 TJm +(program) 33.7533 Tj +-224 TJm +(may) 17.1556 Tj +-224 TJm +(ask) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +293.282 387.248 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +379.196 387.248 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-224 TJm +(tak) 12.1743 Tj +10 TJm +(e) 4.4234 Tj +-223 TJm +(all) 9.9626 Tj +-224 TJm +(the) 12.1743 Tj +-223 TJm +(remaining) 40.3983 Tj +-224 TJm +(input,) 22.9738 Tj +-229 TJm +(compress) 37.6287 Tj +72 375.293 Td +(it) 5.5392 Tj +-278 TJm +(and) 14.386 Tj +-278 TJm +(terminate) 37.6287 Tj +-278 TJm +(the) 12.1743 Tj +-278 TJm +(current) 28.2141 Tj +-277 TJm +(\(Burro) 26.5603 Tj +25 TJm +(ws-Wheeler\)) 51.4469 Tj +-278 TJm +(compression) 50.3609 Tj +-278 TJm +(block.) 24.6275 Tj +-787 TJm +(Th) 11.0684 Tj +-1 TJm +(i) 2.7696 Tj +1 TJm +(s) 3.8755 Tj +-278 TJm +(could) 22.1369 Tj +-278 TJm +(be) 9.4047 Tj +-278 TJm +(useful) 24.3486 Tj +-278 TJm +(for) 11.6164 Tj +-278 TJm +(error) 19.3573 Tj +-278 TJm +(control) 28.224 Tj +-278 TJm +(purposes.) 37.9077 Tj +72 363.337 Td +(The) 15.4918 Tj +-328 TJm +(mechanism) 45.3796 Tj +-328 TJm +(is) 6.6451 Tj +-328 TJm +(analogous) 40.3983 Tj +-328 TJm +(to) 7.7509 Tj +-328 TJm +(that) 14.9439 Tj +-328 TJm +(for) 11.6164 Tj +-328 TJm +(\002nishing:) 37.6487 Tj +-466 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +297.049 363.337 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +384.003 363.337 Td +/F122_0 9.9626 Tf +(with) 17.7135 Tj +-328 TJm +(an) 9.4047 Tj +-328 TJm +(action) 24.3486 Tj +-328 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +456.841 363.337 Td +/F124_0 9.9626 Tf +(BZ_FLUSH) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +504.662 363.337 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-328 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +72 351.382 Td +(output) 25.4644 Tj +-445 TJm +(data,) 19.0883 Tj +-494 TJm +(and) 14.386 Tj +-446 TJm +(persist) 26.0123 Tj +-445 TJm +(with) 17.7135 Tj +-445 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +213.94 351.382 Td +/F124_0 9.9626 Tf +(BZ_FLUSH) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +266.195 351.382 Td +/F122_0 9.9626 Tf +(action) 24.3486 Tj +-445 TJm +(until) 18.2714 Tj +-445 TJm +(the) 12.1743 Tj +-446 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +360.062 351.382 Td +/F124_0 9.9626 Tf +(BZ_RUN) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +400.362 351.382 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-445 TJm +(returned.) 35.686 Tj +-1792 TJm +(As) 11.0684 Tj +-445 TJm +(with) 17.7135 Tj +-445 TJm +(\002nishing,) 37.3697 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 339.427 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.177 339.427 Td +/F122_0 9.9626 Tf +(detects) 27.6661 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(attempt) 29.8878 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-250 TJm +(more) 20.4731 Tj +-250 TJm +(input) 20.4831 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(once) 18.8094 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\003ush) 19.3773 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(be) 9.4047 Tj +15 TJm +(gun.) 17.4346 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 317.509 Td +(Once) 21.0211 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\003ush) 19.3773 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(complete,) 39.0135 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(stream) 26.5603 Tj +-250 TJm +(returns) 27.6661 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(normal) 28.224 Tj +-250 TJm +(R) 6.6451 Tj +40 TJm +(UNNING) 39.2825 Tj +-250 TJm +(state.) 20.7521 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 295.591 Td +(This) 17.7135 Tj +-344 TJm +(all) 9.9626 Tj +-343 TJm +(sounds) 27.6761 Tj +-344 TJm +(pretty) 23.2427 Tj +-344 TJm +(comple) 29.3299 Tj +15 TJm +(x,) 7.472 Tj +-367 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-344 TJm +(isn') 14.9439 Tj +18 TJm +(t) 2.7696 Tj +-344 TJm +(really) 22.6848 Tj +65 TJm +(.) 2.4907 Tj +-1182 TJm +(Here') 22.6749 Tj +55 TJm +(s) 3.8755 Tj +-344 TJm +(a) 4.4234 Tj +-344 TJm +(table) 19.3673 Tj +-343 TJm +(which) 24.3486 Tj +-344 TJm +(sho) 13.8381 Tj +25 TJm +(ws) 11.0684 Tj +-344 TJm +(which) 24.3486 Tj +-344 TJm +(actions) 28.224 Tj +-343 TJm +(are) 12.1643 Tj +-344 TJm +(allo) 14.9439 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-344 TJm +(in) 7.7509 Tj +-344 TJm +(each) 18.2515 Tj +72 283.636 Td +(state,) 20.7521 Tj +-281 TJm +(what) 19.3673 Tj +-274 TJm +(action) 24.3486 Tj +-275 TJm +(will) 15.5018 Tj +-274 TJm +(be) 9.4047 Tj +-275 TJm +(tak) 12.1743 Tj +10 TJm +(en,) 11.8953 Tj +-280 TJm +(what) 19.3673 Tj +-275 TJm +(the) 12.1743 Tj +-274 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-275 TJm +(state) 18.2614 Tj +-274 TJm +(is,) 9.1357 Tj +-281 TJm +(and) 14.386 Tj +-274 TJm +(what) 19.3673 Tj +-275 TJm +(the) 12.1743 Tj +-275 TJm +(non-error) 37.6188 Tj +-274 TJm +(return) 23.7907 Tj +-275 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-274 TJm +(are.) 14.655 Tj +-767 TJm +(Note) 19.3673 Tj +-275 TJm +(that) 14.9439 Tj +-274 TJm +(you) 14.9439 Tj +-275 TJm +(can') 17.1456 Tj +18 TJm +(t) 2.7696 Tj +72 271.681 Td +(e) 4.4234 Tj +15 TJm +(xplicitly) 33.2153 Tj +-347 TJm +(ask) 13.2801 Tj +-348 TJm +(what) 19.3673 Tj +-347 TJm +(state) 18.2614 Tj +-348 TJm +(the) 12.1743 Tj +-347 TJm +(stream) 26.5603 Tj +-348 TJm +(is) 6.6451 Tj +-347 TJm +(in,) 10.2416 Tj +-372 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-347 TJm +(nor) 13.2801 Tj +-348 TJm +(do) 9.9626 Tj +-347 TJm +(you) 14.9439 Tj +-348 TJm +(need) 18.8094 Tj +-347 TJm +(to) 7.7509 Tj +-348 TJm +(--) 6.6351 Tj +-347 TJm +(it) 5.5392 Tj +-348 TJm +(can) 13.8281 Tj +-347 TJm +(be) 9.4047 Tj +-347 TJm +(inferred) 31.5316 Tj +-348 TJm +(from) 19.3673 Tj +-347 TJm +(the) 12.1743 Tj +-348 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-347 TJm +(returned) 33.1954 Tj +-348 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 259.726 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.686 259.726 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +(14) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 15 18 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 146.152] cm +0 0 468 573.848 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(IDLE/any) 47.8205 Tj +98.488 699.676 Td +(Illegal.) 47.8205 Tj +-852 TJm +(IDLE) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(only) 23.9102 Tj +-426 TJm +(exists) 35.8654 Tj +-426 TJm +(after) 29.8878 Tj +-426 TJm +(BZ2_bzCompressEnd) 101.6185 Tj +-426 TJm +(or) 11.9551 Tj +98.488 687.721 Td +(before) 35.8654 Tj +-426 TJm +(BZ2_bzCompressInit.) 113.5736 Tj +98.488 675.766 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_SEQUENCE_ERROR) 101.6185 Tj +90 651.856 Td +(RUNNING/BZ_RUN) 83.6858 Tj +98.488 639.9 Td +(Compress) 47.8205 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(next_in) 41.8429 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(next_out) 47.8205 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(much) 23.9102 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(possible.) 53.798 Tj +98.488 627.945 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(RUNNING) 41.8429 Tj +98.488 615.99 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_RUN_OK) 53.798 Tj +90 592.08 Td +(RUNNING/BZ_FLUSH) 95.641 Tj +98.488 580.124 Td +(Remember) 47.8205 Tj +-426 TJm +(current) 41.8429 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(next_in.) 47.8205 Tj +-426 TJm +(Compress) 47.8205 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(next_in) 41.8429 Tj +98.488 568.169 Td +(to) 11.9551 Tj +-426 TJm +(next_out) 47.8205 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(much) 23.9102 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(possible,) 53.798 Tj +-426 TJm +(but) 17.9327 Tj +-426 TJm +(do) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(accept) 35.8654 Tj +-426 TJm +(any) 17.9327 Tj +-426 TJm +(more) 23.9102 Tj +-426 TJm +(input.) 35.8654 Tj +98.488 556.214 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(FLUSHING) 47.8205 Tj +98.488 544.259 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_FLUSH_OK) 65.7532 Tj +90 520.349 Td +(RUNNING/BZ_FINISH) 101.6185 Tj +98.488 508.393 Td +(Remember) 47.8205 Tj +-426 TJm +(current) 41.8429 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(next_in.) 47.8205 Tj +-426 TJm +(Compress) 47.8205 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(next_in) 41.8429 Tj +98.488 496.438 Td +(to) 11.9551 Tj +-426 TJm +(next_out) 47.8205 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(much) 23.9102 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(possible,) 53.798 Tj +-426 TJm +(but) 17.9327 Tj +-426 TJm +(do) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(accept) 35.8654 Tj +-426 TJm +(any) 17.9327 Tj +-426 TJm +(more) 23.9102 Tj +-426 TJm +(input.) 35.8654 Tj +98.488 484.483 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(FINISHING) 53.798 Tj +98.488 472.528 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_FINISH_OK) 71.7307 Tj +90 448.618 Td +(FLUSHING/BZ_FLUSH) 101.6185 Tj +98.488 436.662 Td +(Compress) 47.8205 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(next_in) 41.8429 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(next_out) 47.8205 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(much) 23.9102 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(possible,) 53.798 Tj +98.488 424.707 Td +(but) 17.9327 Tj +-426 TJm +(do) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(accept) 35.8654 Tj +-426 TJm +(any) 17.9327 Tj +-426 TJm +(more) 23.9102 Tj +-426 TJm +(input.) 35.8654 Tj +98.488 412.752 Td +(If) 11.9551 Tj +-426 TJm +(all) 17.9327 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(existing) 47.8205 Tj +-426 TJm +(input) 29.8878 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(used) 23.9102 Tj +-426 TJm +(up) 11.9551 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(all) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +98.488 400.797 Td +(output) 35.8654 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(removed) 41.8429 Tj +106.976 388.842 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(RUNNING;) 47.8205 Tj +-426 TJm +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_RUN_OK) 53.798 Tj +98.488 376.887 Td +(else) 23.9102 Tj +106.976 364.931 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(FLUSHING;) 53.798 Tj +-426 TJm +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_FLUSH_OK) 65.7532 Tj +90 341.021 Td +(FLUSHING/other) 83.6858 Tj +98.488 329.066 Td +(Illegal.) 47.8205 Tj +98.488 317.111 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_SEQUENCE_ERROR) 101.6185 Tj +90 293.2 Td +(FINISHING/BZ_FINISH) 113.5736 Tj +98.488 281.245 Td +(Compress) 47.8205 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(next_in) 41.8429 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(next_out) 47.8205 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(much) 23.9102 Tj +-426 TJm +(as) 11.9551 Tj +-426 TJm +(possible,) 53.798 Tj +98.488 269.29 Td +(but) 17.9327 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(accept) 35.8654 Tj +-426 TJm +(any) 17.9327 Tj +-426 TJm +(more) 23.9102 Tj +-426 TJm +(input.) 35.8654 Tj +98.488 257.335 Td +(If) 11.9551 Tj +-426 TJm +(all) 17.9327 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(existing) 47.8205 Tj +-426 TJm +(input) 29.8878 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(used) 23.9102 Tj +-426 TJm +(up) 11.9551 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(all) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +98.488 245.38 Td +(output) 35.8654 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(removed) 41.8429 Tj +106.976 233.424 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(IDLE;) 29.8878 Tj +-426 TJm +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_STREAM_END) 77.7083 Tj +98.488 221.469 Td +(else) 23.9102 Tj +106.976 209.514 Td +(Next) 23.9102 Tj +-426 TJm +(state) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(FINISHING;) 59.7756 Tj +-426 TJm +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_FINISH_OK) 71.7307 Tj +90 185.604 Td +(FINISHING/other) 89.6634 Tj +98.488 173.649 Td +(Illegal.) 47.8205 Tj +98.488 161.693 Td +(Return) 35.8654 Tj +-426 TJm +(value) 29.8878 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 124.234 Td +/F122_0 9.9626 Tf +(That) 18.2614 Tj +-250 TJm +(still) 14.9539 Tj +-250 TJm +(looks) 21.589 Tj +-250 TJm +(complicated?) 53.1206 Tj +-620 TJm +(W) 9.4047 Tj +80 TJm +(ell,) 12.4533 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(air) 10.5105 Tj +-250 TJm +(enough.) 31.8205 Tj +-620 TJm +(The) 15.4918 Tj +-250 TJm +(usual) 21.031 Tj +-250 TJm +(sequence) 36.5129 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(calls) 18.2614 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(compressing) 50.3609 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(load) 17.1556 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(is:) 9.4147 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 92.353 Td +(1.) 7.472 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-510 TJm +(Get) 14.386 Tj +-250 TJm +(started) 26.5603 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +153.175 92.353 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +260.771 92.353 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(15) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 16 19 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +74.491 710.037 Td +/F122_0 9.9626 Tf +(2.) 7.472 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-510 TJm +(Sho) 15.5018 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-267 TJm +(data) 16.5977 Tj +-268 TJm +(in) 7.7509 Tj +-267 TJm +(and) 14.386 Tj +-268 TJm +(shlurp) 24.9065 Tj +-267 TJm +(out) 12.7322 Tj +-268 TJm +(its) 9.4147 Tj +-267 TJm +(compressed) 47.0334 Tj +-267 TJm +(form) 19.3673 Tj +-268 TJm +(using) 21.589 Tj +-267 TJm +(zero) 17.1456 Tj +-268 TJm +(or) 8.2988 Tj +-267 TJm +(more) 20.4731 Tj +-268 TJm +(call) 14.386 Tj +1 TJm +(s) 3.8755 Tj +-268 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +400.64 710.037 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +486.991 710.037 Td +/F122_0 9.9626 Tf +(with) 17.7135 Tj +-267 TJm +(action) 24.3486 Tj +-268 TJm +(=) 5.6189 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +83.955 698.082 Td +/F124_0 9.9626 Tf +(BZ_RUN) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +119.821 698.082 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 676.164 Td +(3.) 7.472 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-510 TJm +(Finish) 24.9165 Tj +-276 TJm +(up.) 12.4533 Tj +-387 TJm +(Repeatedly) 44.8217 Tj +-276 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +195.722 676.164 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.156 676.164 Td +/F122_0 9.9626 Tf +(with) 17.7135 Tj +-276 TJm +(action) 24.3486 Tj +-276 TJm +(=) 5.6189 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +338.079 676.164 Td +/F124_0 9.9626 Tf +(BZ_FINISH) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +391.877 676.164 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-276 TJm +(cop) 14.386 Tj +10 TJm +(ying) 17.7135 Tj +-276 TJm +(out) 12.7322 Tj +-275 TJm +(the) 12.1743 Tj +-276 TJm +(compressed) 47.0334 Tj +-276 TJm +(output,) 27.9551 Tj +83.955 664.209 Td +(until) 18.2714 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.717 664.209 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +184.916 664.209 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(returned.) 35.686 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 642.291 Td +(4.) 7.472 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-510 TJm +(Close) 22.6948 Tj +-250 TJm +(up) 9.9626 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(go) 9.9626 Tj +-250 TJm +(home.) 24.6275 Tj +-620 TJm +(Call) 16.6077 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.914 642.291 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressEnd) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.533 642.291 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 620.374 Td +(If) 6.6351 Tj +-269 TJm +(the) 12.1743 Tj +-270 TJm +(data) 16.5977 Tj +-269 TJm +(you) 14.9439 Tj +-270 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-269 TJm +(to) 7.7509 Tj +-270 TJm +(compress) 37.6287 Tj +-269 TJm +(\002ts) 12.1843 Tj +-270 TJm +(into) 15.5018 Tj +-269 TJm +(your) 18.2614 Tj +-270 TJm +(input) 20.4831 Tj +-269 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-270 TJm +(all) 9.9626 Tj +-269 TJm +(at) 7.193 Tj +-270 TJm +(once,) 21.3 Tj +-274 TJm +(you) 14.9439 Tj +-269 TJm +(can) 13.8281 Tj +-270 TJm +(skip) 16.6077 Tj +-269 TJm +(the) 12.1743 Tj +-270 TJm +(calls) 18.2614 Tj +-269 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +456.314 620.374 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +72 608.418 Td +(\() 5.9776 Tj +-600 TJm +(...,) 23.9102 Tj +-600 TJm +(BZ_RUN) 35.8654 Tj +-600 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +164.154 608.418 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +-250 TJm +(just) 14.396 Tj +-250 TJm +(do) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +225.036 608.418 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +-600 TJm +(\() 5.9776 Tj +-600 TJm +(...,) 23.9102 Tj +-600 TJm +(BZ_FINISH) 53.798 Tj +-600 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +424.786 608.418 Td +/F122_0 9.9626 Tf +(calls.) 20.7521 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 586.501 Td +(All) 12.7322 Tj +-278 TJm +(required) 33.1954 Tj +-277 TJm +(memory) 33.2053 Tj +-278 TJm +(is) 6.6451 Tj +-277 TJm +(allocated) 35.965 Tj +-278 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +220.295 586.501 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +327.891 586.501 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-785 TJm +(The) 15.4918 Tj +-278 TJm +(compression) 50.3609 Tj +-277 TJm +(library) 26.5603 Tj +-278 TJm +(can) 13.8281 Tj +-277 TJm +(accept) 25.4445 Tj +-278 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-277 TJm +(data) 16.5977 Tj +-278 TJm +(at) 7.193 Tj +-278 TJm +(all) 9.9626 Tj +72 574.545 Td +(\(ob) 13.2801 Tj +15 TJm +(viously\).) 35.1481 Tj +-612 TJm +(So) 10.5205 Tj +-238 TJm +(you) 14.9439 Tj +-237 TJm +(shouldn') 34.8691 Tj +18 TJm +(t) 2.7696 Tj +-238 TJm +(get) 12.1743 Tj +-238 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-237 TJm +(error) 19.3573 Tj +-238 TJm +(return) 23.7907 Tj +-238 TJm +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +-238 TJm +(from) 19.3673 Tj +-237 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +339.287 574.545 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +425.342 574.545 Td +/F122_0 9.9626 Tf +(calls.) 20.7521 Tj +-612 TJm +(If) 6.6351 Tj +-237 TJm +(you) 14.9439 Tj +-238 TJm +(do,) 12.4533 Tj +-240 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-238 TJm +(will) 15.5018 Tj +-238 TJm +(be) 9.4047 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 562.59 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +173.619 562.59 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(indicate) 31.5416 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(your) 18.2614 Tj +-250 TJm +(programming.) 56.727 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 540.672 Td +(T) 6.0871 Tj +35 TJm +(ri) 6.0871 Tj +25 TJm +(vial) 14.9439 Tj +-250 TJm +(other) 20.4731 Tj +-250 TJm +(possible) 32.6574 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 501.654] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 529.151 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 517.196 Td +(if) 11.9551 Tj +-426 TJm +(strm) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL,) 29.8878 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(strm->s) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 471.033 Td +/F116_0 17.2154 Tf +(3.3.3.) 43.0729 Tj +-278 TJm +(BZ2_bzCompressEnd) 177.9212 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 442.563] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 458.104 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzCompressEnd) 101.6185 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +286.303 456.361 Td +(*) 5.9776 Tj +292.281 458.104 Td +(strm) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 420.645 Td +/F122_0 9.9626 Tf +(Releases) 34.8591 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(memory) 33.2053 Tj +-250 TJm +(associated) 40.9463 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(compression) 50.3609 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 398.727 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 361.766] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 389.263 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +-852 TJm +(if) 11.9551 Tj +-426 TJm +(strm) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(strm->s) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +90 377.307 Td +(BZ_OK) 29.8878 Tj +-4686 TJm +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 331.145 Td +/F116_0 17.2154 Tf +(3.3.4.) 43.0729 Tj +-278 TJm +(BZ2_bzDecompressInit) 190.3679 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 302.674] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 318.216 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzDecompressInit) 119.5512 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +304.236 316.473 Td +(*) 5.9776 Tj +310.214 318.216 Td +(strm,) 29.8878 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(verbosity,) 59.7756 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 280.757 Td +/F122_0 9.9626 Tf +(Prepares) 34.3012 Tj +-351 TJm +(for) 11.6164 Tj +-351 TJm +(decompression.) 62.2563 Tj +-1228 TJm +(As) 11.0684 Tj +-351 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +235.177 280.757 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +342.773 280.757 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-377 TJm +(a) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +356.937 280.757 Td +/F124_0 9.9626 Tf +(bz_stream) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +414.235 280.757 Td +/F122_0 9.9626 Tf +(record) 25.4445 Tj +-351 TJm +(should) 26.5703 Tj +-351 TJm +(be) 9.4047 Tj +-352 TJm +(allocated) 35.965 Tj +-351 TJm +(and) 14.386 Tj +72 268.801 Td +(initialised) 39.3025 Tj +-306 TJm +(before) 25.4445 Tj +-305 TJm +(the) 12.1743 Tj +-306 TJm +(call.) 16.8766 Tj +-953 TJm +(Fields) 24.3586 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +211.833 268.801 Td +/F124_0 9.9626 Tf +(bzalloc) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +253.676 268.801 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +259.35 268.801 Td +/F124_0 9.9626 Tf +(bzfree) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +298.26 268.801 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +315.69 268.801 Td +/F124_0 9.9626 Tf +(opaque) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +354.6 268.801 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-306 TJm +(be) 9.4047 Tj +-305 TJm +(set) 11.0684 Tj +-306 TJm +(if) 6.0871 Tj +-305 TJm +(a) 4.4234 Tj +-306 TJm +(custom) 28.782 Tj +-305 TJm +(memory) 33.2053 Tj +-306 TJm +(allocator) 34.8591 Tj +-306 TJm +(is) 6.6451 Tj +72 256.846 Td +(required,) 35.686 Tj +-350 TJm +(or) 8.2988 Tj +-331 TJm +(made) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +147.635 256.846 Td +/F124_0 9.9626 Tf +(NULL) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +174.836 256.846 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +-330 TJm +(the) 12.1743 Tj +-331 TJm +(normal) 28.224 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +236.722 256.846 Td +/F124_0 9.9626 Tf +(malloc) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +275.878 256.846 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +281.938 256.846 Td +/F124_0 9.9626 Tf +(free) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +309.139 256.846 Td +/F122_0 9.9626 Tf +(routines.) 34.5901 Tj +-1102 TJm +(Upon) 22.1369 Tj +-330 TJm +(return,) 26.2813 Tj +-350 TJm +(the) 12.1743 Tj +-331 TJm +(internal) 30.4357 Tj +-330 TJm +(state) 18.2614 Tj +-330 TJm +(will) 15.5018 Tj +-330 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-331 TJm +(been) 18.8094 Tj +72 244.891 Td +(initialised,) 41.7931 Tj +-250 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +133.16 244.891 Td +/F124_0 9.9626 Tf +(total_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +183.471 244.891 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.348 244.891 Td +/F124_0 9.9626 Tf +(total_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +256.637 244.891 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(zero.) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 222.973 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(meaning) 34.3112 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(parameter) 39.8305 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +192.756 222.973 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +246.554 222.973 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(see) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +266.748 222.973 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +374.345 222.973 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 201.055 Td +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.497 201.055 Td +/F124_0 9.9626 Tf +(small) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +114.248 201.055 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-287 TJm +(nonzero,) 34.5802 Tj +-297 TJm +(the) 12.1743 Tj +-287 TJm +(library) 26.5603 Tj +-288 TJm +(wil) 12.7322 Tj +1 TJm +(l) 2.7696 Tj +-288 TJm +(use) 13.2801 Tj +-287 TJm +(an) 9.4047 Tj +-287 TJm +(alternati) 32.6474 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-288 TJm +(decompression) 59.7656 Tj +-287 TJm +(algorithm) 38.7446 Tj +-287 TJm +(which) 24.3486 Tj +-288 TJm +(uses) 17.1556 Tj +-287 TJm +(less) 14.9439 Tj +-287 TJm +(memory) 33.2053 Tj +-287 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-288 TJm +(at) 7.193 Tj +-287 TJm +(the) 12.1743 Tj +72 189.1 Td +(cost) 16.0497 Tj +-289 TJm +(of) 8.2988 Tj +-290 TJm +(decompressing) 59.7656 Tj +-289 TJm +(more) 20.4731 Tj +-289 TJm +(slo) 11.6264 Tj +25 TJm +(wly) 14.9439 Tj +-290 TJm +(\(roughly) 34.3112 Tj +-289 TJm +(speaking,) 37.9077 Tj +-299 TJm +(half) 15.4918 Tj +-290 TJm +(the) 12.1743 Tj +-289 TJm +(speed,) 25.1755 Tj +-299 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-289 TJm +(the) 12.1743 Tj +-290 TJm +(maximum) 40.4083 Tj +-289 TJm +(memory) 33.2053 Tj +-289 TJm +(requirement) 48.1393 Tj +-290 TJm +(drops) 22.1369 Tj +72 177.145 Td +(to) 7.7509 Tj +-250 TJm +(around) 27.6661 Tj +-250 TJm +(2300k\).) 30.7147 Tj +-620 TJm +(See) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +(Ho) 12.1743 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(bzip2) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +-250 TJm +([2]) 11.6164 Tj +/DeviceRGB {} cs +[0 0 1] sc +/DeviceRGB {} CS +[0 0 1] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-250 TJm +(for) 11.6164 Tj +-250 TJm +(more) 20.4731 Tj +-250 TJm +(information) 47.0434 Tj +-250 TJm +(on) 9.9626 Tj +-250 TJm +(memory) 33.2053 Tj +-250 TJm +(management.) 53.3995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 155.227 Td +(Note) 19.3673 Tj +-289 TJm +(that) 14.9439 Tj +-290 TJm +(the) 12.1743 Tj +-289 TJm +(amount) 29.8878 Tj +-289 TJm +(of) 8.2988 Tj +-289 TJm +(memory) 33.2053 Tj +-290 TJm +(needed) 28.2141 Tj +-289 TJm +(to) 7.7509 Tj +-289 TJm +(decompress) 47.0334 Tj +-289 TJm +(a) 4.4234 Tj +-290 TJm +(stream) 26.5603 Tj +-289 TJm +(cannot) 26.5603 Tj +-289 TJm +(be) 9.4047 Tj +-289 TJm +(determined) 44.8217 Tj +-290 TJm +(until) 18.2714 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(stream') 29.8778 Tj +55 TJm +(s) 3.8755 Tj +-289 TJm +(header) 26.5503 Tj +-290 TJm +(has) 13.2801 Tj +72 143.272 Td +(been) 18.8094 Tj +-342 TJm +(read,) 19.6363 Tj +-366 TJm +(so) 8.8568 Tj +-342 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-342 TJm +(if) 6.0871 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.081 143.272 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressInit) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +284.043 143.272 Td +/F122_0 9.9626 Tf +(succeeds,) 37.8977 Tj +-365 TJm +(a) 4.4234 Tj +-343 TJm +(subsequent) 44.2738 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +381.098 143.272 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +480.149 143.272 Td +/F122_0 9.9626 Tf +(could) 22.1369 Tj +-342 TJm +(f) 3.3175 Tj +10 TJm +(ail) 9.9626 Tj +-343 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 131.317 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +143.731 131.317 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 109.399 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(16) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 17 20 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 624.359] cm +0 0 468 95.641 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 687.721 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 675.766 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(&&) 11.9551 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(1) 5.9776 Tj +-426 TJm +(\)) 5.9776 Tj +98.488 663.811 Td +(or) 11.9551 Tj +-426 TJm +(\(verbosity) 59.7756 Tj +-426 TJm +(<;) 11.9551 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(||) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(4\)) 11.9551 Tj +90 651.856 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 639.9 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 602.441 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 553.524] cm +0 0 468 47.821 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 592.976 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +98.488 581.021 Td +(if) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(returned) 47.8205 Tj +98.488 569.066 Td +(no) 11.9551 Tj +-426 TJm +(specific) 47.8205 Tj +-426 TJm +(action) 35.8654 Tj +-426 TJm +(required) 47.8205 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(case) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(error) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 522.903 Td +/F116_0 17.2154 Tf +(3.3.5.) 43.0729 Tj +-278 TJm +(BZ2_bzDecompress) 164.5448 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 494.433] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 509.975 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzDecompress) 95.641 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +280.326 508.231 Td +(*) 5.9776 Tj +286.303 509.975 Td +(strm) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 472.515 Td +/F122_0 9.9626 Tf +(Pro) 13.8381 Tj +15 TJm +(vides) 21.031 Tj +-301 TJm +(more) 20.4731 Tj +-302 TJm +(input) 20.4831 Tj +-301 TJm +(and/out) 29.8878 Tj +-302 TJm +(output) 25.4644 Tj +-301 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-301 TJm +(space) 22.1269 Tj +-302 TJm +(for) 11.6164 Tj +-301 TJm +(the) 12.1743 Tj +-302 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-928 TJm +(The) 15.4918 Tj +-301 TJm +(caller) 22.1269 Tj +-302 TJm +(maintains) 38.7446 Tj +-301 TJm +(input) 20.4831 Tj +-302 TJm +(and) 14.386 Tj +-301 TJm +(output) 25.4644 Tj +-301 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fers,) 17.4246 Tj +-315 TJm +(and) 14.386 Tj +72 460.56 Td +(uses) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +91.646 460.56 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.778 460.56 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(transfer) 30.4258 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(between) 33.1954 Tj +-250 TJm +(them.) 22.4159 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 438.642 Td +(Before) 27.1082 Tj +-498 TJm +(each) 18.2515 Tj +-499 TJm +(call) 14.386 Tj +-498 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.356 438.642 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +254.997 438.642 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +263.071 438.642 Td +/F124_0 9.9626 Tf +(next_in) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +309.879 438.642 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-498 TJm +(point) 20.4831 Tj +-499 TJm +(at) 7.193 Tj +-498 TJm +(the) 12.1743 Tj +-498 TJm +(compressed) 47.0334 Tj +-499 TJm +(data,) 19.0883 Tj +-560 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +492.179 438.642 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 426.687 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-308 TJm +(indicate) 31.5416 Tj +-308 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-309 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +-308 TJm +(bytes) 21.031 Tj +-308 TJm +(the) 12.1743 Tj +-308 TJm +(library) 26.5603 Tj +-308 TJm +(may) 17.1556 Tj +-309 TJm +(read.) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.955 426.687 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +393.667 426.687 Td +/F122_0 9.9626 Tf +(updates) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +427.173 426.687 Td +/F124_0 9.9626 Tf +(next_in) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +469.016 426.687 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +474.723 426.687 Td +/F124_0 9.9626 Tf +(avail_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +525.614 426.687 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 414.732 Td +/F124_0 9.9626 Tf +(total_in) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +122.311 414.732 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(re\003ect) 24.8965 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(bytes) 21.031 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(read.) 19.6363 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 392.814 Td +(Similarly) 37.0908 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +113.799 392.814 Td +/F124_0 9.9626 Tf +(next_out) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +164.41 392.814 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-280 TJm +(point) 20.4831 Tj +-280 TJm +(to) 7.7509 Tj +-280 TJm +(a) 4.4234 Tj +-280 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-281 TJm +(i) 2.7696 Tj +1 TJm +(n) 4.9813 Tj +-281 TJm +(which) 24.3486 Tj +-280 TJm +(the) 12.1743 Tj +-280 TJm +(uncompressed) 56.996 Tj +-280 TJm +(output) 25.4644 Tj +-280 TJm +(is) 6.6451 Tj +-280 TJm +(to) 7.7509 Tj +-280 TJm +(be) 9.4047 Tj +-280 TJm +(placed,) 28.493 Tj +-288 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +486.202 392.814 Td +/F124_0 9.9626 Tf +(avail_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 380.859 Td +/F122_0 9.9626 Tf +(indicating) 39.8504 Tj +-525 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-524 TJm +(much) 22.1369 Tj +-525 TJm +(output) 25.4644 Tj +-524 TJm +(space) 22.1269 Tj +-525 TJm +(is) 6.6451 Tj +-525 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +285.792 380.859 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +374.705 380.859 Td +/F122_0 9.9626 Tf +(updates) 30.4357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +410.367 380.859 Td +/F124_0 9.9626 Tf +(next_out) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +458.188 380.859 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +466.589 380.859 Td +/F124_0 9.9626 Tf +(avail_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +525.614 380.859 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 368.904 Td +/F124_0 9.9626 Tf +(total_out) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +128.289 368.904 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(re\003ect) 24.8965 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(bytes) 21.031 Tj +-250 TJm +(output.) 27.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 346.986 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-320 TJm +(may) 17.1556 Tj +-321 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-320 TJm +(and) 14.386 Tj +-321 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-320 TJm +(as) 8.2988 Tj +-321 TJm +(little) 18.2714 Tj +-320 TJm +(or) 8.2988 Tj +-320 TJm +(as) 8.2988 Tj +-321 TJm +(much) 22.1369 Tj +-320 TJm +(data) 16.5977 Tj +-321 TJm +(as) 8.2988 Tj +-320 TJm +(you) 14.9439 Tj +-321 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-320 TJm +(on) 9.9626 Tj +-320 TJm +(each) 18.2515 Tj +-321 TJm +(call) 14.386 Tj +-320 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +407.816 346.986 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +503.457 346.986 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1043 TJm +(In) 8.2988 Tj +-320 TJm +(the) 12.1743 Tj +72 335.031 Td +(limit,) 21.32 Tj +-295 TJm +(it) 5.5392 Tj +-286 TJm +(is) 6.6451 Tj +-287 TJm +(acceptable) 42.0422 Tj +-286 TJm +(to) 7.7509 Tj +-286 TJm +(supply) 26.5703 Tj +-286 TJm +(and) 14.386 Tj +-287 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-286 TJm +(data) 16.5977 Tj +-286 TJm +(one) 14.386 Tj +-286 TJm +(byte) 17.1556 Tj +-287 TJm +(at) 7.193 Tj +-286 TJm +(a) 4.4234 Tj +-286 TJm +(time,) 20.2042 Tj +-295 TJm +(although) 34.8691 Tj +-286 TJm +(this) 14.396 Tj +-287 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-286 TJm +(be) 9.4047 Tj +-286 TJm +(terribly) 29.3299 Tj +-286 TJm +(inef) 15.4918 Tj +25 TJm +(\002cient.) 27.3972 Tj +-838 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +72 323.076 Td +(should) 26.5703 Tj +-250 TJm +(al) 7.193 Tj +10 TJm +(w) 7.193 Tj +10 TJm +(ays) 13.2801 Tj +-250 TJm +(ensure) 26.0024 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(least) 18.2614 Tj +-250 TJm +(one) 14.386 Tj +-250 TJm +(byte) 17.1556 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(space) 22.1269 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable) 26.5603 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(each) 18.2515 Tj +-250 TJm +(call.) 16.8766 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 301.158 Td +(Use) 15.4918 Tj +-250 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +100.772 301.158 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +198.904 301.158 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(simpler) 29.8878 Tj +-250 TJm +(than) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +260.064 301.158 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +343.75 301.158 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 279.24 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-346 TJm +(should) 26.5703 Tj +-347 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-346 TJm +(input) 20.4831 Tj +-346 TJm +(and) 14.386 Tj +-346 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-347 TJm +(output) 25.4644 Tj +-346 TJm +(as) 8.2988 Tj +-346 TJm +(described) 38.1767 Tj +-346 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-371 TJm +(and) 14.386 Tj +-346 TJm +(repeatedly) 41.4942 Tj +-346 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +422.638 279.24 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +521.729 279.24 Td +/F122_0 9.9626 Tf +(until) 18.2714 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 267.285 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +152.314 267.285 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-262 TJm +(returned.) 35.686 Tj +-344 TJm +(Appearance) 47.5714 Tj +-262 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +261.767 267.285 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +342.081 267.285 Td +/F122_0 9.9626 Tf +(denotes) 30.4357 Tj +-262 TJm +(that) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +392.672 267.285 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +490.919 267.285 Td +/F122_0 9.9626 Tf +(has) 13.2801 Tj +-262 TJm +(detected) 33.1954 Tj +72 255.33 Td +(the) 12.1743 Tj +-212 TJm +(logical) 27.1182 Tj +-212 TJm +(end) 14.386 Tj +-211 TJm +(of) 8.2988 Tj +-212 TJm +(the) 12.1743 Tj +-212 TJm +(compressed) 47.0334 Tj +-212 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +237.858 255.33 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +335.609 255.33 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-212 TJm +(not) 12.7322 Tj +-212 TJm +(produce) 32.0895 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +402.263 255.33 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +482.082 255.33 Td +/F122_0 9.9626 Tf +(until) 18.2714 Tj +-212 TJm +(all) 9.9626 Tj +-212 TJm +(output) 25.4644 Tj +72 243.375 Td +(data) 16.5977 Tj +-256 TJm +(has) 13.2801 Tj +-256 TJm +(been) 18.8094 Tj +-255 TJm +(placed) 26.0024 Tj +-256 TJm +(into) 15.5018 Tj +-256 TJm +(the) 12.1743 Tj +-256 TJm +(output) 25.4644 Tj +-256 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +40 TJm +(,) 2.4907 Tj +-257 TJm +(so) 8.8568 Tj +-256 TJm +(once) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +278.979 243.375 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +359.236 243.375 Td +/F122_0 9.9626 Tf +(appears,) 32.9164 Tj +-257 TJm +(you) 14.9439 Tj +-256 TJm +(are) 12.1643 Tj +-256 TJm +(guaranteed) 43.7059 Tj +-256 TJm +(to) 7.7509 Tj +-255 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-256 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable) 26.5603 Tj +72 231.419 Td +(all) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(decompressed) 56.4381 Tj +-250 TJm +(output,) 27.9551 Tj +-250 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +205.369 231.419 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressEnd) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +321.433 231.419 Td +/F122_0 9.9626 Tf +(can) 13.8281 Tj +-250 TJm +(safely) 23.7907 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(called.) 26.2813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 209.502 Td +(If) 6.6351 Tj +-250 TJm +(case) 17.1456 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue,) 19.0883 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +261.259 209.502 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressEnd) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +377.323 209.502 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(clean) 21.0211 Tj +-250 TJm +(up) 9.9626 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(release) 27.6562 Tj +-250 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 187.584 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(17) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 18 21 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 540.672] cm +0 0 468 179.328 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(strm) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(strm->s) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 687.721 Td +(or) 11.9551 Tj +-426 TJm +(strm->avail_out) 89.6634 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(1) 5.9776 Tj +90 675.766 Td +(BZ_DATA_ERROR) 77.7083 Tj +98.488 663.811 Td +(if) 11.9551 Tj +-426 TJm +(a) 5.9776 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(integrity) 53.798 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(detected) 47.8205 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(stream) 35.8654 Tj +90 651.856 Td +(BZ_DATA_ERROR_MAGIC) 113.5736 Tj +98.488 639.9 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(stream) 35.8654 Tj +-426 TJm +(doesn't) 41.8429 Tj +-426 TJm +(begin) 29.8878 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(right) 29.8878 Tj +-426 TJm +(magic) 29.8878 Tj +-426 TJm +(bytes) 29.8878 Tj +90 627.945 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 615.99 Td +(if) 11.9551 Tj +-426 TJm +(there) 29.8878 Tj +-426 TJm +(wasn't) 35.8654 Tj +-426 TJm +(enough) 35.8654 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(available) 53.798 Tj +90 604.035 Td +(BZ_STREAM_END) 77.7083 Tj +98.488 592.08 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(logical) 41.8429 Tj +-426 TJm +(end) 17.9327 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(stream) 35.8654 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(detected) 47.8205 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(all) 17.9327 Tj +98.488 580.124 Td +(output) 35.8654 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(consumed,) 53.798 Tj +-426 TJm +(eg) 11.9551 Tj +-426 TJm +(s-->avail_out) 77.7083 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +90 568.169 Td +(BZ_OK) 29.8878 Tj +98.488 556.214 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 518.755 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 457.883] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 509.29 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +98.488 497.335 Td +(if) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(returned) 47.8205 Tj +90 485.38 Td +(BZ2_bzDecompressEnd) 113.5736 Tj +98.488 473.425 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 427.262 Td +/F116_0 17.2154 Tf +(3.3.6.) 43.0729 Tj +-278 TJm +(BZ2_bzDecompressEnd) 197.0647 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 398.792] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 414.334 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzDecompressEnd) 113.5736 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bz_stream) 53.798 Tj +298.259 412.59 Td +(*) 5.9776 Tj +304.236 414.334 Td +(strm) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 376.874 Td +/F122_0 9.9626 Tf +(Releases) 34.8591 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(memory) 33.2053 Tj +-250 TJm +(associated) 40.9463 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(decompression) 59.7656 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 354.956 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 294.085] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 345.492 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 333.537 Td +(if) 11.9551 Tj +-426 TJm +(strm) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(strm->s) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +90 321.581 Td +(BZ_OK) 29.8878 Tj +98.488 309.626 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 272.167 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 247.161] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +98.488 262.702 Td +/F124_0 9.9626 Tf +(None.) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 212.408 Td +/F116_0 20.6585 Tf +(3.4.) 34.4584 Tj +-278 TJm +(High-le) 70.0117 Tj +15 TJm +(vel) 28.7153 Tj +-278 TJm +(interface) 86.1046 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 190.49 Td +/F122_0 9.9626 Tf +(This) 17.7135 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-250 TJm +(pro) 13.2801 Tj +15 TJm +(vides) 21.031 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(reading) 29.8778 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(writing) 28.782 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +300.292 190.49 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +332.67 190.49 Td +/F122_0 9.9626 Tf +(format) 26.5603 Tj +-250 TJm +(\002les.) 19.0983 Tj +-620 TJm +(First,) 20.7621 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(general) 29.3199 Tj +-250 TJm +(points.) 26.8492 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 158.609 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(All) 12.7322 Tj +-353 TJm +(of) 8.2988 Tj +-352 TJm +(the) 12.1743 Tj +-353 TJm +(functions) 37.0808 Tj +-352 TJm +(tak) 12.1743 Tj +10 TJm +(e) 4.4234 Tj +-353 TJm +(an) 9.4047 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +199.726 158.609 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +217.658 156.866 Td +(*) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +227.149 158.609 Td +/F122_0 9.9626 Tf +(\002rst) 15.5018 Tj +-353 TJm +(ar) 7.7409 Tj +18 TJm +(gument,) 32.3785 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +289.871 158.609 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +331.715 158.609 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1236 TJm +(After) 21.0211 Tj +-352 TJm +(each) 18.2515 Tj +-353 TJm +(call,) 16.8766 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +413.457 158.609 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +458.813 158.609 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-353 TJm +(be) 9.4047 Tj +-352 TJm +(consulted) 38.1866 Tj +81.963 146.654 Td +(\002rst) 15.5018 Tj +-371 TJm +(to) 7.7509 Tj +-371 TJm +(determine) 39.8404 Tj +-372 TJm +(the) 12.1743 Tj +-371 TJm +(outcome) 34.3112 Tj +-371 TJm +(of) 8.2988 Tj +-371 TJm +(the) 12.1743 Tj +-372 TJm +(call.) 16.8766 Tj +-1347 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +278.539 146.654 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +324.081 146.654 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +334.424 146.654 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +364.312 146.654 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-371 TJm +(the) 12.1743 Tj +-372 TJm +(call) 14.386 Tj +-371 TJm +(completed) 41.5042 Tj +-371 TJm +(successfully) 48.6972 Tj +65 TJm +(,) 2.4907 Tj +-402 TJm +(and) 14.386 Tj +-371 TJm +(only) 17.7135 Tj +81.963 134.699 Td +(then) 17.1556 Tj +-292 TJm +(should) 26.5703 Tj +-293 TJm +(the) 12.1743 Tj +-292 TJm +(return) 23.7907 Tj +-292 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-293 TJm +(of) 8.2988 Tj +-292 TJm +(the) 12.1743 Tj +-292 TJm +(function) 33.2053 Tj +-293 TJm +(\(if) 9.4047 Tj +-292 TJm +(an) 9.4047 Tj +15 TJm +(y\)) 8.2988 Tj +-292 TJm +(be) 9.4047 Tj +-293 TJm +(consulted.) 40.6773 Tj +-874 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.994 134.699 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +408.749 134.699 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +418.307 134.699 Td +/F124_0 9.9626 Tf +(BZ_IO_ERROR) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +484.06 134.699 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-292 TJm +(there) 19.9152 Tj +-293 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-292 TJm +(an) 9.4047 Tj +81.963 122.744 Td +(error) 19.3573 Tj +-279 TJm +(reading/writ) 48.6972 Tj +1 TJm +(ing) 12.7322 Tj +-279 TJm +(the) 12.1743 Tj +-279 TJm +(underlying) 43.1679 Tj +-278 TJm +(compressed) 47.0334 Tj +-279 TJm +(\002le,) 15.2229 Tj +-285 TJm +(and) 14.386 Tj +-279 TJm +(you) 14.9439 Tj +-279 TJm +(should) 26.5703 Tj +-278 TJm +(then) 17.1556 Tj +-279 TJm +(consult) 28.782 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +412.785 122.744 Td +/F124_0 9.9626 Tf +(errno) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +445.448 122.744 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +450.993 122.744 Td +/F124_0 9.9626 Tf +(perror) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +489.634 122.744 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-279 TJm +(determine) 39.8404 Tj +81.963 110.789 Td +(the) 12.1743 Tj +-376 TJm +(cause) 22.1269 Tj +-376 TJm +(of) 8.2988 Tj +-377 TJm +(the) 12.1743 Tj +-376 TJm +(dif) 11.0684 Tj +25 TJm +(\002culty) 25.4644 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.58 110.789 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +249.171 110.789 Td +/F122_0 9.9626 Tf +(may) 17.1556 Tj +-376 TJm +(also) 16.0497 Tj +-376 TJm +(be) 9.4047 Tj +-377 TJm +(set) 11.0684 Tj +-376 TJm +(to) 7.7509 Tj +-376 TJm +(v) 4.9813 Tj +25 TJm +(arious) 24.3486 Tj +-376 TJm +(other) 20.4731 Tj +-377 TJm +(v) 4.9813 Tj +25 TJm +(alues;) 23.2427 Tj +-439 TJm +(precise) 28.2141 Tj +-376 TJm +(details) 26.0123 Tj +-376 TJm +(are) 12.1643 Tj +-377 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-376 TJm +(on) 9.9626 Tj +-376 TJm +(a) 4.4234 Tj +81.963 98.834 Td +(per) 12.7222 Tj +20 TJm +(-function) 36.5229 Tj +-250 TJm +(basis) 19.9252 Tj +-250 TJm +(belo) 17.1556 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(18) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 19 22 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +74.491 710.037 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +91.793 710.037 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +136.332 710.037 Td +/F122_0 9.9626 Tf +(indicates) 35.417 Tj +-271 TJm +(an) 9.4047 Tj +-270 TJm +(error) 19.3573 Tj +-271 TJm +(\(ie,) 13.0012 Tj +-276 TJm +(an) 9.4047 Tj +15 TJm +(ything) 25.4644 Tj +-271 TJm +(e) 4.4234 Tj +15 TJm +(xcept) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +290.317 710.037 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +322.901 710.037 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +339.984 710.037 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +417.693 710.037 Td +/F122_0 9.9626 Tf +(\),) 5.8082 Tj +-271 TJm +(you) 14.9439 Tj +-270 TJm +(should) 26.5703 Tj +-271 TJm +(immediately) 49.813 Tj +-271 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 698.082 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +173.971 698.082 Td +/F122_0 9.9626 Tf +(\(or) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +187.932 698.082 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +283.573 698.082 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-238 TJm +(depending) 41.5042 Tj +-236 TJm +(on) 9.9626 Tj +-235 TJm +(whether) 32.0895 Tj +-235 TJm +(you) 14.9439 Tj +-236 TJm +(are) 12.1643 Tj +-235 TJm +(attempting) 42.62 Tj +-235 TJm +(to) 7.7509 Tj +-236 TJm +(read) 17.1456 Tj +-235 TJm +(or) 8.2988 Tj +-235 TJm +(to) 7.7509 Tj +-236 TJm +(write\)) 23.7907 Tj +-235 TJm +(to) 7.7509 Tj +81.963 686.127 Td +(free) 15.4819 Tj +-309 TJm +(up) 9.9626 Tj +-309 TJm +(all) 9.9626 Tj +-309 TJm +(resources) 37.6188 Tj +-310 TJm +(associated) 40.9463 Tj +-309 TJm +(with) 17.7135 Tj +-309 TJm +(the) 12.1743 Tj +-309 TJm +(stream.) 29.0509 Tj +-975 TJm +(Once) 21.0211 Tj +-309 TJm +(an) 9.4047 Tj +-310 TJm +(error) 19.3573 Tj +-309 TJm +(has) 13.2801 Tj +-309 TJm +(been) 18.8094 Tj +-309 TJm +(indicated,) 39.0135 Tj +-324 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +-309 TJm +(of) 8.2988 Tj +-309 TJm +(all) 9.9626 Tj +-310 TJm +(calls) 18.2614 Tj +-309 TJm +(e) 4.4234 Tj +15 TJm +(xcept) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 674.172 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +175.035 674.172 Td +/F122_0 9.9626 Tf +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +178.352 674.172 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +273.994 674.172 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-342 TJm +(is) 6.6451 Tj +-342 TJm +(unde\002ned.) 41.7831 Tj +-1173 TJm +(The) 15.4918 Tj +-342 TJm +(implication) 45.3896 Tj +-342 TJm +(is) 6.6451 Tj +-342 TJm +(that) 14.9439 Tj +-342 TJm +(\(1\)) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +455.366 674.172 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +500.617 674.172 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-342 TJm +(be) 9.4047 Tj +81.963 662.217 Td +(check) 23.2328 Tj +10 TJm +(ed) 9.4047 Tj +-331 TJm +(after) 18.2515 Tj +-331 TJm +(each) 18.2515 Tj +-331 TJm +(call,) 16.8766 Tj +-351 TJm +(and) 14.386 Tj +-331 TJm +(\(2\)) 11.6164 Tj +-331 TJm +(if) 6.0871 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +223.255 662.217 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +268.396 662.217 Td +/F122_0 9.9626 Tf +(indicates) 35.417 Tj +-331 TJm +(an) 9.4047 Tj +-331 TJm +(error) 19.3573 Tj +40 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +344.762 662.217 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +437.724 662.217 Td +/F122_0 9.9626 Tf +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +441.041 662.217 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +536.682 662.217 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +81.963 650.261 Td +(should) 26.5703 Tj +-250 TJm +(then) 17.1556 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(called) 23.7907 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(clean) 21.0211 Tj +-250 TJm +(up.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 628.344 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +100.186 628.344 Td +/F124_0 9.9626 Tf +(FILE) 23.9102 Tj +124.097 626.6 Td +(*) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +132.308 628.344 Td +/F122_0 9.9626 Tf +(ar) 7.7409 Tj +18 TJm +(guments) 33.7633 Tj +-224 TJm +(passed) 26.5603 Tj +-224 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +214.645 628.344 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +300.565 628.344 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.569 628.344 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteOpen) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +397.466 628.344 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-224 TJm +(be) 9.4047 Tj +-224 TJm +(set) 11.0684 Tj +-225 TJm +(to) 7.7509 Tj +-224 TJm +(binary) 25.4544 Tj +-224 TJm +(mode.) 24.6275 Tj +-603 TJm +(Most) 20.4831 Tj +81.963 616.389 Td +(Unix) 19.9252 Tj +-269 TJm +(systems) 31.5516 Tj +-270 TJm +(will) 15.5018 Tj +-269 TJm +(do) 9.9626 Tj +-269 TJm +(this) 14.396 Tj +-270 TJm +(by) 9.9626 Tj +-269 TJm +(def) 12.7222 Tj +10 TJm +(ault,) 17.4346 Tj +-274 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-270 TJm +(ot) 7.7509 Tj +1 TJm +(her) 12.7222 Tj +-270 TJm +(platforms,) 40.6773 Tj +-274 TJm +(including) 37.6387 Tj +-269 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws) 11.0684 Tj +-270 TJm +(and) 14.386 Tj +-269 TJm +(Mac,) 20.1942 Tj +-274 TJm +(will) 15.5018 Tj +-270 TJm +(not.) 15.2229 Tj +-736 TJm +(If) 6.6351 Tj +-269 TJm +(you) 14.9439 Tj +-269 TJm +(omit) 18.2714 Tj +-270 TJm +(this,) 16.8866 Tj +81.963 604.433 Td +(you) 14.9439 Tj +-250 TJm +(may) 17.1556 Tj +-250 TJm +(encounter) 39.2825 Tj +-250 TJm +(problems) 37.0808 Tj +-250 TJm +(when) 21.579 Tj +-250 TJm +(mo) 12.7322 Tj +15 TJm +(ving) 17.7135 Tj +-250 TJm +(code) 18.8094 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(platforms.) 40.6773 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 582.516 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Memory) 34.3112 Tj +-369 TJm +(allocation) 39.2925 Tj +-370 TJm +(requests) 32.6474 Tj +-369 TJm +(are) 12.1643 Tj +-370 TJm +(handled) 31.5416 Tj +-369 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +264.468 582.516 Td +/F124_0 9.9626 Tf +(malloc) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +304.014 582.516 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +310.465 582.516 Td +/F124_0 9.9626 Tf +(free) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +334.376 582.516 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1337 TJm +(At) 9.9626 Tj +-370 TJm +(present) 28.772 Tj +-369 TJm +(there) 19.9152 Tj +-370 TJm +(is) 6.6451 Tj +-369 TJm +(no) 9.9626 Tj +-370 TJm +(f) 3.3175 Tj +10 TJm +(acility) 24.9065 Tj +-369 TJm +(for) 11.6164 Tj +-370 TJm +(user) 16.5977 Tj +20 TJm +(-de\002ned) 32.6474 Tj +81.963 570.56 Td +(memory) 33.2053 Tj +-250 TJm +(allocators) 38.7346 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(I/O) 13.2801 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(\(could) 25.4544 Tj +-250 TJm +(easily) 23.2427 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(added,) 26.2813 Tj +-250 TJm +(though\).) 33.4843 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 529.977 Td +/F116_0 17.2154 Tf +(3.4.1.) 43.0729 Tj +-278 TJm +(BZ2_bzReadOpen) 147.3122 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 453.686] cm +0 0 468 71.731 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 517.048 Td +/F124_0 9.9626 Tf +(typedef) 41.8429 Tj +-426 TJm +(void) 23.9102 Tj +-426 TJm +(BZFILE;) 41.8429 Tj +90 493.138 Td +(BZFILE) 35.8654 Tj +130.109 491.394 Td +(*) 5.9776 Tj +136.087 493.138 Td +(BZ2_bzReadOpen\() 89.6634 Tj +-426 TJm +(int) 17.9327 Tj +252.171 491.394 Td +(*) 5.9776 Tj +258.149 493.138 Td +(bzerror,) 47.8205 Tj +-426 TJm +(FILE) 23.9102 Tj +338.368 491.394 Td +(*) 5.9776 Tj +344.346 493.138 Td +(f,) 11.9551 Tj +191.855 481.183 Td +(int) 17.9327 Tj +-426 TJm +(verbosity,) 59.7756 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(small,) 35.8654 Tj +191.855 469.228 Td +(void) 23.9102 Tj +220.01 467.484 Td +(*) 5.9776 Tj +225.987 469.228 Td +(unused,) 41.8429 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(nUnused) 41.8429 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 431.768 Td +/F122_0 9.9626 Tf +(Prepare) 30.4258 Tj +-290 TJm +(to) 7.7509 Tj +-289 TJm +(read) 17.1456 Tj +-290 TJm +(compressed) 47.0334 Tj +-290 TJm +(data) 16.5977 Tj +-289 TJm +(from) 19.3673 Tj +-290 TJm +(\002le) 12.7322 Tj +-289 TJm +(handle) 26.5603 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +272.697 431.768 Td +/F124_0 9.9626 Tf +(f) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +278.675 431.768 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +285.439 431.768 Td +/F124_0 9.9626 Tf +(f) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.302 431.768 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-290 TJm +(refer) 18.7994 Tj +-289 TJm +(to) 7.7509 Tj +-290 TJm +(a) 4.4234 Tj +-290 TJm +(\002le) 12.7322 Tj +-289 TJm +(which) 24.3486 Tj +-290 TJm +(has) 13.2801 Tj +-290 TJm +(been) 18.8094 Tj +-289 TJm +(opened) 28.772 Tj +-290 TJm +(for) 11.6164 Tj +-289 TJm +(reading,) 32.3685 Tj +-300 TJm +(and) 14.386 Tj +72 419.813 Td +(for) 11.6164 Tj +-306 TJm +(which) 24.3486 Tj +-305 TJm +(the) 12.1743 Tj +-306 TJm +(error) 19.3573 Tj +-306 TJm +(indicator) 35.417 Tj +-305 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +193.457 419.813 Td +/F124_0 9.9626 Tf +(ferror\(f\)) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +247.255 419.813 Td +/F122_0 9.9626 Tf +(\)is) 9.9626 Tj +-306 TJm +(not) 12.7322 Tj +-305 TJm +(set.) 13.5591 Tj +-954 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +308.784 419.813 Td +/F124_0 9.9626 Tf +(small) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +341.717 419.813 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-306 TJm +(1,) 7.472 Tj +-319 TJm +(the) 12.1743 Tj +-306 TJm +(library) 26.5603 Tj +-306 TJm +(wil) 12.7322 Tj +1 TJm +(l) 2.7696 Tj +-306 TJm +(try) 11.0684 Tj +-306 TJm +(to) 7.7509 Tj +-305 TJm +(decompress) 47.0334 Tj +-306 TJm +(using) 21.589 Tj +-306 TJm +(less) 14.9439 Tj +72 407.858 Td +(memory) 33.2053 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xpense) 27.6661 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(speed.) 25.1755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 385.94 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-227 TJm +(reasons) 29.8778 Tj +-227 TJm +(e) 4.4234 Tj +15 TJm +(xplained) 34.3112 Tj +-228 TJm +(belo) 17.1556 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.193 385.94 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +251.232 385.94 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-227 TJm +(decompress) 47.0334 Tj +-227 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +332.732 385.94 Td +/F124_0 9.9626 Tf +(nUnused) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +376.838 385.94 Td +/F122_0 9.9626 Tf +(bytes) 21.031 Tj +-227 TJm +(starting) 29.8878 Tj +-227 TJm +(at) 7.193 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +441.74 385.94 Td +/F124_0 9.9626 Tf +(unused) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +477.605 385.94 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-232 TJm +(before) 25.4445 Tj +-227 TJm +(starting) 29.8878 Tj +72 373.985 Td +(to) 7.7509 Tj +-280 TJm +(read) 17.1456 Tj +-279 TJm +(from) 19.3673 Tj +-280 TJm +(the) 12.1743 Tj +-279 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.094 373.985 Td +/F124_0 9.9626 Tf +(f) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.072 373.985 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-797 TJm +(At) 9.9626 Tj +-280 TJm +(most) 19.3773 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +206.414 373.985 Td +/F124_0 9.9626 Tf +(BZ_MAX_UNUSED) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +286.907 373.985 Td +/F122_0 9.9626 Tf +(bytes) 21.031 Tj +-280 TJm +(may) 17.1556 Tj +-279 TJm +(be) 9.4047 Tj +-280 TJm +(supplied) 33.7633 Tj +-279 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-280 TJm +(this.) 16.8866 Tj +-797 TJm +(If) 6.6351 Tj +-279 TJm +(this) 14.396 Tj +-280 TJm +(f) 3.3175 Tj +10 TJm +(acility) 24.9065 Tj +-279 TJm +(is) 6.6451 Tj +-280 TJm +(not) 12.7322 Tj +-279 TJm +(required,) 35.686 Tj +72 362.03 Td +(you) 14.9439 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(pass) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +138.141 362.03 Td +/F124_0 9.9626 Tf +(NULL) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +164.542 362.03 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.419 362.03 Td +/F124_0 9.9626 Tf +(0) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.887 362.03 Td +/F122_0 9.9626 Tf +(for) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.994 362.03 Td +/F124_0 9.9626 Tf +(unused) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +242.35 362.03 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +-250 TJm +(n) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +264.208 362.03 Td +/F124_0 9.9626 Tf +(Unused) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +302.565 362.03 Td +/F122_0 9.9626 Tf +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 340.112 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(meaning) 34.3112 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(parameters) 43.7059 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +196.631 340.112 Td +/F124_0 9.9626 Tf +(small) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.01 340.112 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +245.887 340.112 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +299.685 340.112 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(see) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +319.879 340.112 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressInit) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +439.431 340.112 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 318.194 Td +(The) 15.4918 Tj +-402 TJm +(amount) 29.8878 Tj +-402 TJm +(of) 8.2988 Tj +-402 TJm +(memory) 33.2053 Tj +-402 TJm +(needed) 28.2141 Tj +-402 TJm +(to) 7.7509 Tj +-402 TJm +(decompress) 47.0334 Tj +-402 TJm +(a) 4.4234 Tj +-401 TJm +(\002le) 12.7322 Tj +-402 TJm +(cannot) 26.5603 Tj +-402 TJm +(be) 9.4047 Tj +-402 TJm +(determined) 44.8217 Tj +-402 TJm +(until) 18.2714 Tj +-402 TJm +(the) 12.1743 Tj +-402 TJm +(\002le') 16.0497 Tj +55 TJm +(s) 3.8755 Tj +-402 TJm +(header) 26.5503 Tj +-402 TJm +(has) 13.2801 Tj +-402 TJm +(been) 18.8094 Tj +-402 TJm +(read.) 19.6363 Tj +72 306.239 Td +(So) 10.5205 Tj +-492 TJm +(it) 5.5392 Tj +-491 TJm +(is) 6.6451 Tj +-492 TJm +(possible) 32.6574 Tj +-492 TJm +(that) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.797 306.239 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +255.381 306.239 Td +/F122_0 9.9626 Tf +(returns) 27.6661 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +287.946 306.239 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +322.729 306.239 Td +/F122_0 9.9626 Tf +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-492 TJm +(a) 4.4234 Tj +-491 TJm +(subsequent) 44.2738 Tj +-492 TJm +(call) 14.386 Tj +-492 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +431.135 306.239 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +495.81 306.239 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-492 TJm +(return) 23.7907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 294.284 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +143.731 294.284 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 272.366 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 272.366 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 272.366 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 101.84] cm +0 0 468 167.372 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 260.844 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 248.889 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 236.934 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 224.979 Td +(if) 11.9551 Tj +-426 TJm +(f) 5.9776 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 213.023 Td +(or) 11.9551 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(neither) 41.8429 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(nor) 17.9327 Tj +-426 TJm +(1) 5.9776 Tj +98.488 201.068 Td +(or) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(unused) 35.8654 Tj +-426 TJm +(==) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(&&) 11.9551 Tj +-426 TJm +(nUnused) 41.8429 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(\)) 5.9776 Tj +98.488 189.113 Td +(or) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(unused) 35.8654 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(&&) 11.9551 Tj +-426 TJm +(!\(0) 17.9327 Tj +-426 TJm +(<=) 11.9551 Tj +-426 TJm +(nUnused) 41.8429 Tj +-426 TJm +(<=) 11.9551 Tj +-426 TJm +(BZ_MAX_UNUSED\)) 83.6858 Tj +-426 TJm +(\)) 5.9776 Tj +90 177.158 Td +(BZ_IO_ERROR) 65.7532 Tj +98.488 165.203 Td +(if) 11.9551 Tj +-426 TJm +(ferror\(f\)) 53.798 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(nonzero) 41.8429 Tj +90 153.248 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 141.292 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +90 129.337 Td +(BZ_OK) 29.8878 Tj +98.488 117.382 Td +(otherwise.) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 79.922 Td +/F122_0 9.9626 Tf +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 51.071 Td +(19) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 20 23 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 660.224] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(Pointer) 41.8429 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(abstract) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +90 687.721 Td +(NULL) 23.9102 Tj +98.488 675.766 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 638.306 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 577.435] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 628.842 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +98.488 616.887 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +90 604.932 Td +(BZ2_bzClose) 65.7532 Tj +98.488 592.976 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 546.814 Td +/F116_0 17.2154 Tf +(3.4.2.) 43.0729 Tj +-278 TJm +(BZ2_bzRead) 103.3096 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 519.841] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 535.383 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzRead) 59.7756 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(int) 17.9327 Tj +208.595 533.639 Td +(*) 5.9776 Tj +214.572 535.383 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +306.747 533.639 Td +(*) 5.9776 Tj +312.724 535.383 Td +(b,) 11.9551 Tj +-426 TJm +(void) 23.9102 Tj +357.078 533.639 Td +(*) 5.9776 Tj +363.055 535.383 Td +(buf,) 23.9102 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 497.923 Td +/F122_0 9.9626 Tf +(Reads) 24.3486 Tj +-285 TJm +(up) 9.9626 Tj +-284 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +122.569 497.923 Td +/F124_0 9.9626 Tf +(len) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +143.337 497.923 Td +/F122_0 9.9626 Tf +(\(uncompressed\)) 63.6311 Tj +-285 TJm +(bytes) 21.031 Tj +-284 TJm +(from) 19.3673 Tj +-285 TJm +(the) 12.1743 Tj +-284 TJm +(compressed) 47.0334 Tj +-285 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +336.319 497.923 Td +/F124_0 9.9626 Tf +(b) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +345.132 497.923 Td +/F122_0 9.9626 Tf +(into) 15.5018 Tj +-285 TJm +(the) 12.1743 Tj +-284 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.205 497.923 Td +/F124_0 9.9626 Tf +(buf) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +423.137 497.923 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-828 TJm +(If) 6.6351 Tj +-284 TJm +(the) 12.1743 Tj +-285 TJm +(read) 17.1456 Tj +-285 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-284 TJm +(successful,) 43.4369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 485.968 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +117.36 485.968 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-353 TJm +(set) 11.0684 Tj +-353 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +153.374 485.968 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +186.778 485.968 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +-353 TJm +(the) 12.1743 Tj +-353 TJm +(number) 30.4357 Tj +-353 TJm +(of) 8.2988 Tj +-353 TJm +(bytes) 21.031 Tj +-353 TJm +(read) 17.1456 Tj +-353 TJm +(is) 6.6451 Tj +-353 TJm +(returned.) 35.686 Tj +-1238 TJm +(If) 6.6351 Tj +-353 TJm +(the) 12.1743 Tj +-353 TJm +(logical) 27.1182 Tj +-353 TJm +(end-of-stream) 55.8802 Tj +-353 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-353 TJm +(detected,) 35.686 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 474.013 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +116.795 474.013 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-296 TJm +(be) 9.4047 Tj +-297 TJm +(set) 11.0684 Tj +-296 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.328 474.013 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +250.037 474.013 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-296 TJm +(and) 14.386 Tj +-297 TJm +(the) 12.1743 Tj +-296 TJm +(number) 30.4357 Tj +-296 TJm +(of) 8.2988 Tj +-297 TJm +(bytes) 21.031 Tj +-296 TJm +(read) 17.1456 Tj +-296 TJm +(is) 6.6451 Tj +-296 TJm +(returned.) 35.686 Tj +-898 TJm +(All) 12.7322 Tj +-297 TJm +(other) 20.4731 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +470 474.013 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +514.795 474.013 Td +/F122_0 9.9626 Tf +(v) 4.9813 Tj +25 TJm +(alues) 20.4731 Tj +72 462.058 Td +(denote) 26.5603 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(error) 19.3573 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 440.14 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +134.224 440.14 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-246 TJm +(supply) 26.5703 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.193 440.14 Td +/F124_0 9.9626 Tf +(len) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +201.575 440.14 Td +/F122_0 9.9626 Tf +(bytes,) 23.5217 Tj +-247 TJm +(unless) 24.9065 Tj +-245 TJm +(the) 12.1743 Tj +-246 TJm +(logical) 27.1182 Tj +-246 TJm +(stream) 26.5603 Tj +-246 TJm +(end) 14.386 Tj +-245 TJm +(is) 6.6451 Tj +-246 TJm +(detected) 33.1954 Tj +-246 TJm +(or) 8.2988 Tj +-246 TJm +(an) 9.4047 Tj +-245 TJm +(error) 19.3573 Tj +-246 TJm +(occurs.) 28.493 Tj +-617 TJm +(Because) 33.1954 Tj +-246 TJm +(of) 8.2988 Tj +-246 TJm +(this,) 16.8866 Tj +-247 TJm +(it) 5.5392 Tj +72 428.185 Td +(is) 6.6451 Tj +-231 TJm +(possible) 32.6574 Tj +-231 TJm +(to) 7.7509 Tj +-231 TJm +(detect) 23.7907 Tj +-231 TJm +(the) 12.1743 Tj +-231 TJm +(stream) 26.5603 Tj +-231 TJm +(end) 14.386 Tj +-232 TJm +(by) 9.9626 Tj +-231 TJm +(observing) 39.2925 Tj +-231 TJm +(when) 21.579 Tj +-231 TJm +(the) 12.1743 Tj +-231 TJm +(number) 30.4357 Tj +-231 TJm +(of) 8.2988 Tj +-231 TJm +(bytes) 21.031 Tj +-231 TJm +(returned) 33.1954 Tj +-231 TJm +(is) 6.6451 Tj +-231 TJm +(less) 14.9439 Tj +-231 TJm +(than) 17.1556 Tj +-232 TJm +(the) 12.1743 Tj +-231 TJm +(number) 30.4357 Tj +-231 TJm +(requested.) 40.6673 Tj +72 416.23 Td +(Ne) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ertheless,) 37.3498 Tj +-309 TJm +(this) 14.396 Tj +-297 TJm +(is) 6.6451 Tj +-298 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(arded) 22.1269 Tj +-297 TJm +(as) 8.2988 Tj +-297 TJm +(inadvisable;) 48.1492 Tj +-321 TJm +(you) 14.9439 Tj +-298 TJm +(should) 26.5703 Tj +-297 TJm +(instead) 28.224 Tj +-297 TJm +(check) 23.2328 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +360.631 416.23 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.437 416.23 Td +/F122_0 9.9626 Tf +(after) 18.2515 Tj +-297 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-298 TJm +(call) 14.386 Tj +-297 TJm +(and) 14.386 Tj +-297 TJm +(w) 7.193 Tj +10 TJm +(atch) 16.5977 Tj +-298 TJm +(out) 12.7322 Tj +-297 TJm +(for) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 404.275 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +149.709 404.275 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 382.357 Td +(Internally) 38.7346 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +117.541 382.357 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +181.786 382.357 Td +/F122_0 9.9626 Tf +(copies) 25.4544 Tj +-449 TJm +(data) 16.5977 Tj +-448 TJm +(from) 19.3673 Tj +-449 TJm +(the) 12.1743 Tj +-448 TJm +(compressed) 47.0334 Tj +-449 TJm +(\002le) 12.7322 Tj +-449 TJm +(in) 7.7509 Tj +-448 TJm +(chunks) 28.224 Tj +-449 TJm +(of) 8.2988 Tj +-448 TJm +(size) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +419.602 382.357 Td +/F124_0 9.9626 Tf +(BZ_MAX_UNUSED) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +501.778 382.357 Td +/F122_0 9.9626 Tf +(bytes) 21.031 Tj +-449 TJm +(be-) 12.7222 Tj +72 370.402 Td +(fore) 16.0398 Tj +-414 TJm +(decompressing) 59.7656 Tj +-414 TJm +(it.) 8.0299 Tj +-1605 TJm +(If) 6.6351 Tj +-415 TJm +(the) 12.1743 Tj +-414 TJm +(\002le) 12.7322 Tj +-414 TJm +(contains) 33.2053 Tj +-414 TJm +(more) 20.4731 Tj +-414 TJm +(bytes) 21.031 Tj +-415 TJm +(than) 17.1556 Tj +-414 TJm +(strictly) 27.6761 Tj +-414 TJm +(needed) 28.2141 Tj +-414 TJm +(to) 7.7509 Tj +-414 TJm +(reach) 21.569 Tj +-414 TJm +(the) 12.1743 Tj +-415 TJm +(logical) 27.1182 Tj +-414 TJm +(end-of-stream,) 58.3709 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 358.446 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +134.749 358.446 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-298 TJm +(almost) 26.5703 Tj +-299 TJm +(certainly) 34.8591 Tj +-298 TJm +(read) 17.1456 Tj +-299 TJm +(some) 21.031 Tj +-298 TJm +(of) 8.2988 Tj +-299 TJm +(the) 12.1743 Tj +-298 TJm +(trailing) 28.782 Tj +-299 TJm +(data) 16.5977 Tj +-298 TJm +(before) 25.4445 Tj +-298 TJm +(signalling) 39.3025 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +413.162 358.446 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_END) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +502.826 358.446 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-597 TJm +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-298 TJm +(col-) 15.4918 Tj +72 346.491 Td +(lect) 14.386 Tj +-242 TJm +(the) 12.1743 Tj +-242 TJm +(read) 17.1456 Tj +-243 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-242 TJm +(unused) 28.224 Tj +-242 TJm +(data) 16.5977 Tj +-242 TJm +(once) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +208.759 346.491 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_END) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +300.835 346.491 Td +/F122_0 9.9626 Tf +(has) 13.2801 Tj +-242 TJm +(appeared,) 38.4457 Tj +-244 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +374.201 346.491 Td +/F124_0 9.9626 Tf +(BZ2_bzReadGetUnused) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +490.188 346.491 Td +/F122_0 9.9626 Tf +(immediately) 49.813 Tj +72 334.536 Td +(before) 25.4445 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +99.935 334.536 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +189.599 334.536 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 312.618 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 312.618 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 312.618 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(20) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 21 24 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 456.986] cm +0 0 468 263.014 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(buf) 17.9327 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +90 687.721 Td +(BZ_SEQUENCE_ERROR) 101.6185 Tj +98.488 675.766 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(opened) 35.8654 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(BZ2_bzWriteOpen) 89.6634 Tj +90 663.811 Td +(BZ_IO_ERROR) 65.7532 Tj +98.488 651.856 Td +(if) 11.9551 Tj +-426 TJm +(there) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(reading) 41.8429 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(file) 23.9102 Tj +90 639.9 Td +(BZ_UNEXPECTED_EOF) 101.6185 Tj +98.488 627.945 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(file) 23.9102 Tj +-426 TJm +(ended) 29.8878 Tj +-426 TJm +(before) 35.8654 Tj +98.488 615.99 Td +(the) 17.9327 Tj +-426 TJm +(logical) 41.8429 Tj +-426 TJm +(end-of-stream) 77.7083 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(detected) 47.8205 Tj +90 604.035 Td +(BZ_DATA_ERROR) 77.7083 Tj +98.488 592.08 Td +(if) 11.9551 Tj +-426 TJm +(a) 5.9776 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(integrity) 53.798 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(detected) 47.8205 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(stream) 35.8654 Tj +90 580.124 Td +(BZ_DATA_ERROR_MAGIC) 113.5736 Tj +98.488 568.169 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(stream) 35.8654 Tj +-426 TJm +(does) 23.9102 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(begin) 29.8878 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(requisite) 53.798 Tj +-426 TJm +(header) 35.8654 Tj +-426 TJm +(bytes) 29.8878 Tj +98.488 556.214 Td +(\(ie,) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(a) 5.9776 Tj +-426 TJm +(bzip2) 29.8878 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(file\).) 35.8654 Tj +-852 TJm +(This) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(really) 35.8654 Tj +98.488 544.259 Td +(a) 5.9776 Tj +-426 TJm +(special) 41.8429 Tj +-426 TJm +(case) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(BZ_DATA_ERROR.) 83.6858 Tj +90 532.304 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 520.349 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(available) 53.798 Tj +90 508.393 Td +(BZ_STREAM_END) 77.7083 Tj +98.488 496.438 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(logical) 41.8429 Tj +-426 TJm +(end) 17.9327 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(stream) 35.8654 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(detected.) 53.798 Tj +90 484.483 Td +(BZ_OK) 29.8878 Tj +98.488 472.528 Td +(otherwise.) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 435.068 Td +/F122_0 9.9626 Tf +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 374.197] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 425.604 Td +/F124_0 9.9626 Tf +(number) 35.8654 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(bytes) 29.8878 Tj +-426 TJm +(read) 23.9102 Tj +98.488 413.649 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(BZ_STREAM_END) 77.7083 Tj +90 401.694 Td +(undefined) 53.798 Tj +98.488 389.739 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 352.279 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 267.497] cm +0 0 468 83.686 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 342.815 Td +/F124_0 9.9626 Tf +(collect) 41.8429 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(buf,) 23.9102 Tj +-426 TJm +(then) 23.9102 Tj +-426 TJm +(BZ2_bzRead) 59.7756 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(BZ2_bzReadClose) 89.6634 Tj +98.488 330.859 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +90 318.904 Td +(collect) 41.8429 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(buf,) 23.9102 Tj +-426 TJm +(then) 23.9102 Tj +-426 TJm +(BZ2_bzReadClose) 89.6634 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(BZ2_bzReadGetUnused) 113.5736 Tj +98.488 306.949 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_SEQUENCE_END) 89.6634 Tj +90 294.994 Td +(BZ2_bzReadClose) 89.6634 Tj +98.488 283.039 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 236.876 Td +/F116_0 17.2154 Tf +(3.4.3.) 43.0729 Tj +-278 TJm +(BZ2_bzReadGetUn) 154.9558 Tj +10 TJm +(used) 40.1807 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 197.948] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 225.445 Td +/F124_0 9.9626 Tf +(void) 23.9102 Tj +-426 TJm +(BZ2_bzReadGetUnused\() 119.5512 Tj +-426 TJm +(int) 17.9327 Tj +259.883 223.702 Td +(*) 5.9776 Tj +270.104 225.445 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +362.278 223.702 Td +(*) 5.9776 Tj +368.256 225.445 Td +(b,) 11.9551 Tj +200.343 213.49 Td +(void) 23.9102 Tj +224.254 211.747 Td +(**) 11.9551 Tj +240.453 213.49 Td +(unused,) 41.8429 Tj +-426 TJm +(int) 17.9327 Tj +304.473 211.747 Td +(*) 5.9776 Tj +314.694 213.49 Td +(nUnused) 41.8429 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 176.031 Td +/F122_0 9.9626 Tf +(Returns) 30.9936 Tj +-435 TJm +(data) 16.5977 Tj +-435 TJm +(which) 24.3486 Tj +-435 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-435 TJm +(read) 17.1456 Tj +-435 TJm +(from) 19.3673 Tj +-435 TJm +(the) 12.1743 Tj +-435 TJm +(compressed) 47.0334 Tj +-435 TJm +(\002le) 12.7322 Tj +-435 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-435 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-435 TJm +(not) 12.7322 Tj +-435 TJm +(needed) 28.2141 Tj +-435 TJm +(to) 7.7509 Tj +-435 TJm +(get) 12.1743 Tj +-435 TJm +(to) 7.7509 Tj +-435 TJm +(the) 12.1743 Tj +-435 TJm +(logical) 27.1182 Tj +-435 TJm +(end-of-stream.) 58.3709 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 162.332 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +77.978 164.075 Td +(unused) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +117.2 164.075 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-337 TJm +(set) 11.0684 Tj +-337 TJm +(to) 7.7509 Tj +-337 TJm +(the) 12.1743 Tj +-337 TJm +(address) 29.8778 Tj +-337 TJm +(of) 8.2988 Tj +-336 TJm +(the) 12.1743 Tj +-337 TJm +(data,) 19.0883 Tj +-359 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +269.089 162.332 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +275.067 164.075 Td +(nUnused) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +320.267 164.075 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-337 TJm +(the) 12.1743 Tj +-337 TJm +(number) 30.4357 Tj +-337 TJm +(of) 8.2988 Tj +-337 TJm +(bytes.) 23.5217 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +427.247 162.332 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +433.225 164.075 Td +(nUnused) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +478.425 164.075 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-337 TJm +(be) 9.4047 Tj +-337 TJm +(set) 11.0684 Tj +-337 TJm +(to) 7.7509 Tj +-337 TJm +(a) 4.4234 Tj +72 152.12 Td +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-250 TJm +(between) 33.1954 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +131.506 152.12 Td +/F124_0 9.9626 Tf +(0) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +139.975 152.12 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +156.851 152.12 Td +/F124_0 9.9626 Tf +(BZ_MAX_UNUSED) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +237.05 152.12 Td +/F122_0 9.9626 Tf +(inclusi) 26.5703 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e.) 6.914 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 130.202 Td +(This) 17.7135 Tj +-882 TJm +(function) 33.2053 Tj +-883 TJm +(may) 17.1556 Tj +-882 TJm +(only) 17.7135 Tj +-883 TJm +(be) 9.4047 Tj +-882 TJm +(called) 23.7907 Tj +-883 TJm +(once) 18.8094 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +271.332 130.202 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +339.9 130.202 Td +/F122_0 9.9626 Tf +(has) 13.2801 Tj +-882 TJm +(signalled) 35.9749 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +406.737 130.202 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +493.231 130.202 Td +/F122_0 9.9626 Tf +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-882 TJm +(before) 25.4445 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 118.247 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.664 118.247 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 96.329 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 96.329 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 96.329 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +(21) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 22 25 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 612.403] cm +0 0 468 107.597 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 687.721 Td +(or) 11.9551 Tj +-426 TJm +(unused) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(nUnused) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +90 675.766 Td +(BZ_SEQUENCE_ERROR) 101.6185 Tj +98.488 663.811 Td +(if) 11.9551 Tj +-426 TJm +(BZ_STREAM_END) 77.7083 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(not) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(signalled) 53.798 Tj +98.488 651.856 Td +(or) 11.9551 Tj +-426 TJm +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(opened) 35.8654 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(BZ2_bzWriteOpen) 89.6634 Tj +90 639.9 Td +(BZ_OK) 29.8878 Tj +98.488 627.945 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 590.486 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 565.48] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 581.021 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 534.858 Td +/F116_0 17.2154 Tf +(3.4.4.) 43.0729 Tj +-278 TJm +(BZ2_bzReadClose) 150.1871 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 507.886] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 523.428 Td +/F124_0 9.9626 Tf +(void) 23.9102 Tj +-426 TJm +(BZ2_bzReadClose) 89.6634 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(int) 17.9327 Tj +244.46 521.684 Td +(*) 5.9776 Tj +250.438 523.428 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +342.612 521.684 Td +(*) 5.9776 Tj +348.59 523.428 Td +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 485.968 Td +/F122_0 9.9626 Tf +(Releases) 34.8591 Tj +-430 TJm +(all) 9.9626 Tj +-429 TJm +(memory) 33.2053 Tj +-430 TJm +(pertaining) 40.3983 Tj +-429 TJm +(to) 7.7509 Tj +-430 TJm +(the) 12.1743 Tj +-429 TJm +(compressed) 47.0334 Tj +-430 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +304.352 485.968 Td +/F124_0 9.9626 Tf +(b) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +310.33 485.968 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +321.276 485.968 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +415.22 485.968 Td +/F122_0 9.9626 Tf +(does) 18.2614 Tj +-430 TJm +(not) 12.7322 Tj +-429 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +473.438 485.968 Td +/F124_0 9.9626 Tf +(fclose) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +513.583 485.968 Td +/F122_0 9.9626 Tf +(on) 9.9626 Tj +-430 TJm +(the) 12.1743 Tj +72 474.013 Td +(underlying) 43.1679 Tj +-264 TJm +(\002le) 12.7322 Tj +-264 TJm +(handle,) 29.0509 Tj +-267 TJm +(so) 8.8568 Tj +-264 TJm +(you) 14.9439 Tj +-264 TJm +(should) 26.5703 Tj +-264 TJm +(do) 9.9626 Tj +-264 TJm +(that) 14.9439 Tj +-264 TJm +(yourself) 32.6474 Tj +-264 TJm +(if) 6.0871 Tj +-263 TJm +(appropriate.) 47.8603 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +348.653 474.013 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +440.946 474.013 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-264 TJm +(be) 9.4047 Tj +-264 TJm +(called) 23.7907 Tj +-264 TJm +(to) 7.7509 Tj +-264 TJm +(clean) 21.0211 Tj +72 462.058 Td +(up) 9.9626 Tj +-250 TJm +(after) 18.2515 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(situations.) 40.6873 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 440.14 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 440.14 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 440.14 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 377.211] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 428.618 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +98.488 416.663 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(opened) 35.8654 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(BZ2_bzOpenWrite) 89.6634 Tj +90 404.708 Td +(BZ_OK) 29.8878 Tj +98.488 392.753 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 355.293 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 330.287] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 345.829 Td +/F124_0 9.9626 Tf +(none) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 299.666 Td +/F116_0 17.2154 Tf +(3.4.5.) 43.0729 Tj +-278 TJm +(BZ2_bzWriteOpen) 148.259 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 247.286] cm +0 0 468 47.821 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 286.738 Td +/F124_0 9.9626 Tf +(BZFILE) 35.8654 Tj +130.109 284.994 Td +(*) 5.9776 Tj +136.087 286.738 Td +(BZ2_bzWriteOpen\() 95.641 Tj +-426 TJm +(int) 17.9327 Tj +258.149 284.994 Td +(*) 5.9776 Tj +264.127 286.738 Td +(bzerror,) 47.8205 Tj +-426 TJm +(FILE) 23.9102 Tj +344.346 284.994 Td +(*) 5.9776 Tj +350.323 286.738 Td +(f,) 11.9551 Tj +196.099 274.783 Td +(int) 17.9327 Tj +-426 TJm +(blockSize100k,) 83.6858 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(verbosity,) 59.7756 Tj +196.099 262.827 Td +(int) 17.9327 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 225.368 Td +/F122_0 9.9626 Tf +(Prepare) 30.4258 Tj +-268 TJm +(to) 7.7509 Tj +-269 TJm +(write) 20.4731 Tj +-268 TJm +(compressed) 47.0334 Tj +-269 TJm +(data) 16.5977 Tj +-268 TJm +(to) 7.7509 Tj +-269 TJm +(\002le) 12.7322 Tj +-268 TJm +(handle) 26.5603 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +262.72 225.368 Td +/F124_0 9.9626 Tf +(f) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +268.698 225.368 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +274.829 225.368 Td +/F124_0 9.9626 Tf +(f) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +283.481 225.368 Td +/F122_0 9.9626 Tf +(should) 26.5703 Tj +-268 TJm +(refer) 18.7994 Tj +-269 TJm +(to) 7.7509 Tj +-268 TJm +(a) 4.4234 Tj +-269 TJm +(\002le) 12.7322 Tj +-268 TJm +(which) 24.3486 Tj +-269 TJm +(has) 13.2801 Tj +-268 TJm +(been) 18.8094 Tj +-269 TJm +(opened) 28.772 Tj +-268 TJm +(for) 11.6164 Tj +-269 TJm +(writing,) 31.2726 Tj +-273 TJm +(and) 14.386 Tj +-268 TJm +(for) 11.6164 Tj +72 213.413 Td +(which) 24.3486 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(indicator) 35.417 Tj +-250 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.577 213.413 Td +/F124_0 9.9626 Tf +(ferror\(f\)) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +230.375 213.413 Td +/F122_0 9.9626 Tf +(\)is) 9.9626 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(set.) 13.5591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 191.495 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-223 TJm +(the) 12.1743 Tj +-224 TJm +(meaning) 34.3112 Tj +-223 TJm +(of) 8.2988 Tj +-224 TJm +(parameters) 43.7059 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +195.306 191.495 Td +/F124_0 9.9626 Tf +(blockSize100k) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +273.015 191.495 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +277.784 191.495 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +333.808 191.495 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +350.42 191.495 Td +/F124_0 9.9626 Tf +(workFactor) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +410.196 191.495 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-229 TJm +(see) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +429.913 191.495 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 191.495 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 169.577 Td +(All) 12.7322 Tj +-382 TJm +(required) 33.1954 Tj +-382 TJm +(memory) 33.2053 Tj +-382 TJm +(is) 6.6451 Tj +-382 TJm +(allocated) 35.965 Tj +-383 TJm +(at) 7.193 Tj +-382 TJm +(this) 14.396 Tj +-382 TJm +(stage,) 22.9638 Tj +-415 TJm +(so) 8.8568 Tj +-382 TJm +(if) 6.0871 Tj +-382 TJm +(the) 12.1743 Tj +-382 TJm +(call) 14.386 Tj +-382 TJm +(completes) 40.3983 Tj +-382 TJm +(successfully) 48.6972 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +424.691 169.577 Td +/F124_0 9.9626 Tf +(BZ_MEM_ERROR) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +500.228 169.577 Td +/F122_0 9.9626 Tf +(cannot) 26.5603 Tj +-382 TJm +(be) 9.4047 Tj +72 157.622 Td +(signalled) 35.9749 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(subsequent) 44.2738 Tj +-250 TJm +(call) 14.386 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +203.715 157.622 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +269.468 157.622 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 135.704 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 135.704 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 135.704 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +(22) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 23 26 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 576.538] cm +0 0 468 143.462 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 687.721 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 675.766 Td +(if) 11.9551 Tj +-426 TJm +(f) 5.9776 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 663.811 Td +(or) 11.9551 Tj +-426 TJm +(blockSize100k) 77.7083 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(1) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(blockSize100k) 77.7083 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(9) 5.9776 Tj +90 651.856 Td +(BZ_IO_ERROR) 65.7532 Tj +98.488 639.9 Td +(if) 11.9551 Tj +-426 TJm +(ferror\(f\)) 53.798 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(nonzero) 41.8429 Tj +90 627.945 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 615.99 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +90 604.035 Td +(BZ_OK) 29.8878 Tj +98.488 592.08 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 554.62 Td +/F122_0 9.9626 Tf +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 493.749] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 545.156 Td +/F124_0 9.9626 Tf +(Pointer) 41.8429 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(abstract) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +98.488 533.201 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +90 521.245 Td +(NULL) 23.9102 Tj +98.488 509.29 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 471.831 Td +/F122_0 9.9626 Tf +(Allo) 17.7135 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able) 16.5977 Tj +-250 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(actions:) 30.9936 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 387.049] cm +0 0 468 83.686 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 462.366 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +98.488 450.411 Td +(if) 11.9551 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +98.488 438.456 Td +(\(you) 23.9102 Tj +-426 TJm +(could) 29.8878 Tj +-426 TJm +(go) 11.9551 Tj +-426 TJm +(directly) 47.8205 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(BZ2_bzWriteClose,) 101.6185 Tj +-426 TJm +(but) 17.9327 Tj +-426 TJm +(this) 23.9102 Tj +-426 TJm +(would) 29.8878 Tj +-426 TJm +(be) 11.9551 Tj +-426 TJm +(pretty) 35.8654 Tj +485.506 434.212 Td +/F548_0 9.9626 Tf +( ) 9.9626 Tj +493.808 434.212 Td +/F230_0 9.9626 Tf +(-) 2.7676 Tj +90 426.501 Td +/F124_0 9.9626 Tf +(pointless\)) 59.7756 Tj +90 414.546 Td +(BZ2_bzWriteClose) 95.641 Tj +98.488 402.59 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 356.428 Td +/F116_0 17.2154 Tf +(3.4.6.) 43.0729 Tj +-278 TJm +(BZ2_bzWrite) 104.2565 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 329.455] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 344.997 Td +/F124_0 9.9626 Tf +(void) 23.9102 Tj +-426 TJm +(BZ2_bzWrite) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(int) 17.9327 Tj +220.55 343.254 Td +(*) 5.9776 Tj +226.528 344.997 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +318.702 343.254 Td +(*) 5.9776 Tj +324.679 344.997 Td +(b,) 11.9551 Tj +-426 TJm +(void) 23.9102 Tj +369.033 343.254 Td +(*) 5.9776 Tj +375.01 344.997 Td +(buf,) 23.9102 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 307.537 Td +/F122_0 9.9626 Tf +(Absorbs) 33.2053 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +107.696 307.537 Td +/F124_0 9.9626 Tf +(len) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +128.119 307.537 Td +/F122_0 9.9626 Tf +(bytes) 21.031 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +214.544 307.537 Td +/F124_0 9.9626 Tf +(buf) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +232.477 307.537 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(entually) 32.0995 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(written) 28.224 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(\002le.) 15.2229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 285.62 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 285.62 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 285.62 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 174.87] cm +0 0 468 107.597 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 274.098 Td +/F124_0 9.9626 Tf +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 262.143 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(buf) 17.9327 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +90 250.188 Td +(BZ_SEQUENCE_ERROR) 101.6185 Tj +98.488 238.232 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(opened) 35.8654 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(BZ2_bzReadOpen) 83.6858 Tj +90 226.277 Td +(BZ_IO_ERROR) 65.7532 Tj +98.488 214.322 Td +(if) 11.9551 Tj +-426 TJm +(there) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(writing) 41.8429 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(file.) 29.8878 Tj +90 202.367 Td +(BZ_OK) 29.8878 Tj +98.488 190.412 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 144.249 Td +/F116_0 17.2154 Tf +(3.4.7.) 43.0729 Tj +-278 TJm +(BZ2_bzWriteClose) 151.134 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +/F122_0 9.9626 Tf +(23) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 24 27 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 576.538] cm +0 0 468 143.462 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(void) 23.9102 Tj +-426 TJm +(BZ2_bzWriteClose\() 101.6185 Tj +-426 TJm +(int) 17.9327 Tj +246.194 709.888 Td +(*) 5.9776 Tj +252.172 711.631 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +340.102 709.888 Td +(*) 5.9776 Tj +350.323 711.631 Td +(f,) 11.9551 Tj +187.611 699.676 Td +(int) 17.9327 Tj +-426 TJm +(abandon,) 47.8205 Tj +187.611 687.721 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +257.609 685.978 Td +(*) 5.9776 Tj +267.83 687.721 Td +(nbytes_in,) 59.7756 Tj +187.611 675.766 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +257.609 674.022 Td +(*) 5.9776 Tj +267.83 675.766 Td +(nbytes_out) 59.7756 Tj +-426 TJm +(\);) 11.9551 Tj +90 651.856 Td +(void) 23.9102 Tj +-426 TJm +(BZ2_bzWriteClose64\() 113.5736 Tj +-426 TJm +(int) 17.9327 Tj +258.149 650.112 Td +(*) 5.9776 Tj +264.127 651.856 Td +(bzerror,) 47.8205 Tj +-426 TJm +(BZFILE) 35.8654 Tj +352.057 650.112 Td +(*) 5.9776 Tj +362.278 651.856 Td +(f,) 11.9551 Tj +196.099 639.9 Td +(int) 17.9327 Tj +-426 TJm +(abandon,) 47.8205 Tj +196.099 627.945 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +266.097 626.202 Td +(*) 5.9776 Tj +276.318 627.945 Td +(nbytes_in_lo32,) 89.6634 Tj +196.099 615.99 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +266.097 614.247 Td +(*) 5.9776 Tj +276.318 615.99 Td +(nbytes_in_hi32,) 89.6634 Tj +196.099 604.035 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +266.097 602.291 Td +(*) 5.9776 Tj +276.318 604.035 Td +(nbytes_out_lo32,) 95.641 Tj +196.099 592.08 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +266.097 590.336 Td +(*) 5.9776 Tj +276.318 592.08 Td +(nbytes_out_hi32) 89.6634 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 554.62 Td +/F122_0 9.9626 Tf +(Compresses) 48.1492 Tj +-403 TJm +(and) 14.386 Tj +-402 TJm +(\003ushes) 27.6761 Tj +-403 TJm +(to) 7.7509 Tj +-403 TJm +(the) 12.1743 Tj +-402 TJm +(compressed) 47.0334 Tj +-403 TJm +(\002le) 12.7322 Tj +-402 TJm +(all) 9.9626 Tj +-403 TJm +(data) 16.5977 Tj +-403 TJm +(so) 8.8568 Tj +-402 TJm +(f) 3.3175 Tj +10 TJm +(ar) 7.7409 Tj +-403 TJm +(supplied) 33.7633 Tj +-403 TJm +(by) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +384.152 554.62 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +449.906 554.62 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-768 TJm +(The) 15.4918 Tj +-403 TJm +(logical) 27.1182 Tj +-402 TJm +(end-of-) 29.3199 Tj +72 542.665 Td +(stream) 26.5603 Tj +-352 TJm +(mark) 20.4731 Tj +10 TJm +(ers) 11.6164 Tj +-352 TJm +(are) 12.1643 Tj +-353 TJm +(also) 16.0497 Tj +-352 TJm +(written,) 30.7147 Tj +-378 TJm +(so) 8.8568 Tj +-352 TJm +(subsequent) 44.2738 Tj +-352 TJm +(calls) 18.2614 Tj +-352 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +300.456 542.665 Td +/F124_0 9.9626 Tf +(BZ2_bzWrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +369.718 542.665 Td +/F122_0 9.9626 Tf +(are) 12.1643 Tj +-352 TJm +(ille) 12.7322 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(al.) 9.6836 Tj +-1234 TJm +(All) 12.7322 Tj +-352 TJm +(memory) 33.2053 Tj +-352 TJm +(associated) 40.9463 Tj +-352 TJm +(with) 17.7135 Tj +72 530.71 Td +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +151.411 530.71 Td +/F124_0 9.9626 Tf +(b) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.88 530.71 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(released.) 35.1281 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +207.231 530.71 Td +/F124_0 9.9626 Tf +(fflush) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +245.587 530.71 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(called) 23.7907 Tj +-250 TJm +(on) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le,) 15.2229 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(not) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +422.771 530.71 Td +/F124_0 9.9626 Tf +(fclose) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +458.636 530.71 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +50 TJm +(d.) 7.472 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 508.792 Td +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.574 508.792 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +180.155 508.792 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-295 TJm +(called) 23.7907 Tj +-295 TJm +(to) 7.7509 Tj +-295 TJm +(clean) 21.0211 Tj +-295 TJm +(up) 9.9626 Tj +-295 TJm +(after) 18.2515 Tj +-295 TJm +(an) 9.4047 Tj +-295 TJm +(error) 19.3573 Tj +40 TJm +(,) 2.4907 Tj +-306 TJm +(the) 12.1743 Tj +-295 TJm +(only) 17.7135 Tj +-295 TJm +(action) 24.3486 Tj +-295 TJm +(is) 6.6451 Tj +-295 TJm +(to) 7.7509 Tj +-295 TJm +(release) 27.6562 Tj +-295 TJm +(the) 12.1743 Tj +-295 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +-891 TJm +(The) 15.4918 Tj +-295 TJm +(library) 26.5603 Tj +72 496.837 Td +(records) 29.3199 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(error) 19.3573 Tj +-289 TJm +(codes) 22.6848 Tj +-289 TJm +(issued) 24.9065 Tj +-289 TJm +(by) 9.9626 Tj +-289 TJm +(pre) 12.7222 Tj +25 TJm +(vious) 21.589 Tj +-289 TJm +(calls,) 20.7521 Tj +-299 TJm +(so) 8.8568 Tj +-289 TJm +(this) 14.396 Tj +-289 TJm +(situation) 34.3212 Tj +-289 TJm +(will) 15.5018 Tj +-289 TJm +(be) 9.4047 Tj +-289 TJm +(detected) 33.1954 Tj +-289 TJm +(automatically) 54.2364 Tj +65 TJm +(.) 2.4907 Tj +-427 TJm +(There) 23.2328 Tj +-289 TJm +(is) 6.6451 Tj +-289 TJm +(no) 9.9626 Tj +-289 TJm +(attempt) 29.8878 Tj +72 484.882 Td +(to) 7.7509 Tj +-263 TJm +(complete) 36.5229 Tj +-262 TJm +(the) 12.1743 Tj +-263 TJm +(compression) 50.3609 Tj +-263 TJm +(operation,) 40.1194 Tj +-265 TJm +(nor) 13.2801 Tj +-263 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +258.308 484.882 Td +/F124_0 9.9626 Tf +(fflush) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +296.79 484.882 Td +/F122_0 9.9626 Tf +(the) 12.1743 Tj +-263 TJm +(compressed) 47.0334 Tj +-262 TJm +(\002le.) 15.2229 Tj +-696 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-263 TJm +(can) 13.8281 Tj +-263 TJm +(force) 20.4632 Tj +-262 TJm +(this) 14.396 Tj +-263 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +-263 TJm +(to) 7.7509 Tj +-262 TJm +(happen) 28.772 Tj +72 472.926 Td +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(case) 17.1456 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(no) 9.9626 Tj +-250 TJm +(error) 19.3573 Tj +40 TJm +(,) 2.4907 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(passing) 29.8878 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(nonzero) 32.0895 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue) 16.5977 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +305.015 472.926 Td +/F124_0 9.9626 Tf +(abandon) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +346.858 472.926 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 451.009 Td +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +80.597 451.009 Td +/F124_0 9.9626 Tf +(nbytes_in) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +136.358 451.009 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-197 TJm +(non-null,) 36.2539 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +183.287 449.265 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +189.265 451.009 Td +(nbytes_in) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +245.025 451.009 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-197 TJm +(be) 9.4047 Tj +-197 TJm +(set) 11.0684 Tj +-197 TJm +(to) 7.7509 Tj +-197 TJm +(be) 9.4047 Tj +-197 TJm +(the) 12.1743 Tj +-197 TJm +(total) 17.7135 Tj +-197 TJm +(v) 4.9813 Tj +20 TJm +(olume) 24.9065 Tj +-197 TJm +(of) 8.2988 Tj +-197 TJm +(uncompressed) 56.996 Tj +-197 TJm +(data) 16.5977 Tj +-197 TJm +(handled.) 34.0322 Tj +-584 TJm +(Similarly) 37.0908 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 439.053 Td +/F124_0 9.9626 Tf +(nbytes_out) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +134.716 439.053 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-295 TJm +(be) 9.4047 Tj +-295 TJm +(set) 11.0684 Tj +-295 TJm +(to) 7.7509 Tj +-295 TJm +(the) 12.1743 Tj +-295 TJm +(total) 17.7135 Tj +-295 TJm +(v) 4.9813 Tj +20 TJm +(olume) 24.9065 Tj +-295 TJm +(of) 8.2988 Tj +-296 TJm +(compressed) 47.0334 Tj +-295 TJm +(data) 16.5977 Tj +-295 TJm +(written.) 30.7147 Tj +-890 TJm +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-295 TJm +(compatibility) 53.1405 Tj +-295 TJm +(with) 17.7135 Tj +-295 TJm +(older) 20.4731 Tj +-295 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-296 TJm +(of) 8.2988 Tj +72 427.098 Td +(the) 12.1743 Tj +-283 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +118.294 427.098 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.753 427.098 Td +/F122_0 9.9626 Tf +(only) 17.7135 Tj +-283 TJm +(yields) 23.8007 Tj +-283 TJm +(the) 12.1743 Tj +-282 TJm +(lo) 7.7509 Tj +25 TJm +(wer) 14.9339 Tj +-283 TJm +(32) 9.9626 Tj +-283 TJm +(bits) 14.396 Tj +-283 TJm +(of) 8.2988 Tj +-283 TJm +(these) 20.4731 Tj +-282 TJm +(counts.) 28.503 Tj +-817 TJm +(Use) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +423.499 427.098 Td +/F124_0 9.9626 Tf +(BZ2_bzWriteClose64) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +533.913 427.098 Td +/F122_0 9.9626 Tf +(if) 6.0871 Tj +72 415.143 Td +(you) 14.9439 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(full) 13.8381 Tj +-250 TJm +(64) 9.9626 Tj +-250 TJm +(bit) 10.5205 Tj +-250 TJm +(counts.) 28.503 Tj +-620 TJm +(These) 23.7907 Tj +-250 TJm +(tw) 9.9626 Tj +10 TJm +(o) 4.9813 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(otherwise) 38.7346 Tj +-250 TJm +(absolutely) 40.9562 Tj +-250 TJm +(identical.) 36.8018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 393.225 Td +(Possible) 33.2153 Tj +-250 TJm +(assignments) 48.7072 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +169.144 393.225 Td +/F124_0 9.9626 Tf +(bzerror) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.987 393.225 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 306.386] cm +0 0 468 83.686 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 381.704 Td +/F124_0 9.9626 Tf +(BZ_SEQUENCE_ERROR) 101.6185 Tj +98.488 369.749 Td +(if) 11.9551 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(opened) 35.8654 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(BZ2_bzReadOpen) 83.6858 Tj +90 357.793 Td +(BZ_IO_ERROR) 65.7532 Tj +98.488 345.838 Td +(if) 11.9551 Tj +-426 TJm +(there) 29.8878 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(writing) 41.8429 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(file) 23.9102 Tj +90 333.883 Td +(BZ_OK) 29.8878 Tj +98.488 321.928 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 275.765 Td +/F116_0 17.2154 Tf +(3.4.8.) 43.0729 Tj +-278 TJm +(Handling) 73.6475 Tj +-278 TJm +(embed) 55.4852 Tj +10 TJm +(ded) 30.609 Tj +-278 TJm +(compressed) 101.4159 Tj +-278 TJm +(data) 35.3949 Tj +-278 TJm +(streams) 66.0211 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 253.847 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-203 TJm +(high-le) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-203 TJm +(library) 26.5603 Tj +-203 TJm +(f) 3.3175 Tj +10 TJm +(acilitates) 35.417 Tj +-203 TJm +(use) 13.2801 Tj +-203 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +226.404 253.847 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +258.316 253.847 Td +/F122_0 9.9626 Tf +(data) 16.5977 Tj +-203 TJm +(streams) 30.4357 Tj +-203 TJm +(which) 24.3486 Tj +-203 TJm +(form) 19.3673 Tj +-203 TJm +(some) 21.031 Tj +-203 TJm +(part) 15.4918 Tj +-203 TJm +(of) 8.2988 Tj +-203 TJm +(a) 4.4234 Tj +-204 TJm +(surrounding,) 50.6399 Tj +-212 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +-203 TJm +(data) 16.5977 Tj +-203 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 221.967 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-264 TJm +(writing,) 31.2726 Tj +-267 TJm +(the) 12.1743 Tj +-264 TJm +(library) 26.5603 Tj +-264 TJm +(tak) 12.1743 Tj +10 TJm +(es) 8.2988 Tj +-264 TJm +(an) 9.4047 Tj +-264 TJm +(open) 19.3673 Tj +-264 TJm +(\002le) 12.7322 Tj +-264 TJm +(handle,) 29.0509 Tj +-267 TJm +(writes) 24.3486 Tj +-264 TJm +(compressed) 47.0334 Tj +-264 TJm +(data) 16.5977 Tj +-264 TJm +(to) 7.7509 Tj +-264 TJm +(it,) 8.0299 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +397.758 221.967 Td +/F124_0 9.9626 Tf +(fflush) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +433.624 221.967 Td +/F122_0 9.9626 Tf +(es) 8.2988 Tj +-264 TJm +(it) 5.5392 Tj +-264 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-264 TJm +(does) 18.2614 Tj +-264 TJm +(not) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +504.135 221.967 Td +/F124_0 9.9626 Tf +(fclose) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 210.012 Td +/F122_0 9.9626 Tf +(it.) 8.0299 Tj +-675 TJm +(The) 15.4918 Tj +-259 TJm +(calling) 27.1182 Tj +-260 TJm +(a) 4.4234 Tj +1 TJm +(pp) 9.9626 Tj +-1 TJm +(l) 2.7696 Tj +1 TJm +(ication) 27.1182 Tj +-260 TJm +(can) 13.8281 Tj +-259 TJm +(write) 20.4731 Tj +-259 TJm +(its) 9.4147 Tj +-259 TJm +(o) 4.9813 Tj +25 TJm +(wn) 12.1743 Tj +-259 TJm +(data) 16.5977 Tj +-260 TJm +(before) 25.4445 Tj +-259 TJm +(and) 14.386 Tj +-259 TJm +(after) 18.2515 Tj +-259 TJm +(the) 12.1743 Tj +-259 TJm +(compressed) 47.0334 Tj +-260 TJm +(dat) 12.1743 Tj +1 TJm +(a) 4.4234 Tj +-260 TJm +(stream,) 29.0509 Tj +-261 TJm +(using) 21.589 Tj +-259 TJm +(that) 14.9439 Tj +-260 TJm +(sam) 16.0497 Tj +1 TJm +(e) 4.4234 Tj +-260 TJm +(\002le) 12.7322 Tj +81.963 198.056 Td +(handle.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 176.139 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Reading) 33.2053 Tj +-258 TJm +(is) 6.6451 Tj +-259 TJm +(more) 20.4731 Tj +-258 TJm +(comple) 29.3299 Tj +15 TJm +(x,) 7.472 Tj +-261 TJm +(and) 14.386 Tj +-258 TJm +(the) 12.1743 Tj +-258 TJm +(f) 3.3175 Tj +10 TJm +(acilities) 30.9936 Tj +-259 TJm +(are) 12.1643 Tj +-258 TJm +(not) 12.7322 Tj +-258 TJm +(as) 8.2988 Tj +-259 TJm +(general) 29.3199 Tj +-258 TJm +(as) 8.2988 Tj +-259 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-258 TJm +(could) 22.1369 Tj +-258 TJm +(be) 9.4047 Tj +-259 TJm +(since) 20.4731 Tj +-258 TJm +(generality) 39.8404 Tj +-259 TJm +(is) 6.6451 Tj +-258 TJm +(hard) 17.7035 Tj +-258 TJm +(to) 7.7509 Tj +-259 TJm +(reconcile) 36.5129 Tj +81.963 164.183 Td +(with) 17.7135 Tj +-432 TJm +(ef) 7.7409 Tj +25 TJm +(\002cienc) 26.5603 Tj +15 TJm +(y) 4.9813 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +161.767 164.183 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +225.847 164.183 Td +/F122_0 9.9626 Tf +(reads) 21.0211 Tj +-432 TJm +(from) 19.3673 Tj +-432 TJm +(the) 12.1743 Tj +-432 TJm +(compressed) 47.0334 Tj +-432 TJm +(\002le) 12.7322 Tj +-432 TJm +(in) 7.7509 Tj +-432 TJm +(blocks) 26.0123 Tj +-432 TJm +(of) 8.2988 Tj +-432 TJm +(size) 15.4918 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +434.467 164.183 Td +/F124_0 9.9626 Tf +(BZ_MAX_UNUSED) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +516.479 164.183 Td +/F122_0 9.9626 Tf +(bytes,) 23.5217 Tj +81.963 152.228 Td +(and) 14.386 Tj +-436 TJm +(in) 7.7509 Tj +-435 TJm +(doing) 22.6948 Tj +-436 TJm +(so) 8.8568 Tj +-436 TJm +(probably) 35.417 Tj +-436 TJm +(will) 15.5018 Tj +-435 TJm +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ershoot) 29.3299 Tj +-436 TJm +(the) 12.1743 Tj +-436 TJm +(logical) 27.1182 Tj +-435 TJm +(end) 14.386 Tj +-436 TJm +(of) 8.2988 Tj +-436 TJm +(compressed) 47.0334 Tj +-436 TJm +(s) 3.8755 Tj +1 TJm +(tream.) 25.1755 Tj +-1735 TJm +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-436 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-435 TJm +(this) 14.396 Tj +-436 TJm +(data) 16.5977 Tj +-436 TJm +(once) 18.8094 Tj +81.963 140.273 Td +(decompression) 59.7656 Tj +-290 TJm +(has) 13.2801 Tj +-289 TJm +(ended,) 26.2813 Tj +-300 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +207.321 140.273 Td +/F124_0 9.9626 Tf +(BZ2_bzReadGetUnused) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +323.782 140.273 Td +/F122_0 9.9626 Tf +(after) 18.2515 Tj +-290 TJm +(the) 12.1743 Tj +-289 TJm +(last) 13.8381 Tj +-290 TJm +(call) 14.386 Tj +-290 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.164 140.273 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +467.826 140.273 Td +/F122_0 9.9626 Tf +(\(the) 15.4918 Tj +-290 TJm +(one) 14.386 Tj +-290 TJm +(returning) 36.5229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 128.318 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.671 128.318 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(before) 25.4445 Tj +-250 TJm +(calling) 27.1182 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.047 128.318 Td +/F124_0 9.9626 Tf +(BZ2_bzReadClose) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +327.71 128.318 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.852 Td +(24) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 25 28 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(This) 17.7135 Tj +-271 TJm +(mechanism) 45.3796 Tj +-272 TJm +(mak) 17.1556 Tj +10 TJm +(es) 8.2988 Tj +-271 TJm +(it) 5.5392 Tj +-271 TJm +(easy) 17.7035 Tj +-271 TJm +(to) 7.7509 Tj +-272 TJm +(decompress) 47.0334 Tj +-271 TJm +(multiple) 33.2153 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +293.313 710.037 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +325.903 710.037 Td +/F122_0 9.9626 Tf +(streams) 30.4357 Tj +-271 TJm +(placed) 26.0024 Tj +-272 TJm +(end-to-end.) 45.6486 Tj +-374 TJm +(As) 11.0684 Tj +-271 TJm +(the) 12.1743 Tj +-271 TJm +(end) 14.386 Tj +-271 TJm +(of) 8.2988 Tj +-272 TJm +(one) 14.386 Tj +-271 TJm +(stream,) 29.0509 Tj +72 698.082 Td +(when) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +96.195 698.082 Td +/F124_0 9.9626 Tf +(BZ2_bzRead) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.586 698.082 Td +/F122_0 9.9626 Tf +(returns) 27.6661 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.868 698.082 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +266.577 698.082 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-263 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +288.685 698.082 Td +/F124_0 9.9626 Tf +(BZ2_bzReadGetUnused) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +404.875 698.082 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-263 TJm +(coll) 14.9439 Tj +1 TJm +(ect) 11.6164 Tj +-263 TJm +(the) 12.1743 Tj +-263 TJm +(unused) 28.224 Tj +-262 TJm +(data) 16.5977 Tj +-263 TJm +(\(cop) 17.7035 Tj +10 TJm +(y) 4.9813 Tj +-262 TJm +(it) 5.5392 Tj +72 686.127 Td +(into) 15.5018 Tj +-265 TJm +(your) 18.2614 Tj +-265 TJm +(o) 4.9813 Tj +25 TJm +(wn) 12.1743 Tj +-265 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-265 TJm +(some) 21.031 Tj +25 TJm +(where\).) 30.1468 Tj +-711 TJm +(That) 18.2614 Tj +-265 TJm +(data) 16.5977 Tj +-265 TJm +(forms) 23.2427 Tj +-265 TJm +(the) 12.1743 Tj +-265 TJm +(start) 17.1556 Tj +-265 TJm +(of) 8.2988 Tj +-265 TJm +(the) 12.1743 Tj +-265 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-265 TJm +(compressed) 47.0334 Tj +-265 TJm +(stream.) 29.0509 Tj +-711 TJm +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-265 TJm +(start) 17.1556 Tj +-265 TJm +(uncompressing) 60.3235 Tj +72 674.172 Td +(that) 14.9439 Tj +-246 TJm +(ne) 9.4047 Tj +15 TJm +(xt) 7.7509 Tj +-246 TJm +(stream,) 29.0509 Tj +-247 TJm +(call) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +157.205 674.172 Td +/F124_0 9.9626 Tf +(BZ2_bzReadOpen) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +243.344 674.172 Td +/F122_0 9.9626 Tf +(ag) 9.4047 Tj +5 TJm +(ain,) 14.6649 Tj +-247 TJm +(feeding) 29.8778 Tj +-246 TJm +(in) 7.7509 Tj +-246 TJm +(the) 12.1743 Tj +-247 TJm +(unused) 28.224 Tj +-246 TJm +(data) 16.5977 Tj +-246 TJm +(via) 12.1743 Tj +-246 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.967 674.172 Td +/F124_0 9.9626 Tf +(unused) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +444.286 674.172 Td +/F122_0 9.9626 Tf +(/) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +449.508 674.172 Td +/F124_0 9.9626 Tf +(nUnused) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +493.804 674.172 Td +/F122_0 9.9626 Tf +(parameters.) 46.1966 Tj +72 662.217 Td +(K) 7.193 Tj +25 TJm +(eep) 13.8281 Tj +-263 TJm +(doing) 22.6948 Tj +-263 TJm +(this) 14.396 Tj +-264 TJm +(until) 18.2714 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +158.622 662.217 Td +/F124_0 9.9626 Tf +(BZ_STREAM_END) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +238.952 662.217 Td +/F122_0 9.9626 Tf +(return) 23.7907 Tj +-263 TJm +(coincides) 37.6287 Tj +-263 TJm +(with) 17.7135 Tj +-264 TJm +(the) 12.1743 Tj +-263 TJm +(ph) 9.9626 Tj +5 TJm +(ysical) 23.2427 Tj +-263 TJm +(end) 14.386 Tj +-263 TJm +(of) 8.2988 Tj +-263 TJm +(\002le) 12.7322 Tj +-263 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +423.124 662.217 Td +/F124_0 9.9626 Tf +(feof\(f\)) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +464.968 662.217 Td +/F122_0 9.9626 Tf +(\).) 5.8082 Tj +-699 TJm +(In) 8.2988 Tj +-263 TJm +(this) 14.396 Tj +-263 TJm +(situation) 34.3212 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 650.261 Td +/F124_0 9.9626 Tf +(BZ2_bzReadGetUnused) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +188.065 650.261 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(course) 26.0024 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(no) 9.9626 Tj +-250 TJm +(data.) 19.0883 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 628.344 Td +(This) 17.7135 Tj +-240 TJm +(should) 26.5703 Tj +-241 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-240 TJm +(some) 21.031 Tj +-241 TJm +(feel) 14.9339 Tj +-240 TJm +(for) 11.6164 Tj +-241 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-240 TJm +(the) 12.1743 Tj +-240 TJm +(high-le) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-241 TJm +(interf) 21.579 Tj +10 TJm +(ace) 13.2702 Tj +-240 TJm +(can) 13.8281 Tj +-241 TJm +(be) 9.4047 Tj +-240 TJm +(used.) 20.7521 Tj +-614 TJm +(If) 6.6351 Tj +-240 TJm +(you) 14.9439 Tj +-241 TJm +(require) 28.2141 Tj +-240 TJm +(e) 4.4234 Tj +15 TJm +(xtra) 15.4918 Tj +-241 TJm +(\003e) 9.9626 Tj +15 TJm +(xibi) 15.5018 Tj +1 TJm +(lity) 13.2901 Tj +65 TJm +(,) 2.4907 Tj +-243 TJm +(you') 18.2614 Tj +10 TJm +(ll) 5.5392 Tj +-240 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-241 TJm +(to) 7.7509 Tj +72 616.389 Td +(bite) 14.9439 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ullet) 17.7135 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(get) 12.1743 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(grips) 19.9252 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace.) 15.7608 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 585.767 Td +/F116_0 17.2154 Tf +(3.4.9.) 43.0729 Tj +-278 TJm +(Standar) 64.0929 Tj +20 TJm +(d) 10.5186 Tj +-278 TJm +(\002le-reading/writing) 154.009 Tj +-278 TJm +(code) 40.1807 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 563.85 Td +/F122_0 9.9626 Tf +(Here') 22.6749 Tj +55 TJm +(s) 3.8755 Tj +-250 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(you') 18.2614 Tj +50 TJm +(d) 4.9813 Tj +-250 TJm +(write) 20.4731 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le:) 15.5018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 190.086] cm +0 0 468 370.61 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 552.328 Td +/F124_0 9.9626 Tf +(FILE) 23.9102 Tj +113.91 550.584 Td +(*) 5.9776 Tj +132.62 552.328 Td +(f;) 11.9551 Tj +90 540.373 Td +(BZFILE) 35.8654 Tj +125.866 538.629 Td +(*) 5.9776 Tj +136.087 540.373 Td +(b;) 11.9551 Tj +90 528.418 Td +(int) 17.9327 Tj +-2130 TJm +(nBuf;) 29.8878 Tj +90 516.462 Td +(char) 23.9102 Tj +-1704 TJm +(buf[) 23.9102 Tj +-426 TJm +(/) 5.9776 Tj +165.018 514.719 Td +(*) 5.9776 Tj +175.24 516.462 Td +(whatever) 47.8205 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(you) 17.9327 Tj +-426 TJm +(like) 23.9102 Tj +305.79 514.719 Td +(*) 5.9776 Tj +311.767 516.462 Td +(/) 5.9776 Tj +-426 TJm +(];) 11.9551 Tj +90 504.507 Td +(int) 17.9327 Tj +-2130 TJm +(bzerror;) 47.8205 Tj +90 492.552 Td +(int) 17.9327 Tj +-2130 TJm +(nWritten;) 53.798 Tj +90 468.642 Td +(f) 5.9776 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(fopen) 29.8878 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +("myfile.bz2",) 77.7083 Tj +-426 TJm +("w") 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +90 456.687 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(!f) 11.9551 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +94.244 444.731 Td +(/) 5.9776 Tj +100.222 442.988 Td +(*) 5.9776 Tj +110.443 444.731 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +184.684 442.988 Td +(*) 5.9776 Tj +190.662 444.731 Td +(/) 5.9776 Tj +90 432.776 Td +(}) 5.9776 Tj +90 420.821 Td +(b) 5.9776 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ2_bzWriteOpen\() 95.641 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(f,) 11.9551 Tj +-426 TJm +(9) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +90 408.866 Td +(if) 11.9551 Tj +-426 TJm +(\(bzerror) 47.8205 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(BZ_OK\)) 35.8654 Tj +-426 TJm +({) 5.9776 Tj +94.244 396.911 Td +(BZ2_bzWriteClose) 95.641 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +94.244 384.955 Td +(/) 5.9776 Tj +100.222 383.212 Td +(*) 5.9776 Tj +110.443 384.955 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +184.684 383.212 Td +(*) 5.9776 Tj +190.662 384.955 Td +(/) 5.9776 Tj +90 373 Td +(}) 5.9776 Tj +90 349.09 Td +(while) 29.8878 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(/) 5.9776 Tj +140.331 347.346 Td +(*) 5.9776 Tj +150.553 349.09 Td +(condition) 53.798 Tj +208.595 347.346 Td +(*) 5.9776 Tj +214.572 349.09 Td +(/) 5.9776 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +94.244 337.135 Td +(/) 5.9776 Tj +100.222 335.391 Td +(*) 5.9776 Tj +110.443 337.135 Td +(get) 17.9327 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(write) 29.8878 Tj +-426 TJm +(into) 23.9102 Tj +-426 TJm +(buf,) 23.9102 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(set) 17.9327 Tj +-426 TJm +(nBuf) 23.9102 Tj +-426 TJm +(appropriately) 77.7083 Tj +421.874 335.391 Td +(*) 5.9776 Tj +427.852 337.135 Td +(/) 5.9776 Tj +94.244 325.18 Td +(nWritten) 47.8205 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ2_bzWrite) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b,) 11.9551 Tj +-426 TJm +(buf,) 23.9102 Tj +-426 TJm +(nBuf) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +94.244 313.224 Td +(if) 11.9551 Tj +-426 TJm +(\(bzerror) 47.8205 Tj +-426 TJm +(==) 11.9551 Tj +-426 TJm +(BZ_IO_ERROR\)) 71.7307 Tj +-426 TJm +({) 5.9776 Tj +102.732 301.269 Td +(BZ2_bzWriteClose) 95.641 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +102.732 289.314 Td +(/) 5.9776 Tj +108.71 287.571 Td +(*) 5.9776 Tj +118.931 289.314 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +193.172 287.571 Td +(*) 5.9776 Tj +199.15 289.314 Td +(/) 5.9776 Tj +94.244 277.359 Td +(}) 5.9776 Tj +90 265.404 Td +(}) 5.9776 Tj +90 241.493 Td +(BZ2_bzWriteClose\() 101.6185 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +90 229.538 Td +(if) 11.9551 Tj +-426 TJm +(\(bzerror) 47.8205 Tj +-426 TJm +(==) 11.9551 Tj +-426 TJm +(BZ_IO_ERROR\)) 71.7307 Tj +-426 TJm +({) 5.9776 Tj +94.244 217.583 Td +(/) 5.9776 Tj +100.222 215.84 Td +(*) 5.9776 Tj +110.443 217.583 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +184.684 215.84 Td +(*) 5.9776 Tj +190.662 217.583 Td +(/) 5.9776 Tj +90 205.628 Td +(}) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 168.168 Td +/F122_0 9.9626 Tf +(And) 17.1556 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(read) 17.1456 Tj +-250 TJm +(from) 19.3673 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le:) 15.5018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(25) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 26 29 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 349.39] cm +0 0 468 370.61 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(FILE) 23.9102 Tj +113.91 709.888 Td +(*) 5.9776 Tj +132.62 711.631 Td +(f;) 11.9551 Tj +90 699.676 Td +(BZFILE) 35.8654 Tj +125.866 697.933 Td +(*) 5.9776 Tj +136.087 699.676 Td +(b;) 11.9551 Tj +90 687.721 Td +(int) 17.9327 Tj +-2130 TJm +(nBuf;) 29.8878 Tj +90 675.766 Td +(char) 23.9102 Tj +-1704 TJm +(buf[) 23.9102 Tj +-426 TJm +(/) 5.9776 Tj +165.018 674.022 Td +(*) 5.9776 Tj +175.24 675.766 Td +(whatever) 47.8205 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(you) 17.9327 Tj +-426 TJm +(like) 23.9102 Tj +305.79 674.022 Td +(*) 5.9776 Tj +311.767 675.766 Td +(/) 5.9776 Tj +-426 TJm +(];) 11.9551 Tj +90 663.811 Td +(int) 17.9327 Tj +-2130 TJm +(bzerror;) 47.8205 Tj +90 651.856 Td +(int) 17.9327 Tj +-2130 TJm +(nWritten;) 53.798 Tj +90 627.945 Td +(f) 5.9776 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(fopen) 29.8878 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +("myfile.bz2",) 77.7083 Tj +-426 TJm +("r") 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +90 615.99 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(!f) 11.9551 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +98.488 604.035 Td +(/) 5.9776 Tj +104.466 602.291 Td +(*) 5.9776 Tj +114.687 604.035 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +188.928 602.291 Td +(*) 5.9776 Tj +194.906 604.035 Td +(/) 5.9776 Tj +90 592.08 Td +(}) 5.9776 Tj +90 580.125 Td +(b) 5.9776 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ2_bzReadOpen) 83.6858 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(f,) 11.9551 Tj +-426 TJm +(0,) 11.9551 Tj +-426 TJm +(NULL,) 29.8878 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +90 568.169 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +98.488 556.214 Td +(BZ2_bzReadClose) 89.6634 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +98.488 544.259 Td +(/) 5.9776 Tj +104.466 542.516 Td +(*) 5.9776 Tj +114.687 544.259 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +188.928 542.516 Td +(*) 5.9776 Tj +194.906 544.259 Td +(/) 5.9776 Tj +90 532.304 Td +(}) 5.9776 Tj +90 508.393 Td +(bzerror) 41.8429 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ_OK;) 35.8654 Tj +90 496.438 Td +(while) 29.8878 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(==) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(&&) 11.9551 Tj +-426 TJm +(/) 5.9776 Tj +252.948 494.695 Td +(*) 5.9776 Tj +263.17 496.438 Td +(arbitrary) 53.798 Tj +-426 TJm +(other) 29.8878 Tj +-426 TJm +(conditions) 59.7756 Tj +419.364 494.695 Td +(*) 5.9776 Tj +425.341 496.438 Td +(/\)) 11.9551 Tj +-426 TJm +({) 5.9776 Tj +98.488 484.483 Td +(nBuf) 23.9102 Tj +-426 TJm +(=) 5.9776 Tj +-426 TJm +(BZ2_bzRead) 59.7756 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b,) 11.9551 Tj +-426 TJm +(buf,) 23.9102 Tj +-426 TJm +(/) 5.9776 Tj +319.478 482.74 Td +(*) 5.9776 Tj +329.7 484.483 Td +(size) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(buf) 17.9327 Tj +396.23 482.74 Td +(*) 5.9776 Tj +402.208 484.483 Td +(/) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +98.488 472.528 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(==) 11.9551 Tj +-426 TJm +(BZ_OK) 29.8878 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +106.976 460.573 Td +(/) 5.9776 Tj +112.953 458.829 Td +(*) 5.9776 Tj +123.175 460.573 Td +(do) 11.9551 Tj +-426 TJm +(something) 53.798 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(buf[0) 29.8878 Tj +-426 TJm +(..) 11.9551 Tj +-426 TJm +(nBuf-1]) 41.8429 Tj +321.989 458.829 Td +(*) 5.9776 Tj +327.966 460.573 Td +(/) 5.9776 Tj +98.488 448.618 Td +(}) 5.9776 Tj +90 436.662 Td +(}) 5.9776 Tj +90 424.707 Td +(if) 11.9551 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(bzerror) 41.8429 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(BZ_STREAM_END) 77.7083 Tj +-426 TJm +(\)) 5.9776 Tj +-426 TJm +({) 5.9776 Tj +102.732 412.752 Td +(BZ2_bzReadClose) 89.6634 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +102.732 400.797 Td +(/) 5.9776 Tj +108.71 399.053 Td +(*) 5.9776 Tj +118.931 400.797 Td +(handle) 35.8654 Tj +-426 TJm +(error) 29.8878 Tj +193.172 399.053 Td +(*) 5.9776 Tj +199.15 400.797 Td +(/) 5.9776 Tj +90 388.842 Td +(}) 5.9776 Tj +-426 TJm +(else) 23.9102 Tj +-426 TJm +({) 5.9776 Tj +102.732 376.887 Td +(BZ2_bzReadClose) 89.6634 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(&bzerror,) 53.798 Tj +-426 TJm +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +90 364.931 Td +(}) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 314.637 Td +/F116_0 20.6585 Tf +(3.5.) 34.4584 Tj +-278 TJm +(Utility) 57.3893 Tj +-278 TJm +(functions) 92.9633 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 284.016 Td +/F116_0 17.2154 Tf +(3.5.1.) 43.0729 Tj +-278 TJm +(BZ2_bzBuffT) 106.1502 Tj +80 TJm +(oBuffCompress) 129.1155 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 183.815] cm +0 0 468 95.641 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 271.087 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzBuffToBuffCompress\() 149.439 Tj +-426 TJm +(char) 23.9102 Tj +289.771 269.344 Td +(*) 5.9776 Tj +333.944 271.087 Td +(dest,) 29.8878 Tj +217.319 259.132 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +287.317 257.389 Td +(*) 5.9776 Tj +297.538 259.132 Td +(destLen,) 47.8205 Tj +217.319 247.177 Td +(char) 23.9102 Tj +241.23 245.434 Td +(*) 5.9776 Tj +285.403 247.177 Td +(source,) 41.8429 Tj +217.319 235.222 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-852 TJm +(sourceLen,) 59.7756 Tj +217.319 223.267 Td +(int) 17.9327 Tj +-4686 TJm +(blockSize100k,) 83.6858 Tj +217.319 211.312 Td +(int) 17.9327 Tj +-4686 TJm +(verbosity,) 59.7756 Tj +217.319 199.356 Td +(int) 17.9327 Tj +-4686 TJm +(workFactor) 59.7756 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 161.897 Td +/F122_0 9.9626 Tf +(Attempts) 36.5329 Tj +-442 TJm +(to) 7.7509 Tj +-442 TJm +(compress) 37.6287 Tj +-443 TJm +(the) 12.1743 Tj +-442 TJm +(data) 16.5977 Tj +-442 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.87 161.897 Td +/F124_0 9.9626 Tf +(source[0) 47.8205 Tj +-600 TJm +(..) 11.9551 Tj +-1200 TJm +(sourceLen-1]) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +370.715 161.897 Td +/F122_0 9.9626 Tf +(into) 15.5018 Tj +-442 TJm +(the) 12.1743 Tj +-443 TJm +(dest) 16.0497 Tj +1 TJm +(ination) 27.6761 Tj +-443 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +40 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +486.202 161.897 Td +/F124_0 9.9626 Tf +(dest[0) 35.8654 Tj +-600 TJm +(..) 11.9551 Tj +72 148.198 Td +(*) 5.9776 Tj +77.978 149.942 Td +(destLen-1]) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +137.753 149.942 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1393 TJm +(If) 6.6351 Tj +-379 TJm +(the) 12.1743 Tj +-379 TJm +(destination) 43.7259 Tj +-379 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-378 TJm +(is) 6.6451 Tj +-379 TJm +(big) 12.7322 Tj +-379 TJm +(enough,) 31.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +318.487 148.198 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +324.464 149.942 Td +(destLen) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +370.082 149.942 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-379 TJm +(set) 11.0684 Tj +-379 TJm +(to) 7.7509 Tj +-378 TJm +(the) 12.1743 Tj +-379 TJm +(size) 15.4918 Tj +-379 TJm +(of) 8.2988 Tj +-379 TJm +(the) 12.1743 Tj +-379 TJm +(compressed) 47.0334 Tj +-379 TJm +(data,) 19.0883 Tj +72 137.986 Td +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +89.527 137.986 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +122.556 137.986 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-315 TJm +(returned.) 35.686 Tj +-1012 TJm +(If) 6.6351 Tj +-315 TJm +(the) 12.1743 Tj +-316 TJm +(compressed) 47.0334 Tj +-315 TJm +(data) 16.5977 Tj +-315 TJm +(w) 7.193 Tj +10 TJm +(on') 13.2801 Tj +18 TJm +(t) 2.7696 Tj +-316 TJm +(\002t,) 10.7995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +313.323 136.243 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +319.3 137.986 Td +(destLen) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +364.285 137.986 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-315 TJm +(unchanged,) 45.6486 Tj +-332 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +440.551 137.986 Td +/F124_0 9.9626 Tf +(BZ_OUTBUFF_FULL) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +533.355 137.986 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +72 126.031 Td +(returned.) 35.686 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 104.113 Td +(Compression) 52.5826 Tj +-297 TJm +(in) 7.7509 Tj +-297 TJm +(this) 14.396 Tj +-297 TJm +(manner) 29.8778 Tj +-297 TJm +(is) 6.6451 Tj +-297 TJm +(a) 4.4234 Tj +-297 TJm +(one-shot) 34.3112 Tj +-297 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ent,) 14.6649 Tj +-309 TJm +(done) 19.3673 Tj +-297 TJm +(with) 17.7135 Tj +-297 TJm +(a) 4.4234 Tj +-297 TJm +(single) 23.8007 Tj +-297 TJm +(call) 14.386 Tj +-297 TJm +(to) 7.7509 Tj +-297 TJm +(this) 14.396 Tj +-297 TJm +(function.) 35.696 Tj +-903 TJm +(The) 15.4918 Tj +-297 TJm +(resulting) 34.8691 Tj +-297 TJm +(compressed) 47.0334 Tj +72 92.158 Td +(data) 16.5977 Tj +-296 TJm +(is) 6.6451 Tj +-296 TJm +(a) 4.4234 Tj +-296 TJm +(complete) 36.5229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +147.988 92.158 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +180.825 92.158 Td +/F122_0 9.9626 Tf +(format) 26.5603 Tj +-296 TJm +(data) 16.5977 Tj +-296 TJm +(stream.) 29.0509 Tj +-897 TJm +(There) 23.2328 Tj +-296 TJm +(is) 6.6451 Tj +-296 TJm +(no) 9.9626 Tj +-296 TJm +(mechanism) 45.3796 Tj +-296 TJm +(for) 11.6164 Tj +-296 TJm +(making) 29.8878 Tj +-296 TJm +(additional) 39.8504 Tj +-296 TJm +(calls) 18.2614 Tj +-296 TJm +(to) 7.7509 Tj +-296 TJm +(pro) 13.2801 Tj +15 TJm +(vide) 17.1556 Tj +-296 TJm +(e) 4.4234 Tj +15 TJm +(xtra) 15.4918 Tj +72 80.203 Td +(input) 20.4831 Tj +-250 TJm +(data.) 19.0883 Tj +-620 TJm +(If) 6.6351 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(kind) 17.7135 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(mechanism,) 47.8703 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(lo) 7.7509 Tj +25 TJm +(w-le) 17.7035 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(el) 7.193 Tj +-250 TJm +(interf) 21.579 Tj +10 TJm +(ace.) 15.7608 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(26) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 27 30 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-223 TJm +(the) 12.1743 Tj +-224 TJm +(meaning) 34.3112 Tj +-223 TJm +(of) 8.2988 Tj +-224 TJm +(parameters) 43.7059 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +195.306 710.037 Td +/F124_0 9.9626 Tf +(blockSize100k) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +273.015 710.037 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +277.784 710.037 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +333.808 710.037 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +350.42 710.037 Td +/F124_0 9.9626 Tf +(workFactor) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +410.196 710.037 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-229 TJm +(see) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +429.913 710.037 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 710.037 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 688.12 Td +(T) 6.0871 Tj +80 TJm +(o) 4.9813 Tj +-410 TJm +(guarantee) 38.7246 Tj +-410 TJm +(that) 14.9439 Tj +-410 TJm +(the) 12.1743 Tj +-410 TJm +(compressed) 47.0334 Tj +-410 TJm +(data) 16.5977 Tj +-410 TJm +(will) 15.5018 Tj +-410 TJm +(\002t) 8.3088 Tj +-410 TJm +(in) 7.7509 Tj +-410 TJm +(its) 9.4147 Tj +-410 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +40 TJm +(,) 2.4907 Tj +-450 TJm +(allocate) 30.9837 Tj +-410 TJm +(an) 9.4047 Tj +-410 TJm +(output) 25.4644 Tj +-410 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-411 TJm +(of) 8.2988 Tj +-410 TJm +(size) 15.4918 Tj +-410 TJm +(1%) 13.2801 Tj +-410 TJm +(lar) 10.5105 Tj +18 TJm +(ger) 12.7222 Tj +-410 TJm +(than) 17.1556 Tj +-410 TJm +(the) 12.1743 Tj +72 676.164 Td +(uncompressed) 56.996 Tj +-250 TJm +(data,) 19.0883 Tj +-250 TJm +(plus) 16.6077 Tj +-250 TJm +(six) 11.6264 Tj +-250 TJm +(hundred) 32.6474 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xtra) 15.4918 Tj +-250 TJm +(bytes.) 23.5217 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 654.247 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +230.553 654.247 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-315 TJm +(not) 12.7322 Tj +-315 TJm +(write) 20.4731 Tj +-314 TJm +(data) 16.5977 Tj +-315 TJm +(at) 7.193 Tj +-315 TJm +(or) 8.2988 Tj +-315 TJm +(be) 9.4047 Tj +15 TJm +(yond) 19.9252 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +362.484 654.247 Td +/F124_0 9.9626 Tf +(dest[) 29.8878 Tj +392.372 652.503 Td +(*) 5.9776 Tj +398.349 654.247 Td +(destLen]) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +446.17 654.247 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-331 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-315 TJm +(in) 7.7509 Tj +-315 TJm +(case) 17.1456 Tj +-314 TJm +(of) 8.2988 Tj +-315 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +72 642.291 Td +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er\003o) 18.2614 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 620.374 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 451.905] cm +0 0 468 167.372 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 610.909 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 598.954 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 586.999 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 575.044 Td +(if) 11.9551 Tj +-426 TJm +(dest) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(destLen) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 563.089 Td +(or) 11.9551 Tj +-426 TJm +(blockSize100k) 77.7083 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(1) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(blockSize100k) 77.7083 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(9) 5.9776 Tj +98.488 551.133 Td +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(4) 5.9776 Tj +98.488 539.178 Td +(or) 11.9551 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(workFactor) 59.7756 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(250) 17.9327 Tj +90 527.223 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 515.268 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +90 503.313 Td +(BZ_OUTBUFF_FULL) 89.6634 Tj +98.488 491.357 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(exceeds) 41.8429 Tj +341.655 489.614 Td +(*) 5.9776 Tj +347.633 491.357 Td +(destLen) 41.8429 Tj +90 479.402 Td +(BZ_OK) 29.8878 Tj +98.488 467.447 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 421.284 Td +/F116_0 17.2154 Tf +(3.5.2.) 43.0729 Tj +-278 TJm +(BZ2_bzBuffT) 106.1502 Tj +80 TJm +(oBuffDecompress) 148.259 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 333.038] cm +0 0 468 83.686 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 408.356 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzBuffToBuffDecompress\() 161.3941 Tj +-426 TJm +(char) 23.9102 Tj +301.726 406.612 Td +(*) 5.9776 Tj +345.899 408.356 Td +(dest,) 29.8878 Tj +225.807 396.401 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +295.805 394.657 Td +(*) 5.9776 Tj +306.026 396.401 Td +(destLen,) 47.8205 Tj +225.807 384.446 Td +(char) 23.9102 Tj +249.717 382.702 Td +(*) 5.9776 Tj +293.891 384.446 Td +(source,) 41.8429 Tj +225.807 372.49 Td +(unsigned) 47.8205 Tj +-426 TJm +(int) 17.9327 Tj +-852 TJm +(sourceLen,) 59.7756 Tj +225.807 360.535 Td +(int) 17.9327 Tj +-4686 TJm +(small,) 35.8654 Tj +225.807 348.58 Td +(int) 17.9327 Tj +-4686 TJm +(verbosity) 53.798 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 311.12 Td +/F122_0 9.9626 Tf +(Attempts) 36.5329 Tj +-358 TJm +(to) 7.7509 Tj +-359 TJm +(decompress) 47.0334 Tj +-358 TJm +(the) 12.1743 Tj +-358 TJm +(data) 16.5977 Tj +-359 TJm +(in) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.259 311.12 Td +/F124_0 9.9626 Tf +(source[0) 47.8205 Tj +-600 TJm +(..) 11.9551 Tj +-1200 TJm +(sourceLen-1]) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +374.268 311.12 Td +/F122_0 9.9626 Tf +(into) 15.5018 Tj +-358 TJm +(the) 12.1743 Tj +-359 TJm +(destination) 43.7259 Tj +-358 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +40 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +486.202 311.12 Td +/F124_0 9.9626 Tf +(dest[0) 35.8654 Tj +-600 TJm +(..) 11.9551 Tj +72 297.422 Td +(*) 5.9776 Tj +77.978 299.165 Td +(destLen-1]) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +137.753 299.165 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1123 TJm +(If) 6.6351 Tj +-334 TJm +(the) 12.1743 Tj +-334 TJm +(destination) 43.7259 Tj +-334 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-334 TJm +(is) 6.6451 Tj +-334 TJm +(big) 12.7322 Tj +-334 TJm +(enough,) 31.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +312.554 297.422 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +318.531 299.165 Td +(destLen) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.701 299.165 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-334 TJm +(set) 11.0684 Tj +-334 TJm +(to) 7.7509 Tj +-334 TJm +(the) 12.1743 Tj +-334 TJm +(size) 15.4918 Tj +-333 TJm +(of) 8.2988 Tj +-334 TJm +(the) 12.1743 Tj +-334 TJm +(uncompressed) 56.996 Tj +-334 TJm +(data,) 19.0883 Tj +72 287.21 Td +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +89.527 287.21 Td +/F124_0 9.9626 Tf +(BZ_OK) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +122.556 287.21 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-315 TJm +(returned.) 35.686 Tj +-1012 TJm +(If) 6.6351 Tj +-315 TJm +(the) 12.1743 Tj +-316 TJm +(compressed) 47.0334 Tj +-315 TJm +(data) 16.5977 Tj +-315 TJm +(w) 7.193 Tj +10 TJm +(on') 13.2801 Tj +18 TJm +(t) 2.7696 Tj +-316 TJm +(\002t,) 10.7995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +313.323 285.467 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +319.3 287.21 Td +(destLen) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +364.285 287.21 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-315 TJm +(unchanged,) 45.6486 Tj +-332 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +440.551 287.21 Td +/F124_0 9.9626 Tf +(BZ_OUTBUFF_FULL) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +533.355 287.21 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +72 275.255 Td +(returned.) 35.686 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 253.337 Td +/F124_0 9.9626 Tf +(source) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +110.981 253.337 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-313 TJm +(assumed) 34.3112 Tj +-312 TJm +(to) 7.7509 Tj +-313 TJm +(hold) 17.7135 Tj +-313 TJm +(a) 4.4234 Tj +-313 TJm +(complete) 36.5229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +237.04 253.337 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +270.044 253.337 Td +/F122_0 9.9626 Tf +(format) 26.5603 Tj +-313 TJm +(data) 16.5977 Tj +-312 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +353.446 253.337 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +511.978 253.337 Td +/F122_0 9.9626 Tf +(tries) 17.1556 Tj +-313 TJm +(to) 7.7509 Tj +72 241.382 Td +(decompress) 47.0334 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(entirety) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(stream) 26.5603 Tj +-250 TJm +(into) 15.5018 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(output) 25.4644 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 219.464 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(meaning) 34.3112 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(parameters) 43.7059 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +196.631 219.464 Td +/F124_0 9.9626 Tf +(small) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.01 219.464 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +245.887 219.464 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +299.685 219.464 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(see) 12.7222 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +319.879 219.464 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressInit) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +439.431 219.464 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 197.546 Td +(Because) 33.1954 Tj +-250 TJm +(the) 12.1743 Tj +-249 TJm +(compression) 50.3609 Tj +-250 TJm +(ratio) 18.2614 Tj +-249 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-249 TJm +(compressed) 47.0334 Tj +-250 TJm +(data) 16.5977 Tj +-249 TJm +(cannot) 26.5603 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(kno) 14.9439 Tj +25 TJm +(wn) 12.1743 Tj +-249 TJm +(in) 7.7509 Tj +-250 TJm +(adv) 14.386 Tj +25 TJm +(ance,) 20.7421 Tj +-249 TJm +(there) 19.9152 Tj +-250 TJm +(is) 6.6451 Tj +-249 TJm +(no) 9.9626 Tj +-250 TJm +(easy) 17.7035 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-249 TJm +(to) 7.7509 Tj +-250 TJm +(guarantee) 38.7246 Tj +72 185.591 Td +(that) 14.9439 Tj +-286 TJm +(the) 12.1743 Tj +-287 TJm +(output) 25.4644 Tj +-286 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +-287 TJm +(will) 15.5018 Tj +-286 TJm +(be) 9.4047 Tj +-286 TJm +(big) 12.7322 Tj +-287 TJm +(enough.) 31.8205 Tj +-838 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-287 TJm +(may) 17.1556 Tj +-286 TJm +(of) 8.2988 Tj +-287 TJm +(course) 26.0024 Tj +-286 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-286 TJm +(arrangements) 53.6685 Tj +-287 TJm +(in) 7.7509 Tj +-286 TJm +(your) 18.2614 Tj +-287 TJm +(code) 18.8094 Tj +-286 TJm +(to) 7.7509 Tj +-286 TJm +(record) 25.4445 Tj +-287 TJm +(the) 12.1743 Tj +-286 TJm +(size) 15.4918 Tj +-287 TJm +(of) 8.2988 Tj +72 173.636 Td +(the) 12.1743 Tj +-250 TJm +(uncompressed) 56.996 Tj +-250 TJm +(data,) 19.0883 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(mechanism) 45.3796 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(be) 9.4047 Tj +15 TJm +(yond) 19.9252 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(scope) 22.6848 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 151.718 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +230.553 151.718 Td +/F122_0 9.9626 Tf +(will) 15.5018 Tj +-315 TJm +(not) 12.7322 Tj +-315 TJm +(write) 20.4731 Tj +-314 TJm +(data) 16.5977 Tj +-315 TJm +(at) 7.193 Tj +-315 TJm +(or) 8.2988 Tj +-315 TJm +(be) 9.4047 Tj +15 TJm +(yond) 19.9252 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +362.484 151.718 Td +/F124_0 9.9626 Tf +(dest[) 29.8878 Tj +392.372 149.975 Td +(*) 5.9776 Tj +398.349 151.718 Td +(destLen]) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +446.17 151.718 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-331 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(en) 9.4047 Tj +-315 TJm +(in) 7.7509 Tj +-315 TJm +(case) 17.1456 Tj +-314 TJm +(of) 8.2988 Tj +-315 TJm +(b) 4.9813 Tj +20 TJm +(uf) 8.2988 Tj +25 TJm +(fer) 11.0585 Tj +72 139.763 Td +(o) 4.9813 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(er\003o) 18.2614 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 117.845 Td +(Possible) 33.2153 Tj +-250 TJm +(return) 23.7907 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues:) 23.2427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(27) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 28 31 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +420.96 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +498.449 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 75.786 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 492.852] cm +0 0 468 227.148 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 711.631 Td +/F124_0 9.9626 Tf +(BZ_CONFIG_ERROR) 89.6634 Tj +98.488 699.676 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(library) 41.8429 Tj +-426 TJm +(has) 17.9327 Tj +-426 TJm +(been) 23.9102 Tj +-426 TJm +(mis-compiled) 71.7307 Tj +90 687.721 Td +(BZ_PARAM_ERROR) 83.6858 Tj +98.488 675.766 Td +(if) 11.9551 Tj +-426 TJm +(dest) 23.9102 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(destLen) 41.8429 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(NULL) 23.9102 Tj +98.488 663.811 Td +(or) 11.9551 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(&&) 11.9551 Tj +-426 TJm +(small) 29.8878 Tj +-426 TJm +(!=) 11.9551 Tj +-426 TJm +(1) 5.9776 Tj +98.488 651.856 Td +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(<) 5.9776 Tj +-426 TJm +(0) 5.9776 Tj +-426 TJm +(or) 11.9551 Tj +-426 TJm +(verbosity) 53.798 Tj +-426 TJm +(>) 5.9776 Tj +-426 TJm +(4) 5.9776 Tj +90 639.9 Td +(BZ_MEM_ERROR) 71.7307 Tj +98.488 627.945 Td +(if) 11.9551 Tj +-426 TJm +(insufficient) 71.7307 Tj +-426 TJm +(memory) 35.8654 Tj +-426 TJm +(is) 11.9551 Tj +-426 TJm +(available) 53.798 Tj +90 615.99 Td +(BZ_OUTBUFF_FULL) 89.6634 Tj +98.488 604.035 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(size) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(exceeds) 41.8429 Tj +341.655 602.291 Td +(*) 5.9776 Tj +347.633 604.035 Td +(destLen) 41.8429 Tj +90 592.08 Td +(BZ_DATA_ERROR) 77.7083 Tj +98.488 580.124 Td +(if) 11.9551 Tj +-426 TJm +(a) 5.9776 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(integrity) 53.798 Tj +-426 TJm +(error) 29.8878 Tj +-426 TJm +(was) 17.9327 Tj +-426 TJm +(detected) 47.8205 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(data) 23.9102 Tj +90 568.169 Td +(BZ_DATA_ERROR_MAGIC) 113.5736 Tj +98.488 556.214 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(doesn't) 41.8429 Tj +-426 TJm +(begin) 29.8878 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(right) 29.8878 Tj +-426 TJm +(magic) 29.8878 Tj +-426 TJm +(bytes) 29.8878 Tj +90 544.259 Td +(BZ_UNEXPECTED_EOF) 101.6185 Tj +98.488 532.304 Td +(if) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compressed) 59.7756 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(ends) 23.9102 Tj +-426 TJm +(unexpectedly) 71.7307 Tj +90 520.349 Td +(BZ_OK) 29.8878 Tj +98.488 508.393 Td +(otherwise) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 458.099 Td +/F116_0 20.6585 Tf +(3.6.) 34.4584 Tj +-278 TJm +(zlib) 34.4377 Tj +-278 TJm +(compatibility) 127.4216 Tj +-278 TJm +(functions) 92.9633 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 436.181 Td +/F122_0 9.9626 Tf +(Y) 7.193 Tj +110 TJm +(oshioka) 30.9936 Tj +-604 TJm +(Tsuneo) 29.3299 Tj +-604 TJm +(has) 13.2801 Tj +-604 TJm +(contrib) 28.224 Tj +20 TJm +(uted) 17.1556 Tj +-604 TJm +(some) 21.031 Tj +-604 TJm +(functions) 37.0808 Tj +-604 TJm +(to) 7.7509 Tj +-604 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-604 TJm +(better) 22.6848 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +356.347 436.181 Td +/F124_0 9.9626 Tf +(zlib) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +386.275 436.181 Td +/F122_0 9.9626 Tf +(compatibility) 53.1405 Tj +65 TJm +(.) 2.4907 Tj +-1372 TJm +(These) 23.7907 Tj +-604 TJm +(functions) 37.0808 Tj +-604 TJm +(are) 12.1643 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzopen) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +131.776 424.226 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +144.283 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzread) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +204.059 424.226 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +216.567 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzwrite) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.32 424.226 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.827 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzflush) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +360.581 424.226 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +373.088 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzclose) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +438.842 424.226 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +451.349 424.226 Td +/F124_0 9.9626 Tf +(BZ2_bzerror) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +525.614 424.226 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 412.271 Td +/F124_0 9.9626 Tf +(BZ2_bzlibVersion) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +167.641 412.271 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1420 TJm +(These) 23.7907 Tj +-383 TJm +(functions) 37.0808 Tj +-383 TJm +(are) 12.1643 Tj +-383 TJm +(not) 12.7322 Tj +-383 TJm +(\(yet\)) 18.8094 Tj +-384 TJm +(of) 8.2988 Tj +25 TJm +(\002cially) 27.6761 Tj +-383 TJm +(part) 15.4918 Tj +-383 TJm +(of) 8.2988 Tj +-383 TJm +(the) 12.1743 Tj +-384 TJm +(library) 26.5603 Tj +65 TJm +(.) 2.4907 Tj +-1419 TJm +(If) 6.6351 Tj +-383 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-384 TJm +(break,) 24.6176 Tj +-416 TJm +(you) 14.9439 Tj +-383 TJm +(get) 12.1743 Tj +-384 TJm +(to) 7.7509 Tj +72 400.316 Td +(k) 4.9813 Tj +10 TJm +(eep) 13.8281 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(pieces.) 27.3872 Tj +-620 TJm +(Ne) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ertheless,) 37.3498 Tj +-250 TJm +(I) 3.3175 Tj +-250 TJm +(think) 20.4831 Tj +-250 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-250 TJm +(ok.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 349.342] cm +0 0 468 47.821 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 388.794 Td +/F124_0 9.9626 Tf +(typedef) 41.8429 Tj +-426 TJm +(void) 23.9102 Tj +-426 TJm +(BZFILE;) 41.8429 Tj +90 364.884 Td +(const) 29.8878 Tj +-426 TJm +(char) 23.9102 Tj +152.286 363.14 Td +(*) 5.9776 Tj +162.508 364.884 Td +(BZ2_bzlibVersion) 95.641 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(void) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 327.424 Td +/F122_0 9.9626 Tf +(Returns) 30.9936 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(string) 22.6948 Tj +-250 TJm +(indicating) 39.8504 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ersion.) 26.8392 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 288.405] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 315.902 Td +/F124_0 9.9626 Tf +(BZFILE) 35.8654 Tj +130.109 314.159 Td +(*) 5.9776 Tj +140.331 315.902 Td +(BZ2_bzopen) 59.7756 Tj +-852 TJm +(\() 5.9776 Tj +-426 TJm +(const) 29.8878 Tj +-426 TJm +(char) 23.9102 Tj +281.103 314.159 Td +(*) 5.9776 Tj +287.08 315.902 Td +(path,) 29.8878 Tj +-426 TJm +(const) 29.8878 Tj +-426 TJm +(char) 23.9102 Tj +383.498 314.159 Td +(*) 5.9776 Tj +389.476 315.902 Td +(mode) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +90 303.947 Td +(BZFILE) 35.8654 Tj +130.109 302.204 Td +(*) 5.9776 Tj +140.331 303.947 Td +(BZ2_bzdopen) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(int) 17.9327 Tj +-3408 TJm +(fd,) 17.9327 Tj +-1704 TJm +(const) 29.8878 Tj +-426 TJm +(char) 23.9102 Tj +369.629 302.204 Td +(*) 5.9776 Tj +375.607 303.947 Td +(mode) 23.9102 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 266.488 Td +/F122_0 9.9626 Tf +(Opens) 25.4544 Tj +-243 TJm +(a) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +106.713 266.488 Td +/F124_0 9.9626 Tf +(.bz2) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +133.041 266.488 Td +/F122_0 9.9626 Tf +(\002le) 12.7322 Tj +-243 TJm +(for) 11.6164 Tj +-242 TJm +(reading) 29.8778 Tj +-243 TJm +(or) 8.2988 Tj +-243 TJm +(writing,) 31.2726 Tj +-244 TJm +(using) 21.589 Tj +-243 TJm +(either) 22.6848 Tj +-242 TJm +(its) 9.4147 Tj +-243 TJm +(name) 21.579 Tj +-243 TJm +(or) 8.2988 Tj +-242 TJm +(a) 4.4234 Tj +-243 TJm +(pre-e) 20.4632 Tj +15 TJm +(xisting) 27.1282 Tj +-243 TJm +(\002le) 12.7322 Tj +-242 TJm +(descriptor) 39.8404 Tj +55 TJm +(.) 2.4907 Tj +-615 TJm +(Analogous) 43.1679 Tj +-243 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +510.112 266.488 Td +/F124_0 9.9626 Tf +(fopen) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 254.532 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +88.877 254.532 Td +/F124_0 9.9626 Tf +(fdopen) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +124.742 254.532 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 216.137] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 243.633 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-426 TJm +(BZ2_bzread) 59.7756 Tj +-852 TJm +(\() 5.9776 Tj +-426 TJm +(BZFILE) 35.8654 Tj +226.528 241.89 Td +(*) 5.9776 Tj +236.749 243.633 Td +(b,) 11.9551 Tj +-426 TJm +(void) 23.9102 Tj +276.859 241.89 Td +(*) 5.9776 Tj +287.08 243.633 Td +(buf,) 23.9102 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +90 231.678 Td +(int) 17.9327 Tj +-426 TJm +(BZ2_bzwrite) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(BZFILE) 35.8654 Tj +228.261 229.935 Td +(*) 5.9776 Tj +238.483 231.678 Td +(b,) 11.9551 Tj +-426 TJm +(void) 23.9102 Tj +278.592 229.935 Td +(*) 5.9776 Tj +288.814 231.678 Td +(buf,) 23.9102 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(len) 17.9327 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 194.219 Td +/F122_0 9.9626 Tf +(Reads/writes) 51.4668 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(from/to) 29.8878 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(pre) 12.7222 Tj +25 TJm +(viously) 29.3399 Tj +-250 TJm +(opened) 28.772 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +259.903 194.219 Td +/F124_0 9.9626 Tf +(BZFILE) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +295.769 194.219 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-500 TJm +(Analogous) 43.1679 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +359.141 194.219 Td +/F124_0 9.9626 Tf +(fread) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +391.519 194.219 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +408.396 194.219 Td +/F124_0 9.9626 Tf +(fwrite) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +444.261 194.219 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 155.2] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 182.697 Td +/F124_0 9.9626 Tf +(int) 17.9327 Tj +-852 TJm +(BZ2_bzflush) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(BZFILE) 35.8654 Tj +232.505 180.954 Td +(*) 5.9776 Tj +242.727 182.697 Td +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +90 170.742 Td +(void) 23.9102 Tj +-426 TJm +(BZ2_bzclose) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(BZFILE) 35.8654 Tj +234.239 168.998 Td +(*) 5.9776 Tj +244.46 170.742 Td +(b) 5.9776 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 133.282 Td +/F122_0 9.9626 Tf +(Flushes/closes) 57.5639 Tj +-250 TJm +(a) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +138.968 133.282 Td +/F124_0 9.9626 Tf +(BZFILE) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +174.833 133.282 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +179.815 133.282 Td +/F124_0 9.9626 Tf +(BZ2_bzflush) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +248.059 133.282 Td +/F122_0 9.9626 Tf +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(actually) 31.5416 Tj +-250 TJm +(do) 9.9626 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(ything.) 27.9551 Tj +-620 TJm +(Analogous) 43.1679 Tj +-250 TJm +(to) 7.7509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +425.472 133.282 Td +/F124_0 9.9626 Tf +(fflush) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +463.828 133.282 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +480.705 133.282 Td +/F124_0 9.9626 Tf +(fclose) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +516.57 133.282 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 106.219] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 121.761 Td +/F124_0 9.9626 Tf +(const) 29.8878 Tj +-426 TJm +(char) 23.9102 Tj +152.286 120.017 Td +(*) 5.9776 Tj +162.508 121.761 Td +(BZ2_bzerror) 65.7532 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(BZFILE) 35.8654 Tj +282.836 120.017 Td +(*) 5.9776 Tj +288.814 121.761 Td +(b,) 11.9551 Tj +-426 TJm +(int) 17.9327 Tj +327.19 120.017 Td +(*) 5.9776 Tj +333.167 121.761 Td +(errnum) 35.8654 Tj +-426 TJm +(\)) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 84.301 Td +/F122_0 9.9626 Tf +(Returns) 30.9936 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(string) 22.6948 Tj +-250 TJm +(describing) 41.5042 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(more) 20.4731 Tj +-250 TJm +(recent) 24.3386 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(status) 22.6948 Tj +-250 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +303.858 84.301 Td +/F124_0 9.9626 Tf +(b) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +309.835 84.301 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(also) 16.0497 Tj +-250 TJm +(sets) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +367.668 82.558 Td +/F124_0 9.9626 Tf +(*) 5.9776 Tj +373.645 84.301 Td +(errnum) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +412.002 84.301 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(its) 9.4147 Tj +-250 TJm +(numerical) 39.8404 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alue.) 19.0883 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +536.307 50.951 Td +(28) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 29 32 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 704.93 Td +/F116_0 20.6585 Tf +(3.7.) 34.4584 Tj +-278 TJm +(Using) 57.3893 Tj +-278 TJm +(the) 30.9878 Tj +-278 TJm +(librar) 51.6669 Tj +-10 TJm +(y) 11.4861 Tj +-278 TJm +(in) 18.3654 Tj +-278 TJm +(a) 11.4861 Tj +-278 TJm +(stdio-free) 94.1201 Tj +72 680.139 Td +(en) 24.1085 Tj +40 TJm +(vir) 25.2653 Tj +20 TJm +(onment) 74.5978 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 649.583 Td +/F116_0 17.2154 Tf +(3.7.1.) 43.0729 Tj +-278 TJm +(Getting) 60.2539 Tj +-278 TJm +(rid) 22.0013 Tj +-278 TJm +(of) 16.2513 Tj +-278 TJm +(stdio) 41.1276 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 627.73 Td +/F122_0 9.9626 Tf +(In) 8.2988 Tj +-319 TJm +(a) 4.4234 Tj +-319 TJm +(deeply) 26.5603 Tj +-319 TJm +(embedded) 40.9463 Tj +-319 TJm +(application,) 46.7644 Tj +-336 TJm +(you) 14.9439 Tj +-319 TJm +(might) 23.2527 Tj +-319 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-319 TJm +(to) 7.7509 Tj +-319 TJm +(use) 13.2801 Tj +-319 TJm +(just) 14.396 Tj +-319 TJm +(the) 12.1743 Tj +-319 TJm +(memory-to-memory) 80.7967 Tj +-319 TJm +(functions.) 39.5714 Tj +-1035 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-319 TJm +(can) 13.8281 Tj +-319 TJm +(do) 9.9626 Tj +-319 TJm +(this) 14.396 Tj +72 615.775 Td +(con) 14.386 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(eniently) 32.0995 Tj +-327 TJm +(by) 9.9626 Tj +-327 TJm +(compiling) 40.4083 Tj +-327 TJm +(the) 12.1743 Tj +-327 TJm +(library) 26.5603 Tj +-327 TJm +(with) 17.7135 Tj +-328 TJm +(preproces) 38.7246 Tj +1 TJm +(sor) 12.1743 Tj +-328 TJm +(symbol) 29.3399 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +336.045 615.775 Td +/F124_0 9.9626 Tf +(BZ_NO_STDIO) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +405.057 615.775 Td +/F122_0 9.9626 Tf +(de\002ned.) 31.8205 Tj +-1083 TJm +(Doing) 24.9065 Tj +-327 TJm +(this) 14.396 Tj +-327 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-327 TJm +(you) 14.9439 Tj +-327 TJm +(a) 4.4234 Tj +72 603.819 Td +(library) 26.5603 Tj +-250 TJm +(containing) 42.0621 Tj +-250 TJm +(only) 17.7135 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-250 TJm +(eight) 19.9252 Tj +-250 TJm +(functions:) 39.8504 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 581.966 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressInit) 107.5961 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +179.597 581.966 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +199.079 581.966 Td +/F124_0 9.9626 Tf +(BZ2_bzCompress) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +282.765 581.966 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +302.247 581.966 Td +/F124_0 9.9626 Tf +(BZ2_bzCompressEnd) 101.6185 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-1414 TJm +(BZ2_bzDe) 47.8205 Tj +-1 TJm +(compressInit) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 581.966 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 570.011 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompress) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +167.641 570.011 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.144 570.011 Td +/F124_0 9.9626 Tf +(BZ2_bzDecompressEnd) 113.5736 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-190 TJm +(BZ2_bzBuffToBuffCompress) 143.4614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +431.073 570.011 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +435.577 570.011 Td +/F124_0 9.9626 Tf +(BZ2_bzBuffToBuffDecompress) 155.4166 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 548.158 Td +/F122_0 9.9626 Tf +(When) 23.7907 Tj +-250 TJm +(compiled) 37.0808 Tj +-250 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-250 TJm +(this,) 16.8866 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(functions) 37.0808 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(ignore) 25.4544 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +272.526 548.158 Td +/F124_0 9.9626 Tf +(verbosity) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +328.815 548.158 Td +/F122_0 9.9626 Tf +(settings.) 32.9364 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 517.601 Td +/F116_0 17.2154 Tf +(3.7.2.) 43.0729 Tj +-278 TJm +(Critical) 58.3602 Tj +-278 TJm +(err) 22.9653 Tj +20 TJm +(or) 17.2154 Tj +-278 TJm +(handling) 71.7366 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 495.748 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +124.529 495.748 Td +/F122_0 9.9626 Tf +(contains) 33.2053 Tj +-473 TJm +(a) 4.4234 Tj +-472 TJm +(number) 30.4357 Tj +-473 TJm +(of) 8.2988 Tj +-472 TJm +(internal) 30.4357 Tj +-473 TJm +(assertion) 35.417 Tj +-472 TJm +(checks) 27.1082 Tj +-473 TJm +(which) 24.3486 Tj +-472 TJm +(should,) 29.0609 Tj +-529 TJm +(needless) 33.7533 Tj +-472 TJm +(to) 7.7509 Tj +-473 TJm +(say) 13.2801 Tj +65 TJm +(,) 2.4907 Tj +-528 TJm +(ne) 9.4047 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-473 TJm +(be) 9.4047 Tj +-472 TJm +(acti) 14.386 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ated.) 19.0883 Tj +72 483.793 Td +(Ne) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ertheless,) 37.3498 Tj +-533 TJm +(if) 6.0871 Tj +-476 TJm +(an) 9.4047 Tj +-476 TJm +(assertion) 35.417 Tj +-476 TJm +(should) 26.5703 Tj +-476 TJm +(f) 3.3175 Tj +10 TJm +(ail,) 12.4533 Tj +-532 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +-476 TJm +(depends) 32.6474 Tj +-476 TJm +(on) 9.9626 Tj +-476 TJm +(whether) 32.0895 Tj +-476 TJm +(or) 8.2988 Tj +-477 TJm +(not) 12.7322 Tj +-476 TJm +(the) 12.1743 Tj +-476 TJm +(library) 26.5603 Tj +-476 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-476 TJm +(compiled) 37.0808 Tj +-476 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 471.838 Td +/F124_0 9.9626 Tf +(BZ_NO_STDIO) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +140.244 471.838 Td +/F122_0 9.9626 Tf +(set.) 13.5591 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 449.985 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(normal) 28.224 Tj +-250 TJm +(compile,) 34.5901 Tj +-250 TJm +(an) 9.4047 Tj +-250 TJm +(assertion) 35.417 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(ailure) 22.6848 Tj +-250 TJm +(yields) 23.8007 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(message:) 36.5229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 428.131 Td +(bzip2/libbzip2:) 60.3335 Tj +-310 TJm +(internal) 30.4357 Tj +-250 TJm +(error) 19.3573 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(N.) 9.6836 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 406.278 Td +(This) 17.7135 Tj +-344 TJm +(is) 6.6451 Tj +-344 TJm +(a) 4.4234 Tj +-344 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-343 TJm +(in) 7.7509 Tj +-344 TJm +(bzip2/libbzip2,) 60.0546 Tj +-368 TJm +(1.0.6) 19.9252 Tj +-343 TJm +(of) 8.2988 Tj +-344 TJm +(6) 4.9813 Tj +-344 TJm +(September) 42.61 Tj +-344 TJm +(2010.) 22.4159 Tj +-592 TJm +(Please) 25.4544 Tj +-344 TJm +(report) 23.7907 Tj +-343 TJm +(it) 5.5392 Tj +-344 TJm +(to) 7.7509 Tj +-344 TJm +(me) 12.1743 Tj +-344 TJm +(at:) 9.9626 Tj +-498 TJm +(jse) 11.0684 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(ard@bzip.or) 49.8429 Tj +18 TJm +(g.) 7.472 Tj +-1183 TJm +(If) 6.6351 Tj +-344 TJm +(this) 14.396 Tj +72 394.323 Td +(happened) 38.1767 Tj +-297 TJm +(when) 21.579 Tj +-298 TJm +(you) 14.9439 Tj +-297 TJm +(were) 19.3573 Tj +-297 TJm +(using) 21.589 Tj +-297 TJm +(some) 21.031 Tj +-298 TJm +(program) 33.7533 Tj +-297 TJm +(which) 24.3486 Tj +-297 TJm +(uses) 17.1556 Tj +-297 TJm +(libbzip2) 32.6574 Tj +-298 TJm +(as) 8.2988 Tj +-297 TJm +(a) 4.4234 Tj +-297 TJm +(component,) 46.7644 Tj +-309 TJm +(you) 14.9439 Tj +-298 TJm +(should) 26.5703 Tj +-297 TJm +(also) 16.0497 Tj +-297 TJm +(report) 23.7907 Tj +-297 TJm +(this) 14.396 Tj +-298 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +72 382.368 Td +(to) 7.7509 Tj +-264 TJm +(the) 12.1743 Tj +-264 TJm +(author\(s\)) 35.965 Tj +-264 TJm +(of) 8.2988 Tj +-264 TJm +(that) 14.9439 Tj +-264 TJm +(program.) 36.2439 Tj +-703 TJm +(Please) 25.4544 Tj +-264 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-264 TJm +(an) 9.4047 Tj +-264 TJm +(ef) 7.7409 Tj +25 TJm +(fort) 14.386 Tj +-264 TJm +(to) 7.7509 Tj +-264 TJm +(report) 23.7907 Tj +-263 TJm +(this) 14.396 Tj +-264 TJm +(b) 4.9813 Tj +20 TJm +(ug;) 12.7322 Tj +-271 TJm +(timely) 25.4644 Tj +-264 TJm +(and) 14.386 Tj +-264 TJm +(accurate) 33.1854 Tj +-264 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-264 TJm +(reports) 27.6661 Tj +-264 TJm +(e) 4.4234 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(entually) 32.0995 Tj +72 370.413 Td +(lead) 16.5977 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(higher) 25.4544 Tj +-250 TJm +(quality) 27.6761 Tj +-250 TJm +(softw) 22.1369 Tj +10 TJm +(are.) 14.655 Tj +-620 TJm +(Thanks.) 31.8205 Tj +-620 TJm +(Julian) 23.8007 Tj +-250 TJm +(Se) 9.9626 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(ard,) 15.2129 Tj +-250 TJm +(6) 4.9813 Tj +-250 TJm +(September) 42.61 Tj +-250 TJm +(2010.) 22.4159 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 338.758 Td +(where) 24.3386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +98.831 338.758 Td +/F124_0 9.9626 Tf +(N) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +107.301 338.758 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(error) 19.3573 Tj +-251 TJm +(code) 18.8094 Tj +-250 TJm +(number) 30.4357 Tj +55 TJm +(.) 2.4907 Tj +-621 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +230.81 338.758 Td +/F124_0 9.9626 Tf +(N) 5.9776 Tj +-600 TJm +(==) 11.9551 Tj +-600 TJm +(1007) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +284.608 338.758 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(also) 16.0497 Tj +-251 TJm +(prints) 22.6948 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xtra) 15.4918 Tj +-250 TJm +(te) 7.193 Tj +15 TJm +(xt) 7.7509 Tj +-250 TJm +(advising) 33.7633 Tj +-251 TJm +(the) 12.1743 Tj +-250 TJm +(reader) 24.8866 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(unreliable) 39.8404 Tj +72 326.803 Td +(memory) 33.2053 Tj +-425 TJm +(is) 6.6451 Tj +-424 TJm +(often) 20.4731 Tj +-425 TJm +(associated) 40.9463 Tj +-425 TJm +(with) 17.7135 Tj +-424 TJm +(internal) 30.4357 Tj +-425 TJm +(error) 19.3573 Tj +-424 TJm +(1007.) 22.4159 Tj +-834 TJm +(\(This) 21.031 Tj +-425 TJm +(is) 6.6451 Tj +-425 TJm +(a) 4.4234 Tj +-424 TJm +(frequently-observ) 70.8241 Tj +15 TJm +(ed-phenomenon) 64.189 Tj +-425 TJm +(with) 17.7135 Tj +-425 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +72 314.848 Td +(1.0.0/1.0.1\).) 48.4282 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 292.995 Td +/F124_0 9.9626 Tf +(exit\(3\)) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +116.334 292.995 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(then) 17.1556 Tj +-250 TJm +(called.) 26.2813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 271.142 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +95.093 271.142 Td +/F124_0 9.9626 Tf +(stdio) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +124.981 271.142 Td +/F122_0 9.9626 Tf +(-free) 18.7994 Tj +-250 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(assertion) 35.417 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(ailures) 26.5603 Tj +-250 TJm +(result) 22.1369 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(call) 14.386 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(function) 33.2053 Tj +-250 TJm +(declared) 33.7433 Tj +-250 TJm +(as:) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 244.078] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 259.62 Td +/F124_0 9.9626 Tf +(extern) 35.8654 Tj +-426 TJm +(void) 23.9102 Tj +-426 TJm +(bz_internal_error) 101.6185 Tj +-426 TJm +(\() 5.9776 Tj +-426 TJm +(int) 17.9327 Tj +-426 TJm +(errcode) 41.8429 Tj +-426 TJm +(\);) 11.9551 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 222.225 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-250 TJm +(rele) 14.9339 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant) 12.1743 Tj +-250 TJm +(code) 18.8094 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(passed) 26.5603 Tj +-250 TJm +(as) 8.2988 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(parameter) 39.8305 Tj +55 TJm +(.) 2.4907 Tj +-620 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(supply) 26.5703 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(function.) 35.696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 200.372 Td +(In) 8.2988 Tj +-294 TJm +(either) 22.6848 Tj +-294 TJm +(case,) 19.6363 Tj +-306 TJm +(once) 18.8094 Tj +-294 TJm +(an) 9.4047 Tj +-294 TJm +(assertion) 35.417 Tj +-294 TJm +(f) 3.3175 Tj +10 TJm +(ailure) 22.6848 Tj +-294 TJm +(has) 13.2801 Tj +-295 TJm +(occurred,) 37.3398 Tj +-305 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +306.541 200.372 Td +/F124_0 9.9626 Tf +(bz_stream) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.271 200.372 Td +/F122_0 9.9626 Tf +(records) 29.3199 Tj +-294 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +20 TJm +(olv) 12.7322 Tj +15 TJm +(ed) 9.4047 Tj +-294 TJm +(can) 13.8281 Tj +-295 TJm +(be) 9.4047 Tj +-294 TJm +(re) 7.7409 Tj +15 TJm +(g) 4.9813 Tj +5 TJm +(arded) 22.1269 Tj +-294 TJm +(as) 8.2988 Tj +-294 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +25 TJm +(alid.) 17.4346 Tj +72 188.417 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(attempt) 29.8878 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(resume) 28.772 Tj +-250 TJm +(normal) 28.224 Tj +-250 TJm +(operation) 37.6287 Tj +-250 TJm +(with) 17.7135 Tj +-250 TJm +(them.) 22.4159 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 166.564 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-299 TJm +(may) 17.1556 Tj +65 TJm +(,) 2.4907 Tj +-310 TJm +(of) 8.2988 Tj +-299 TJm +(course,) 28.493 Tj +-311 TJm +(change) 28.2141 Tj +-298 TJm +(critical) 27.6661 Tj +-299 TJm +(error) 19.3573 Tj +-298 TJm +(handling) 34.8691 Tj +-299 TJm +(to) 7.7509 Tj +-298 TJm +(suit) 14.396 Tj +-299 TJm +(your) 18.2614 Tj +-298 TJm +(needs.) 25.1755 Tj +-912 TJm +(As) 11.0684 Tj +-298 TJm +(I) 3.3175 Tj +-299 TJm +(said) 16.0497 Tj +-298 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-311 TJm +(critical) 27.6661 Tj +-299 TJm +(errors) 23.2328 Tj +-298 TJm +(indicate) 31.5416 Tj +-299 TJm +(b) 4.9813 Tj +20 TJm +(ugs) 13.8381 Tj +72 154.609 Td +(in) 7.7509 Tj +-263 TJm +(the) 12.1743 Tj +-263 TJm +(library) 26.5603 Tj +-263 TJm +(and) 14.386 Tj +-263 TJm +(should) 26.5703 Tj +-263 TJm +(not) 12.7322 Tj +-263 TJm +(occur) 22.1269 Tj +55 TJm +(.) 2.4907 Tj +-697 TJm +(All) 12.7322 Tj +-263 TJm +("normal") 36.3535 Tj +-263 TJm +(error) 19.3573 Tj +-263 TJm +(situations) 38.1966 Tj +-263 TJm +(are) 12.1643 Tj +-263 TJm +(indicated) 36.5229 Tj +-263 TJm +(via) 12.1743 Tj +-263 TJm +(error) 19.3573 Tj +-263 TJm +(return) 23.7907 Tj +-263 TJm +(codes) 22.6848 Tj +-263 TJm +(from) 19.3673 Tj +-263 TJm +(functions,) 39.5714 Tj +72 142.653 Td +(and) 14.386 Tj +-250 TJm +(can) 13.8281 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(reco) 17.1456 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ered) 17.1456 Tj +-250 TJm +(from.) 21.8579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 107.965 Td +/F116_0 20.6585 Tf +(3.8.) 34.4584 Tj +-278 TJm +(Making) 71.1685 Tj +-278 TJm +(a) 11.4861 Tj +-278 TJm +(Windo) 63.1117 Tj +15 TJm +(ws) 27.5584 Tj +-278 TJm +(DLL) 40.1601 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 86.112 Td +/F122_0 9.9626 Tf +(Ev) 11.0684 Tj +15 TJm +(erything) 33.2053 Tj +-328 TJm +(related) 27.1082 Tj +-327 TJm +(to) 7.7509 Tj +-328 TJm +(W) 9.4047 Tj +40 TJm +(indo) 17.7135 Tj +25 TJm +(ws) 11.0684 Tj +-328 TJm +(has) 13.2801 Tj +-327 TJm +(been) 18.8094 Tj +-328 TJm +(contrib) 28.224 Tj +20 TJm +(uted) 17.1556 Tj +-328 TJm +(by) 9.9626 Tj +-327 TJm +(Y) 7.193 Tj +110 TJm +(oshioka) 30.9936 Tj +-328 TJm +(Tsuneo) 29.3299 Tj +-328 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +378.139 86.112 Td +/F124_0 9.9626 Tf +(tsuneo@rr.iij4u.or.jp) 125.5288 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +503.668 86.112 Td +/F122_0 9.9626 Tf +(\),) 5.8082 Tj +-347 TJm +(so) 8.8568 Tj +-328 TJm +(you) 14.9439 Tj +72 74.157 Td +(should) 26.5703 Tj +-250 TJm +(send) 18.2614 Tj +-250 TJm +(your) 18.2614 Tj +-250 TJm +(queries) 28.772 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(him) 15.5018 Tj +-250 TJm +(\(b) 8.2988 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(perhaps) 30.9837 Tj +-250 TJm +(Cc:) 13.8381 Tj +-310 TJm +(me,) 14.6649 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +287.958 74.157 Td +/F124_0 9.9626 Tf +(jseward@bzip.org) 95.641 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +383.6 74.157 Td +/F122_0 9.9626 Tf +(\).) 5.8082 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 51.071 Td +(29) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 30 33 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +419.067 749.245 Td +/F122_0 9.9626 Tf +(Programming) 54.7943 Tj +-250 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.556 749.245 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(My) 13.8381 Tj +-367 TJm +(v) 4.9813 Tj +25 TJm +(ague) 18.8094 Tj +-367 TJm +(understanding) 56.4481 Tj +-367 TJm +(of) 8.2988 Tj +-367 TJm +(what) 19.3673 Tj +-368 TJm +(to) 7.7509 Tj +-367 TJm +(do) 9.9626 Tj +-367 TJm +(is:) 9.4147 Tj +-544 TJm +(using) 21.589 Tj +-367 TJm +(V) 7.193 Tj +60 TJm +(isual) 18.8194 Tj +-367 TJm +(C++) 17.8829 Tj +-367 TJm +(5.0,) 14.9439 Tj +-397 TJm +(open) 19.3673 Tj +-367 TJm +(the) 12.1743 Tj +-367 TJm +(project) 27.6661 Tj +-367 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +432.966 710.037 Td +/F124_0 9.9626 Tf +(libbz2.dsp) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +492.742 710.037 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-396 TJm +(and) 14.386 Tj +-368 TJm +(b) 4.9813 Tj +20 TJm +(uild.) 17.9925 Tj +72 698.082 Td +(That') 21.579 Tj +55 TJm +(s) 3.8755 Tj +-250 TJm +(all.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 676.164 Td +(If) 6.6351 Tj +-284 TJm +(you) 14.9439 Tj +-284 TJm +(can') 17.1456 Tj +18 TJm +(t) 2.7696 Tj +-285 TJm +(open) 19.3673 Tj +-284 TJm +(the) 12.1743 Tj +-284 TJm +(project) 27.6661 Tj +-284 TJm +(\002le) 12.7322 Tj +-284 TJm +(for) 11.6164 Tj +-285 TJm +(some) 21.031 Tj +-284 TJm +(reason,) 28.493 Tj +-293 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-284 TJm +(a) 4.4234 Tj +-284 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-284 TJm +(one,) 16.8766 Tj +-293 TJm +(naming) 29.8878 Tj +-284 TJm +(these) 20.4731 Tj +-284 TJm +(\002les:) 19.3773 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +424.505 676.164 Td +/F124_0 9.9626 Tf +(blocksort.c) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +490.259 676.164 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +495.666 676.164 Td +/F124_0 9.9626 Tf +(bzlib.c) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +537.509 676.164 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 664.209 Td +/F124_0 9.9626 Tf +(compress.c) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +131.776 664.209 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +136.436 664.209 Td +/F124_0 9.9626 Tf +(crctable.c) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +196.211 664.209 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +200.871 664.209 Td +/F124_0 9.9626 Tf +(decompress.c) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +272.602 664.209 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +277.262 664.209 Td +/F124_0 9.9626 Tf +(huffman.c) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +331.06 664.209 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +335.72 664.209 Td +/F124_0 9.9626 Tf +(randtable.c) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +403.562 664.209 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +420.037 664.209 Td +/F124_0 9.9626 Tf +(libbz2.def) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +479.812 664.209 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-593 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-210 TJm +(will) 15.5018 Tj +-209 TJm +(also) 16.0497 Tj +72 652.254 Td +(need) 18.8094 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(name) 21.579 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(header) 26.5503 Tj +-250 TJm +(\002les) 16.6077 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +190.415 652.254 Td +/F124_0 9.9626 Tf +(bzlib.h) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.749 652.254 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +251.625 652.254 Td +/F124_0 9.9626 Tf +(bzlib_private.h) 89.6634 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +341.289 652.254 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 630.336 Td +(If) 6.6351 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(don') 18.2614 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(VC++,) 27.5665 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(may) 17.1556 Tj +-250 TJm +(need) 18.8094 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(de\002ne) 24.3486 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(proprocessor) 51.4568 Tj +-250 TJm +(symbol) 29.3399 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.634 630.336 Td +/F124_0 9.9626 Tf +(_WIN32) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +399.5 630.336 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 608.418 Td +(Finally) 28.234 Tj +65 TJm +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.568 608.418 Td +/F124_0 9.9626 Tf +(dlltest.c) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +160.856 608.418 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(sample) 28.224 Tj +-250 TJm +(program) 33.7533 Tj +-250 TJm +(using) 21.589 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(DLL.) 21.8579 Tj +-500 TJm +(It) 6.0871 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(project) 27.6661 Tj +-250 TJm +(\002le,) 15.2229 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +388.58 608.418 Td +/F124_0 9.9626 Tf +(dlltest.dsp) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +454.334 608.418 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 586.501 Td +(If) 6.6351 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(just) 14.396 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(mak) 17.1556 Tj +10 TJm +(e\002le) 17.1556 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(V) 7.193 Tj +60 TJm +(isual) 18.8194 Tj +-250 TJm +(C,) 9.1357 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(look) 17.7135 Tj +-250 TJm +(at) 7.193 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +292.212 586.501 Td +/F124_0 9.9626 Tf +(makefile.msc) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +363.943 586.501 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 564.583 Td +(Be) 11.0684 Tj +-291 TJm +(a) 4.4234 Tj +15 TJm +(w) 7.193 Tj +10 TJm +(are) 12.1643 Tj +-291 TJm +(that) 14.9439 Tj +-291 TJm +(if) 6.0871 Tj +-291 TJm +(you) 14.9439 Tj +-291 TJm +(compile) 32.0995 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +192.07 564.583 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +224.857 564.583 Td +/F122_0 9.9626 Tf +(itself) 19.9252 Tj +-291 TJm +(on) 9.9626 Tj +-291 TJm +(W) 9.4047 Tj +40 TJm +(in32,) 20.2042 Tj +-301 TJm +(you) 14.9439 Tj +-291 TJm +(must) 19.3773 Tj +-291 TJm +(set) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +346.842 564.583 Td +/F124_0 9.9626 Tf +(BZ_UNIX) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +391.584 564.583 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-291 TJm +(0) 4.9813 Tj +-291 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +427.4 564.583 Td +/F124_0 9.9626 Tf +(BZ_LCCWIN32) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +496.052 564.583 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-291 TJm +(1,) 7.472 Tj +-301 TJm +(in) 7.7509 Tj +-291 TJm +(the) 12.1743 Tj +72 552.628 Td +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +87.223 552.628 Td +/F124_0 9.9626 Tf +(bzip2.c) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +129.066 552.628 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(before) 25.4445 Tj +-250 TJm +(compiling.) 42.899 Tj +-310 TJm +(Otherwise) 40.9463 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(resulting) 34.8691 Tj +-250 TJm +(binary) 25.4544 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(on') 13.2801 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-250 TJm +(correctly) 35.4071 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 530.71 Td +(I) 3.3175 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(en') 12.7222 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(tried) 18.2614 Tj +-250 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(stuf) 14.9439 Tj +25 TJm +(f) 3.3175 Tj +-250 TJm +(myself,) 29.6088 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(looks) 21.589 Tj +-250 TJm +(plausible.) 38.4656 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(30) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 31 34 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 701.916 Td +/F116_0 24.7902 Tf +(4.) 20.675 Tj +-278 TJm +(Miscellanea) 139.1722 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 656.35 Td +/F116_0 17.2154 Tf +(T) 10.5186 Tj +80 TJm +(ab) 20.0904 Tj +10 TJm +(le) 14.3576 Tj +-278 TJm +(of) 16.2513 Tj +-278 TJm +(Contents) 74.5943 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 635.788 Td +/F122_0 9.9626 Tf +(4.1.) 14.9439 Tj +-310 TJm +(Limitations) 45.9475 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(format) 26.5603 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +269.154 635.788 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 635.788 Td +/F122_0 9.9626 Tf +(31) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 623.832 Td +(4.2.) 14.9439 Tj +-310 TJm +(Portability) 42.0721 Tj +-250 TJm +(issues) 23.8007 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +172.03 623.832 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 623.832 Td +/F122_0 9.9626 Tf +(32) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 611.877 Td +(4.3.) 14.9439 Tj +-310 TJm +(Reporting) 39.8504 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ugs) 13.8381 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +166.115 611.877 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 611.877 Td +/F122_0 9.9626 Tf +(32) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 599.922 Td +(4.4.) 14.9439 Tj +-310 TJm +(Did) 14.9439 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(get) 12.1743 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(right) 18.8194 Tj +-250 TJm +(package?) 37.0609 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +229.109 599.922 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 599.922 Td +/F122_0 9.9626 Tf +(33) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 587.967 Td +(4.5.) 14.9439 Tj +-310 TJm +(Further) 29.3299 Tj +-250 TJm +(Reading) 33.2053 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +170.361 587.967 Td +/F230_0 9.9626 Tf +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-166 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +-167 TJm +(:) 2.7676 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +506.127 587.967 Td +/F122_0 9.9626 Tf +(34) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 556.086 Td +(These) 23.7907 Tj +-250 TJm +(are) 12.1643 Tj +-250 TJm +(just) 14.396 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(random) 30.4357 Tj +-250 TJm +(thoughts) 34.3212 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(mine.) 22.4159 Tj +-620 TJm +(Y) 7.193 Tj +110 TJm +(our) 13.2801 Tj +-250 TJm +(mileage) 31.5416 Tj +-250 TJm +(may) 17.1556 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(ary) 12.7222 Tj +65 TJm +(.) 2.4907 Tj +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 521.334 Td +/F116_0 20.6585 Tf +(4.1.) 34.4584 Tj +-278 TJm +(Limitations) 110.1924 Tj +-278 TJm +(of) 19.5016 Tj +-278 TJm +(the) 30.9878 Tj +-278 TJm +(compressed) 121.6992 Tj +-278 TJm +(\002le) 29.8515 Tj +-278 TJm +(f) 6.8793 Tj +20 TJm +(ormat) 57.3893 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 499.416 Td +/F124_0 9.9626 Tf +(bzip2-1.0.X) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +137.753 499.416 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +143.405 499.416 Td +/F124_0 9.9626 Tf +(0.9.5) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +176.453 499.416 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +194 499.416 Td +/F124_0 9.9626 Tf +(0.9.0) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +227.048 499.416 Td +/F122_0 9.9626 Tf +(use) 13.2801 Tj +-317 TJm +(e) 4.4234 Tj +15 TJm +(xactly) 24.3486 Tj +-318 TJm +(the) 12.1743 Tj +-317 TJm +(same) 20.4731 Tj +-317 TJm +(\002le) 12.7322 Tj +-317 TJm +(format) 26.5603 Tj +-317 TJm +(as) 8.2988 Tj +-318 TJm +(the) 12.1743 Tj +-317 TJm +(original) 30.9936 Tj +-317 TJm +(v) 4.9813 Tj +15 TJm +(ersion,) 26.8392 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +455.801 499.416 Td +/F124_0 9.9626 Tf +(bzip2-0.1) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +509.599 499.416 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1024 TJm +(This) 17.7135 Tj +72 487.461 Td +(decision) 33.2053 Tj +-222 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-222 TJm +(made) 21.579 Tj +-222 TJm +(in) 7.7509 Tj +-221 TJm +(the) 12.1743 Tj +-222 TJm +(interests) 33.2053 Tj +-222 TJm +(of) 8.2988 Tj +-222 TJm +(stability) 32.1095 Tj +65 TJm +(.) 2.4907 Tj +-601 TJm +(Creating) 34.3112 Tj +-222 TJm +(yet) 12.1743 Tj +-222 TJm +(another) 29.8778 Tj +-222 TJm +(incompatible) 52.0247 Tj +-221 TJm +(compressed) 47.0334 Tj +-222 TJm +(\002le) 12.7322 Tj +-222 TJm +(format) 26.5603 Tj +-222 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-222 TJm +(create) 23.7807 Tj +72 475.505 Td +(further) 27.1082 Tj +-250 TJm +(confusion) 39.2925 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(disruption) 40.4083 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(users.) 22.9638 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 453.588 Td +(Ne) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ertheless,) 37.3498 Tj +-234 TJm +(this) 14.396 Tj +-229 TJm +(is) 6.6451 Tj +-230 TJm +(not) 12.7322 Tj +-229 TJm +(a) 4.4234 Tj +-230 TJm +(painless) 32.0995 Tj +-229 TJm +(decision.) 35.696 Tj +-606 TJm +(De) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(elopment) 37.0808 Tj +-230 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-230 TJm +(sinc) 16.0497 Tj +1 TJm +(e) 4.4234 Tj +-230 TJm +(the) 12.1743 Tj +-230 TJm +(release) 27.6562 Tj +-229 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +407.317 453.588 Td +/F124_0 9.9626 Tf +(bzip2-0.1) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +463.402 453.588 Td +/F122_0 9.9626 Tf +(in) 7.7509 Tj +-230 TJm +(August) 28.782 Tj +-229 TJm +(1997) 19.9252 Tj +-230 TJm +(has) 13.2801 Tj +72 441.632 Td +(sho) 13.8381 Tj +25 TJm +(wn) 12.1743 Tj +-226 TJm +(comple) 29.3299 Tj +15 TJm +(xities) 21.589 Tj +-226 TJm +(in) 7.7509 Tj +-225 TJm +(the) 12.1743 Tj +-226 TJm +(\002le) 12.7322 Tj +-226 TJm +(format) 26.5603 Tj +-226 TJm +(which) 24.3486 Tj +-226 TJm +(slo) 11.6264 Tj +25 TJm +(w) 7.193 Tj +-225 TJm +(do) 9.9626 Tj +25 TJm +(wn) 12.1743 Tj +-226 TJm +(decompression) 59.7656 Tj +-226 TJm +(and,) 16.8766 Tj +-231 TJm +(in) 7.7509 Tj +-226 TJm +(retrospect,) 41.7732 Tj +-230 TJm +(are) 12.1643 Tj +-226 TJm +(unnecessary) 48.6872 Tj +65 TJm +(.) 2.4907 Tj +-604 TJm +(These) 23.7907 Tj +-226 TJm +(are:) 14.9339 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 409.752 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 15.4918 Tj +-287 TJm +(run-length) 41.5042 Tj +-287 TJm +(encoder) 31.5316 Tj +40 TJm +(,) 2.4907 Tj +-297 TJm +(which) 24.3486 Tj +-287 TJm +(is) 6.6451 Tj +-288 TJm +(the) 12.1743 Tj +-287 TJm +(\002rst) 15.5018 Tj +-287 TJm +(of) 8.2988 Tj +-287 TJm +(the) 12.1743 Tj +-288 TJm +(compression) 50.3609 Tj +-287 TJm +(transformations,) 65.0259 Tj +-296 TJm +(is) 6.6451 Tj +-288 TJm +(entirely) 30.4357 Tj +-287 TJm +(irrele) 21.0211 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant.) 14.6649 Tj +-843 TJm +(The) 15.4918 Tj +-288 TJm +(original) 30.9936 Tj +81.963 397.797 Td +(purpose) 31.5416 Tj +-322 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-322 TJm +(to) 7.7509 Tj +-322 TJm +(protect) 27.6661 Tj +-321 TJm +(the) 12.1743 Tj +-322 TJm +(sorting) 27.6761 Tj +-322 TJm +(algorithm) 38.7446 Tj +-322 TJm +(from) 19.3673 Tj +-322 TJm +(the) 12.1743 Tj +-322 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-322 TJm +(w) 7.193 Tj +10 TJm +(orst) 14.9439 Tj +-321 TJm +(case) 17.1456 Tj +-322 TJm +(input:) 23.2527 Tj +-454 TJm +(a) 4.4234 Tj +-322 TJm +(string) 22.6948 Tj +-322 TJm +(of) 8.2988 Tj +-322 TJm +(repeated) 33.7433 Tj +-321 TJm +(symbols.) 35.706 Tj +-1052 TJm +(But) 14.396 Tj +81.963 385.842 Td +(algorithm) 38.7446 Tj +-229 TJm +(steps) 19.9252 Tj +-230 TJm +(Q6a) 16.5977 Tj +-229 TJm +(and) 14.386 Tj +-230 TJm +(Q6b) 17.1556 Tj +-229 TJm +(in) 7.7509 Tj +-230 TJm +(t) 2.7696 Tj +1 TJm +(he) 9.4047 Tj +-230 TJm +(original) 30.9936 Tj +-229 TJm +(Burro) 23.2427 Tj +25 TJm +(ws-Wheeler) 48.1293 Tj +-230 TJm +(technical) 35.965 Tj +-229 TJm +(report) 23.7907 Tj +-230 TJm +(\(SRC-124\)) 43.7259 Tj +-229 TJm +(sho) 13.8381 Tj +25 TJm +(w) 7.193 Tj +-229 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-230 TJm +(repeats) 28.2141 Tj +-229 TJm +(can) 13.8281 Tj +-230 TJm +(be) 9.4047 Tj +81.963 373.886 Td +(handled) 31.5416 Tj +-250 TJm +(without) 30.4457 Tj +-250 TJm +(dif) 11.0684 Tj +25 TJm +(\002culty) 25.4644 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(block) 22.1369 Tj +-250 TJm +(sorting.) 30.1668 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 351.969 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 15.4918 Tj +-315 TJm +(randomisation) 57.006 Tj +-314 TJm +(mechanism) 45.3796 Tj +-315 TJm +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-314 TJm +(really) 22.6848 Tj +-315 TJm +(need) 18.8094 Tj +-315 TJm +(to) 7.7509 Tj +-314 TJm +(be) 9.4047 Tj +-315 TJm +(there.) 22.4059 Tj +-1007 TJm +(Udi) 14.9439 Tj +-315 TJm +(Manber) 30.9837 Tj +-315 TJm +(and) 14.386 Tj +-314 TJm +(Gene) 21.0211 Tj +-315 TJm +(Myers) 25.4544 Tj +-314 TJm +(published) 38.7446 Tj +-315 TJm +(a) 4.4234 Tj +-315 TJm +(suf) 12.1743 Tj +25 TJm +(\002x) 10.5205 Tj +81.963 340.013 Td +(array) 20.4632 Tj +-266 TJm +(construction) 49.2551 Tj +-266 TJm +(algorithm) 38.7446 Tj +-266 TJm +(a) 4.4234 Tj +-266 TJm +(fe) 7.7409 Tj +25 TJm +(w) 7.193 Tj +-266 TJm +(years) 21.0211 Tj +-266 TJm +(back,) 21.3 Tj +-269 TJm +(which) 24.3486 Tj +-266 TJm +(can) 13.8281 Tj +-266 TJm +(be) 9.4047 Tj +-266 TJm +(emplo) 24.9065 Tj +10 TJm +(yed) 14.386 Tj +-266 TJm +(to) 7.7509 Tj +-266 TJm +(sort) 14.9439 Tj +-266 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-266 TJm +(block,) 24.6275 Tj +-270 TJm +(no) 9.9626 Tj +-266 TJm +(matter) 25.4544 Tj +-266 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-266 TJm +(repetiti) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +81.963 328.058 Td +(in) 7.7509 Tj +-257 TJm +(O\(N) 17.7035 Tj +-257 TJm +(log) 12.7322 Tj +-257 TJm +(N\)) 10.5105 Tj +-258 TJm +(time.) 20.2042 Tj +-663 TJm +(Subsequent) 45.9375 Tj +-257 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-257 TJm +(by) 9.9626 Tj +-257 TJm +(K) 7.193 Tj +15 TJm +(unihik) 25.4644 Tj +10 TJm +(o) 4.9813 Tj +-257 TJm +(Sadakane) 38.1767 Tj +-258 TJm +(has) 13.2801 Tj +-257 TJm +(produced) 37.0708 Tj +-257 TJm +(a) 4.4234 Tj +-257 TJm +(deri) 15.4918 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ati) 9.9626 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-257 TJm +(O\(N) 17.7035 Tj +-257 TJm +(\(log) 16.0497 Tj +-258 TJm +(N\)^2\)) 23.4818 Tj +-257 TJm +(algorithm) 38.7446 Tj +81.963 316.103 Td +(which) 24.3486 Tj +-250 TJm +(usually) 28.782 Tj +-250 TJm +(outperforms) 48.6972 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(Manber) 30.9837 Tj +20 TJm +(-Myers) 28.772 Tj +-250 TJm +(algorithm.) 41.2352 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 294.185 Td +(I) 3.3175 Tj +-274 TJm +(could) 22.1369 Tj +-274 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-274 TJm +(changed) 33.1954 Tj +-274 TJm +(to) 7.7509 Tj +-274 TJm +(Sadakane') 41.4942 Tj +55 TJm +(s) 3.8755 Tj +-274 TJm +(algorithm,) 41.2352 Tj +-280 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-274 TJm +(I) 3.3175 Tj +-274 TJm +(\002nd) 15.5018 Tj +-274 TJm +(it) 5.5392 Tj +-274 TJm +(to) 7.7509 Tj +-274 TJm +(be) 9.4047 Tj +-274 TJm +(slo) 11.6264 Tj +25 TJm +(wer) 14.9339 Tj +-274 TJm +(than) 17.1556 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +391.407 294.185 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +421.295 294.185 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +55 TJm +(s) 3.8755 Tj +-274 TJm +(e) 4.4234 Tj +15 TJm +(xisting) 27.1282 Tj +-274 TJm +(algorithm) 38.7446 Tj +-274 TJm +(for) 11.6164 Tj +-274 TJm +(most) 19.3773 Tj +81.963 282.23 Td +(inputs,) 26.8492 Tj +-399 TJm +(and) 14.386 Tj +-369 TJm +(the) 12.1743 Tj +-369 TJm +(randomisation) 57.006 Tj +-370 TJm +(me) 12.1743 Tj +1 TJm +(chanism) 33.2053 Tj +-370 TJm +(protects) 31.5416 Tj +-369 TJm +(adequately) 43.158 Tj +-369 TJm +(ag) 9.4047 Tj +5 TJm +(ainst) 18.8194 Tj +-369 TJm +(bad) 14.386 Tj +-369 TJm +(cases.) 23.5117 Tj +-1336 TJm +(I) 3.3175 Tj +-369 TJm +(didn') 21.031 Tj +18 TJm +(t) 2.7696 Tj +-369 TJm +(think) 20.4831 Tj +-369 TJm +(it) 5.5392 Tj +-369 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-369 TJm +(a) 4.4234 Tj +-370 TJm +(good) 19.9252 Tj +81.963 270.275 Td +(tradeof) 28.2141 Tj +25 TJm +(f) 3.3175 Tj +-282 TJm +(to) 7.7509 Tj +-283 TJm +(mak) 17.1556 Tj +10 TJm +(e.) 6.914 Tj +-815 TJm +(P) 5.5392 Tj +15 TJm +(artly) 18.2614 Tj +-282 TJm +(this) 14.396 Tj +-282 TJm +(is) 6.6451 Tj +-283 TJm +(due) 14.386 Tj +-282 TJm +(to) 7.7509 Tj +-283 TJm +(the) 12.1743 Tj +-282 TJm +(f) 3.3175 Tj +10 TJm +(act) 11.6164 Tj +-283 TJm +(that) 14.9439 Tj +-282 TJm +(I) 3.3175 Tj +-283 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-282 TJm +(not) 12.7322 Tj +-282 TJm +(\003ooded) 29.8878 Tj +-283 TJm +(with) 17.7135 Tj +-282 TJm +(email) 22.1369 Tj +-283 TJm +(complaints) 43.7259 Tj +-282 TJm +(about) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +479.557 270.275 Td +/F124_0 9.9626 Tf +(bzip2-0.1) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +533.355 270.275 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +55 TJm +(s) 3.8755 Tj +81.963 258.32 Td +(performance) 50.341 Tj +-250 TJm +(on) 9.9626 Tj +-250 TJm +(repetiti) 28.224 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(data,) 19.0883 Tj +-250 TJm +(so) 8.8568 Tj +-250 TJm +(perhaps) 30.9837 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(isn') 14.9439 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(problem) 33.2053 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(real) 14.9339 Tj +-250 TJm +(inputs.) 26.8492 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 236.402 Td +(Probably) 35.9749 Tj +-314 TJm +(the) 12.1743 Tj +-315 TJm +(best) 16.0497 Tj +-314 TJm +(long-term) 39.2925 Tj +-314 TJm +(solution,) 34.6001 Tj +-331 TJm +(and) 14.386 Tj +-314 TJm +(the) 12.1743 Tj +-314 TJm +(one) 14.386 Tj +-315 TJm +(I) 3.3175 Tj +-314 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-314 TJm +(incorporated) 50.351 Tj +-315 TJm +(into) 15.5018 Tj +-314 TJm +(0.9.5) 19.9252 Tj +-314 TJm +(and) 14.386 Tj +-315 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-330 TJm +(is) 6.6451 Tj +-315 TJm +(to) 7.7509 Tj +-314 TJm +(use) 13.2801 Tj +-314 TJm +(the) 12.1743 Tj +-315 TJm +(e) 4.4234 Tj +15 TJm +(xisting) 27.1282 Tj +81.963 224.447 Td +(sorting) 27.6761 Tj +-206 TJm +(algorithm) 38.7446 Tj +-206 TJm +(initially) 31.0036 Tj +65 TJm +(,) 2.4907 Tj +-215 TJm +(and) 14.386 Tj +-207 TJm +(f) 3.3175 Tj +10 TJm +(all) 9.9626 Tj +-206 TJm +(back) 18.8094 Tj +-206 TJm +(to) 7.7509 Tj +-206 TJm +(a) 4.4234 Tj +-207 TJm +(O\(N) 17.7035 Tj +-206 TJm +(\(log) 16.0497 Tj +-206 TJm +(N\)^2\)) 23.4818 Tj +-206 TJm +(algorithm) 38.7446 Tj +-206 TJm +(if) 6.0871 Tj +-207 TJm +(the) 12.1743 Tj +-206 TJm +(standard) 33.7533 Tj +-206 TJm +(algorithm) 38.7446 Tj +-206 TJm +(gets) 16.0497 Tj +-206 TJm +(into) 15.5018 Tj +-207 TJm +(dif) 11.0684 Tj +25 TJm +(\002culties.) 34.0422 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 202.529 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(The) 15.4918 Tj +-321 TJm +(compressed) 47.0334 Tj +-322 TJm +(\002le) 12.7322 Tj +-321 TJm +(format) 26.5603 Tj +-321 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-322 TJm +(ne) 9.4047 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-321 TJm +(designed) 35.417 Tj +-321 TJm +(to) 7.7509 Tj +-322 TJm +(be) 9.4047 Tj +-321 TJm +(handled) 31.5416 Tj +-321 TJm +(by) 9.9626 Tj +-322 TJm +(a) 4.4234 Tj +-321 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-339 TJm +(and) 14.386 Tj +-322 TJm +(I) 3.3175 Tj +-321 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-321 TJm +(had) 14.386 Tj +-322 TJm +(to) 7.7509 Tj +-321 TJm +(jump) 20.4831 Tj +-321 TJm +(though) 27.6761 Tj +-322 TJm +(some) 21.031 Tj +81.963 190.574 Td +(hoops) 23.8007 Tj +-299 TJm +(t) 2.7696 Tj +1 TJm +(o) 4.9813 Tj +-299 TJm +(produce) 32.0895 Tj +-299 TJm +(an) 9.4047 Tj +-298 TJm +(ef) 7.7409 Tj +25 TJm +(\002cient) 24.9065 Tj +-299 TJm +(implementation) 62.5452 Tj +-298 TJm +(of) 8.2988 Tj +-299 TJm +(decompression.) 62.2563 Tj +-911 TJm +(It') 9.4047 Tj +55 TJm +(s) 3.8755 Tj +-298 TJm +(a) 4.4234 Tj +-299 TJm +(bit) 10.5205 Tj +-298 TJm +(hairy) 20.4731 Tj +65 TJm +(.) 2.4907 Tj +-912 TJm +(T) 6.0871 Tj +35 TJm +(ry) 8.2988 Tj +-298 TJm +(passing) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +468.269 190.574 Td +/F124_0 9.9626 Tf +(decompress.c) 71.7307 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 178.619 Td +/F122_0 9.9626 Tf +(through) 30.9936 Tj +-289 TJm +(the) 12.1743 Tj +-289 TJm +(C) 6.6451 Tj +-289 TJm +(preprocessor) 50.8989 Tj +-289 TJm +(and) 14.386 Tj +-289 TJm +(you') 18.2614 Tj +10 TJm +(ll) 5.5392 Tj +-289 TJm +(see) 12.7222 Tj +-289 TJm +(what) 19.3673 Tj +-289 TJm +(I) 3.3175 Tj +-289 TJm +(mean.) 24.0696 Tj +-854 TJm +(Much) 23.2427 Tj +-289 TJm +(of) 8.2988 Tj +-289 TJm +(this) 14.396 Tj +-289 TJm +(comple) 29.3299 Tj +15 TJm +(xity) 15.5018 Tj +-289 TJm +(could) 22.1369 Tj +-289 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-289 TJm +(been) 18.8094 Tj +-289 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +20 TJm +(oided) 22.1369 Tj +-289 TJm +(if) 6.0871 Tj +-289 TJm +(the) 12.1743 Tj +81.963 166.663 Td +(compressed) 47.0334 Tj +-250 TJm +(size) 15.4918 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(each) 18.2515 Tj +-250 TJm +(block) 22.1369 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(recorded) 34.8492 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(data) 16.5977 Tj +-250 TJm +(stream.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 144.746 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(An) 12.1743 Tj +-250 TJm +(Adler) 22.6848 Tj +20 TJm +(-32) 13.2801 Tj +-250 TJm +(checksum,) 42.3311 Tj +-250 TJm +(rather) 23.2328 Tj +-250 TJm +(than) 17.1556 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(CRC32) 29.8978 Tj +-250 TJm +(checksum,) 42.3311 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(aster) 18.8094 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(compute.) 36.8018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 122.828 Td +(It) 6.0871 Tj +-349 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-349 TJm +(be) 9.4047 Tj +-349 TJm +(f) 3.3175 Tj +10 TJm +(air) 10.5105 Tj +-348 TJm +(to) 7.7509 Tj +-349 TJm +(say) 13.2801 Tj +-349 TJm +(that) 14.9439 Tj +-349 TJm +(the) 12.1743 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +201.979 122.828 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +235.342 122.828 Td +/F122_0 9.9626 Tf +(format) 26.5603 Tj +-349 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-349 TJm +(frozen) 25.4445 Tj +-348 TJm +(before) 25.4445 Tj +-349 TJm +(I) 3.3175 Tj +-349 TJm +(properly) 33.7533 Tj +-349 TJm +(and) 14.386 Tj +-349 TJm +(fully) 18.8194 Tj +-349 TJm +(understood) 44.2738 Tj +-348 TJm +(the) 12.1743 Tj +-349 TJm +(performance) 50.341 Tj +72 110.873 Td +(consequences) 54.7744 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(doing) 22.6948 Tj +-250 TJm +(so.) 11.3474 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 88.955 Td +(Impro) 24.3486 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(ements) 28.224 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(I) 3.3175 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(as) 8.2988 Tj +-250 TJm +(able) 16.5977 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(incorporate) 45.3697 Tj +-250 TJm +(into) 15.5018 Tj +-250 TJm +(0.9.0,) 22.4159 Tj +-250 TJm +(despite) 28.224 Tj +-250 TJm +(using) 21.589 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(same) 20.4731 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(format,) 29.0509 Tj +-250 TJm +(are:) 14.9339 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(31) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 32 35 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +498.728 749.245 Td +/F122_0 9.9626 Tf +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +74.491 710.037 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Single) 25.4644 Tj +-234 TJm +(array) 20.4632 Tj +-234 TJm +(implementation) 62.5452 Tj +-235 TJm +(of) 8.2988 Tj +-234 TJm +(the) 12.1743 Tj +-234 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(erse) 16.0398 Tj +-234 TJm +(BWT) 22.1369 Tj +74 TJm +(.) 2.4907 Tj +-469 TJm +(This) 17.7135 Tj +-234 TJm +(signi\002cantly) 49.2651 Tj +-235 TJm +(speeds) 26.5603 Tj +-234 TJm +(up) 9.9626 Tj +-234 TJm +(decompression,) 62.2563 Tj +-237 TJm +(presumably) 46.4855 Tj +-235 TJm +(because) 31.5316 Tj +81.963 698.082 Td +(it) 5.5392 Tj +-250 TJm +(reduces) 30.4258 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(number) 30.4357 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(cache) 22.6749 Tj +-250 TJm +(misses.) 29.0609 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 676.164 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(F) 5.5392 Tj +15 TJm +(aster) 18.8094 Tj +-338 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(erse) 16.0398 Tj +-338 TJm +(MTF) 20.4831 Tj +-338 TJm +(transform) 38.7346 Tj +-338 TJm +(for) 11.6164 Tj +-339 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-338 TJm +(MTF) 20.4831 Tj +-338 TJm +(v) 4.9813 Tj +25 TJm +(alues.) 22.9638 Tj +-574 TJm +(The) 15.4918 Tj +-338 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-339 TJm +(implementation) 62.5452 Tj +-338 TJm +(is) 6.6451 Tj +-338 TJm +(based) 22.6848 Tj +-338 TJm +(on) 9.9626 Tj +-338 TJm +(the) 12.1743 Tj +-338 TJm +(notion) 25.4644 Tj +-339 TJm +(of) 8.2988 Tj +-338 TJm +(sliding) 27.1282 Tj +81.963 664.209 Td +(blocks) 26.0123 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(v) 4.9813 Tj +25 TJm +(alues.) 22.9638 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 642.291 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +82.461 642.291 Td +/F124_0 9.9626 Tf +(bzip2-0.9.0) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +151.137 642.291 Td +/F122_0 9.9626 Tf +(no) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-293 TJm +(reads) 21.0211 Tj +-294 TJm +(and) 14.386 Tj +-293 TJm +(writes) 24.3486 Tj +-293 TJm +(\002les) 16.6077 Tj +-294 TJm +(with) 17.7135 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +279.657 642.291 Td +/F124_0 9.9626 Tf +(fread) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +312.467 642.291 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +329.776 642.291 Td +/F124_0 9.9626 Tf +(fwrite) 35.8654 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +365.642 642.291 Td +/F122_0 9.9626 Tf +(;) 2.7696 Tj +-315 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-293 TJm +(0.1) 12.4533 Tj +-294 TJm +(used) 18.2614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +440.214 642.291 Td +/F124_0 9.9626 Tf +(putc) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +467.047 642.291 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +484.356 642.291 Td +/F124_0 9.9626 Tf +(getc) 23.9102 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +508.266 642.291 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-880 TJm +(Duh!) 20.4731 Tj +81.963 630.336 Td +(W) 9.4047 Tj +80 TJm +(ell,) 12.4533 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(li) 5.5392 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(learn.) 22.4059 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 608.418 Td +(Further) 29.3299 Tj +-304 TJm +(ahead,) 25.7234 Tj +-318 TJm +(it) 5.5392 Tj +-305 TJm +(w) 7.193 Tj +10 TJm +(ould) 17.7135 Tj +-304 TJm +(be) 9.4047 Tj +-305 TJm +(nice) 16.5977 Tj +-304 TJm +(to) 7.7509 Tj +-305 TJm +(be) 9.4047 Tj +-304 TJm +(able) 16.5977 Tj +-304 TJm +(to) 7.7509 Tj +-305 TJm +(do) 9.9626 Tj +-304 TJm +(random) 30.4357 Tj +-305 TJm +(access) 25.4445 Tj +-304 TJm +(into) 15.5018 Tj +-305 TJm +(\002les.) 19.0983 Tj +-946 TJm +(This) 17.7135 Tj +-305 TJm +(will) 15.5018 Tj +-304 TJm +(require) 28.2141 Tj +-304 TJm +(some) 21.031 Tj +-305 TJm +(careful) 27.6562 Tj +-304 TJm +(design) 26.0123 Tj +-305 TJm +(of) 8.2988 Tj +72 596.463 Td +(compressed) 47.0334 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(formats.) 32.9264 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 561.71 Td +/F116_0 20.6585 Tf +(4.2.) 34.4584 Tj +-278 TJm +(P) 13.7792 Tj +40 TJm +(or) 20.6585 Tj +-20 TJm +(tability) 66.5823 Tj +-278 TJm +(issues) 64.3099 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 539.792 Td +/F122_0 9.9626 Tf +(After) 21.0211 Tj +-250 TJm +(some) 21.031 Tj +-250 TJm +(consideration,) 56.1691 Tj +-250 TJm +(I) 3.3175 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(decided) 30.9837 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(use) 13.2801 Tj +-250 TJm +(GNU) 21.579 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +303.231 539.792 Td +/F124_0 9.9626 Tf +(autoconf) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +353.542 539.792 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-250 TJm +(con\002gure) 37.6287 Tj +-250 TJm +(0.9.5) 19.9252 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(1.0.) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 517.875 Td +/F124_0 9.9626 Tf +(autoconf) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +119.821 517.875 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-502 TJm +(admirable) 39.8404 Tj +-452 TJm +(and) 14.386 Tj +-452 TJm +(w) 7.193 Tj +10 TJm +(onderful) 33.7533 Tj +-452 TJm +(though) 27.6761 Tj +-452 TJm +(it) 5.5392 Tj +-452 TJm +(is,) 9.1357 Tj +-502 TJm +(mainly) 27.6761 Tj +-452 TJm +(assists) 25.4644 Tj +-452 TJm +(with) 17.7135 Tj +-452 TJm +(portability) 41.5142 Tj +-452 TJm +(problems) 37.0808 Tj +-452 TJm +(between) 33.1954 Tj +-452 TJm +(Unix-lik) 33.7633 Tj +10 TJm +(e) 4.4234 Tj +72 505.92 Td +(platforms.) 40.6773 Tj +-1398 TJm +(But) 14.396 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +144.784 505.92 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +178.455 505.92 Td +/F122_0 9.9626 Tf +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-380 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-379 TJm +(much) 22.1369 Tj +-380 TJm +(in) 7.7509 Tj +-380 TJm +(the) 12.1743 Tj +-379 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-380 TJm +(of) 8.2988 Tj +-380 TJm +(portability) 41.5142 Tj +-379 TJm +(problems) 37.0808 Tj +-380 TJm +(on) 9.9626 Tj +-380 TJm +(Unix;) 22.6948 Tj +-444 TJm +(most) 19.3773 Tj +-380 TJm +(of) 8.2988 Tj +-380 TJm +(the) 12.1743 Tj +-379 TJm +(dif) 11.0684 Tj +25 TJm +(\002culties) 31.5516 Tj +72 493.964 Td +(appear) 26.5503 Tj +-297 TJm +(when) 21.579 Tj +-296 TJm +(p) 4.9813 Tj +-1 TJm +(or) 8.2988 Tj +1 TJm +(ting) 15.5018 Tj +-297 TJm +(to) 7.7509 Tj +-297 TJm +(the) 12.1743 Tj +-297 TJm +(Mac,) 20.1942 Tj +-308 TJm +(or) 8.2988 Tj +-297 TJm +(to) 7.7509 Tj +-297 TJm +(Microsoft') 42.61 Tj +55 TJm +(s) 3.8755 Tj +-296 TJm +(operating) 37.6287 Tj +-297 TJm +(systems.) 34.0422 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +361.339 493.964 Td +/F124_0 9.9626 Tf +(autoconf) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +412.116 493.964 Td +/F122_0 9.9626 Tf +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-297 TJm +(help) 17.1556 Tj +-297 TJm +(in) 7.7509 Tj +-296 TJm +(those) 21.031 Tj +-297 TJm +(cases,) 23.5117 Tj +-308 TJm +(and) 14.386 Tj +72 482.009 Td +(brings) 24.9065 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(whole) 24.3486 Tj +-250 TJm +(load) 17.1556 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-250 TJm +(comple) 29.3299 Tj +15 TJm +(xity) 15.5018 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 460.091 Td +(Most) 20.4831 Tj +-392 TJm +(people) 26.5603 Tj +-392 TJm +(should) 26.5703 Tj +-393 TJm +(be) 9.4047 Tj +-392 TJm +(able) 16.5977 Tj +-392 TJm +(to) 7.7509 Tj +-392 TJm +(compile) 32.0995 Tj +-393 TJm +(the) 12.1743 Tj +-392 TJm +(library) 26.5603 Tj +-392 TJm +(and) 14.386 Tj +-392 TJm +(program) 33.7533 Tj +-393 TJm +(under) 22.6848 Tj +-392 TJm +(Unix) 19.9252 Tj +-392 TJm +(straight) 29.8878 Tj +-392 TJm +(out-of-the-box,) 60.5925 Tj +-428 TJm +(so) 8.8568 Tj +-392 TJm +(to) 7.7509 Tj +-393 TJm +(speak,) 25.1755 Tj +72 448.136 Td +(especially) 39.8404 Tj +-250 TJm +(if) 6.0871 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(v) 4.9813 Tj +15 TJm +(ersion) 24.3486 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(GNU) 21.579 Tj +-250 TJm +(C) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable.) 29.0509 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 426.218 Td +(There) 23.2328 Tj +-259 TJm +(are) 12.1643 Tj +-258 TJm +(a) 4.4234 Tj +-259 TJm +(couple) 26.5603 Tj +-258 TJm +(of) 8.2988 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +159.561 426.218 Td +/F124_0 9.9626 Tf +(__inline__) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +221.913 426.218 Td +/F122_0 9.9626 Tf +(directi) 25.4544 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-259 TJm +(in) 7.7509 Tj +-258 TJm +(the) 12.1743 Tj +-259 TJm +(code.) 21.3 Tj +-671 TJm +(GNU) 21.579 Tj +-259 TJm +(C) 6.6451 Tj +-258 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +352.587 426.218 Td +/F124_0 9.9626 Tf +(gcc) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +370.52 426.218 Td +/F122_0 9.9626 Tf +(\)) 3.3175 Tj +-259 TJm +(should) 26.5703 Tj +-258 TJm +(be) 9.4047 Tj +-259 TJm +(able) 16.5977 Tj +-258 TJm +(to) 7.7509 Tj +-259 TJm +(handle) 26.5603 Tj +-258 TJm +(them.) 22.4159 Tj +-672 TJm +(If) 6.6351 Tj +-259 TJm +(you') 18.2614 Tj +50 TJm +(re) 7.7409 Tj +72 414.263 Td +(not) 12.7322 Tj +-279 TJm +(using) 21.589 Tj +-279 TJm +(GNU) 21.579 Tj +-279 TJm +(C,) 9.1357 Tj +-279 TJm +(your) 18.2614 Tj +-279 TJm +(C) 6.6451 Tj +-279 TJm +(compiler) 35.417 Tj +-279 TJm +(shouldn') 34.8691 Tj +18 TJm +(t) 2.7696 Tj +-279 TJm +(see) 12.7222 Tj +-279 TJm +(them) 19.9252 Tj +-279 TJm +(at) 7.193 Tj +-279 TJm +(all.) 12.4533 Tj +-794 TJm +(If) 6.6351 Tj +-279 TJm +(your) 18.2614 Tj +-279 TJm +(compiler) 35.417 Tj +-279 TJm +(does,) 20.7521 Tj +-286 TJm +(for) 11.6164 Tj +-279 TJm +(some) 21.031 Tj +-279 TJm +(reason,) 28.493 Tj +-287 TJm +(see) 12.7222 Tj +-279 TJm +(them) 19.9252 Tj +-279 TJm +(and) 14.386 Tj +72 402.308 Td +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-283 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-283 TJm +(them,) 22.4159 Tj +-291 TJm +(just) 14.396 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +164.167 402.308 Td +/F124_0 9.9626 Tf +(#define) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-283 TJm +(__inline__) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +271.425 402.308 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-283 TJm +(be) 9.4047 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +294.22 402.308 Td +/F124_0 9.9626 Tf +(/) 5.9776 Tj +300.197 400.565 Td +(*) 5.9776 Tj +-600 TJm +(*) 5.9776 Tj +318.13 402.308 Td +(/) 5.9776 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +324.108 402.308 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-818 TJm +(One) 16.5977 Tj +-283 TJm +(easy) 17.7035 Tj +-283 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-283 TJm +(to) 7.7509 Tj +-283 TJm +(do) 9.9626 Tj +-283 TJm +(this) 14.396 Tj +-283 TJm +(is) 6.6451 Tj +-283 TJm +(to) 7.7509 Tj +-283 TJm +(compile) 32.0995 Tj +-283 TJm +(with) 17.7135 Tj +-283 TJm +(the) 12.1743 Tj +-283 TJm +(\003ag) 14.9439 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 390.353 Td +/F124_0 9.9626 Tf +(-D__inline__=) 77.7083 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +149.709 390.353 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-250 TJm +(which) 24.3486 Tj +-250 TJm +(should) 26.5703 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(understood) 44.2738 Tj +-250 TJm +(by) 9.9626 Tj +-250 TJm +(most) 19.3773 Tj +-250 TJm +(Unix) 19.9252 Tj +-250 TJm +(compilers.) 41.7831 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 368.435 Td +(If) 6.6351 Tj +-321 TJm +(you) 14.9439 Tj +-321 TJm +(still) 14.9539 Tj +-322 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-321 TJm +(dif) 11.0684 Tj +25 TJm +(\002culties,) 34.0422 Tj +-339 TJm +(try) 11.0684 Tj +-321 TJm +(compiling) 40.4083 Tj +-321 TJm +(with) 17.7135 Tj +-322 TJm +(t) 2.7696 Tj +1 TJm +(he) 9.4047 Tj +-322 TJm +(macro) 24.8965 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +310.295 368.435 Td +/F124_0 9.9626 Tf +(BZ_STRICT_ANSI) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +397.181 368.435 Td +/F122_0 9.9626 Tf +(de\002ned.) 31.8205 Tj +-524 TJm +(This) 17.7135 Tj +-321 TJm +(should) 26.5703 Tj +-321 TJm +(enable) 26.0024 Tj +-321 TJm +(you) 14.9439 Tj +-322 TJm +(to) 7.7509 Tj +72 356.48 Td +(b) 4.9813 Tj +20 TJm +(uild) 15.5018 Tj +-321 TJm +(the) 12.1743 Tj +-321 TJm +(library) 26.5603 Tj +-322 TJm +(in) 7.7509 Tj +-321 TJm +(a) 4.4234 Tj +-321 TJm +(strictly) 27.6761 Tj +-321 TJm +(ANSI) 23.2427 Tj +-321 TJm +(compliant) 39.8504 Tj +-322 TJm +(en) 9.4047 Tj +40 TJm +(vironment.) 43.4469 Tj +-1047 TJm +(Building) 34.8791 Tj +-321 TJm +(the) 12.1743 Tj +-321 TJm +(program) 33.7533 Tj +-322 TJm +(itself) 19.9252 Tj +-321 TJm +(lik) 10.5205 Tj +10 TJm +(e) 4.4234 Tj +-321 TJm +(this) 14.396 Tj +-321 TJm +(is) 6.6451 Tj +-321 TJm +(dangerous) 40.9463 Tj +-322 TJm +(and) 14.386 Tj +72 344.525 Td +(not) 12.7322 Tj +-260 TJm +(supported,) 41.7831 Tj +-263 TJm +(since) 20.4731 Tj +-260 TJm +(you) 14.9439 Tj +-260 TJm +(remo) 20.4731 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +204.498 344.525 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +234.386 344.525 Td +/F122_0 9.9626 Tf +(') 3.3175 Tj +55 TJm +(s) 3.8755 Tj +-260 TJm +(checks) 27.1082 Tj +-260 TJm +(ag) 9.4047 Tj +5 TJm +(ainst) 18.8194 Tj +-260 TJm +(compressing) 50.3609 Tj +-261 TJm +(directories,) 44.5428 Tj +-262 TJm +(symbolic) 36.5329 Tj +-261 TJm +(li) 5.5392 Tj +1 TJm +(nks,) 16.3287 Tj +-263 TJm +(de) 9.4047 Tj +25 TJm +(vices,) 22.9638 Tj +-263 TJm +(and) 14.386 Tj +-260 TJm +(other) 20.4731 Tj +72 332.57 Td +(not-really-a-\002le) 62.5253 Tj +-250 TJm +(entities.) 31.2726 Tj +-620 TJm +(This) 17.7135 Tj +-250 TJm +(could) 22.1369 Tj +-250 TJm +(cause) 22.1269 Tj +-250 TJm +(\002lesystem) 40.4083 Tj +-250 TJm +(corruption!) 44.8217 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 310.652 Td +(One) 16.5977 Tj +-392 TJm +(other) 20.4731 Tj +-391 TJm +(thing:) 23.2527 Tj +-594 TJm +(if) 6.0871 Tj +-391 TJm +(you) 14.9439 Tj +-392 TJm +(create) 23.7807 Tj +-391 TJm +(a) 4.4234 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +210.879 310.652 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +244.669 310.652 Td +/F122_0 9.9626 Tf +(binary) 25.4544 Tj +-392 TJm +(for) 11.6164 Tj +-391 TJm +(public) 24.9065 Tj +-392 TJm +(distrib) 25.4644 Tj +20 TJm +(ution,) 22.9738 Tj +-427 TJm +(please) 24.8965 Tj +-392 TJm +(consider) 33.7533 Tj +-391 TJm +(linking) 28.234 Tj +-392 TJm +(it) 5.5392 Tj +-391 TJm +(statically) 35.9749 Tj +-392 TJm +(\() 3.3175 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +522.067 310.652 Td +/F124_0 9.9626 Tf +(gcc) 17.9327 Tj +72 298.697 Td +(-static) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +113.843 298.697 Td +/F122_0 9.9626 Tf +(\).) 5.8082 Tj +-620 TJm +(This) 17.7135 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +20 TJm +(oids) 16.6077 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(sorts) 18.8194 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(library-v) 34.8591 Tj +15 TJm +(ersion) 24.3486 Tj +-250 TJm +(issues) 23.8007 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(others) 24.3486 Tj +-250 TJm +(may) 17.1556 Tj +-250 TJm +(encounter) 39.2825 Tj +-250 TJm +(later) 17.7035 Tj +-250 TJm +(on.) 12.4533 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 276.779 Td +(If) 6.6351 Tj +-296 TJm +(you) 14.9439 Tj +-296 TJm +(b) 4.9813 Tj +20 TJm +(uild) 15.5018 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +122.708 276.779 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +155.545 276.779 Td +/F122_0 9.9626 Tf +(on) 9.9626 Tj +-296 TJm +(W) 9.4047 Tj +40 TJm +(in32,) 20.2042 Tj +-307 TJm +(you) 14.9439 Tj +-296 TJm +(must) 19.3773 Tj +-296 TJm +(set) 11.0684 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +254.965 276.779 Td +/F124_0 9.9626 Tf +(BZ_UNIX) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +299.756 276.779 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-296 TJm +(0) 4.9813 Tj +-296 TJm +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +335.72 276.779 Td +/F124_0 9.9626 Tf +(BZ_LCCWIN32) 65.7532 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +404.422 276.779 Td +/F122_0 9.9626 Tf +(to) 7.7509 Tj +-296 TJm +(1,) 7.472 Tj +-307 TJm +(in) 7.7509 Tj +-296 TJm +(the) 12.1743 Tj +-296 TJm +(\002le) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +467.159 276.779 Td +/F124_0 9.9626 Tf +(bzip2.c) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +509.002 276.779 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-307 TJm +(before) 25.4445 Tj +72 264.824 Td +(compiling.) 42.899 Tj +-310 TJm +(Otherwise) 40.9463 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(resulting) 34.8691 Tj +-250 TJm +(binary) 25.4544 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(on') 13.2801 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ork) 13.2801 Tj +-250 TJm +(correctly) 35.4071 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 230.071 Td +/F116_0 20.6585 Tf +(4.3.) 34.4584 Tj +-278 TJm +(Repor) 59.6824 Tj +-20 TJm +(ting) 37.867 Tj +-278 TJm +(b) 12.6223 Tj +20 TJm +(ugs) 36.7308 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 208.153 Td +/F122_0 9.9626 Tf +(I) 3.3175 Tj +-228 TJm +(tried) 18.2614 Tj +-228 TJm +(pretty) 23.2427 Tj +-228 TJm +(hard) 17.7035 Tj +-228 TJm +(to) 7.7509 Tj +-228 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-228 TJm +(sure) 16.5977 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +196.25 208.153 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +228.409 208.153 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-228 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-228 TJm +(free,) 17.9725 Tj +-232 TJm +(both) 17.7135 Tj +-228 TJm +(by) 9.9626 Tj +-228 TJm +(design) 26.0123 Tj +-228 TJm +(and) 14.386 Tj +-228 TJm +(by) 9.9626 Tj +-228 TJm +(testing.) 29.0609 Tj +-605 TJm +(Hopefully) 40.3983 Tj +-228 TJm +(you') 18.2614 Tj +10 TJm +(ll) 5.5392 Tj +-228 TJm +(ne) 9.4047 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +-228 TJm +(need) 18.8094 Tj +-228 TJm +(to) 7.7509 Tj +-228 TJm +(read) 17.1456 Tj +72 196.198 Td +(this) 14.396 Tj +-250 TJm +(section) 28.224 Tj +-250 TJm +(for) 11.6164 Tj +-250 TJm +(real.) 17.4246 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 174.28 Td +(Ne) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ertheless,) 37.3498 Tj +-313 TJm +(if) 6.0871 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +137.751 174.28 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +170.634 174.28 Td +/F122_0 9.9626 Tf +(dies) 16.0497 Tj +-301 TJm +(with) 17.7135 Tj +-300 TJm +(a) 4.4234 Tj +-301 TJm +(se) 8.2988 Tj +15 TJm +(gmentation) 44.8317 Tj +-300 TJm +(f) 3.3175 Tj +10 TJm +(ault,) 17.4346 Tj +-314 TJm +(a) 4.4234 Tj +-300 TJm +(b) 4.9813 Tj +20 TJm +(us) 8.8568 Tj +-301 TJm +(error) 19.3573 Tj +-300 TJm +(or) 8.2988 Tj +-301 TJm +(an) 9.4047 Tj +-301 TJm +(internal) 30.4357 Tj +-300 TJm +(assertion) 35.417 Tj +-301 TJm +(f) 3.3175 Tj +10 TJm +(ailure,) 25.1755 Tj +-313 TJm +(it) 5.5392 Tj +-301 TJm +(wil) 12.7322 Tj +1 TJm +(l) 2.7696 Tj +-301 TJm +(ask) 13.2801 Tj +-301 TJm +(you) 14.9439 Tj +-300 TJm +(to) 7.7509 Tj +72 162.325 Td +(email) 22.1369 Tj +-242 TJm +(me) 12.1743 Tj +-243 TJm +(a) 4.4234 Tj +-242 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-243 TJm +(report.) 26.2813 Tj +-615 TJm +(Experience) 44.8118 Tj +-242 TJm +(from) 19.3673 Tj +-243 TJm +(years) 21.0211 Tj +-242 TJm +(of) 8.2988 Tj +-242 TJm +(feedback) 35.955 Tj +-243 TJm +(of) 8.2988 Tj +-242 TJm +(bzip2) 22.1369 Tj +-243 TJm +(users) 20.4731 Tj +-242 TJm +(indicates) 35.417 Tj +-243 TJm +(that) 14.9439 Tj +-242 TJm +(almost) 26.5703 Tj +-242 TJm +(all) 9.9626 Tj +-243 TJm +(these) 20.4731 Tj +-242 TJm +(problems) 37.0808 Tj +-243 TJm +(can) 13.8281 Tj +72 150.37 Td +(be) 9.4047 Tj +-250 TJm +(traced) 24.3386 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(either) 22.6848 Tj +-250 TJm +(compiler) 35.417 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ugs) 13.8381 Tj +-250 TJm +(or) 8.2988 Tj +-250 TJm +(hardw) 24.8965 Tj +10 TJm +(are) 12.1643 Tj +-250 TJm +(problems.) 39.5714 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(32) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 33 36 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +498.728 749.245 Td +/F122_0 9.9626 Tf +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +74.491 710.037 Td +/F122_0 9.9626 Tf +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(Recompile) 43.1679 Tj +-322 TJm +(the) 12.1743 Tj +-322 TJm +(program) 33.7533 Tj +-322 TJm +(with) 17.7135 Tj +-322 TJm +(no) 9.9626 Tj +-322 TJm +(optimisat) 37.0908 Tj +1 TJm +(ion,) 15.2229 Tj +-340 TJm +(and) 14.386 Tj +-322 TJm +(see) 12.7222 Tj +-322 TJm +(if) 6.0871 Tj +-322 TJm +(it) 5.5392 Tj +-322 TJm +(w) 7.193 Tj +10 TJm +(orks.) 19.6462 Tj +-1052 TJm +(And/or) 28.224 Tj +-322 TJm +(try) 11.0684 Tj +-322 TJm +(a) 4.4234 Tj +-321 TJm +(dif) 11.0684 Tj +25 TJm +(ferent) 23.2328 Tj +-322 TJm +(compiler) 35.417 Tj +55 TJm +(.) 2.4907 Tj +-1052 TJm +(I) 3.3175 Tj +-322 TJm +(heard) 22.1269 Tj +-322 TJm +(all) 9.9626 Tj +81.963 698.082 Td +(sorts) 18.8194 Tj +-309 TJm +(of) 8.2988 Tj +-310 TJm +(stories) 26.0123 Tj +-310 TJm +(about) 22.1369 Tj +-309 TJm +(v) 4.9813 Tj +25 TJm +(arious) 24.3486 Tj +-310 TJm +(\003a) 9.9626 Tj +20 TJm +(v) 4.9813 Tj +20 TJm +(ours) 17.1556 Tj +-309 TJm +(of) 8.2988 Tj +-310 TJm +(GNU) 21.579 Tj +-309 TJm +(C) 6.6451 Tj +-310 TJm +(\(and) 17.7035 Tj +-309 TJm +(other) 20.4731 Tj +-310 TJm +(compilers\)) 42.61 Tj +-309 TJm +(generating) 42.0521 Tj +-310 TJm +(bad) 14.386 Tj +-310 TJm +(code) 18.8094 Tj +-309 TJm +(for) 11.6164 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +471.527 698.082 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +501.415 698.082 Td +/F122_0 9.9626 Tf +(,) 2.4907 Tj +-324 TJm +(and) 14.386 Tj +-310 TJm +(I') 6.6351 Tj +50 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +81.963 686.127 Td +(run) 13.2801 Tj +-250 TJm +(across) 24.8965 Tj +-250 TJm +(tw) 9.9626 Tj +10 TJm +(o) 4.9813 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xamples) 33.2053 Tj +-250 TJm +(myself.) 29.6088 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 664.209 Td +(2.7.X) 22.1369 Tj +-299 TJm +(v) 4.9813 Tj +15 TJm +(ersions) 28.224 Tj +-300 TJm +(of) 8.2988 Tj +-299 TJm +(GNU) 21.579 Tj +-299 TJm +(C) 6.6451 Tj +-300 TJm +(are) 12.1643 Tj +-299 TJm +(kno) 14.9439 Tj +25 TJm +(wn) 12.1743 Tj +-300 TJm +(to) 7.7509 Tj +-299 TJm +(generate) 33.7433 Tj +-299 TJm +(bad) 14.386 Tj +-300 TJm +(code) 18.8094 Tj +-299 TJm +(from) 19.3673 Tj +-299 TJm +(time) 17.7135 Tj +-300 TJm +(to) 7.7509 Tj +-299 TJm +(time,) 20.2042 Tj +-312 TJm +(at) 7.193 Tj +-299 TJm +(high) 17.7135 Tj +-300 TJm +(optimisation) 49.823 Tj +-299 TJm +(le) 7.193 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(els.) 13.5591 Tj +-916 TJm +(If) 6.6351 Tj +-300 TJm +(you) 14.9439 Tj +81.963 652.254 Td +(get) 12.1743 Tj +-328 TJm +(problems,) 39.5714 Tj +-348 TJm +(try) 11.0684 Tj +-328 TJm +(using) 21.589 Tj +-329 TJm +(the) 12.1743 Tj +-328 TJm +(\003ags) 18.8194 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +217.176 652.254 Td +/F124_0 9.9626 Tf +(-O2) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-328 TJm +(-fomit-frame-pointer) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-329 TJm +(-fno-strength-reduce) 119.5512 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +480.753 652.254 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-1090 TJm +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-328 TJm +(should) 26.5703 Tj +81.963 640.299 Td +(speci\002cally) 45.3796 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +129.832 640.299 Td +/F621_0 9.9626 Tf +(not) 12.7322 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +145.055 640.299 Td +/F122_0 9.9626 Tf +(use) 13.2801 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +160.826 640.299 Td +/F124_0 9.9626 Tf +(-funroll-loops) 83.6858 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +244.512 640.299 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 618.381 Td +(Y) 7.193 Tj +110 TJm +(ou) 9.9626 Tj +-240 TJm +(may) 17.1556 Tj +-240 TJm +(notice) 24.3486 Tj +-241 TJm +(that) 14.9439 Tj +-240 TJm +(the) 12.1743 Tj +-240 TJm +(Mak) 18.2614 Tj +10 TJm +(e\002le) 17.1556 Tj +-240 TJm +(runs) 17.1556 Tj +-240 TJm +(six) 11.6264 Tj +-241 TJm +(tests) 17.7135 Tj +-240 TJm +(as) 8.2988 Tj +-240 TJm +(part) 15.4918 Tj +-240 TJm +(of) 8.2988 Tj +-240 TJm +(the) 12.1743 Tj +-241 TJm +(b) 4.9813 Tj +20 TJm +(uild) 15.5018 Tj +-240 TJm +(process.) 32.3685 Tj +-613 TJm +(If) 6.6351 Tj +-240 TJm +(the) 12.1743 Tj +-241 TJm +(program) 33.7533 Tj +-240 TJm +(passes) 25.4544 Tj +-240 TJm +(all) 9.9626 Tj +-240 TJm +(of) 8.2988 Tj +-240 TJm +(these,) 22.9638 Tj +-242 TJm +(it') 8.8568 Tj +55 TJm +(s) 3.8755 Tj +-241 TJm +(a) 4.4234 Tj +81.963 606.426 Td +(pretty) 23.2427 Tj +-250 TJm +(good) 19.9252 Tj +-250 TJm +(\(b) 8.2988 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(not) 12.7322 Tj +-250 TJm +(100%\)) 26.5603 Tj +-250 TJm +(indication) 39.8504 Tj +-250 TJm +(that) 14.9439 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(compiler) 35.417 Tj +-250 TJm +(has) 13.2801 Tj +-250 TJm +(done) 19.3673 Tj +-250 TJm +(its) 9.4147 Tj +-250 TJm +(job) 12.7322 Tj +-250 TJm +(correctly) 35.4071 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 584.508 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +91.723 584.508 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +124.239 584.508 Td +/F122_0 9.9626 Tf +(crashes) 29.3199 Tj +-264 TJm +(randomly) 38.1866 Tj +65 TJm +(,) 2.4907 Tj +-267 TJm +(and) 14.386 Tj +-264 TJm +(the) 12.1743 Tj +-263 TJm +(crashes) 29.3199 Tj +-264 TJm +(are) 12.1643 Tj +-264 TJm +(not) 12.7322 Tj +-263 TJm +(repeatable,) 43.427 Tj +-268 TJm +(you) 14.9439 Tj +-263 TJm +(may) 17.1556 Tj +-264 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-264 TJm +(a) 4.4234 Tj +-264 TJm +(\003ak) 14.9439 Tj +15 TJm +(y) 4.9813 Tj +-263 TJm +(memory) 33.2053 Tj +-264 TJm +(subsystem.) 44.0048 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +510.112 584.508 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 572.553 Td +/F122_0 9.9626 Tf +(really) 22.6848 Tj +-274 TJm +(hammers) 36.5229 Tj +-274 TJm +(your) 18.2614 Tj +-274 TJm +(memory) 33.2053 Tj +-274 TJm +(hierarch) 32.6375 Tj +5 TJm +(y) 4.9813 Tj +65 TJm +(,) 2.4907 Tj +-280 TJm +(and) 14.386 Tj +-274 TJm +(if) 6.0871 Tj +-274 TJm +(it') 8.8568 Tj +55 TJm +(s) 3.8755 Tj +-274 TJm +(a) 4.4234 Tj +-274 TJm +(bit) 10.5205 Tj +-274 TJm +(mar) 15.4918 Tj +18 TJm +(ginal,) 22.4159 Tj +-280 TJm +(you) 14.9439 Tj +-274 TJm +(may) 17.1556 Tj +-274 TJm +(get) 12.1743 Tj +-274 TJm +(these) 20.4731 Tj +-274 TJm +(problems.) 39.5714 Tj +-764 TJm +(Ditto) 20.4831 Tj +-274 TJm +(if) 6.0871 Tj +-274 TJm +(your) 18.2614 Tj +-274 TJm +(disk) 16.6077 Tj +81.963 560.598 Td +(or) 8.2988 Tj +-250 TJm +(I/O) 13.2801 Tj +-250 TJm +(subsystem) 41.5142 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(slo) 11.6264 Tj +25 TJm +(wly) 14.9439 Tj +-250 TJm +(f) 3.3175 Tj +10 TJm +(ailing.) 25.1855 Tj +-620 TJm +(Y) 7.193 Tj +111 TJm +(up,) 12.4533 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(really) 22.6848 Tj +-250 TJm +(does) 18.2614 Tj +-250 TJm +(happen.) 31.2626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +81.963 538.68 Td +(T) 6.0871 Tj +35 TJm +(ry) 8.2988 Tj +-250 TJm +(using) 21.589 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(dif) 11.0684 Tj +25 TJm +(ferent) 23.2328 Tj +-250 TJm +(machine) 33.7533 Tj +-250 TJm +(of) 8.2988 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(same) 20.4731 Tj +-250 TJm +(type,) 19.6462 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(see) 12.7222 Tj +-250 TJm +(if) 6.0871 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(can) 13.8281 Tj +-250 TJm +(repeat) 24.3386 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(problem.) 35.696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +74.491 516.762 Td +(\225) 3.4869 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +-450 TJm +(This) 17.7135 Tj +-252 TJm +(isn') 14.9439 Tj +18 TJm +(t) 2.7696 Tj +-251 TJm +(really) 22.6848 Tj +-252 TJm +(a) 4.4234 Tj +-252 TJm +(b) 4.9813 Tj +20 TJm +(ug,) 12.4533 Tj +-252 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-251 TJm +(...) 7.472 Tj +-315 TJm +(If) 6.6351 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +209.383 516.762 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +241.778 516.762 Td +/F122_0 9.9626 Tf +(tells) 16.6077 Tj +-252 TJm +(you) 14.9439 Tj +-251 TJm +(your) 18.2614 Tj +-252 TJm +(\002le) 12.7322 Tj +-252 TJm +(is) 6.6451 Tj +-251 TJm +(corrupted) 38.1767 Tj +-252 TJm +(on) 9.9626 Tj +-252 TJm +(decompression,) 62.2563 Tj +-252 TJm +(and) 14.386 Tj +-251 TJm +(you) 14.9439 Tj +-252 TJm +(obtained) 34.3112 Tj +-252 TJm +(the) 12.1743 Tj +-251 TJm +(\002le) 12.7322 Tj +81.963 504.807 Td +(via) 12.1743 Tj +-281 TJm +(FTP) 17.1656 Tj +111 TJm +(,) 2.4907 Tj +-282 TJm +(there) 19.9152 Tj +-282 TJm +(is) 6.6451 Tj +-281 TJm +(a) 4.4234 Tj +-282 TJm +(possibility) 41.5241 Tj +-281 TJm +(that) 14.9439 Tj +-282 TJm +(you) 14.9439 Tj +-281 TJm +(for) 11.6164 Tj +18 TJm +(got) 12.7322 Tj +-282 TJm +(to) 7.7509 Tj +-281 TJm +(tell) 12.7322 Tj +-282 TJm +(FTP) 17.1656 Tj +-281 TJm +(to) 7.7509 Tj +-282 TJm +(do) 9.9626 Tj +-281 TJm +(a) 4.4234 Tj +-282 TJm +(binary) 25.4544 Tj +-281 TJm +(mode) 22.1369 Tj +-282 TJm +(transfer) 30.4258 Tj +55 TJm +(.) 2.4907 Tj +-809 TJm +(That) 18.2614 Tj +-282 TJm +(absolutely) 40.9562 Tj +-281 TJm +(will) 15.5018 Tj +-282 TJm +(cause) 22.1269 Tj +81.963 492.852 Td +(the) 12.1743 Tj +-250 TJm +(\002le) 12.7322 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(be) 9.4047 Tj +-250 TJm +(non-decompressible.) 82.7294 Tj +-620 TJm +(Y) 7.193 Tj +110 TJm +(ou') 13.2801 Tj +10 TJm +(ll) 5.5392 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(transfer) 30.4258 Tj +-250 TJm +(it) 5.5392 Tj +-250 TJm +(ag) 9.4047 Tj +5 TJm +(ain.) 14.6649 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 470.934 Td +(If) 6.6351 Tj +-235 TJm +(you') 18.2614 Tj +50 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-236 TJm +(inc) 12.1743 Tj +1 TJm +(o) 4.9813 Tj +-1 TJm +(r) 3.3175 Tj +1 TJm +(po) 9.9626 Tj +-1 TJm +(r) 3.3175 Tj +1 TJm +(ated) 16.5977 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +163.036 470.934 Td +/F124_0 9.9626 Tf +(libbzip2) 47.8205 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +213.2 470.934 Td +/F122_0 9.9626 Tf +(into) 15.5018 Tj +-235 TJm +(your) 18.2614 Tj +-236 TJm +(o) 4.9813 Tj +25 TJm +(wn) 12.1743 Tj +-235 TJm +(program) 33.7533 Tj +-235 TJm +(and) 14.386 Tj +-235 TJm +(are) 12.1643 Tj +-236 TJm +(gett) 14.9439 Tj +1 TJm +(ing) 12.7322 Tj +-236 TJm +(problems,) 39.5714 Tj +-238 TJm +(please,) 27.3872 Tj +-238 TJm +(please,) 27.3872 Tj +-238 TJm +(please,) 27.3872 Tj +-238 TJm +(check) 23.2328 Tj +-236 TJm +(that) 14.9439 Tj +72 458.979 Td +(the) 12.1743 Tj +-242 TJm +(parameters) 43.7059 Tj +-243 TJm +(you) 14.9439 Tj +-242 TJm +(are) 12.1643 Tj +-242 TJm +(passing) 29.8878 Tj +-243 TJm +(in) 7.7509 Tj +-242 TJm +(calls) 18.2614 Tj +-242 TJm +(to) 7.7509 Tj +-243 TJm +(the) 12.1743 Tj +-242 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-244 TJm +(are) 12.1643 Tj +-242 TJm +(correct,) 30.1468 Tj +-244 TJm +(and) 14.386 Tj +-243 TJm +(in) 7.7509 Tj +-242 TJm +(accordance) 44.8018 Tj +-242 TJm +(with) 17.7135 Tj +-243 TJm +(what) 19.3673 Tj +-242 TJm +(the) 12.1743 Tj +-242 TJm +(documentation) 59.2177 Tj +-243 TJm +(says) 17.1556 Tj +72 447.024 Td +(is) 6.6451 Tj +-250 TJm +(allo) 14.9439 Tj +25 TJm +(w) 7.193 Tj +10 TJm +(able.) 19.0883 Tj +-310 TJm +(I) 3.3175 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(tried) 18.2614 Tj +-250 TJm +(to) 7.7509 Tj +-250 TJm +(mak) 17.1556 Tj +10 TJm +(e) 4.4234 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(library) 26.5603 Tj +-250 TJm +(rob) 13.2801 Tj +20 TJm +(ust) 11.6264 Tj +-250 TJm +(ag) 9.4047 Tj +5 TJm +(ainst) 18.8194 Tj +-250 TJm +(such) 18.2614 Tj +-250 TJm +(problems,) 39.5714 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-250 TJm +(I'm) 14.386 Tj +-250 TJm +(sure) 16.5977 Tj +-250 TJm +(I) 3.3175 Tj +-250 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(en') 12.7222 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(succeeded.) 43.427 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 425.106 Td +(Finally) 28.234 Tj +65 TJm +(,) 2.4907 Tj +-324 TJm +(if) 6.0871 Tj +-310 TJm +(the) 12.1743 Tj +-309 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-309 TJm +(comments) 40.9562 Tj +-310 TJm +(don') 18.2614 Tj +18 TJm +(t) 2.7696 Tj +-309 TJm +(help,) 19.6462 Tj +-324 TJm +(you') 18.2614 Tj +10 TJm +(ll) 5.5392 Tj +-310 TJm +(ha) 9.4047 Tj +20 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-309 TJm +(to) 7.7509 Tj +-309 TJm +(send) 18.2614 Tj +-310 TJm +(me) 12.1743 Tj +-309 TJm +(a) 4.4234 Tj +-309 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-310 TJm +(report.) 26.2813 Tj +-976 TJm +(No) 12.1743 Tj +25 TJm +(w) 7.193 Tj +65 TJm +(,) 2.4907 Tj +-324 TJm +(it') 8.8568 Tj +55 TJm +(s) 3.8755 Tj +-310 TJm +(just) 14.396 Tj +-309 TJm +(amazing) 33.7533 Tj +-309 TJm +(ho) 9.9626 Tj +25 TJm +(w) 7.193 Tj +-310 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +72 413.151 Td +(people) 26.5603 Tj +-250 TJm +(will) 15.5018 Tj +-250 TJm +(send) 18.2614 Tj +-250 TJm +(me) 12.1743 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(b) 4.9813 Tj +20 TJm +(ug) 9.9626 Tj +-250 TJm +(report) 23.7907 Tj +-250 TJm +(saying) 26.0123 Tj +-250 TJm +(something) 41.5142 Tj +-250 TJm +(lik) 10.5205 Tj +10 TJm +(e:) 7.193 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 386.087] cm +0 0 468 23.91 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 401.629 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +-426 TJm +(crashed) 41.8429 Tj +-426 TJm +(with) 23.9102 Tj +-426 TJm +(segmentation) 71.7307 Tj +-426 TJm +(fault) 29.8878 Tj +-426 TJm +(on) 11.9551 Tj +-426 TJm +(my) 11.9551 Tj +-426 TJm +(machine) 41.8429 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 364.169 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +-241 TJm +(absolutely) 40.9562 Tj +-241 TJm +(nothing) 30.4457 Tj +-241 TJm +(el) 7.193 Tj +1 TJm +(se.) 10.7895 Tj +-614 TJm +(Needless) 35.965 Tj +-241 TJm +(to) 7.7509 Tj +-241 TJm +(say) 13.2801 Tj +65 TJm +(,) 2.4907 Tj +-243 TJm +(a) 4.4234 Tj +-241 TJm +(such) 18.2614 Tj +-240 TJm +(a) 4.4234 Tj +-241 TJm +(report) 23.7907 Tj +-241 TJm +(is) 6.6451 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +324.681 364.169 Td +/F621_0 9.9626 Tf +(totally) 25.4644 Tj +55 TJm +(,) 2.4907 Tj +-243 TJm +(utterly) 26.0123 Tj +55 TJm +(,) 2.4907 Tj +-242 TJm +(completely) 43.158 Tj +-241 TJm +(and) 14.9439 Tj +-241 TJm +(compr) 25.4544 Tj +37 TJm +(ehensively) 41.4942 Tj +-241 TJm +(100%) 23.2427 Tj +72 352.214 Td +(useless;) 31.5416 Tj +-257 TJm +(a) 4.9813 Tj +-255 TJm +(waste) 22.6948 Tj +-255 TJm +(of) 7.7509 Tj +-255 TJm +(your) 18.2614 Tj +-255 TJm +(time) 17.1556 Tj +10 TJm +(,) 2.4907 Tj +-256 TJm +(my) 11.6164 Tj +-255 TJm +(time) 17.1556 Tj +10 TJm +(,) 2.4907 Tj +-256 TJm +(and) 14.9439 Tj +-255 TJm +(net) 12.1743 Tj +-255 TJm +(bandwidth) 42.0721 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +302.574 352.214 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-650 TJm +(W) 9.4047 Tj +40 TJm +(ith) 10.5205 Tj +-254 TJm +(no) 9.9626 Tj +-255 TJm +(details) 26.0123 Tj +-255 TJm +(at) 7.193 Tj +-255 TJm +(all,) 12.4533 Tj +-256 TJm +(there') 23.2328 Tj +55 TJm +(s) 3.8755 Tj +-255 TJm +(no) 9.9626 Tj +-255 TJm +(w) 7.193 Tj +10 TJm +(ay) 9.4047 Tj +-255 TJm +(I) 3.3175 Tj +-255 TJm +(can) 13.8281 Tj +-255 TJm +(possibly) 33.2153 Tj +-255 TJm +(be) 9.4047 Tj +15 TJm +(gin) 12.7322 Tj +72 340.259 Td +(to) 7.7509 Tj +-250 TJm +(\002gure) 23.2427 Tj +-250 TJm +(out) 12.7322 Tj +-250 TJm +(what) 19.3673 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(problem) 33.2053 Tj +-250 TJm +(is.) 9.1357 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 318.341 Td +(The) 15.4918 Tj +-309 TJm +(rules) 19.3673 Tj +-309 TJm +(of) 8.2988 Tj +-309 TJm +(the) 12.1743 Tj +-310 TJm +(g) 4.9813 Tj +5 TJm +(ame) 16.5977 Tj +-309 TJm +(are:) 14.9339 Tj +-428 TJm +(f) 3.3175 Tj +10 TJm +(acts,) 17.9825 Tj +-324 TJm +(f) 3.3175 Tj +10 TJm +(acts,) 17.9825 Tj +-324 TJm +(f) 3.3175 Tj +10 TJm +(acts.) 17.9825 Tj +-975 TJm +(Don') 20.4731 Tj +18 TJm +(t) 2.7696 Tj +-309 TJm +(omit) 18.2714 Tj +-309 TJm +(them) 19.9252 Tj +-309 TJm +(because) 31.5316 Tj +-309 TJm +("oh,) 16.518 Tj +-324 TJm +(the) 12.1743 Tj +15 TJm +(y) 4.9813 Tj +-309 TJm +(w) 7.193 Tj +10 TJm +(on') 13.2801 Tj +18 TJm +(t) 2.7696 Tj +-309 TJm +(be) 9.4047 Tj +-310 TJm +(rele) 14.9339 Tj +25 TJm +(v) 4.9813 Tj +25 TJm +(ant".) 18.7297 Tj +-974 TJm +(At) 9.9626 Tj +-310 TJm +(the) 12.1743 Tj +-309 TJm +(bare) 17.1456 Tj +72 306.386 Td +(minimum:) 41.5241 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.949 0.949 0.9765] sc +/DeviceRGB {} CS +[0.949 0.949 0.9765] SC +q +[1 0 0 1 72 245.514] cm +0 0 468 59.776 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 296.922 Td +/F124_0 9.9626 Tf +(Machine) 41.8429 Tj +-426 TJm +(type.) 29.8878 Tj +-852 TJm +(Operating) 53.798 Tj +-426 TJm +(system) 35.8654 Tj +-426 TJm +(version.) 47.8205 Tj +90 284.967 Td +(Exact) 29.8878 Tj +-426 TJm +(version) 41.8429 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(bzip2) 29.8878 Tj +-426 TJm +(\(do) 17.9327 Tj +-426 TJm +(bzip2) 29.8878 Tj +-426 TJm +(-V\).) 23.9102 Tj +90 273.011 Td +(Exact) 29.8878 Tj +-426 TJm +(version) 41.8429 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compiler) 47.8205 Tj +-426 TJm +(used.) 29.8878 Tj +90 261.056 Td +(Flags) 29.8878 Tj +-426 TJm +(passed) 35.8654 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(compiler.) 53.798 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 223.597 Td +/F122_0 9.9626 Tf +(Ho) 12.1743 Tj +25 TJm +(we) 11.6164 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(er) 7.7409 Tj +40 TJm +(,) 2.4907 Tj +-254 TJm +(the) 12.1743 Tj +-252 TJm +(most) 19.3773 Tj +-253 TJm +(important) 38.7446 Tj +-253 TJm +(single) 23.8007 Tj +-253 TJm +(thing) 20.4831 Tj +-253 TJm +(t) 2.7696 Tj +1 TJm +(hat) 12.1743 Tj +-253 TJm +(will) 15.5018 Tj +-253 TJm +(help) 17.1556 Tj +-253 TJm +(me) 12.1743 Tj +-253 TJm +(is) 6.6451 Tj +-252 TJm +(the) 12.1743 Tj +-253 TJm +(\002le) 12.7322 Tj +-253 TJm +(that) 14.9439 Tj +-253 TJm +(you) 14.9439 Tj +-253 TJm +(were) 19.3573 Tj +-253 TJm +(trying) 23.8007 Tj +-252 TJm +(to) 7.7509 Tj +-253 TJm +(compress) 37.6287 Tj +-253 TJm +(or) 8.2988 Tj +-253 TJm +(decompress) 47.0334 Tj +72 211.641 Td +(at) 7.193 Tj +-304 TJm +(the) 12.1743 Tj +-305 TJm +(time) 17.7135 Tj +-304 TJm +(the) 12.1743 Tj +-304 TJm +(problem) 33.2053 Tj +-305 TJm +(happened.) 40.6673 Tj +-946 TJm +(W) 9.4047 Tj +40 TJm +(ithout) 23.2527 Tj +-304 TJm +(that,) 17.4346 Tj +-318 TJm +(my) 12.7322 Tj +-305 TJm +(ability) 25.4644 Tj +-304 TJm +(to) 7.7509 Tj +-304 TJm +(do) 9.9626 Tj +-305 TJm +(an) 9.4047 Tj +15 TJm +(ything) 25.4644 Tj +-304 TJm +(more) 20.4731 Tj +-304 TJm +(than) 17.1556 Tj +-305 TJm +(speculate) 37.0708 Tj +-304 TJm +(about) 22.1369 Tj +-304 TJm +(the) 12.1743 Tj +-305 TJm +(cause,) 24.6176 Tj +-318 TJm +(is) 6.6451 Tj +72 199.686 Td +(limited.) 30.7247 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 164.933 Td +/F116_0 20.6585 Tf +(4.4.) 34.4584 Tj +-278 TJm +(Did) 33.2808 Tj +-278 TJm +(y) 11.4861 Tj +25 TJm +(ou) 25.2447 Tj +-278 TJm +(g) 12.6223 Tj +-10 TJm +(et) 18.3654 Tj +-278 TJm +(the) 30.9878 Tj +-278 TJm +(right) 45.9032 Tj +-278 TJm +(pac) 35.5946 Tj +20 TJm +(ka) 22.9723 Tj +10 TJm +(g) 12.6223 Tj +-10 TJm +(e?) 24.1085 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 143.016 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.603 143.016 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-272 TJm +(a) 4.4234 Tj +-273 TJm +(resource) 33.7433 Tj +-272 TJm +(hog.) 17.4346 Tj +-378 TJm +(It) 6.0871 Tj +-272 TJm +(soaks) 22.1369 Tj +-273 TJm +(up) 9.9626 Tj +-272 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-273 TJm +(amounts) 33.7633 Tj +-272 TJm +(of) 8.2988 Tj +-273 TJm +(CPU) 19.3773 Tj +-272 TJm +(c) 4.4234 Tj +15 TJm +(ycles) 20.4731 Tj +-273 TJm +(and) 14.386 Tj +-272 TJm +(memory) 33.2053 Tj +65 TJm +(.) 2.4907 Tj +-755 TJm +(Also,) 21.31 Tj +-278 TJm +(it) 5.5392 Tj +-273 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-272 TJm +(v) 4.9813 Tj +15 TJm +(ery) 12.7222 Tj +-273 TJm +(lar) 10.5105 Tj +18 TJm +(ge) 9.4047 Tj +-272 TJm +(latencies.) 37.3498 Tj +72 131.06 Td +(In) 8.2988 Tj +-251 TJm +(the) 12.1743 Tj +-251 TJm +(w) 7.193 Tj +10 TJm +(orst) 14.9439 Tj +-251 TJm +(case,) 19.6363 Tj +-251 TJm +(you) 14.9439 Tj +-251 TJm +(can) 13.8281 Tj +-251 TJm +(feed) 17.1456 Tj +-251 TJm +(man) 17.1556 Tj +15 TJm +(y) 4.9813 Tj +-251 TJm +(me) 12.1743 Tj +15 TJm +(g) 4.9813 Tj +4 TJm +(abyt) 17.1556 Tj +1 TJm +(es) 8.2988 Tj +-252 TJm +(of) 8.2988 Tj +-251 TJm +(uncompressed) 56.996 Tj +-251 TJm +(data) 16.5977 Tj +-251 TJm +(into) 15.5018 Tj +-251 TJm +(the) 12.1743 Tj +-251 TJm +(library) 26.5603 Tj +-251 TJm +(before) 25.4445 Tj +-251 TJm +(getting) 27.6761 Tj +-251 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-251 TJm +(compressed) 47.0334 Tj +72 119.105 Td +(output,) 27.9551 Tj +-250 TJm +(so) 8.8568 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(probably) 35.417 Tj +-250 TJm +(rules) 19.3673 Tj +-250 TJm +(out) 12.7322 Tj +-250 TJm +(applications) 48.1492 Tj +-250 TJm +(requiring) 36.5229 Tj +-250 TJm +(interacti) 32.6474 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(e) 4.4234 Tj +-250 TJm +(beha) 18.8094 Tj +20 TJm +(viour) 21.031 Tj +55 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 97.187 Td +(These) 23.7907 Tj +-304 TJm +(aren') 20.4632 Tj +18 TJm +(t) 2.7696 Tj +-304 TJm +(f) 3.3175 Tj +10 TJm +(aults) 18.8194 Tj +-304 TJm +(of) 8.2988 Tj +-304 TJm +(my) 12.7322 Tj +-304 TJm +(implementation,) 65.0359 Tj +-317 TJm +(I) 3.3175 Tj +-304 TJm +(hope,) 21.8579 Tj +-318 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-304 TJm +(more) 20.4731 Tj +-304 TJm +(an) 9.4047 Tj +-304 TJm +(intrinsic) 32.6574 Tj +-304 TJm +(property) 33.7533 Tj +-304 TJm +(of) 8.2988 Tj +-304 TJm +(the) 12.1743 Tj +-304 TJm +(Burro) 23.2427 Tj +25 TJm +(ws-Wheeler) 48.1293 Tj +-304 TJm +(transform) 38.7346 Tj +72 85.232 Td +(\(unfortunately\).) 62.8042 Tj +-620 TJm +(Maybe) 27.6661 Tj +-250 TJm +(this) 14.396 Tj +-250 TJm +(isn') 14.9439 Tj +18 TJm +(t) 2.7696 Tj +-250 TJm +(what) 19.3673 Tj +-250 TJm +(you) 14.9439 Tj +-250 TJm +(w) 7.193 Tj +10 TJm +(ant.) 14.6649 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +(33) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 34 37 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +498.728 749.245 Td +/F122_0 9.9626 Tf +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(If) 6.6351 Tj +-275 TJm +(you) 14.9439 Tj +-274 TJm +(w) 7.193 Tj +10 TJm +(ant) 12.1743 Tj +-275 TJm +(a) 4.4234 Tj +-274 TJm +(compressor) 45.9276 Tj +-275 TJm +(and/or) 25.4544 Tj +-275 TJm +(library) 26.5603 Tj +-274 TJm +(which) 24.3486 Tj +-275 TJm +(is) 6.6451 Tj +-274 TJm +(f) 3.3175 Tj +10 TJm +(aster) 18.8094 Tj +40 TJm +(,) 2.4907 Tj +-281 TJm +(uses) 17.1556 Tj +-275 TJm +(less) 14.9439 Tj +-274 TJm +(memory) 33.2053 Tj +-275 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-275 TJm +(gets) 16.0497 Tj +-274 TJm +(pretty) 23.2427 Tj +-275 TJm +(good) 19.9252 Tj +-274 TJm +(compression,) 52.8516 Tj +-281 TJm +(and) 14.386 Tj +-275 TJm +(has) 13.2801 Tj +72 698.082 Td +(minimal) 33.2153 Tj +-288 TJm +(latenc) 23.7907 Tj +15 TJm +(y) 4.9813 Tj +65 TJm +(,) 2.4907 Tj +-297 TJm +(consider) 33.7533 Tj +-288 TJm +(Jean-loup) 38.7346 Tj +-288 TJm +(Gailly') 28.224 Tj +55 TJm +(s) 3.8755 Tj +-288 TJm +(and) 14.386 Tj +-288 TJm +(Mark) 21.579 Tj +-288 TJm +(Adl) 14.9439 Tj +1 TJm +(er') 11.0585 Tj +55 TJm +(s) 3.8755 Tj +-288 TJm +(w) 7.193 Tj +10 TJm +(ork,) 15.7708 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +353.879 698.082 Td +/F124_0 9.9626 Tf +(zlib-1.2.1) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +416.523 698.082 Td +/F122_0 9.9626 Tf +(and) 14.386 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +433.777 698.082 Td +/F124_0 9.9626 Tf +(gzip-1.2.4) 59.7756 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +493.553 698.082 Td +/F122_0 9.9626 Tf +(.) 2.4907 Tj +-847 TJm +(Look) 21.031 Tj +-288 TJm +(for) 11.6164 Tj +72 686.127 Td +(them) 19.9252 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(http://www) 45.3896 Tj +65 TJm +(.zlib) 17.4346 Tj +40 TJm +(.or) 10.7895 Tj +18 TJm +(g) 4.9813 Tj +-250 TJm +(and) 14.386 Tj +-250 TJm +(http://www) 45.3896 Tj +65 TJm +(.gzip.or) 30.4357 Tj +18 TJm +(g) 4.9813 Tj +-250 TJm +(respecti) 30.9837 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(ely) 12.1743 Tj +65 TJm +(.) 2.4907 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 664.209 Td +(F) 5.5392 Tj +15 TJm +(or) 8.2988 Tj +-582 TJm +(something) 41.5142 Tj +-583 TJm +(f) 3.3175 Tj +10 TJm +(aster) 18.8094 Tj +-582 TJm +(and) 14.386 Tj +-582 TJm +(lighter) 26.0123 Tj +-583 TJm +(still,) 17.4445 Tj +-665 TJm +(you) 14.9439 Tj +-582 TJm +(might) 23.2527 Tj +-583 TJm +(try) 11.0684 Tj +-582 TJm +(Markus) 30.4357 Tj +-582 TJm +(F) 5.5392 Tj +-582 TJm +(X) 7.193 Tj +-582 TJm +(J) 3.8755 Tj +-582 TJm +(Oberhumer') 48.6872 Tj +55 TJm +(s) 3.8755 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +437.433 664.209 Td +/F124_0 9.9626 Tf +(LZO) 17.9327 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +461.164 664.209 Td +/F122_0 9.9626 Tf +(real-time) 35.965 Tj +-582 TJm +(compres-) 37.0708 Tj +72 652.254 Td +(sion/decompression) 79.1429 Tj +-250 TJm +(library) 26.5603 Tj +65 TJm +(,) 2.4907 Tj +-250 TJm +(at) 7.193 Tj +-250 TJm +(http://www) 45.3896 Tj +65 TJm +(.oberhumer) 45.6486 Tj +55 TJm +(.com/opensource.) 70.2762 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 617.501 Td +/F116_0 20.6585 Tf +(4.5.) 34.4584 Tj +-278 TJm +(Fur) 33.2808 Tj +-20 TJm +(ther) 39.0239 Tj +-278 TJm +(Reading) 81.4978 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 595.583 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +104.923 595.583 Td +/F122_0 9.9626 Tf +(is) 6.6451 Tj +-305 TJm +(not) 12.7322 Tj +-304 TJm +(research) 33.1854 Tj +-305 TJm +(w) 7.193 Tj +10 TJm +(ork,) 15.7708 Tj +-318 TJm +(in) 7.7509 Tj +-305 TJm +(the) 12.1743 Tj +-304 TJm +(sense) 21.579 Tj +-305 TJm +(that) 14.9439 Tj +-304 TJm +(it) 5.5392 Tj +-305 TJm +(doesn') 26.5603 Tj +18 TJm +(t) 2.7696 Tj +-304 TJm +(present) 28.772 Tj +-305 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-305 TJm +(ne) 9.4047 Tj +25 TJm +(w) 7.193 Tj +-304 TJm +(ideas.) 22.9638 Tj +-474 TJm +(Rather) 26.5603 Tj +40 TJm +(,) 2.4907 Tj +-318 TJm +(it') 8.8568 Tj +55 TJm +(s) 3.8755 Tj +-305 TJm +(an) 9.4047 Tj +-304 TJm +(engineering) 47.0334 Tj +-305 TJm +(e) 4.4234 Tj +15 TJm +(x) 4.9813 Tj +15 TJm +(ercise) 23.2328 Tj +72 583.628 Td +(based) 22.6848 Tj +-250 TJm +(on) 9.9626 Tj +-250 TJm +(e) 4.4234 Tj +15 TJm +(xisting) 27.1282 Tj +-250 TJm +(ideas.) 22.9638 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 561.71 Td +(F) 5.5392 Tj +15 TJm +(our) 13.2801 Tj +-250 TJm +(documents) 43.1679 Tj +-250 TJm +(describe) 33.1954 Tj +-250 TJm +(essentially) 42.0621 Tj +-250 TJm +(all) 9.9626 Tj +-250 TJm +(the) 12.1743 Tj +-250 TJm +(ideas) 20.4731 Tj +-250 TJm +(behind) 27.1182 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +298.747 561.71 Td +/F124_0 9.9626 Tf +(bzip2) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +328.635 561.71 Td +/F122_0 9.9626 Tf +(:) 2.7696 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.9294 0.9686 0.9568] sc +/DeviceRGB {} CS +[0.9294 0.9686 0.9568] SC +q +[1 0 0 1 72 259.678] cm +0 0 468 298.879 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 550.189 Td +/F124_0 9.9626 Tf +(Michael) 41.8429 Tj +-426 TJm +(Burrows) 41.8429 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(D.) 11.9551 Tj +-426 TJm +(J.) 11.9551 Tj +-426 TJm +(Wheeler:) 47.8205 Tj +98.488 538.234 Td +("A) 11.9551 Tj +-426 TJm +(block-sorting) 77.7083 Tj +-426 TJm +(lossless) 47.8205 Tj +-426 TJm +(data) 23.9102 Tj +-426 TJm +(compression) 65.7532 Tj +-426 TJm +(algorithm") 59.7756 Tj +102.732 526.278 Td +(10th) 23.9102 Tj +-426 TJm +(May) 17.9327 Tj +-426 TJm +(1994.) 29.8878 Tj +102.732 514.323 Td +(Digital) 41.8429 Tj +-426 TJm +(SRC) 17.9327 Tj +-426 TJm +(Research) 47.8205 Tj +-426 TJm +(Report) 35.8654 Tj +-426 TJm +(124.) 23.9102 Tj +102.732 502.368 Td +(ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.g\ +z) 382.5638 Tj +102.732 490.413 Td +(If) 11.9551 Tj +-426 TJm +(you) 17.9327 Tj +-426 TJm +(have) 23.9102 Tj +-426 TJm +(trouble) 41.8429 Tj +-426 TJm +(finding) 41.8429 Tj +-426 TJm +(it,) 17.9327 Tj +-426 TJm +(try) 17.9327 Tj +-426 TJm +(searching) 53.798 Tj +-426 TJm +(at) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +102.732 478.458 Td +(New) 17.9327 Tj +-426 TJm +(Zealand) 41.8429 Tj +-426 TJm +(Digital) 41.8429 Tj +-426 TJm +(Library,) 47.8205 Tj +-426 TJm +(http://www.nzdl.org.) 119.5512 Tj +90 454.547 Td +(Daniel) 35.8654 Tj +-426 TJm +(S.) 11.9551 Tj +-426 TJm +(Hirschberg) 59.7756 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(Debra) 29.8878 Tj +-426 TJm +(A.) 11.9551 Tj +-426 TJm +(LeLewer) 41.8429 Tj +98.488 442.592 Td +("Efficient) 59.7756 Tj +-426 TJm +(Decoding) 47.8205 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(Prefix) 35.8654 Tj +-426 TJm +(Codes") 35.8654 Tj +102.732 430.637 Td +(Communications) 83.6858 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(ACM,) 23.9102 Tj +-426 TJm +(April) 29.8878 Tj +-426 TJm +(1990,) 29.8878 Tj +-426 TJm +(Vol) 17.9327 Tj +-426 TJm +(33,) 17.9327 Tj +-426 TJm +(Number) 35.8654 Tj +-426 TJm +(4.) 11.9551 Tj +102.732 418.682 Td +(You) 17.9327 Tj +-426 TJm +(might) 29.8878 Tj +-426 TJm +(be) 11.9551 Tj +-426 TJm +(able) 23.9102 Tj +-426 TJm +(to) 11.9551 Tj +-426 TJm +(get) 17.9327 Tj +-426 TJm +(an) 11.9551 Tj +-426 TJm +(electronic) 59.7756 Tj +-426 TJm +(copy) 23.9102 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(this) 23.9102 Tj +102.732 406.727 Td +(from) 23.9102 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(ACM) 17.9327 Tj +-426 TJm +(Digital) 41.8429 Tj +-426 TJm +(Library.) 47.8205 Tj +90 382.816 Td +(David) 29.8878 Tj +-426 TJm +(J.) 11.9551 Tj +-426 TJm +(Wheeler) 41.8429 Tj +102.732 370.861 Td +(Program) 41.8429 Tj +-426 TJm +(bred3.c) 41.8429 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(accompanying) 71.7307 Tj +-426 TJm +(document) 47.8205 Tj +-426 TJm +(bred3.ps.) 53.798 Tj +102.732 358.906 Td +(This) 23.9102 Tj +-426 TJm +(contains) 47.8205 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(idea) 23.9102 Tj +-426 TJm +(behind) 35.8654 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(multi-table) 65.7532 Tj +-426 TJm +(Huffman) 41.8429 Tj +-426 TJm +(coding) 35.8654 Tj +-426 TJm +(scheme.) 41.8429 Tj +102.732 346.951 Td +(ftp://ftp.cl.cam.ac.uk/users/djw3/) 203.237 Tj +90 323.04 Td +(Jon) 17.9327 Tj +-426 TJm +(L.) 11.9551 Tj +-426 TJm +(Bentley) 41.8429 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(Robert) 35.8654 Tj +-426 TJm +(Sedgewick) 53.798 Tj +98.488 311.085 Td +("Fast) 29.8878 Tj +-426 TJm +(Algorithms) 59.7756 Tj +-426 TJm +(for) 17.9327 Tj +-426 TJm +(Sorting) 41.8429 Tj +-426 TJm +(and) 17.9327 Tj +-426 TJm +(Searching) 53.798 Tj +-426 TJm +(Strings") 47.8205 Tj +102.732 299.13 Td +(Available) 53.798 Tj +-426 TJm +(from) 23.9102 Tj +-426 TJm +(Sedgewick's) 65.7532 Tj +-426 TJm +(web) 17.9327 Tj +-426 TJm +(page,) 29.8878 Tj +102.732 287.175 Td +(www.cs.princeton.edu/~rs) 143.4614 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 237.76 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-239 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-238 TJm +(paper) 22.1269 Tj +-239 TJm +(gi) 7.7509 Tj +25 TJm +(v) 4.9813 Tj +15 TJm +(es) 8.2988 Tj +-239 TJm +(v) 4.9813 Tj +25 TJm +(aluable) 28.772 Tj +-238 TJm +(additional) 39.8504 Tj +-239 TJm +(insights) 31.0036 Tj +-238 TJm +(into) 15.5018 Tj +-239 TJm +(the) 12.1743 Tj +-239 TJm +(algorithm,) 41.2352 Tj +-241 TJm +(b) 4.9813 Tj +20 TJm +(ut) 7.7509 Tj +-238 TJm +(is) 6.6451 Tj +-239 TJm +(not) 12.7322 Tj +-239 TJm +(immedia) 34.8691 Tj +1 TJm +(tely) 14.9439 Tj +-239 TJm +(the) 12.1743 Tj +-239 TJm +(basis) 19.9252 Tj +-238 TJm +(of) 8.2988 Tj +-239 TJm +(an) 9.4047 Tj +15 TJm +(y) 4.9813 Tj +-239 TJm +(code) 18.8094 Tj +72 225.805 Td +(used) 18.2614 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(bzip2.) 24.6275 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.9294 0.9686 0.9568] sc +/DeviceRGB {} CS +[0.9294 0.9686 0.9568] SC +q +[1 0 0 1 72 150.921] cm +0 0 468 71.731 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 214.283 Td +/F124_0 9.9626 Tf +(Peter) 29.8878 Tj +-426 TJm +(Fenwick:) 47.8205 Tj +102.732 202.328 Td +(Block) 29.8878 Tj +-426 TJm +(Sorting) 41.8429 Tj +-426 TJm +(Text) 23.9102 Tj +-426 TJm +(Compression) 65.7532 Tj +102.732 190.373 Td +(Proceedings) 65.7532 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(19th) 23.9102 Tj +-426 TJm +(Australasian) 71.7307 Tj +-426 TJm +(Computer) 47.8205 Tj +-426 TJm +(Science) 41.8429 Tj +-426 TJm +(Conference,) 65.7532 Tj +111.22 178.418 Td +(Melbourne,) 59.7756 Tj +-426 TJm +(Australia.) 59.7756 Tj +-852 TJm +(Jan) 17.9327 Tj +-426 TJm +(31) 11.9551 Tj +-426 TJm +(-) 5.9776 Tj +-426 TJm +(Feb) 17.9327 Tj +-426 TJm +(2,) 11.9551 Tj +-426 TJm +(1996.) 29.8878 Tj +102.732 166.463 Td +(ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps) 322.7882 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 129.003 Td +/F122_0 9.9626 Tf +(K) 7.193 Tj +15 TJm +(unihik) 25.4644 Tj +10 TJm +(o) 4.9813 Tj +-250 TJm +(Sadakane') 41.4942 Tj +55 TJm +(s) 3.8755 Tj +-250 TJm +(sorting) 27.6761 Tj +-250 TJm +(algorithm,) 41.2352 Tj +-250 TJm +(mentioned) 42.0621 Tj +-250 TJm +(abo) 14.386 Tj +15 TJm +(v) 4.9813 Tj +15 TJm +(e,) 6.914 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable) 26.5603 Tj +-250 TJm +(from:) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.9294 0.9686 0.9568] sc +/DeviceRGB {} CS +[0.9294 0.9686 0.9568] SC +q +[1 0 0 1 72 89.985] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 117.482 Td +/F124_0 9.9626 Tf +(http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz) 346.6985 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +/F122_0 9.9626 Tf +(34) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Page: 35 38 +%%BeginPageSetup +%%PageOrientation: Portrait +pdfStartPage +0 0 612 792 re W +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +498.728 749.245 Td +/F122_0 9.9626 Tf +(Miscellanea) 48.1393 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +q +[1 0 0 1 73.893 741.803] cm +[] 0 d +0 J +0.498 w +0 0 m +475.465 0 l +S +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +72 710.037 Td +/F122_0 9.9626 Tf +(The) 15.4918 Tj +-250 TJm +(Manber) 30.9837 Tj +20 TJm +(-Myers) 28.772 Tj +-250 TJm +(suf) 12.1743 Tj +25 TJm +(\002x) 10.5205 Tj +-250 TJm +(array) 20.4632 Tj +-250 TJm +(construction) 49.2551 Tj +-250 TJm +(algorithm) 38.7446 Tj +-250 TJm +(is) 6.6451 Tj +-250 TJm +(described) 38.1767 Tj +-250 TJm +(in) 7.7509 Tj +-250 TJm +(a) 4.4234 Tj +-250 TJm +(paper) 22.1269 Tj +-250 TJm +(a) 4.4234 Tj +20 TJm +(v) 4.9813 Tj +25 TJm +(ailable) 26.5603 Tj +-250 TJm +(from:) 22.1369 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.9294 0.9686 0.9568] sc +/DeviceRGB {} CS +[0.9294 0.9686 0.9568] SC +q +[1 0 0 1 72 671.019] cm +0 0 468 35.866 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 698.516 Td +/F124_0 9.9626 Tf +(http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps) 322.7882 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +72 649.101 Td +/F122_0 9.9626 Tf +(Finally) 28.234 Tj +65 TJm +(,) 2.4907 Tj +-227 TJm +(the) 12.1743 Tj +-221 TJm +(follo) 18.8194 Tj +25 TJm +(wing) 19.9252 Tj +-222 TJm +(papers) 26.0024 Tj +-221 TJm +(document) 39.2925 Tj +-221 TJm +(some) 21.031 Tj +-222 TJm +(in) 7.7509 Tj +40 TJm +(v) 4.9813 Tj +15 TJm +(estig) 18.8194 Tj +5 TJm +(ations) 23.8007 Tj +-221 TJm +(I) 3.3175 Tj +-221 TJm +(made) 21.579 Tj +-222 TJm +(into) 15.5018 Tj +-221 TJm +(the) 12.1743 Tj +-221 TJm +(performance) 50.341 Tj +-222 TJm +(of) 8.2988 Tj +-221 TJm +(sorting) 27.6761 Tj +-221 TJm +(and) 14.386 Tj +-222 TJm +(decompression) 59.7656 Tj +72 637.146 Td +(algorithms:) 45.3896 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0.9294 0.9686 0.9568] sc +/DeviceRGB {} CS +[0.9294 0.9686 0.9568] SC +q +[1 0 0 1 72 502.486] cm +0 0 468 131.507 re +f +Q +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +[1 0 0 1 0 0] Tm +0 0 Td +90 625.624 Td +/F124_0 9.9626 Tf +(Julian) 35.8654 Tj +-426 TJm +(Seward) 35.8654 Tj +102.732 613.669 Td +(On) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(Performance) 65.7532 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(BWT) 17.9327 Tj +-426 TJm +(Sorting) 41.8429 Tj +-426 TJm +(Algorithms) 59.7756 Tj +102.732 601.714 Td +(Proceedings) 65.7532 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(IEEE) 23.9102 Tj +-426 TJm +(Data) 23.9102 Tj +-426 TJm +(Compression) 65.7532 Tj +-426 TJm +(Conference) 59.7756 Tj +-426 TJm +(2000) 23.9102 Tj +111.22 589.759 Td +(Snowbird,) 53.798 Tj +-426 TJm +(Utah.) 29.8878 Tj +-852 TJm +(28-30) 29.8878 Tj +-426 TJm +(March) 29.8878 Tj +-426 TJm +(2000.) 29.8878 Tj +90 565.848 Td +(Julian) 35.8654 Tj +-426 TJm +(Seward) 35.8654 Tj +102.732 553.893 Td +(Space-time) 59.7756 Tj +-426 TJm +(Tradeoffs) 53.798 Tj +-426 TJm +(in) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(Inverse) 41.8429 Tj +-426 TJm +(B-W) 17.9327 Tj +-426 TJm +(Transform) 53.798 Tj +102.732 541.938 Td +(Proceedings) 65.7532 Tj +-426 TJm +(of) 11.9551 Tj +-426 TJm +(the) 17.9327 Tj +-426 TJm +(IEEE) 23.9102 Tj +-426 TJm +(Data) 23.9102 Tj +-426 TJm +(Compression) 65.7532 Tj +-426 TJm +(Conference) 59.7756 Tj +-426 TJm +(2001) 23.9102 Tj +111.22 529.983 Td +(Snowbird,) 53.798 Tj +-426 TJm +(Utah.) 29.8878 Tj +-852 TJm +(27-29) 29.8878 Tj +-426 TJm +(March) 29.8878 Tj +-426 TJm +(2001.) 29.8878 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +534.414 50.951 Td +/F122_0 9.9626 Tf +(35) 9.9626 Tj +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceRGB {} cs +[0 0 0] sc +/DeviceRGB {} CS +[0 0 0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%+ font PYRIYB+NimbusSanL-Bold +%%+ font XDVKOU+NimbusRomNo9L-Regu +%%+ font QYKIKI+NimbusMonL-Regu +%%+ font BITXNG+CMMI10 +%%+ font ZWXELK+NimbusMonL-Bold +%%+ font FRBTTO+CMSY10 +%%+ font AMYDOG+NimbusRomNo9L-ReguItal +%%EOF diff --git a/plugins/Updater/bzip2-1.0.3/manual.xml b/plugins/Updater/bzip2-1.0.3/manual.xml new file mode 100644 index 0000000000..a7fbcb3375 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/manual.xml @@ -0,0 +1,2964 @@ + + + %common-ents; +]> + + + + + bzip2 and libbzip2, version 1.0.6 + A program and library for data compression + + &bz-lifespan; + Julian Seward + + Version &bz-version; of &bz-date; + + + + Julian + Seward + + &bz-url; + + + + + + + This program, bzip2, the + associated library libbzip2, and + all documentation, are copyright © &bz-lifespan; Julian Seward. + All rights reserved. + + Redistribution and use in source and binary forms, with + or without modification, are permitted provided that the + following conditions are met: + + + + Redistributions of source code must retain the + above copyright notice, this list of conditions and the + following disclaimer. + + The origin of this software must not be + misrepresented; you must not claim that you wrote the original + software. If you use this software in a product, an + acknowledgment in the product documentation would be + appreciated but is not required. + + Altered source versions must be plainly marked + as such, and must not be misrepresented as being the original + software. + + The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission. + + + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + PATENTS: To the best of my knowledge, + bzip2 and + libbzip2 do not use any patented + algorithms. However, I do not have the resources to carry + out a patent search. Therefore I cannot give any guarantee of + the above statement. + + + + + + + + + +Introduction + +bzip2 compresses files +using the Burrows-Wheeler block-sorting text compression +algorithm, and Huffman coding. Compression is generally +considerably better than that achieved by more conventional +LZ77/LZ78-based compressors, and approaches the performance of +the PPM family of statistical compressors. + +bzip2 is built on top of +libbzip2, a flexible library for +handling compressed data in the +bzip2 format. This manual +describes both how to use the program and how to work with the +library interface. Most of the manual is devoted to this +library, not the program, which is good news if your interest is +only in the program. + + + + describes how to use + bzip2; this is the only part + you need to read if you just want to know how to operate the + program. + + describes the + programming interfaces in detail, and + + records some + miscellaneous notes which I thought ought to be recorded + somewhere. + + + + + + + +How to use bzip2 + +This chapter contains a copy of the +bzip2 man page, and nothing +else. + + +NAME + + + + bzip2, + bunzip2 - a block-sorting file + compressor, v1.0.6 + + bzcat - + decompresses files to stdout + + bzip2recover - + recovers data from damaged bzip2 files + + + + + + + +SYNOPSIS + + + + bzip2 [ + -cdfkqstvzVL123456789 ] [ filenames ... ] + + bunzip2 [ + -fkvsVL ] [ filenames ... ] + + bzcat [ -s ] [ + filenames ... ] + + bzip2recover + filename + + + + + + + +DESCRIPTION + +bzip2 compresses files +using the Burrows-Wheeler block sorting text compression +algorithm, and Huffman coding. Compression is generally +considerably better than that achieved by more conventional +LZ77/LZ78-based compressors, and approaches the performance of +the PPM family of statistical compressors. + +The command-line options are deliberately very similar to +those of GNU gzip, but they are +not identical. + +bzip2 expects a list of +file names to accompany the command-line flags. Each file is +replaced by a compressed version of itself, with the name +original_name.bz2. Each +compressed file has the same modification date, permissions, and, +when possible, ownership as the corresponding original, so that +these properties can be correctly restored at decompression time. +File name handling is naive in the sense that there is no +mechanism for preserving original file names, permissions, +ownerships or dates in filesystems which lack these concepts, or +have serious file name length restrictions, such as +MS-DOS. + +bzip2 and +bunzip2 will by default not +overwrite existing files. If you want this to happen, specify +the -f flag. + +If no file names are specified, +bzip2 compresses from standard +input to standard output. In this case, +bzip2 will decline to write +compressed output to a terminal, as this would be entirely +incomprehensible and therefore pointless. + +bunzip2 (or +bzip2 -d) decompresses all +specified files. Files which were not created by +bzip2 will be detected and +ignored, and a warning issued. +bzip2 attempts to guess the +filename for the decompressed file from that of the compressed +file as follows: + + + + filename.bz2 + becomes + filename + + filename.bz + becomes + filename + + filename.tbz2 + becomes + filename.tar + + filename.tbz + becomes + filename.tar + + anyothername + becomes + anyothername.out + + + +If the file does not end in one of the recognised endings, +.bz2, +.bz, +.tbz2 or +.tbz, +bzip2 complains that it cannot +guess the name of the original file, and uses the original name +with .out appended. + +As with compression, supplying no filenames causes +decompression from standard input to standard output. + +bunzip2 will correctly +decompress a file which is the concatenation of two or more +compressed files. The result is the concatenation of the +corresponding uncompressed files. Integrity testing +(-t) of concatenated compressed +files is also supported. + +You can also compress or decompress files to the standard +output by giving the -c flag. +Multiple files may be compressed and decompressed like this. The +resulting outputs are fed sequentially to stdout. Compression of +multiple files in this manner generates a stream containing +multiple compressed file representations. Such a stream can be +decompressed correctly only by +bzip2 version 0.9.0 or later. +Earlier versions of bzip2 will +stop after decompressing the first file in the stream. + +bzcat (or +bzip2 -dc) decompresses all +specified files to the standard output. + +bzip2 will read arguments +from the environment variables +BZIP2 and +BZIP, in that order, and will +process them before any arguments read from the command line. +This gives a convenient way to supply default arguments. + +Compression is always performed, even if the compressed +file is slightly larger than the original. Files of less than +about one hundred bytes tend to get larger, since the compression +mechanism has a constant overhead in the region of 50 bytes. +Random data (including the output of most file compressors) is +coded at about 8.05 bits per byte, giving an expansion of around +0.5%. + +As a self-check for your protection, +bzip2 uses 32-bit CRCs to make +sure that the decompressed version of a file is identical to the +original. This guards against corruption of the compressed data, +and against undetected bugs in +bzip2 (hopefully very unlikely). +The chances of data corruption going undetected is microscopic, +about one chance in four billion for each file processed. Be +aware, though, that the check occurs upon decompression, so it +can only tell you that something is wrong. It can't help you +recover the original uncompressed data. You can use +bzip2recover to try to recover +data from damaged files. + +Return values: 0 for a normal exit, 1 for environmental +problems (file not found, invalid flags, I/O errors, etc.), 2 +to indicate a corrupt compressed file, 3 for an internal +consistency error (eg, bug) which caused +bzip2 to panic. + + + + + +OPTIONS + + + + + -c --stdout + Compress or decompress to standard + output. + + + + -d --decompress + Force decompression. + bzip2, + bunzip2 and + bzcat are really the same + program, and the decision about what actions to take is done on + the basis of which name is used. This flag overrides that + mechanism, and forces bzip2 to decompress. + + + + -z --compress + The complement to + -d: forces compression, + regardless of the invokation name. + + + + -t --test + Check integrity of the specified file(s), but + don't decompress them. This really performs a trial + decompression and throws away the result. + + + + -f --force + Force overwrite of output files. Normally, + bzip2 will not overwrite + existing output files. Also forces + bzip2 to break hard links to + files, which it otherwise wouldn't do. + bzip2 normally declines + to decompress files which don't have the correct magic header + bytes. If forced (-f), + however, it will pass such files through unmodified. This is + how GNU gzip behaves. + + + + + -k --keep + Keep (don't delete) input files during + compression or decompression. + + + + -s --small + Reduce memory usage, for compression, + decompression and testing. Files are decompressed and tested + using a modified algorithm which only requires 2.5 bytes per + block byte. This means any file can be decompressed in 2300k + of memory, albeit at about half the normal speed. + During compression, -s + selects a block size of 200k, which limits memory use to around + the same figure, at the expense of your compression ratio. In + short, if your machine is low on memory (8 megabytes or less), + use -s for everything. See + below. + + + + -q --quiet + Suppress non-essential warning messages. + Messages pertaining to I/O errors and other critical events + will not be suppressed. + + + + -v --verbose + Verbose mode -- show the compression ratio for + each file processed. Further + -v's increase the verbosity + level, spewing out lots of information which is primarily of + interest for diagnostic purposes. + + + + -L --license -V --version + Display the software version, license terms and + conditions. + + + + -1 (or + --fast) to + -9 (or + -best) + Set the block size to 100 k, 200 k ... 900 k + when compressing. Has no effect when decompressing. See below. The + --fast and + --best aliases are primarily + for GNU gzip compatibility. + In particular, --fast doesn't + make things significantly faster. And + --best merely selects the + default behaviour. + + + + -- + Treats all subsequent arguments as file names, + even if they start with a dash. This is so you can handle + files with names beginning with a dash, for example: + bzip2 -- + -myfilename. + + + + --repetitive-fast + --repetitive-best + These flags are redundant in versions 0.9.5 and + above. They provided some coarse control over the behaviour of + the sorting algorithm in earlier versions, which was sometimes + useful. 0.9.5 and above have an improved algorithm which + renders these flags irrelevant. + + + + + + + + +MEMORY MANAGEMENT + +bzip2 compresses large +files in blocks. The block size affects both the compression +ratio achieved, and the amount of memory needed for compression +and decompression. The flags -1 +through -9 specify the block +size to be 100,000 bytes through 900,000 bytes (the default) +respectively. At decompression time, the block size used for +compression is read from the header of the compressed file, and +bunzip2 then allocates itself +just enough memory to decompress the file. Since block sizes are +stored in compressed files, it follows that the flags +-1 to +-9 are irrelevant to and so +ignored during decompression. + +Compression and decompression requirements, in bytes, can be +estimated as: + +Compression: 400k + ( 8 x block size ) + +Decompression: 100k + ( 4 x block size ), or + 100k + ( 2.5 x block size ) + + +Larger block sizes give rapidly diminishing marginal +returns. Most of the compression comes from the first two or +three hundred k of block size, a fact worth bearing in mind when +using bzip2 on small machines. +It is also important to appreciate that the decompression memory +requirement is set at compression time by the choice of block +size. + +For files compressed with the default 900k block size, +bunzip2 will require about 3700 +kbytes to decompress. To support decompression of any file on a +4 megabyte machine, bunzip2 has +an option to decompress using approximately half this amount of +memory, about 2300 kbytes. Decompression speed is also halved, +so you should use this option only where necessary. The relevant +flag is -s. + +In general, try and use the largest block size memory +constraints allow, since that maximises the compression achieved. +Compression and decompression speed are virtually unaffected by +block size. + +Another significant point applies to files which fit in a +single block -- that means most files you'd encounter using a +large block size. The amount of real memory touched is +proportional to the size of the file, since the file is smaller +than a block. For example, compressing a file 20,000 bytes long +with the flag -9 will cause the +compressor to allocate around 7600k of memory, but only touch +400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor +will allocate 3700k but only touch 100k + 20000 * 4 = 180 +kbytes. + +Here is a table which summarises the maximum memory usage +for different block sizes. Also recorded is the total compressed +size for 14 files of the Calgary Text Compression Corpus +totalling 3,141,622 bytes. This column gives some feel for how +compression varies with block size. These figures tend to +understate the advantage of larger block sizes for larger files, +since the Corpus is dominated by smaller files. + + + Compress Decompress Decompress Corpus +Flag usage usage -s usage Size + + -1 1200k 500k 350k 914704 + -2 2000k 900k 600k 877703 + -3 2800k 1300k 850k 860338 + -4 3600k 1700k 1100k 846899 + -5 4400k 2100k 1350k 845160 + -6 5200k 2500k 1600k 838626 + -7 6100k 2900k 1850k 834096 + -8 6800k 3300k 2100k 828642 + -9 7600k 3700k 2350k 828642 + + + + + + +RECOVERING DATA FROM DAMAGED FILES + +bzip2 compresses files in +blocks, usually 900kbytes long. Each block is handled +independently. If a media or transmission error causes a +multi-block .bz2 file to become +damaged, it may be possible to recover data from the undamaged +blocks in the file. + +The compressed representation of each block is delimited by +a 48-bit pattern, which makes it possible to find the block +boundaries with reasonable certainty. Each block also carries +its own 32-bit CRC, so damaged blocks can be distinguished from +undamaged ones. + +bzip2recover is a simple +program whose purpose is to search for blocks in +.bz2 files, and write each block +out into its own .bz2 file. You +can then use bzip2 -t to test +the integrity of the resulting files, and decompress those which +are undamaged. + +bzip2recover takes a +single argument, the name of the damaged file, and writes a +number of files rec0001file.bz2, +rec0002file.bz2, etc, containing +the extracted blocks. The output filenames are designed so that +the use of wildcards in subsequent processing -- for example, +bzip2 -dc rec*file.bz2 > +recovered_data -- lists the files in the correct +order. + +bzip2recover should be of +most use dealing with large .bz2 +files, as these will contain many blocks. It is clearly futile +to use it on damaged single-block files, since a damaged block +cannot be recovered. If you wish to minimise any potential data +loss through media or transmission errors, you might consider +compressing with a smaller block size. + + + + + +PERFORMANCE NOTES + +The sorting phase of compression gathers together similar +strings in the file. Because of this, files containing very long +runs of repeated symbols, like "aabaabaabaab ..." (repeated +several hundred times) may compress more slowly than normal. +Versions 0.9.5 and above fare much better than previous versions +in this respect. The ratio between worst-case and average-case +compression time is in the region of 10:1. For previous +versions, this figure was more like 100:1. You can use the +-vvvv option to monitor progress +in great detail, if you want. + +Decompression speed is unaffected by these +phenomena. + +bzip2 usually allocates +several megabytes of memory to operate in, and then charges all +over it in a fairly random fashion. This means that performance, +both for compressing and decompressing, is largely determined by +the speed at which your machine can service cache misses. +Because of this, small changes to the code to reduce the miss +rate have been observed to give disproportionately large +performance improvements. I imagine +bzip2 will perform best on +machines with very large caches. + + + + + + +CAVEATS + +I/O error messages are not as helpful as they could be. +bzip2 tries hard to detect I/O +errors and exit cleanly, but the details of what the problem is +sometimes seem rather misleading. + +This manual page pertains to version &bz-version; of +bzip2. Compressed data created by +this version is entirely forwards and backwards compatible with the +previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0, +1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and +above can correctly decompress multiple concatenated compressed files. +0.1pl2 cannot do this; it will stop after decompressing just the first +file in the stream. + +bzip2recover versions +prior to 1.0.2 used 32-bit integers to represent bit positions in +compressed files, so it could not handle compressed files more +than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints +on some platforms which support them (GNU supported targets, and +Windows). To establish whether or not +bzip2recover was built with such +a limitation, run it without arguments. In any event you can +build yourself an unlimited version if you can recompile it with +MaybeUInt64 set to be an +unsigned 64-bit integer. + + + + + + +AUTHOR + +Julian Seward, +&bz-email; + +The ideas embodied in +bzip2 are due to (at least) the +following people: Michael Burrows and David Wheeler (for the +block sorting transformation), David Wheeler (again, for the +Huffman coder), Peter Fenwick (for the structured coding model in +the original bzip, and many +refinements), and Alistair Moffat, Radford Neal and Ian Witten +(for the arithmetic coder in the original +bzip). I am much indebted for +their help, support and advice. See the manual in the source +distribution for pointers to sources of documentation. Christian +von Roques encouraged me to look for faster sorting algorithms, +so as to speed up compression. Bela Lubkin encouraged me to +improve the worst-case compression performance. +Donna Robinson XMLised the documentation. +Many people sent +patches, helped with portability problems, lent machines, gave +advice and were generally helpful. + + + + + + + + + +Programming with <computeroutput>libbzip2</computeroutput> + + +This chapter describes the programming interface to +libbzip2. + +For general background information, particularly about +memory use and performance aspects, you'd be well advised to read + as well. + + + +Top-level structure + +libbzip2 is a flexible +library for compressing and decompressing data in the +bzip2 data format. Although +packaged as a single entity, it helps to regard the library as +three separate parts: the low level interface, and the high level +interface, and some utility functions. + +The structure of +libbzip2's interfaces is similar +to that of Jean-loup Gailly's and Mark Adler's excellent +zlib library. + +All externally visible symbols have names beginning +BZ2_. This is new in version +1.0. The intention is to minimise pollution of the namespaces of +library clients. + +To use any part of the library, you need to +#include <bzlib.h> +into your sources. + + + + +Low-level summary + +This interface provides services for compressing and +decompressing data in memory. There's no provision for dealing +with files, streams or any other I/O mechanisms, just straight +memory-to-memory work. In fact, this part of the library can be +compiled without inclusion of +stdio.h, which may be helpful +for embedded applications. + +The low-level part of the library has no global variables +and is therefore thread-safe. + +Six routines make up the low level interface: +BZ2_bzCompressInit, +BZ2_bzCompress, and +BZ2_bzCompressEnd for +compression, and a corresponding trio +BZ2_bzDecompressInit, +BZ2_bzDecompress and +BZ2_bzDecompressEnd for +decompression. The *Init +functions allocate memory for compression/decompression and do +other initialisations, whilst the +*End functions close down +operations and release memory. + +The real work is done by +BZ2_bzCompress and +BZ2_bzDecompress. These +compress and decompress data from a user-supplied input buffer to +a user-supplied output buffer. These buffers can be any size; +arbitrary quantities of data are handled by making repeated calls +to these functions. This is a flexible mechanism allowing a +consumer-pull style of activity, or producer-push, or a mixture +of both. + + + + + +High-level summary + +This interface provides some handy wrappers around the +low-level interface to facilitate reading and writing +bzip2 format files +(.bz2 files). The routines +provide hooks to facilitate reading files in which the +bzip2 data stream is embedded +within some larger-scale file structure, or where there are +multiple bzip2 data streams +concatenated end-to-end. + +For reading files, +BZ2_bzReadOpen, +BZ2_bzRead, +BZ2_bzReadClose and +BZ2_bzReadGetUnused are +supplied. For writing files, +BZ2_bzWriteOpen, +BZ2_bzWrite and +BZ2_bzWriteFinish are +available. + +As with the low-level library, no global variables are used +so the library is per se thread-safe. However, if I/O errors +occur whilst reading or writing the underlying compressed files, +you may have to consult errno to +determine the cause of the error. In that case, you'd need a C +library which correctly supports +errno in a multithreaded +environment. + +To make the library a little simpler and more portable, +BZ2_bzReadOpen and +BZ2_bzWriteOpen require you to +pass them file handles (FILE*s) +which have previously been opened for reading or writing +respectively. That avoids portability problems associated with +file operations and file attributes, whilst not being much of an +imposition on the programmer. + + + + + +Utility functions summary + +For very simple needs, +BZ2_bzBuffToBuffCompress and +BZ2_bzBuffToBuffDecompress are +provided. These compress data in memory from one buffer to +another buffer in a single function call. You should assess +whether these functions fulfill your memory-to-memory +compression/decompression requirements before investing effort in +understanding the more general but more complex low-level +interface. + +Yoshioka Tsuneo +(tsuneo@rr.iij4u.or.jp) has +contributed some functions to give better +zlib compatibility. These +functions are BZ2_bzopen, +BZ2_bzread, +BZ2_bzwrite, +BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and +BZ2_bzlibVersion. You may find +these functions more convenient for simple file reading and +writing, than those in the high-level interface. These functions +are not (yet) officially part of the library, and are minimally +documented here. If they break, you get to keep all the pieces. +I hope to document them properly when time permits. + +Yoshioka also contributed modifications to allow the +library to be built as a Windows DLL. + + + + + + + +Error handling + +The library is designed to recover cleanly in all +situations, including the worst-case situation of decompressing +random data. I'm not 100% sure that it can always do this, so +you might want to add a signal handler to catch segmentation +violations during decompression if you are feeling especially +paranoid. I would be interested in hearing more about the +robustness of the library to corrupted compressed data. + +Version 1.0.3 more robust in this respect than any +previous version. Investigations with Valgrind (a tool for detecting +problems with memory management) indicate +that, at least for the few files I tested, all single-bit errors +in the decompressed data are caught properly, with no +segmentation faults, no uses of uninitialised data, no out of +range reads or writes, and no infinite looping in the decompressor. +So it's certainly pretty robust, although +I wouldn't claim it to be totally bombproof. + +The file bzlib.h contains +all definitions needed to use the library. In particular, you +should definitely not include +bzlib_private.h. + +In bzlib.h, the various +return values are defined. The following list is not intended as +an exhaustive description of the circumstances in which a given +value may be returned -- those descriptions are given later. +Rather, it is intended to convey the rough meaning of each return +value. The first five actions are normal and not intended to +denote an error situation. + + + + + BZ_OK + The requested action was completed + successfully. + + + + BZ_RUN_OK, BZ_FLUSH_OK, + BZ_FINISH_OK + In + BZ2_bzCompress, the requested + flush/finish/nothing-special action was completed + successfully. + + + + BZ_STREAM_END + Compression of data was completed, or the + logical stream end was detected during + decompression. + + + + +The following return values indicate an error of some +kind. + + + + + BZ_CONFIG_ERROR + Indicates that the library has been improperly + compiled on your platform -- a major configuration error. + Specifically, it means that + sizeof(char), + sizeof(short) and + sizeof(int) are not 1, 2 and + 4 respectively, as they should be. Note that the library + should still work properly on 64-bit platforms which follow + the LP64 programming model -- that is, where + sizeof(long) and + sizeof(void*) are 8. Under + LP64, sizeof(int) is still 4, + so libbzip2, which doesn't + use the long type, is + OK. + + + + BZ_SEQUENCE_ERROR + When using the library, it is important to call + the functions in the correct sequence and with data structures + (buffers etc) in the correct states. + libbzip2 checks as much as it + can to ensure this is happening, and returns + BZ_SEQUENCE_ERROR if not. + Code which complies precisely with the function semantics, as + detailed below, should never receive this value; such an event + denotes buggy code which you should + investigate. + + + + BZ_PARAM_ERROR + Returned when a parameter to a function call is + out of range or otherwise manifestly incorrect. As with + BZ_SEQUENCE_ERROR, this + denotes a bug in the client code. The distinction between + BZ_PARAM_ERROR and + BZ_SEQUENCE_ERROR is a bit + hazy, but still worth making. + + + + BZ_MEM_ERROR + Returned when a request to allocate memory + failed. Note that the quantity of memory needed to decompress + a stream cannot be determined until the stream's header has + been read. So + BZ2_bzDecompress and + BZ2_bzRead may return + BZ_MEM_ERROR even though some + of the compressed data has been read. The same is not true + for compression; once + BZ2_bzCompressInit or + BZ2_bzWriteOpen have + successfully completed, + BZ_MEM_ERROR cannot + occur. + + + + BZ_DATA_ERROR + Returned when a data integrity error is + detected during decompression. Most importantly, this means + when stored and computed CRCs for the data do not match. This + value is also returned upon detection of any other anomaly in + the compressed data. + + + + BZ_DATA_ERROR_MAGIC + As a special case of + BZ_DATA_ERROR, it is + sometimes useful to know when the compressed stream does not + start with the correct magic bytes ('B' 'Z' + 'h'). + + + + BZ_IO_ERROR + Returned by + BZ2_bzRead and + BZ2_bzWrite when there is an + error reading or writing in the compressed file, and by + BZ2_bzReadOpen and + BZ2_bzWriteOpen for attempts + to use a file for which the error indicator (viz, + ferror(f)) is set. On + receipt of BZ_IO_ERROR, the + caller should consult errno + and/or perror to acquire + operating-system specific information about the + problem. + + + + BZ_UNEXPECTED_EOF + Returned by + BZ2_bzRead when the + compressed file finishes before the logical end of stream is + detected. + + + + BZ_OUTBUFF_FULL + Returned by + BZ2_bzBuffToBuffCompress and + BZ2_bzBuffToBuffDecompress to + indicate that the output data will not fit into the output + buffer provided. + + + + + + + + + +Low-level interface + + + +BZ2_bzCompressInit + + +typedef struct { + char *next_in; + unsigned int avail_in; + unsigned int total_in_lo32; + unsigned int total_in_hi32; + + char *next_out; + unsigned int avail_out; + unsigned int total_out_lo32; + unsigned int total_out_hi32; + + void *state; + + void *(*bzalloc)(void *,int,int); + void (*bzfree)(void *,void *); + void *opaque; +} bz_stream; + +int BZ2_bzCompressInit ( bz_stream *strm, + int blockSize100k, + int verbosity, + int workFactor ); + + +Prepares for compression. The +bz_stream structure holds all +data pertaining to the compression activity. A +bz_stream structure should be +allocated and initialised prior to the call. The fields of +bz_stream comprise the entirety +of the user-visible data. state +is a pointer to the private data structures required for +compression. + +Custom memory allocators are supported, via fields +bzalloc, +bzfree, and +opaque. The value +opaque is passed to as the first +argument to all calls to bzalloc +and bzfree, but is otherwise +ignored by the library. The call bzalloc ( +opaque, n, m ) is expected to return a pointer +p to n * +m bytes of memory, and bzfree ( +opaque, p ) should free that memory. + +If you don't want to use a custom memory allocator, set +bzalloc, +bzfree and +opaque to +NULL, and the library will then +use the standard malloc / +free routines. + +Before calling +BZ2_bzCompressInit, fields +bzalloc, +bzfree and +opaque should be filled +appropriately, as just described. Upon return, the internal +state will have been allocated and initialised, and +total_in_lo32, +total_in_hi32, +total_out_lo32 and +total_out_hi32 will have been +set to zero. These four fields are used by the library to inform +the caller of the total amount of data passed into and out of the +library, respectively. You should not try to change them. As of +version 1.0, 64-bit counts are maintained, even on 32-bit +platforms, using the _hi32 +fields to store the upper 32 bits of the count. So, for example, +the total amount of data in is (total_in_hi32 +<< 32) + total_in_lo32. + +Parameter blockSize100k +specifies the block size to be used for compression. It should +be a value between 1 and 9 inclusive, and the actual block size +used is 100000 x this figure. 9 gives the best compression but +takes most memory. + +Parameter verbosity should +be set to a number between 0 and 4 inclusive. 0 is silent, and +greater numbers give increasingly verbose monitoring/debugging +output. If the library has been compiled with +-DBZ_NO_STDIO, no such output +will appear for any verbosity setting. + +Parameter workFactor +controls how the compression phase behaves when presented with +worst case, highly repetitive, input data. If compression runs +into difficulties caused by repetitive data, the library switches +from the standard sorting algorithm to a fallback algorithm. The +fallback is slower than the standard algorithm by perhaps a +factor of three, but always behaves reasonably, no matter how bad +the input. + +Lower values of workFactor +reduce the amount of effort the standard algorithm will expend +before resorting to the fallback. You should set this parameter +carefully; too low, and many inputs will be handled by the +fallback algorithm and so compress rather slowly, too high, and +your average-to-worst case compression times can become very +large. The default value of 30 gives reasonable behaviour over a +wide range of circumstances. + +Allowable values range from 0 to 250 inclusive. 0 is a +special case, equivalent to using the default value of 30. + +Note that the compressed output generated is the same +regardless of whether or not the fallback algorithm is +used. + +Be aware also that this parameter may disappear entirely in +future versions of the library. In principle it should be +possible to devise a good way to automatically choose which +algorithm to use. Such a mechanism would render the parameter +obsolete. + +Possible return values: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if strm is NULL + or blockSize < 1 or blockSize > 9 + or verbosity < 0 or verbosity > 4 + or workFactor < 0 or workFactor > 250 +BZ_MEM_ERROR + if not enough memory is available +BZ_OK + otherwise + + +Allowable next actions: + + +BZ2_bzCompress + if BZ_OK is returned + no specific action needed in case of error + + + + + + +BZ2_bzCompress + + +int BZ2_bzCompress ( bz_stream *strm, int action ); + + +Provides more input and/or output buffer space for the +library. The caller maintains input and output buffers, and +calls BZ2_bzCompress to transfer +data between them. + +Before each call to +BZ2_bzCompress, +next_in should point at the data +to be compressed, and avail_in +should indicate how many bytes the library may read. +BZ2_bzCompress updates +next_in, +avail_in and +total_in to reflect the number +of bytes it has read. + +Similarly, next_out should +point to a buffer in which the compressed data is to be placed, +with avail_out indicating how +much output space is available. +BZ2_bzCompress updates +next_out, +avail_out and +total_out to reflect the number +of bytes output. + +You may provide and remove as little or as much data as you +like on each call of +BZ2_bzCompress. In the limit, +it is acceptable to supply and remove data one byte at a time, +although this would be terribly inefficient. You should always +ensure that at least one byte of output space is available at +each call. + +A second purpose of +BZ2_bzCompress is to request a +change of mode of the compressed stream. + +Conceptually, a compressed stream can be in one of four +states: IDLE, RUNNING, FLUSHING and FINISHING. Before +initialisation +(BZ2_bzCompressInit) and after +termination (BZ2_bzCompressEnd), +a stream is regarded as IDLE. + +Upon initialisation +(BZ2_bzCompressInit), the stream +is placed in the RUNNING state. Subsequent calls to +BZ2_bzCompress should pass +BZ_RUN as the requested action; +other actions are illegal and will result in +BZ_SEQUENCE_ERROR. + +At some point, the calling program will have provided all +the input data it wants to. It will then want to finish up -- in +effect, asking the library to process any data it might have +buffered internally. In this state, +BZ2_bzCompress will no longer +attempt to read data from +next_in, but it will want to +write data to next_out. Because +the output buffer supplied by the user can be arbitrarily small, +the finishing-up operation cannot necessarily be done with a +single call of +BZ2_bzCompress. + +Instead, the calling program passes +BZ_FINISH as an action to +BZ2_bzCompress. This changes +the stream's state to FINISHING. Any remaining input (ie, +next_in[0 .. avail_in-1]) is +compressed and transferred to the output buffer. To do this, +BZ2_bzCompress must be called +repeatedly until all the output has been consumed. At that +point, BZ2_bzCompress returns +BZ_STREAM_END, and the stream's +state is set back to IDLE. +BZ2_bzCompressEnd should then be +called. + +Just to make sure the calling program does not cheat, the +library makes a note of avail_in +at the time of the first call to +BZ2_bzCompress which has +BZ_FINISH as an action (ie, at +the time the program has announced its intention to not supply +any more input). By comparing this value with that of +avail_in over subsequent calls +to BZ2_bzCompress, the library +can detect any attempts to slip in more data to compress. Any +calls for which this is detected will return +BZ_SEQUENCE_ERROR. This +indicates a programming mistake which should be corrected. + +Instead of asking to finish, the calling program may ask +BZ2_bzCompress to take all the +remaining input, compress it and terminate the current +(Burrows-Wheeler) compression block. This could be useful for +error control purposes. The mechanism is analogous to that for +finishing: call BZ2_bzCompress +with an action of BZ_FLUSH, +remove output data, and persist with the +BZ_FLUSH action until the value +BZ_RUN is returned. As with +finishing, BZ2_bzCompress +detects any attempt to provide more input data once the flush has +begun. + +Once the flush is complete, the stream returns to the +normal RUNNING state. + +This all sounds pretty complex, but isn't really. Here's a +table which shows which actions are allowable in each state, what +action will be taken, what the next state is, and what the +non-error return values are. Note that you can't explicitly ask +what state the stream is in, but nor do you need to -- it can be +inferred from the values returned by +BZ2_bzCompress. + + +IDLE/any + Illegal. IDLE state only exists after BZ2_bzCompressEnd or + before BZ2_bzCompressInit. + Return value = BZ_SEQUENCE_ERROR + +RUNNING/BZ_RUN + Compress from next_in to next_out as much as possible. + Next state = RUNNING + Return value = BZ_RUN_OK + +RUNNING/BZ_FLUSH + Remember current value of next_in. Compress from next_in + to next_out as much as possible, but do not accept any more input. + Next state = FLUSHING + Return value = BZ_FLUSH_OK + +RUNNING/BZ_FINISH + Remember current value of next_in. Compress from next_in + to next_out as much as possible, but do not accept any more input. + Next state = FINISHING + Return value = BZ_FINISH_OK + +FLUSHING/BZ_FLUSH + Compress from next_in to next_out as much as possible, + but do not accept any more input. + If all the existing input has been used up and all compressed + output has been removed + Next state = RUNNING; Return value = BZ_RUN_OK + else + Next state = FLUSHING; Return value = BZ_FLUSH_OK + +FLUSHING/other + Illegal. + Return value = BZ_SEQUENCE_ERROR + +FINISHING/BZ_FINISH + Compress from next_in to next_out as much as possible, + but to not accept any more input. + If all the existing input has been used up and all compressed + output has been removed + Next state = IDLE; Return value = BZ_STREAM_END + else + Next state = FINISHING; Return value = BZ_FINISH_OK + +FINISHING/other + Illegal. + Return value = BZ_SEQUENCE_ERROR + + + +That still looks complicated? Well, fair enough. The +usual sequence of calls for compressing a load of data is: + + + + Get started with + BZ2_bzCompressInit. + + Shovel data in and shlurp out its compressed form + using zero or more calls of + BZ2_bzCompress with action = + BZ_RUN. + + Finish up. Repeatedly call + BZ2_bzCompress with action = + BZ_FINISH, copying out the + compressed output, until + BZ_STREAM_END is + returned. Close up and go home. Call + BZ2_bzCompressEnd. + + + +If the data you want to compress fits into your input +buffer all at once, you can skip the calls of +BZ2_bzCompress ( ..., BZ_RUN ) +and just do the BZ2_bzCompress ( ..., BZ_FINISH +) calls. + +All required memory is allocated by +BZ2_bzCompressInit. The +compression library can accept any data at all (obviously). So +you shouldn't get any error return values from the +BZ2_bzCompress calls. If you +do, they will be +BZ_SEQUENCE_ERROR, and indicate +a bug in your programming. + +Trivial other possible return values: + + +BZ_PARAM_ERROR + if strm is NULL, or strm->s is NULL + + + + + + +BZ2_bzCompressEnd + + +int BZ2_bzCompressEnd ( bz_stream *strm ); + + +Releases all memory associated with a compression +stream. + +Possible return values: + + +BZ_PARAM_ERROR if strm is NULL or strm->s is NULL +BZ_OK otherwise + + + + + + +BZ2_bzDecompressInit + + +int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small ); + + +Prepares for decompression. As with +BZ2_bzCompressInit, a +bz_stream record should be +allocated and initialised before the call. Fields +bzalloc, +bzfree and +opaque should be set if a custom +memory allocator is required, or made +NULL for the normal +malloc / +free routines. Upon return, the +internal state will have been initialised, and +total_in and +total_out will be zero. + +For the meaning of parameter +verbosity, see +BZ2_bzCompressInit. + +If small is nonzero, the +library will use an alternative decompression algorithm which +uses less memory but at the cost of decompressing more slowly +(roughly speaking, half the speed, but the maximum memory +requirement drops to around 2300k). See +for more information on memory management. + +Note that the amount of memory needed to decompress a +stream cannot be determined until the stream's header has been +read, so even if +BZ2_bzDecompressInit succeeds, a +subsequent BZ2_bzDecompress +could fail with +BZ_MEM_ERROR. + +Possible return values: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if ( small != 0 && small != 1 ) + or (verbosity <; 0 || verbosity > 4) +BZ_MEM_ERROR + if insufficient memory is available + + +Allowable next actions: + + +BZ2_bzDecompress + if BZ_OK was returned + no specific action required in case of error + + + + + + +BZ2_bzDecompress + + +int BZ2_bzDecompress ( bz_stream *strm ); + + +Provides more input and/out output buffer space for the +library. The caller maintains input and output buffers, and uses +BZ2_bzDecompress to transfer +data between them. + +Before each call to +BZ2_bzDecompress, +next_in should point at the +compressed data, and avail_in +should indicate how many bytes the library may read. +BZ2_bzDecompress updates +next_in, +avail_in and +total_in to reflect the number +of bytes it has read. + +Similarly, next_out should +point to a buffer in which the uncompressed output is to be +placed, with avail_out +indicating how much output space is available. +BZ2_bzCompress updates +next_out, +avail_out and +total_out to reflect the number +of bytes output. + +You may provide and remove as little or as much data as you +like on each call of +BZ2_bzDecompress. In the limit, +it is acceptable to supply and remove data one byte at a time, +although this would be terribly inefficient. You should always +ensure that at least one byte of output space is available at +each call. + +Use of BZ2_bzDecompress is +simpler than +BZ2_bzCompress. + +You should provide input and remove output as described +above, and repeatedly call +BZ2_bzDecompress until +BZ_STREAM_END is returned. +Appearance of BZ_STREAM_END +denotes that BZ2_bzDecompress +has detected the logical end of the compressed stream. +BZ2_bzDecompress will not +produce BZ_STREAM_END until all +output data has been placed into the output buffer, so once +BZ_STREAM_END appears, you are +guaranteed to have available all the decompressed output, and +BZ2_bzDecompressEnd can safely +be called. + +If case of an error return value, you should call +BZ2_bzDecompressEnd to clean up +and release memory. + +Possible return values: + + +BZ_PARAM_ERROR + if strm is NULL or strm->s is NULL + or strm->avail_out < 1 +BZ_DATA_ERROR + if a data integrity error is detected in the compressed stream +BZ_DATA_ERROR_MAGIC + if the compressed stream doesn't begin with the right magic bytes +BZ_MEM_ERROR + if there wasn't enough memory available +BZ_STREAM_END + if the logical end of the data stream was detected and all + output in has been consumed, eg s-->avail_out > 0 +BZ_OK + otherwise + + +Allowable next actions: + + +BZ2_bzDecompress + if BZ_OK was returned +BZ2_bzDecompressEnd + otherwise + + + + + + +BZ2_bzDecompressEnd + + +int BZ2_bzDecompressEnd ( bz_stream *strm ); + + +Releases all memory associated with a decompression +stream. + +Possible return values: + + +BZ_PARAM_ERROR + if strm is NULL or strm->s is NULL +BZ_OK + otherwise + + +Allowable next actions: + + + None. + + + + + + + + +High-level interface + +This interface provides functions for reading and writing +bzip2 format files. First, some +general points. + + + + All of the functions take an + int* first argument, + bzerror. After each call, + bzerror should be consulted + first to determine the outcome of the call. If + bzerror is + BZ_OK, the call completed + successfully, and only then should the return value of the + function (if any) be consulted. If + bzerror is + BZ_IO_ERROR, there was an + error reading/writing the underlying compressed file, and you + should then consult errno / + perror to determine the cause + of the difficulty. bzerror + may also be set to various other values; precise details are + given on a per-function basis below. + + If bzerror indicates + an error (ie, anything except + BZ_OK and + BZ_STREAM_END), you should + immediately call + BZ2_bzReadClose (or + BZ2_bzWriteClose, depending on + whether you are attempting to read or to write) to free up all + resources associated with the stream. Once an error has been + indicated, behaviour of all calls except + BZ2_bzReadClose + (BZ2_bzWriteClose) is + undefined. The implication is that (1) + bzerror should be checked + after each call, and (2) if + bzerror indicates an error, + BZ2_bzReadClose + (BZ2_bzWriteClose) should then + be called to clean up. + + The FILE* arguments + passed to BZ2_bzReadOpen / + BZ2_bzWriteOpen should be set + to binary mode. Most Unix systems will do this by default, but + other platforms, including Windows and Mac, will not. If you + omit this, you may encounter problems when moving code to new + platforms. + + Memory allocation requests are handled by + malloc / + free. At present there is no + facility for user-defined memory allocators in the file I/O + functions (could easily be added, though). + + + + + + +BZ2_bzReadOpen + + +typedef void BZFILE; + +BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f, + int verbosity, int small, + void *unused, int nUnused ); + + +Prepare to read compressed data from file handle +f. +f should refer to a file which +has been opened for reading, and for which the error indicator +(ferror(f))is not set. If +small is 1, the library will try +to decompress using less memory, at the expense of speed. + +For reasons explained below, +BZ2_bzRead will decompress the +nUnused bytes starting at +unused, before starting to read +from the file f. At most +BZ_MAX_UNUSED bytes may be +supplied like this. If this facility is not required, you should +pass NULL and +0 for +unused and +nUnused respectively. + +For the meaning of parameters +small and +verbosity, see +BZ2_bzDecompressInit. + +The amount of memory needed to decompress a file cannot be +determined until the file's header has been read. So it is +possible that BZ2_bzReadOpen +returns BZ_OK but a subsequent +call of BZ2_bzRead will return +BZ_MEM_ERROR. + +Possible assignments to +bzerror: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if f is NULL + or small is neither 0 nor 1 + or ( unused == NULL && nUnused != 0 ) + or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) ) +BZ_IO_ERROR + if ferror(f) is nonzero +BZ_MEM_ERROR + if insufficient memory is available +BZ_OK + otherwise. + + +Possible return values: + + +Pointer to an abstract BZFILE + if bzerror is BZ_OK +NULL + otherwise + + +Allowable next actions: + + +BZ2_bzRead + if bzerror is BZ_OK +BZ2_bzClose + otherwise + + + + + + +BZ2_bzRead + + +int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len ); + + +Reads up to len +(uncompressed) bytes from the compressed file +b into the buffer +buf. If the read was +successful, bzerror is set to +BZ_OK and the number of bytes +read is returned. If the logical end-of-stream was detected, +bzerror will be set to +BZ_STREAM_END, and the number of +bytes read is returned. All other +bzerror values denote an +error. + +BZ2_bzRead will supply +len bytes, unless the logical +stream end is detected or an error occurs. Because of this, it +is possible to detect the stream end by observing when the number +of bytes returned is less than the number requested. +Nevertheless, this is regarded as inadvisable; you should instead +check bzerror after every call +and watch out for +BZ_STREAM_END. + +Internally, BZ2_bzRead +copies data from the compressed file in chunks of size +BZ_MAX_UNUSED bytes before +decompressing it. If the file contains more bytes than strictly +needed to reach the logical end-of-stream, +BZ2_bzRead will almost certainly +read some of the trailing data before signalling +BZ_SEQUENCE_END. To collect the +read but unused data once +BZ_SEQUENCE_END has appeared, +call BZ2_bzReadGetUnused +immediately before +BZ2_bzReadClose. + +Possible assignments to +bzerror: + + +BZ_PARAM_ERROR + if b is NULL or buf is NULL or len < 0 +BZ_SEQUENCE_ERROR + if b was opened with BZ2_bzWriteOpen +BZ_IO_ERROR + if there is an error reading from the compressed file +BZ_UNEXPECTED_EOF + if the compressed file ended before + the logical end-of-stream was detected +BZ_DATA_ERROR + if a data integrity error was detected in the compressed stream +BZ_DATA_ERROR_MAGIC + if the stream does not begin with the requisite header bytes + (ie, is not a bzip2 data file). This is really + a special case of BZ_DATA_ERROR. +BZ_MEM_ERROR + if insufficient memory was available +BZ_STREAM_END + if the logical end of stream was detected. +BZ_OK + otherwise. + + +Possible return values: + + +number of bytes read + if bzerror is BZ_OK or BZ_STREAM_END +undefined + otherwise + + +Allowable next actions: + + +collect data from buf, then BZ2_bzRead or BZ2_bzReadClose + if bzerror is BZ_OK +collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused + if bzerror is BZ_SEQUENCE_END +BZ2_bzReadClose + otherwise + + + + + + +BZ2_bzReadGetUnused + + +void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, + void** unused, int* nUnused ); + + +Returns data which was read from the compressed file but +was not needed to get to the logical end-of-stream. +*unused is set to the address of +the data, and *nUnused to the +number of bytes. *nUnused will +be set to a value between 0 and +BZ_MAX_UNUSED inclusive. + +This function may only be called once +BZ2_bzRead has signalled +BZ_STREAM_END but before +BZ2_bzReadClose. + +Possible assignments to +bzerror: + + +BZ_PARAM_ERROR + if b is NULL + or unused is NULL or nUnused is NULL +BZ_SEQUENCE_ERROR + if BZ_STREAM_END has not been signalled + or if b was opened with BZ2_bzWriteOpen +BZ_OK + otherwise + + +Allowable next actions: + + +BZ2_bzReadClose + + + + + + +BZ2_bzReadClose + + +void BZ2_bzReadClose ( int *bzerror, BZFILE *b ); + + +Releases all memory pertaining to the compressed file +b. +BZ2_bzReadClose does not call +fclose on the underlying file +handle, so you should do that yourself if appropriate. +BZ2_bzReadClose should be called +to clean up after all error situations. + +Possible assignments to +bzerror: + + +BZ_SEQUENCE_ERROR + if b was opened with BZ2_bzOpenWrite +BZ_OK + otherwise + + +Allowable next actions: + + +none + + + + + + +BZ2_bzWriteOpen + + +BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, + int blockSize100k, int verbosity, + int workFactor ); + + +Prepare to write compressed data to file handle +f. +f should refer to a file which +has been opened for writing, and for which the error indicator +(ferror(f))is not set. + +For the meaning of parameters +blockSize100k, +verbosity and +workFactor, see +BZ2_bzCompressInit. + +All required memory is allocated at this stage, so if the +call completes successfully, +BZ_MEM_ERROR cannot be signalled +by a subsequent call to +BZ2_bzWrite. + +Possible assignments to +bzerror: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if f is NULL + or blockSize100k < 1 or blockSize100k > 9 +BZ_IO_ERROR + if ferror(f) is nonzero +BZ_MEM_ERROR + if insufficient memory is available +BZ_OK + otherwise + + +Possible return values: + + +Pointer to an abstract BZFILE + if bzerror is BZ_OK +NULL + otherwise + + +Allowable next actions: + + +BZ2_bzWrite + if bzerror is BZ_OK + (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless) +BZ2_bzWriteClose + otherwise + + + + + + +BZ2_bzWrite + + +void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len ); + + +Absorbs len bytes from the +buffer buf, eventually to be +compressed and written to the file. + +Possible assignments to +bzerror: + + +BZ_PARAM_ERROR + if b is NULL or buf is NULL or len < 0 +BZ_SEQUENCE_ERROR + if b was opened with BZ2_bzReadOpen +BZ_IO_ERROR + if there is an error writing the compressed file. +BZ_OK + otherwise + + + + + + +BZ2_bzWriteClose + + +void BZ2_bzWriteClose( int *bzerror, BZFILE* f, + int abandon, + unsigned int* nbytes_in, + unsigned int* nbytes_out ); + +void BZ2_bzWriteClose64( int *bzerror, BZFILE* f, + int abandon, + unsigned int* nbytes_in_lo32, + unsigned int* nbytes_in_hi32, + unsigned int* nbytes_out_lo32, + unsigned int* nbytes_out_hi32 ); + + +Compresses and flushes to the compressed file all data so +far supplied by BZ2_bzWrite. +The logical end-of-stream markers are also written, so subsequent +calls to BZ2_bzWrite are +illegal. All memory associated with the compressed file +b is released. +fflush is called on the +compressed file, but it is not +fclose'd. + +If BZ2_bzWriteClose is +called to clean up after an error, the only action is to release +the memory. The library records the error codes issued by +previous calls, so this situation will be detected automatically. +There is no attempt to complete the compression operation, nor to +fflush the compressed file. You +can force this behaviour to happen even in the case of no error, +by passing a nonzero value to +abandon. + +If nbytes_in is non-null, +*nbytes_in will be set to be the +total volume of uncompressed data handled. Similarly, +nbytes_out will be set to the +total volume of compressed data written. For compatibility with +older versions of the library, +BZ2_bzWriteClose only yields the +lower 32 bits of these counts. Use +BZ2_bzWriteClose64 if you want +the full 64 bit counts. These two functions are otherwise +absolutely identical. + +Possible assignments to +bzerror: + + +BZ_SEQUENCE_ERROR + if b was opened with BZ2_bzReadOpen +BZ_IO_ERROR + if there is an error writing the compressed file +BZ_OK + otherwise + + + + + + +Handling embedded compressed data streams + +The high-level library facilitates use of +bzip2 data streams which form +some part of a surrounding, larger data stream. + + + + For writing, the library takes an open file handle, + writes compressed data to it, + fflushes it but does not + fclose it. The calling + application can write its own data before and after the + compressed data stream, using that same file handle. + + Reading is more complex, and the facilities are not as + general as they could be since generality is hard to reconcile + with efficiency. BZ2_bzRead + reads from the compressed file in blocks of size + BZ_MAX_UNUSED bytes, and in + doing so probably will overshoot the logical end of compressed + stream. To recover this data once decompression has ended, + call BZ2_bzReadGetUnused after + the last call of BZ2_bzRead + (the one returning + BZ_STREAM_END) but before + calling + BZ2_bzReadClose. + + + +This mechanism makes it easy to decompress multiple +bzip2 streams placed end-to-end. +As the end of one stream, when +BZ2_bzRead returns +BZ_STREAM_END, call +BZ2_bzReadGetUnused to collect +the unused data (copy it into your own buffer somewhere). That +data forms the start of the next compressed stream. To start +uncompressing that next stream, call +BZ2_bzReadOpen again, feeding in +the unused data via the unused / +nUnused parameters. Keep doing +this until BZ_STREAM_END return +coincides with the physical end of file +(feof(f)). In this situation +BZ2_bzReadGetUnused will of +course return no data. + +This should give some feel for how the high-level interface +can be used. If you require extra flexibility, you'll have to +bite the bullet and get to grips with the low-level +interface. + + + + + +Standard file-reading/writing code + +Here's how you'd write data to a compressed file: + + +FILE* f; +BZFILE* b; +int nBuf; +char buf[ /* whatever size you like */ ]; +int bzerror; +int nWritten; + +f = fopen ( "myfile.bz2", "w" ); +if ( !f ) { + /* handle error */ +} +b = BZ2_bzWriteOpen( &bzerror, f, 9 ); +if (bzerror != BZ_OK) { + BZ2_bzWriteClose ( b ); + /* handle error */ +} + +while ( /* condition */ ) { + /* get data to write into buf, and set nBuf appropriately */ + nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf ); + if (bzerror == BZ_IO_ERROR) { + BZ2_bzWriteClose ( &bzerror, b ); + /* handle error */ + } +} + +BZ2_bzWriteClose( &bzerror, b ); +if (bzerror == BZ_IO_ERROR) { + /* handle error */ +} + + +And to read from a compressed file: + + +FILE* f; +BZFILE* b; +int nBuf; +char buf[ /* whatever size you like */ ]; +int bzerror; +int nWritten; + +f = fopen ( "myfile.bz2", "r" ); +if ( !f ) { + /* handle error */ +} +b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 ); +if ( bzerror != BZ_OK ) { + BZ2_bzReadClose ( &bzerror, b ); + /* handle error */ +} + +bzerror = BZ_OK; +while ( bzerror == BZ_OK && /* arbitrary other conditions */) { + nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ ); + if ( bzerror == BZ_OK ) { + /* do something with buf[0 .. nBuf-1] */ + } +} +if ( bzerror != BZ_STREAM_END ) { + BZ2_bzReadClose ( &bzerror, b ); + /* handle error */ +} else { + BZ2_bzReadClose ( &bzerror, b ); +} + + + + + + + + +Utility functions + + + +BZ2_bzBuffToBuffCompress + + +int BZ2_bzBuffToBuffCompress( char* dest, + unsigned int* destLen, + char* source, + unsigned int sourceLen, + int blockSize100k, + int verbosity, + int workFactor ); + + +Attempts to compress the data in source[0 +.. sourceLen-1] into the destination buffer, +dest[0 .. *destLen-1]. If the +destination buffer is big enough, +*destLen is set to the size of +the compressed data, and BZ_OK +is returned. If the compressed data won't fit, +*destLen is unchanged, and +BZ_OUTBUFF_FULL is +returned. + +Compression in this manner is a one-shot event, done with a +single call to this function. The resulting compressed data is a +complete bzip2 format data +stream. There is no mechanism for making additional calls to +provide extra input data. If you want that kind of mechanism, +use the low-level interface. + +For the meaning of parameters +blockSize100k, +verbosity and +workFactor, see +BZ2_bzCompressInit. + +To guarantee that the compressed data will fit in its +buffer, allocate an output buffer of size 1% larger than the +uncompressed data, plus six hundred extra bytes. + +BZ2_bzBuffToBuffDecompress +will not write data at or beyond +dest[*destLen], even in case of +buffer overflow. + +Possible return values: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if dest is NULL or destLen is NULL + or blockSize100k < 1 or blockSize100k > 9 + or verbosity < 0 or verbosity > 4 + or workFactor < 0 or workFactor > 250 +BZ_MEM_ERROR + if insufficient memory is available +BZ_OUTBUFF_FULL + if the size of the compressed data exceeds *destLen +BZ_OK + otherwise + + + + + + +BZ2_bzBuffToBuffDecompress + + +int BZ2_bzBuffToBuffDecompress( char* dest, + unsigned int* destLen, + char* source, + unsigned int sourceLen, + int small, + int verbosity ); + + +Attempts to decompress the data in source[0 +.. sourceLen-1] into the destination buffer, +dest[0 .. *destLen-1]. If the +destination buffer is big enough, +*destLen is set to the size of +the uncompressed data, and BZ_OK +is returned. If the compressed data won't fit, +*destLen is unchanged, and +BZ_OUTBUFF_FULL is +returned. + +source is assumed to hold +a complete bzip2 format data +stream. +BZ2_bzBuffToBuffDecompress tries +to decompress the entirety of the stream into the output +buffer. + +For the meaning of parameters +small and +verbosity, see +BZ2_bzDecompressInit. + +Because the compression ratio of the compressed data cannot +be known in advance, there is no easy way to guarantee that the +output buffer will be big enough. You may of course make +arrangements in your code to record the size of the uncompressed +data, but such a mechanism is beyond the scope of this +library. + +BZ2_bzBuffToBuffDecompress +will not write data at or beyond +dest[*destLen], even in case of +buffer overflow. + +Possible return values: + + +BZ_CONFIG_ERROR + if the library has been mis-compiled +BZ_PARAM_ERROR + if dest is NULL or destLen is NULL + or small != 0 && small != 1 + or verbosity < 0 or verbosity > 4 +BZ_MEM_ERROR + if insufficient memory is available +BZ_OUTBUFF_FULL + if the size of the compressed data exceeds *destLen +BZ_DATA_ERROR + if a data integrity error was detected in the compressed data +BZ_DATA_ERROR_MAGIC + if the compressed data doesn't begin with the right magic bytes +BZ_UNEXPECTED_EOF + if the compressed data ends unexpectedly +BZ_OK + otherwise + + + + + + + + +zlib compatibility functions + +Yoshioka Tsuneo has contributed some functions to give +better zlib compatibility. +These functions are BZ2_bzopen, +BZ2_bzread, +BZ2_bzwrite, +BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and +BZ2_bzlibVersion. These +functions are not (yet) officially part of the library. If they +break, you get to keep all the pieces. Nevertheless, I think +they work ok. + + +typedef void BZFILE; + +const char * BZ2_bzlibVersion ( void ); + + +Returns a string indicating the library version. + + +BZFILE * BZ2_bzopen ( const char *path, const char *mode ); +BZFILE * BZ2_bzdopen ( int fd, const char *mode ); + + +Opens a .bz2 file for +reading or writing, using either its name or a pre-existing file +descriptor. Analogous to fopen +and fdopen. + + +int BZ2_bzread ( BZFILE* b, void* buf, int len ); +int BZ2_bzwrite ( BZFILE* b, void* buf, int len ); + + +Reads/writes data from/to a previously opened +BZFILE. Analogous to +fread and +fwrite. + + +int BZ2_bzflush ( BZFILE* b ); +void BZ2_bzclose ( BZFILE* b ); + + +Flushes/closes a BZFILE. +BZ2_bzflush doesn't actually do +anything. Analogous to fflush +and fclose. + + +const char * BZ2_bzerror ( BZFILE *b, int *errnum ) + + +Returns a string describing the more recent error status of +b, and also sets +*errnum to its numerical +value. + + + + + +Using the library in a stdio-free environment + + + +Getting rid of stdio + +In a deeply embedded application, you might want to use +just the memory-to-memory functions. You can do this +conveniently by compiling the library with preprocessor symbol +BZ_NO_STDIO defined. Doing this +gives you a library containing only the following eight +functions: + +BZ2_bzCompressInit, +BZ2_bzCompress, +BZ2_bzCompressEnd +BZ2_bzDecompressInit, +BZ2_bzDecompress, +BZ2_bzDecompressEnd +BZ2_bzBuffToBuffCompress, +BZ2_bzBuffToBuffDecompress + +When compiled like this, all functions will ignore +verbosity settings. + + + + + +Critical error handling + +libbzip2 contains a number +of internal assertion checks which should, needless to say, never +be activated. Nevertheless, if an assertion should fail, +behaviour depends on whether or not the library was compiled with +BZ_NO_STDIO set. + +For a normal compile, an assertion failure yields the +message: + +
+bzip2/libbzip2: internal error number N. +This is a bug in bzip2/libbzip2, &bz-version; of &bz-date;. +Please report it to me at: &bz-email;. If this happened +when you were using some program which uses libbzip2 as a +component, you should also report this bug to the author(s) +of that program. Please make an effort to report this bug; +timely and accurate bug reports eventually lead to higher +quality software. Thanks. Julian Seward, &bz-date;. +
+ +where N is some error code +number. If N == 1007, it also +prints some extra text advising the reader that unreliable memory +is often associated with internal error 1007. (This is a +frequently-observed-phenomenon with versions 1.0.0/1.0.1). + +exit(3) is then +called. + +For a stdio-free library, +assertion failures result in a call to a function declared +as: + + +extern void bz_internal_error ( int errcode ); + + +The relevant code is passed as a parameter. You should +supply such a function. + +In either case, once an assertion failure has occurred, any +bz_stream records involved can +be regarded as invalid. You should not attempt to resume normal +operation with them. + +You may, of course, change critical error handling to suit +your needs. As I said above, critical errors indicate bugs in +the library and should not occur. All "normal" error situations +are indicated via error return codes from functions, and can be +recovered from. + +
+ +
+ + + +Making a Windows DLL + +Everything related to Windows has been contributed by +Yoshioka Tsuneo +(tsuneo@rr.iij4u.or.jp), so +you should send your queries to him (but perhaps Cc: me, +&bz-email;). + +My vague understanding of what to do is: using Visual C++ +5.0, open the project file +libbz2.dsp, and build. That's +all. + +If you can't open the project file for some reason, make a +new one, naming these files: +blocksort.c, +bzlib.c, +compress.c, +crctable.c, +decompress.c, +huffman.c, +randtable.c and +libbz2.def. You will also need +to name the header files bzlib.h +and bzlib_private.h. + +If you don't use VC++, you may need to define the +proprocessor symbol +_WIN32. + +Finally, dlltest.c is a +sample program using the DLL. It has a project file, +dlltest.dsp. + +If you just want a makefile for Visual C, have a look at +makefile.msc. + +Be aware that if you compile +bzip2 itself on Win32, you must +set BZ_UNIX to 0 and +BZ_LCCWIN32 to 1, in the file +bzip2.c, before compiling. +Otherwise the resulting binary won't work correctly. + +I haven't tried any of this stuff myself, but it all looks +plausible. + + + +
+ + + + +Miscellanea + +These are just some random thoughts of mine. Your mileage +may vary. + + + +Limitations of the compressed file format + +bzip2-1.0.X, +0.9.5 and +0.9.0 use exactly the same file +format as the original version, +bzip2-0.1. This decision was +made in the interests of stability. Creating yet another +incompatible compressed file format would create further +confusion and disruption for users. + +Nevertheless, this is not a painless decision. Development +work since the release of +bzip2-0.1 in August 1997 has +shown complexities in the file format which slow down +decompression and, in retrospect, are unnecessary. These +are: + + + + The run-length encoder, which is the first of the + compression transformations, is entirely irrelevant. The + original purpose was to protect the sorting algorithm from the + very worst case input: a string of repeated symbols. But + algorithm steps Q6a and Q6b in the original Burrows-Wheeler + technical report (SRC-124) show how repeats can be handled + without difficulty in block sorting. + + The randomisation mechanism doesn't really need to be + there. Udi Manber and Gene Myers published a suffix array + construction algorithm a few years back, which can be employed + to sort any block, no matter how repetitive, in O(N log N) + time. Subsequent work by Kunihiko Sadakane has produced a + derivative O(N (log N)^2) algorithm which usually outperforms + the Manber-Myers algorithm. + + I could have changed to Sadakane's algorithm, but I find + it to be slower than bzip2's + existing algorithm for most inputs, and the randomisation + mechanism protects adequately against bad cases. I didn't + think it was a good tradeoff to make. Partly this is due to + the fact that I was not flooded with email complaints about + bzip2-0.1's performance on + repetitive data, so perhaps it isn't a problem for real + inputs. + + Probably the best long-term solution, and the one I have + incorporated into 0.9.5 and above, is to use the existing + sorting algorithm initially, and fall back to a O(N (log N)^2) + algorithm if the standard algorithm gets into + difficulties. + + The compressed file format was never designed to be + handled by a library, and I have had to jump though some hoops + to produce an efficient implementation of decompression. It's + a bit hairy. Try passing + decompress.c through the C + preprocessor and you'll see what I mean. Much of this + complexity could have been avoided if the compressed size of + each block of data was recorded in the data stream. + + An Adler-32 checksum, rather than a CRC32 checksum, + would be faster to compute. + + + +It would be fair to say that the +bzip2 format was frozen before I +properly and fully understood the performance consequences of +doing so. + +Improvements which I was able to incorporate into 0.9.0, +despite using the same file format, are: + + + + Single array implementation of the inverse BWT. This + significantly speeds up decompression, presumably because it + reduces the number of cache misses. + + Faster inverse MTF transform for large MTF values. + The new implementation is based on the notion of sliding blocks + of values. + + bzip2-0.9.0 now reads + and writes files with fread + and fwrite; version 0.1 used + putc and + getc. Duh! Well, you live + and learn. + + + +Further ahead, it would be nice to be able to do random +access into files. This will require some careful design of +compressed file formats. + + + + + +Portability issues + +After some consideration, I have decided not to use GNU +autoconf to configure 0.9.5 or +1.0. + +autoconf, admirable and +wonderful though it is, mainly assists with portability problems +between Unix-like platforms. But +bzip2 doesn't have much in the +way of portability problems on Unix; most of the difficulties +appear when porting to the Mac, or to Microsoft's operating +systems. autoconf doesn't help +in those cases, and brings in a whole load of new +complexity. + +Most people should be able to compile the library and +program under Unix straight out-of-the-box, so to speak, +especially if you have a version of GNU C available. + +There are a couple of +__inline__ directives in the +code. GNU C (gcc) should be +able to handle them. If you're not using GNU C, your C compiler +shouldn't see them at all. If your compiler does, for some +reason, see them and doesn't like them, just +#define +__inline__ to be +/* */. One easy way to do this +is to compile with the flag +-D__inline__=, which should be +understood by most Unix compilers. + +If you still have difficulties, try compiling with the +macro BZ_STRICT_ANSI defined. +This should enable you to build the library in a strictly ANSI +compliant environment. Building the program itself like this is +dangerous and not supported, since you remove +bzip2's checks against +compressing directories, symbolic links, devices, and other +not-really-a-file entities. This could cause filesystem +corruption! + +One other thing: if you create a +bzip2 binary for public distribution, +please consider linking it statically (gcc +-static). This avoids all sorts of library-version +issues that others may encounter later on. + +If you build bzip2 on +Win32, you must set BZ_UNIX to 0 +and BZ_LCCWIN32 to 1, in the +file bzip2.c, before compiling. +Otherwise the resulting binary won't work correctly. + + + + + +Reporting bugs + +I tried pretty hard to make sure +bzip2 is bug free, both by +design and by testing. Hopefully you'll never need to read this +section for real. + +Nevertheless, if bzip2 dies +with a segmentation fault, a bus error or an internal assertion +failure, it will ask you to email me a bug report. Experience from +years of feedback of bzip2 users indicates that almost all these +problems can be traced to either compiler bugs or hardware +problems. + + + + Recompile the program with no optimisation, and + see if it works. And/or try a different compiler. I heard all + sorts of stories about various flavours of GNU C (and other + compilers) generating bad code for + bzip2, and I've run across two + such examples myself. + + 2.7.X versions of GNU C are known to generate bad code + from time to time, at high optimisation levels. If you get + problems, try using the flags + -O2 + -fomit-frame-pointer + -fno-strength-reduce. You + should specifically not use + -funroll-loops. + + You may notice that the Makefile runs six tests as part + of the build process. If the program passes all of these, it's + a pretty good (but not 100%) indication that the compiler has + done its job correctly. + + If bzip2 + crashes randomly, and the crashes are not repeatable, you may + have a flaky memory subsystem. + bzip2 really hammers your + memory hierarchy, and if it's a bit marginal, you may get these + problems. Ditto if your disk or I/O subsystem is slowly + failing. Yup, this really does happen. + + Try using a different machine of the same type, and see + if you can repeat the problem. + + This isn't really a bug, but ... If + bzip2 tells you your file is + corrupted on decompression, and you obtained the file via FTP, + there is a possibility that you forgot to tell FTP to do a + binary mode transfer. That absolutely will cause the file to + be non-decompressible. You'll have to transfer it + again. + + + +If you've incorporated +libbzip2 into your own program +and are getting problems, please, please, please, check that the +parameters you are passing in calls to the library, are correct, +and in accordance with what the documentation says is allowable. +I have tried to make the library robust against such problems, +but I'm sure I haven't succeeded. + +Finally, if the above comments don't help, you'll have to +send me a bug report. Now, it's just amazing how many people +will send me a bug report saying something like: + + +bzip2 crashed with segmentation fault on my machine + + +and absolutely nothing else. Needless to say, a such a +report is totally, utterly, completely and +comprehensively 100% useless; a waste of your time, my time, and +net bandwidth. With no details at all, there's no way +I can possibly begin to figure out what the problem is. + +The rules of the game are: facts, facts, facts. Don't omit +them because "oh, they won't be relevant". At the bare +minimum: + + +Machine type. Operating system version. +Exact version of bzip2 (do bzip2 -V). +Exact version of the compiler used. +Flags passed to the compiler. + + +However, the most important single thing that will help me +is the file that you were trying to compress or decompress at the +time the problem happened. Without that, my ability to do +anything more than speculate about the cause, is limited. + + + + + +Did you get the right package? + +bzip2 is a resource hog. +It soaks up large amounts of CPU cycles and memory. Also, it +gives very large latencies. In the worst case, you can feed many +megabytes of uncompressed data into the library before getting +any compressed output, so this probably rules out applications +requiring interactive behaviour. + +These aren't faults of my implementation, I hope, but more +an intrinsic property of the Burrows-Wheeler transform +(unfortunately). Maybe this isn't what you want. + +If you want a compressor and/or library which is faster, +uses less memory but gets pretty good compression, and has +minimal latency, consider Jean-loup Gailly's and Mark Adler's +work, zlib-1.2.1 and +gzip-1.2.4. Look for them at +http://www.zlib.org and +http://www.gzip.org +respectively. + +For something faster and lighter still, you might try Markus F +X J Oberhumer's LZO real-time +compression/decompression library, at +http://www.oberhumer.com/opensource. + + + + + + +Further Reading + +bzip2 is not research +work, in the sense that it doesn't present any new ideas. +Rather, it's an engineering exercise based on existing +ideas. + +Four documents describe essentially all the ideas behind +bzip2: + +Michael Burrows and D. J. Wheeler: + "A block-sorting lossless data compression algorithm" + 10th May 1994. + Digital SRC Research Report 124. + ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz + If you have trouble finding it, try searching at the + New Zealand Digital Library, http://www.nzdl.org. + +Daniel S. Hirschberg and Debra A. LeLewer + "Efficient Decoding of Prefix Codes" + Communications of the ACM, April 1990, Vol 33, Number 4. + You might be able to get an electronic copy of this + from the ACM Digital Library. + +David J. Wheeler + Program bred3.c and accompanying document bred3.ps. + This contains the idea behind the multi-table Huffman coding scheme. + ftp://ftp.cl.cam.ac.uk/users/djw3/ + +Jon L. Bentley and Robert Sedgewick + "Fast Algorithms for Sorting and Searching Strings" + Available from Sedgewick's web page, + www.cs.princeton.edu/~rs + + +The following paper gives valuable additional insights into +the algorithm, but is not immediately the basis of any code used +in bzip2. + +Peter Fenwick: + Block Sorting Text Compression + Proceedings of the 19th Australasian Computer Science Conference, + Melbourne, Australia. Jan 31 - Feb 2, 1996. + ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps + +Kunihiko Sadakane's sorting algorithm, mentioned above, is +available from: + +http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz + + +The Manber-Myers suffix array construction algorithm is +described in a paper available from: + +http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps + + +Finally, the following papers document some +investigations I made into the performance of sorting +and decompression algorithms: + +Julian Seward + On the Performance of BWT Sorting Algorithms + Proceedings of the IEEE Data Compression Conference 2000 + Snowbird, Utah. 28-30 March 2000. + +Julian Seward + Space-time Tradeoffs in the Inverse B-W Transform + Proceedings of the IEEE Data Compression Conference 2001 + Snowbird, Utah. 27-29 March 2001. + + + + + + +
diff --git a/plugins/Updater/bzip2-1.0.3/mk251.c b/plugins/Updater/bzip2-1.0.3/mk251.c new file mode 100644 index 0000000000..c9c36f6c48 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/mk251.c @@ -0,0 +1,31 @@ + +/* Spew out a long sequence of the byte 251. When fed to bzip2 + versions 1.0.0 or 1.0.1, causes it to die with internal error + 1007 in blocksort.c. This assertion misses an extremely rare + case, which is fixed in this version (1.0.2) and above. +*/ + +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ + + +#include + +int main () +{ + int i; + for (i = 0; i < 48500000 ; i++) + putchar(251); + return 0; +} diff --git a/plugins/Updater/bzip2-1.0.3/randtable.c b/plugins/Updater/bzip2-1.0.3/randtable.c new file mode 100644 index 0000000000..6d62459906 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/randtable.c @@ -0,0 +1,84 @@ + +/*-------------------------------------------------------------*/ +/*--- Table for randomising repetitive blocks ---*/ +/*--- randtable.c ---*/ +/*-------------------------------------------------------------*/ + +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ + + +#include "bzlib_private.h" + + +/*---------------------------------------------*/ +Int32 BZ2_rNums[512] = { + 619, 720, 127, 481, 931, 816, 813, 233, 566, 247, + 985, 724, 205, 454, 863, 491, 741, 242, 949, 214, + 733, 859, 335, 708, 621, 574, 73, 654, 730, 472, + 419, 436, 278, 496, 867, 210, 399, 680, 480, 51, + 878, 465, 811, 169, 869, 675, 611, 697, 867, 561, + 862, 687, 507, 283, 482, 129, 807, 591, 733, 623, + 150, 238, 59, 379, 684, 877, 625, 169, 643, 105, + 170, 607, 520, 932, 727, 476, 693, 425, 174, 647, + 73, 122, 335, 530, 442, 853, 695, 249, 445, 515, + 909, 545, 703, 919, 874, 474, 882, 500, 594, 612, + 641, 801, 220, 162, 819, 984, 589, 513, 495, 799, + 161, 604, 958, 533, 221, 400, 386, 867, 600, 782, + 382, 596, 414, 171, 516, 375, 682, 485, 911, 276, + 98, 553, 163, 354, 666, 933, 424, 341, 533, 870, + 227, 730, 475, 186, 263, 647, 537, 686, 600, 224, + 469, 68, 770, 919, 190, 373, 294, 822, 808, 206, + 184, 943, 795, 384, 383, 461, 404, 758, 839, 887, + 715, 67, 618, 276, 204, 918, 873, 777, 604, 560, + 951, 160, 578, 722, 79, 804, 96, 409, 713, 940, + 652, 934, 970, 447, 318, 353, 859, 672, 112, 785, + 645, 863, 803, 350, 139, 93, 354, 99, 820, 908, + 609, 772, 154, 274, 580, 184, 79, 626, 630, 742, + 653, 282, 762, 623, 680, 81, 927, 626, 789, 125, + 411, 521, 938, 300, 821, 78, 343, 175, 128, 250, + 170, 774, 972, 275, 999, 639, 495, 78, 352, 126, + 857, 956, 358, 619, 580, 124, 737, 594, 701, 612, + 669, 112, 134, 694, 363, 992, 809, 743, 168, 974, + 944, 375, 748, 52, 600, 747, 642, 182, 862, 81, + 344, 805, 988, 739, 511, 655, 814, 334, 249, 515, + 897, 955, 664, 981, 649, 113, 974, 459, 893, 228, + 433, 837, 553, 268, 926, 240, 102, 654, 459, 51, + 686, 754, 806, 760, 493, 403, 415, 394, 687, 700, + 946, 670, 656, 610, 738, 392, 760, 799, 887, 653, + 978, 321, 576, 617, 626, 502, 894, 679, 243, 440, + 680, 879, 194, 572, 640, 724, 926, 56, 204, 700, + 707, 151, 457, 449, 797, 195, 791, 558, 945, 679, + 297, 59, 87, 824, 713, 663, 412, 693, 342, 606, + 134, 108, 571, 364, 631, 212, 174, 643, 304, 329, + 343, 97, 430, 751, 497, 314, 983, 374, 822, 928, + 140, 206, 73, 263, 980, 736, 876, 478, 430, 305, + 170, 514, 364, 692, 829, 82, 855, 953, 676, 246, + 369, 970, 294, 750, 807, 827, 150, 790, 288, 923, + 804, 378, 215, 828, 592, 281, 565, 555, 710, 82, + 896, 831, 547, 261, 524, 462, 293, 465, 502, 56, + 661, 821, 976, 991, 658, 869, 905, 758, 745, 193, + 768, 550, 608, 933, 378, 286, 215, 979, 792, 961, + 61, 688, 793, 644, 986, 403, 106, 366, 905, 644, + 372, 567, 466, 434, 645, 210, 389, 550, 919, 135, + 780, 773, 635, 389, 707, 100, 626, 958, 165, 504, + 920, 176, 193, 713, 857, 265, 203, 50, 668, 108, + 645, 990, 626, 197, 510, 357, 358, 850, 858, 364, + 936, 638 +}; + + +/*-------------------------------------------------------------*/ +/*--- end randtable.c ---*/ +/*-------------------------------------------------------------*/ diff --git a/plugins/Updater/bzip2-1.0.3/sample1.bz2 b/plugins/Updater/bzip2-1.0.3/sample1.bz2 new file mode 100644 index 0000000000..18dea60043 Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/sample1.bz2 differ diff --git a/plugins/Updater/bzip2-1.0.3/sample1.ref b/plugins/Updater/bzip2-1.0.3/sample1.ref new file mode 100644 index 0000000000..a56e52b77f Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/sample1.ref differ diff --git a/plugins/Updater/bzip2-1.0.3/sample2.bz2 b/plugins/Updater/bzip2-1.0.3/sample2.bz2 new file mode 100644 index 0000000000..d5a6160ba2 Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/sample2.bz2 differ diff --git a/plugins/Updater/bzip2-1.0.3/sample2.ref b/plugins/Updater/bzip2-1.0.3/sample2.ref new file mode 100644 index 0000000000..34af95839a Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/sample2.ref differ diff --git a/plugins/Updater/bzip2-1.0.3/sample3.bz2 b/plugins/Updater/bzip2-1.0.3/sample3.bz2 new file mode 100644 index 0000000000..d90cff9208 Binary files /dev/null and b/plugins/Updater/bzip2-1.0.3/sample3.bz2 differ diff --git a/plugins/Updater/bzip2-1.0.3/sample3.ref b/plugins/Updater/bzip2-1.0.3/sample3.ref new file mode 100644 index 0000000000..775a2f68e2 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/sample3.ref @@ -0,0 +1,30007 @@ +This file is exceedingly boring. If you find yourself +reading it, please (1) take it from me that you can safely +guess what the rest of the file says, and (2) seek professional +help. + +ps. there are no further sarcastic remarks in this file. + +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh +ugh diff --git a/plugins/Updater/bzip2-1.0.3/spewG.c b/plugins/Updater/bzip2-1.0.3/spewG.c new file mode 100644 index 0000000000..14a364938d --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/spewG.c @@ -0,0 +1,54 @@ + +/* spew out a thoroughly gigantic file designed so that bzip2 + can compress it reasonably rapidly. This is to help test + support for large files (> 2GB) in a reasonable amount of time. + I suggest you use the undocumented --exponential option to + bzip2 when compressing the resulting file; this saves a bit of + time. Note: *don't* bother with --exponential when compressing + Real Files; it'll just waste a lot of CPU time :-) + (but is otherwise harmless). +*/ + +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ + + +#define _FILE_OFFSET_BITS 64 + +#include +#include + +/* The number of megabytes of junk to spew out (roughly) */ +#define MEGABYTES 5000 + +#define N_BUF 1000000 +char buf[N_BUF]; + +int main ( int argc, char** argv ) +{ + int ii, kk, p; + srandom(1); + setbuffer ( stdout, buf, N_BUF ); + for (kk = 0; kk < MEGABYTES * 515; kk+=3) { + p = 25+random()%50; + for (ii = 0; ii < p; ii++) + printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ); + for (ii = 0; ii < p-1; ii++) + printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" ); + for (ii = 0; ii < p+1; ii++) + printf ( "ccccccccccccccccccccccccccccccccccccc" ); + } + fflush(stdout); + return 0; +} diff --git a/plugins/Updater/bzip2-1.0.3/unzcrash.c b/plugins/Updater/bzip2-1.0.3/unzcrash.c new file mode 100644 index 0000000000..7041da51c9 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/unzcrash.c @@ -0,0 +1,141 @@ + +/* A test program written to test robustness to decompression of + corrupted data. Usage is + unzcrash filename + and the program will read the specified file, compress it (in memory), + and then repeatedly decompress it, each time with a different bit of + the compressed data inverted, so as to test all possible one-bit errors. + This should not cause any invalid memory accesses. If it does, + I want to know about it! + + PS. As you can see from the above description, the process is + incredibly slow. A file of size eg 5KB will cause it to run for + many hours. +*/ + +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward + + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ + + +#include +#include +#include "bzlib.h" + +#define M_BLOCK 1000000 + +typedef unsigned char uchar; + +#define M_BLOCK_OUT (M_BLOCK + 1000000) +uchar inbuf[M_BLOCK]; +uchar outbuf[M_BLOCK_OUT]; +uchar zbuf[M_BLOCK + 600 + (M_BLOCK / 100)]; + +int nIn, nOut, nZ; + +static char *bzerrorstrings[] = { + "OK" + ,"SEQUENCE_ERROR" + ,"PARAM_ERROR" + ,"MEM_ERROR" + ,"DATA_ERROR" + ,"DATA_ERROR_MAGIC" + ,"IO_ERROR" + ,"UNEXPECTED_EOF" + ,"OUTBUFF_FULL" + ,"???" /* for future */ + ,"???" /* for future */ + ,"???" /* for future */ + ,"???" /* for future */ + ,"???" /* for future */ + ,"???" /* for future */ +}; + +void flip_bit ( int bit ) +{ + int byteno = bit / 8; + int bitno = bit % 8; + uchar mask = 1 << bitno; + //fprintf ( stderr, "(byte %d bit %d mask %d)", + // byteno, bitno, (int)mask ); + zbuf[byteno] ^= mask; +} + +int main ( int argc, char** argv ) +{ + FILE* f; + int r; + int bit; + int i; + + if (argc != 2) { + fprintf ( stderr, "usage: unzcrash filename\n" ); + return 1; + } + + f = fopen ( argv[1], "r" ); + if (!f) { + fprintf ( stderr, "unzcrash: can't open %s\n", argv[1] ); + return 1; + } + + nIn = fread ( inbuf, 1, M_BLOCK, f ); + fprintf ( stderr, "%d bytes read\n", nIn ); + + nZ = M_BLOCK; + r = BZ2_bzBuffToBuffCompress ( + zbuf, &nZ, inbuf, nIn, 9, 0, 30 ); + + assert (r == BZ_OK); + fprintf ( stderr, "%d after compression\n", nZ ); + + for (bit = 0; bit < nZ*8; bit++) { + fprintf ( stderr, "bit %d ", bit ); + flip_bit ( bit ); + nOut = M_BLOCK_OUT; + r = BZ2_bzBuffToBuffDecompress ( + outbuf, &nOut, zbuf, nZ, 0, 0 ); + fprintf ( stderr, " %d %s ", r, bzerrorstrings[-r] ); + + if (r != BZ_OK) { + fprintf ( stderr, "\n" ); + } else { + if (nOut != nIn) { + fprintf(stderr, "nIn/nOut mismatch %d %d\n", nIn, nOut ); + return 1; + } else { + for (i = 0; i < nOut; i++) + if (inbuf[i] != outbuf[i]) { + fprintf(stderr, "mismatch at %d\n", i ); + return 1; + } + if (i == nOut) fprintf(stderr, "really ok!\n" ); + } + } + + flip_bit ( bit ); + } + +#if 0 + assert (nOut == nIn); + for (i = 0; i < nOut; i++) { + if (inbuf[i] != outbuf[i]) { + fprintf ( stderr, "difference at %d !\n", i ); + return 1; + } + } +#endif + + fprintf ( stderr, "all ok\n" ); + return 0; +} diff --git a/plugins/Updater/bzip2-1.0.3/words0 b/plugins/Updater/bzip2-1.0.3/words0 new file mode 100644 index 0000000000..fbf442ad6b --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/words0 @@ -0,0 +1,9 @@ + +If compilation produces errors, or a large number of warnings, +please read README.COMPILATION.PROBLEMS -- you might be able to +adjust the flags in this Makefile to improve matters. + +Also in README.COMPILATION.PROBLEMS are some hints that may help +if your build produces an executable which is unable to correctly +handle so-called 'large files' -- files of size 2GB or more. + diff --git a/plugins/Updater/bzip2-1.0.3/words1 b/plugins/Updater/bzip2-1.0.3/words1 new file mode 100644 index 0000000000..2e83de9f08 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/words1 @@ -0,0 +1,4 @@ + +Doing 6 tests (3 compress, 3 uncompress) ... +If there's a problem, things might stop at this point. + diff --git a/plugins/Updater/bzip2-1.0.3/words2 b/plugins/Updater/bzip2-1.0.3/words2 new file mode 100644 index 0000000000..caddcf4226 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/words2 @@ -0,0 +1,5 @@ + +Checking test results. If any of the four "cmp"s which follow +report any differences, something is wrong. If you can't easily +figure out what, please let me know (jseward@bzip.org). + diff --git a/plugins/Updater/bzip2-1.0.3/words3 b/plugins/Updater/bzip2-1.0.3/words3 new file mode 100644 index 0000000000..6972669906 --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/words3 @@ -0,0 +1,30 @@ + +If you got this far and the 'cmp's didn't complain, it looks +like you're in business. + +To install in /usr/local/bin, /usr/local/lib, /usr/local/man and +/usr/local/include, type + + make install + +To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type + + make install PREFIX=/xxx/yyy + +If you are (justifiably) paranoid and want to see what 'make install' +is going to do, you can first do + + make -n install or + make -n install PREFIX=/xxx/yyy respectively. + +The -n instructs make to show the commands it would execute, but +not actually execute them. + +Instructions for use are in the preformatted manual page, in the file +bzip2.txt. For more detailed documentation, read the full manual. +It is available in Postscript form (manual.ps), PDF form (manual.pdf), +and HTML form (manual.html). + +You can also do "bzip2 --help" to see some helpful information. +"bzip2 -L" displays the software license. + diff --git a/plugins/Updater/bzip2-1.0.3/xmlproc.sh b/plugins/Updater/bzip2-1.0.3/xmlproc.sh new file mode 100644 index 0000000000..ca284ea9ed --- /dev/null +++ b/plugins/Updater/bzip2-1.0.3/xmlproc.sh @@ -0,0 +1,114 @@ +#!/bin/bash +# see the README file for usage etc. +# +# ------------------------------------------------------------------ +# This file is part of bzip2/libbzip2, a program and library for +# lossless, block-sorting data compression. +# +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward +# +# Please read the WARNING, DISCLAIMER and PATENTS sections in the +# README file. +# +# This program is released under the terms of the license contained +# in the file LICENSE. +# ---------------------------------------------------------------- + + +usage() { + echo ''; + echo 'Usage: xmlproc.sh -[option] '; + echo 'Specify a target from:'; + echo '-v verify xml file conforms to dtd'; + echo '-html output in html format (single file)'; + echo '-ps output in postscript format'; + echo '-pdf output in pdf format'; + exit; +} + +if test $# -ne 2; then + usage +fi +# assign the variable for the output type +action=$1; shift +# assign the output filename +xmlfile=$1; shift +# and check user input it correct +if !(test -f $xmlfile); then + echo "No such file: $xmlfile"; + exit; +fi +# some other stuff we will use +OUT=output +xsl_fo=bz-fo.xsl +xsl_html=bz-html.xsl + +basename=$xmlfile +basename=${basename//'.xml'/''} + +fofile="${basename}.fo" +htmlfile="${basename}.html" +pdffile="${basename}.pdf" +psfile="${basename}.ps" +xmlfmtfile="${basename}.fmt" + +# first process the xmlfile with CDATA tags +./format.pl $xmlfile $xmlfmtfile +# so the shell knows where the catalogs live +export XML_CATALOG_FILES=/etc/xml/catalog + +# post-processing tidy up +cleanup() { + echo "Cleaning up: $@" + while [ $# != 0 ] + do + arg=$1; shift; + echo " deleting $arg"; + rm $arg + done +} + +case $action in + -v) + flags='--noout --xinclude --noblanks --postvalid' + dtd='--dtdvalid http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd' + xmllint $flags $dtd $xmlfmtfile 2> $OUT + egrep 'error' $OUT + rm $OUT + ;; + + -html) + echo "Creating $htmlfile ..." + xsltproc --nonet --xinclude -o $htmlfile $xsl_html $xmlfmtfile + cleanup $xmlfmtfile + ;; + + -pdf) + echo "Creating $pdffile ..." + xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile + pdfxmltex $fofile >$OUT $OUT $OUT $OUT $OUT $OUT $OUT $OUT $OUT next; + delete current; + } + + count = 0; + head = tail = 0; + reset(); +} + +int UpdateList::size() { + return count; +} + +void UpdateList::reset() { + it_current = head; +} + +void UpdateList::erase() { + if(it_current) { + if(head == it_current) head = head->next; + if(tail == it_current) tail = tail->prev; + + if(it_current->next) it_current->next->prev = it_current->prev; + if(it_current->prev) it_current->prev->next = it_current->next; + + delete it_current; + count--; + reset(); + } +} + +void UpdateList::next() { + if(it_current) it_current = (Node *)it_current->next; +} + +UpdateInternal *UpdateList::current() { + return (it_current ? &it_current->ui : 0); +} + +void UpdateList::push_back(UpdateInternal &update) { + if(tail) { + tail->next = new Node; + tail->next->prev = tail; + tail = tail->next; + } else { + head = tail = new Node; + } + tail->ui = update; + count++; +} + +UpdateInternal &UpdateList::back() { + return tail->ui; +} diff --git a/plugins/Updater/common.h b/plugins/Updater/common.h new file mode 100644 index 0000000000..b1a070f78e --- /dev/null +++ b/plugins/Updater/common.h @@ -0,0 +1,145 @@ +#ifndef _COMMON_INC +#define _COMMON_INC + +#define _CRT_SECURE_NO_DEPRECATE + +#define MIRANDA_VER 0x0A00 + +#include + +#include +#include +#include + +#include +#include + +#include "ezxml.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "m_updater.h" +#include "m_trigger.h" +#include "m_folders.h" + +//#define TESTING // causes version to be 0.0.0.1 +//#define USE_MY_SERVER // uses URLS for scottellis.com.au test site for non-beta +#define REGISTER_BETA // register beta urls for beta site +//#define DEBUG_POPUPS // define to show some popups (restoring status, etc) +//#define _UD_LOGGING // define to log some stuff, from inside the external process, overwriting the data file +//#define DEBUG_HTTP_POPUPS // define to show popups re http +#define REGISTER_AUTO // get updater to automatically collect file listing URL's from backend xml data + +#define BETA_HOST_URL_PREFIX "http://www.scottellis.com.au/miranda_plugins" //(thanks Omniwolf for old twosx webspace, thx Koobs for hosting my domain) + +typedef enum Category {MC_PLUGINS, MC_LOCALIZATION, MC_UNKNOWN, NUM_CATEGORIES}; + +typedef struct UpdateOptions_tag { + bool enabled; // user has enabled updates for this plugin + bool use_beta; // use the beta update data + bool fixed; // use_beta flag is fixed - cannot be changed by user (e.g. szUpdateURL is null, szBetaUpdateURL is not) +} UpdateOptions; + +typedef struct UpdateInternal_tag { + Update update; + UpdateOptions update_options; + int file_id; // miranda file listing id + bool auto_register; + char *newVersion; + + Category cat; + + char *shortName; +} UpdateInternal; + +struct UpdateList : OBJLIST +{ + UpdateList() : OBJLIST(10) {} + UpdateList(const UpdateList& upd) : OBJLIST(10, compareUrl) + { + for (int i=0; iupdate.szBetaVersionURL && !p2->update.szBetaVersionURL) + return 0; + else if (!p1->update.szBetaVersionURL && p2->update.szBetaVersionURL) + return -1; + else if (p1->update.szBetaVersionURL && !p2->update.szBetaVersionURL) + return 1; + else + return _stricmp(p1->update.szBetaVersionURL, p2->update.szBetaVersionURL); + } +}; + +struct StrList : LIST +{ + StrList() : LIST(5) {} + ~StrList() + { + for (int i=0; i FilenameMap; + +#include "resource.h" + +#define MODULE "Updater" + +extern HINSTANCE hInst; +extern PLUGINLINK *pluginLink; +extern PLUGININFOEX pluginInfo; + +extern bool is_idle; + +extern HANDLE hNetlibUser, hNetlibHttp; + +int FindFileInList(const char *name); + +void* memmem (const void *buf1, size_t size1, const void *buf2, size_t size2); + +void NLog(char *msg); +void NLogF(const char *fmt, ...); + +#ifdef _UNICODE +void NLog(wchar_t *msg); +#endif + +// clist 'exit' menu item command id +#define ID_ICQ_EXIT 40001 + +// maximum number of redirects when getting xml data or download files via HTTP +#define MAX_REDIRECT_RECURSE 4 + +#ifndef MIID_UPDATER +#define MIID_UPDATER {0x4a47b19b, 0xde5a, 0x4436, { 0xab, 0x4b, 0xe1, 0xf3, 0xa0, 0x22, 0x5d, 0xe7}} +#endif + +#endif + + diff --git a/plugins/Updater/conf_comp_dialog.cpp b/plugins/Updater/conf_comp_dialog.cpp new file mode 100644 index 0000000000..b2ab25227a --- /dev/null +++ b/plugins/Updater/conf_comp_dialog.cpp @@ -0,0 +1,204 @@ +#include "common.h" +#include "conf_comp_dialog.h" + +void FillFolder(TCHAR *folder_name, StrList *filenames) { + TCHAR filename[MAX_PATH], *p; + + mir_sntprintf(filename, SIZEOF(filename), _T("%s\\*.*"), folder_name); + p = _tcsrchr(filename, '\\' ) + 1; + + WIN32_FIND_DATA findData; + HANDLE hFileSearch = FindFirstFile(filename, &findData); + if (hFileSearch != INVALID_HANDLE_VALUE) + { + do { + _tcscpy(p, findData.cFileName); + + if (findData.cFileName[0] != '.') + { + if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + FillFolder(filename, filenames); + } else { + filenames->insert(mir_tstrdup(filename)); + } + } + } while(FindNextFile(hFileSearch, &findData)); + FindClose(hFileSearch); + } +} + +INT_PTR CALLBACK DlgProcConfirmComponents(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + switch ( msg ) { + case WM_INITDIALOG: + TranslateDialogDefault( hwndDlg ); + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + SendMessage(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS),LVM_SETEXTENDEDLISTVIEWSTYLE, 0,LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); + + { + LVCOLUMN lvc; + // Initialize the LVCOLUMN structure. + // The mask specifies that the format, width, text, and + // subitem members of the structure are valid. + lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; + lvc.fmt = LVCFMT_LEFT; + + lvc.iSubItem = 0; + lvc.pszText = TranslateT("Component Name"); + lvc.cx = 180; // width of column in pixels + ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), 0, &lvc); + + } + + //enumerate plugins, fill in list + { + StrList filenames; + + ListView_DeleteAllItems(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + + LVITEM lvI; + + // Some code to create the list-view control. + // Initialize LVITEM members that are common to all + // items. + lvI.mask = LVIF_TEXT | LVIF_NORECOMPUTE;// | LVIF_IMAGE; + + + size_t temp_folder_name_len = _tcslen(options.temp_folder); + TCHAR *p; + + FillFolder(options.temp_folder, &filenames); + for (int i = 0; i < filenames.getCount(); ++i) + { + if(_tcslen(filenames[i]) > temp_folder_name_len) + { + p = filenames[i] + temp_folder_name_len + 1; + + lvI.iSubItem = 0; + lvI.pszText = p; + lvI.iItem = ListView_InsertItem(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), &lvI); + + ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), lvI.iItem, TRUE); + } + } + + // do this after filling list - enables 'ITEMCHANGED' below + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 1); + } + + Utils_RestoreWindowPositionNoSize(hwndDlg,0,MODULE,"ConfirmCompWindow"); + + return TRUE; + + case WM_NOTIFY: + if(((LPNMHDR) lParam)->hwndFrom == GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)) { + switch (((LPNMHDR) lParam)->code) { + + case LVN_ITEMCHANGED: + if(GetWindowLongPtr(hwndDlg, GWLP_USERDATA)) { + NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam; + + if((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK) { + + int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + bool enableOk = false; + for(int i = 0; i < size; i++) { + if(ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i)) { + enableOk = true; + break; + } + } + HWND hwOk = GetDlgItem(hwndDlg, IDOK); + EnableWindow(hwOk, enableOk ? TRUE : FALSE); + } + } + break; + } + } + break; + case WM_COMMAND: + if ( HIWORD( wParam ) == BN_CLICKED ) { + switch( LOWORD( wParam )) { + case IDC_BTN_SELECTALL: + { + int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + bool enableOk = false; + for(int i = 0; i < size; i++) { + ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, TRUE); + enableOk = true; + } + HWND hwOk = GetDlgItem(hwndDlg, IDOK); + EnableWindow(hwOk, enableOk ? TRUE : FALSE); + } + return TRUE; + case IDC_BTN_SELECTINV: + { + int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + bool enableOk = false, flag; + for(int i = 0; i < size; i++) { + flag = !ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i); + ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, flag); + enableOk |= flag; + } + HWND hwOk = GetDlgItem(hwndDlg, IDOK); + EnableWindow(hwOk, enableOk ? TRUE : FALSE); + } + return TRUE; + case IDC_BTN_SELECTDLLS: + { + int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + TCHAR fname_buff[MAX_PATH]; + bool enableOk = false, flag; + for(int i = 0; i < size; i++) { + ListView_GetItemText(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, 0, fname_buff, MAX_PATH); + flag = _tcsstr(fname_buff, _T(".dll")) != 0; + ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, flag); + enableOk |= flag; + } + HWND hwOk = GetDlgItem(hwndDlg, IDOK); + EnableWindow(hwOk, enableOk ? TRUE : FALSE); + } + return TRUE; + case IDOK: + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmCompWindow"); + + { + TCHAR fname_buff[MAX_PATH]; + _tcscpy(fname_buff, options.temp_folder); + _tcscat(fname_buff, _T("\\")); + int path_len = (int)_tcslen(fname_buff); + TCHAR *p = fname_buff + path_len; + + int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)); + //bool enableOk = false; + for(int i = 0; i < size; i++) { + if(!ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i)) { + // delete file + ListView_GetItemText(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, 0, p, MAX_PATH - path_len); + DeleteFile(fname_buff); + + // attempt to remove parent folder, if any, in case it's now empty + TCHAR *last_slash = _tcsrchr(fname_buff, _T('\\')); + if(last_slash != p - 1) { + *last_slash = 0; + RemoveDirectory(fname_buff); + } + } + } + } + + EndDialog(hwndDlg, IDOK); + return TRUE; + case IDCANCEL: + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmCompWindow"); + EndDialog(hwndDlg, IDCANCEL); + return TRUE; + } + } + break; + } + + return FALSE; + +} diff --git a/plugins/Updater/conf_comp_dialog.h b/plugins/Updater/conf_comp_dialog.h new file mode 100644 index 0000000000..4567a6a6f0 --- /dev/null +++ b/plugins/Updater/conf_comp_dialog.h @@ -0,0 +1,8 @@ +#ifndef _CONF_COMP_DIALOG_INC +#define _CONF_COMP_DIALOG_INC + +#include "options.h" + +INT_PTR CALLBACK DlgProcConfirmComponents(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); + +#endif diff --git a/plugins/Updater/conf_dialog.cpp b/plugins/Updater/conf_dialog.cpp new file mode 100644 index 0000000000..a284952230 --- /dev/null +++ b/plugins/Updater/conf_dialog.cpp @@ -0,0 +1,289 @@ +#include "common.h" +#include "conf_dialog.h" + +#ifndef BCM_SETSHIELD +#define BCM_SETSHIELD (0x1600 + 0x000C) +#endif + +INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + HWND hwndList = GetDlgItem(hwndDlg, IDC_LIST_UPDATES); + + switch ( msg ) { + case WM_INITDIALOG: + TranslateDialogDefault( hwndDlg ); + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); + + if(options.save_zips && options.no_unzip) { + CheckDlgButton(hwndDlg, IDC_CHK_CONFALL, FALSE); + HWND hw = GetDlgItem(hwndDlg, IDC_CHK_CONFALL); + EnableWindow(hw, FALSE); + hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL); + EnableWindow(hw, FALSE); + CheckDlgButton(hwndDlg, IDC_CHK_NOINSTALL, TRUE); + SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download")); + } else { + if(DBGetContactSettingByte(0, "Updater", "DefaultConfAll", 0)) { + CheckDlgButton(hwndDlg, IDC_CHK_CONFALL, TRUE); + HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL); + EnableWindow(hw, FALSE); + } else if(DBGetContactSettingByte(0, "Updater", "NoInstall", 0)) { + CheckDlgButton(hwndDlg, IDC_CHK_NOINSTALL, TRUE); + SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download")); + } + } + + { + LVCOLUMN lvc = {0}; + // Initialize the LVCOLUMN structure. + // The mask specifies that the format, width, text, and + // subitem members of the structure are valid. + lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; + lvc.fmt = LVCFMT_LEFT; + + lvc.iSubItem = 0; + lvc.pszText = TranslateT("Component Name"); + lvc.cx = 145; // width of column in pixels + ListView_InsertColumn(hwndList, 0, &lvc); + + lvc.iSubItem = 1; + lvc.pszText = TranslateT("New Version"); + lvc.cx = 80; // width of column in pixels + ListView_InsertColumn(hwndList, 1, &lvc); + + lvc.iSubItem = 2; + lvc.pszText = TranslateT("Current Version"); + lvc.cx = 90; // width of column in pixels + ListView_InsertColumn(hwndList, 2, &lvc); + + lvc.iSubItem = 3; + lvc.pszText = TranslateT("Beta"); + lvc.cx = 90; // width of column in pixels + ListView_InsertColumn(hwndList, 3, &lvc); + } + + //enumerate plugins, fill in list + { + bool one_enabled = false; + ListView_DeleteAllItems(hwndList); + + LVITEM lvI = {0}; + TCHAR *temp_str; + + // Some code to create the list-view control. + // Initialize LVITEM members that are common to all + // items. + lvI.mask = LVIF_TEXT | LVIF_PARAM | LVIF_NORECOMPUTE;// | LVIF_IMAGE; + + UpdateList &todo = *(UpdateList *)lParam; + for (int i = 0; i < todo.getCount(); ++i) + { + lvI.mask = LVIF_TEXT | LVIF_PARAM;// | LVIF_IMAGE; + lvI.iSubItem = 0; + lvI.lParam = (LPARAM)&todo[i]; + lvI.pszText = (temp_str = mir_a2t(todo[i].update.szComponentName)); + lvI.iItem = ListView_InsertItem(hwndList, &lvI); + mir_free(temp_str); + + lvI.mask = LVIF_TEXT;// | LVIF_IMAGE; + + lvI.iSubItem = 1; + //lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion; + lvI.pszText = (temp_str = mir_a2t(((UpdateInternal *)lvI.lParam)->newVersion)); + ListView_SetItem(hwndList, &lvI); + mir_free(temp_str); + + lvI.iSubItem = 2; + //lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion; + lvI.pszText = (temp_str = mir_a2t((char *)((UpdateInternal *)lvI.lParam)->update.pbVersion)); + ListView_SetItem(hwndList, &lvI); + mir_free(temp_str); + + lvI.iSubItem = 3; + lvI.pszText = ((UpdateInternal *)lvI.lParam)->update_options.use_beta ? + TranslateT("Yes") : TranslateT("No"); + ListView_SetItem(hwndList, &lvI); + + //MessageBox(0, todo[i].newVersion, + //"Version", MB_OK); + //todo[i].update.szComponentName, MB_OK); + + // remember whether the user has decided not to update this component with this particular new version + char stored_setting[256]; + mir_snprintf(stored_setting, 256, "DisabledVer%s", todo[i].update.szComponentName); + DBVARIANT dbv; + bool check = todo[i].update_options.enabled; + if (!DBGetContactSettingString(0, "Updater", stored_setting, &dbv)) { + if(dbv.pszVal && strcmp(dbv.pszVal, ((UpdateInternal *)lvI.lParam)->newVersion) == 0) + check = false; + else + DBDeleteContactSetting(0, "Updater", stored_setting); + DBFreeVariant(&dbv); + } + one_enabled |= check; + ListView_SetCheckState(hwndList, lvI.iItem, check); + } + + HWND hwOk = GetDlgItem(hwndDlg, IDOK); + EnableWindow(hwOk, one_enabled); + } + // do this after filling list - enables 'ITEMCHANGED' below + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam); + + Utils_RestoreWindowPositionNoSize(hwndDlg, NULL, MODULE, "ConfirmWindow"); + if (IsAdminRequired()) + SendDlgItemMessage(hwndDlg, IDOK, BCM_SETSHIELD, 0, TRUE); + + return TRUE; + + case WM_NOTIFY: + if(((LPNMHDR) lParam)->hwndFrom == hwndList) { + switch (((LPNMHDR) lParam)->code) { + + case LVN_ITEMCHANGED: + if(GetWindowLongPtr(hwndDlg, GWLP_USERDATA)) { + NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam; + + LVITEM lvI = {0}; + + lvI.iItem = nmlv->iItem; + lvI.iSubItem = 0; + lvI.mask = LVIF_PARAM; + ListView_GetItem(hwndList, &lvI); + + //if(IsWindowVisible(hwndList) && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK)) { + if((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK) { + ((UpdateInternal *)lvI.lParam)->update_options.enabled = ListView_GetCheckState(hwndList, nmlv->iItem) != 0; + + char stored_setting[256]; + mir_snprintf(stored_setting, 256, "DisabledVer%s", ((UpdateInternal *)lvI.lParam)->update.szComponentName); + + if(((UpdateInternal *)lvI.lParam)->update_options.enabled) + DBDeleteContactSetting(0, "Updater", stored_setting); // user has re-enabled update to this version - remove setting from db + else + DBWriteContactSettingString(0, "Updater", stored_setting, ((UpdateInternal *)lvI.lParam)->newVersion); + //ListView_SetItem(hwndList, &lvI); + + + UpdateList &todo = *(UpdateList *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); + bool enableOk = false; + for(int i=0; iuNewState & LVIS_SELECTED) { + if((!((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->file_id != -1) + || (((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL)) + { + EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_CHANGELOG), TRUE); + } else { + EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_CHANGELOG), FALSE); + } + } + } + break; + + case LVN_GETDISPINFO: + { + LVITEM lvi; + lvi.mask = LVIF_PARAM; + lvi.iItem = ((NMLVDISPINFO *)lParam)->item.iItem; + lvi.iSubItem = 0; + SendMessage(hwndList, LVM_GETITEM, 0, (LPARAM)&lvi); + UpdateInternal* u = (UpdateInternal *)lvi.lParam; + switch (((NMLVDISPINFO *)lParam)->item.iSubItem) { + case 0: + MessageBox(0, _T("LVN_GETDISPINFO (0)"), _T("msg"), MB_OK); + break; + case 1: + ((NMLVDISPINFO *)lParam)->item.pszText = Translate( u->newVersion ); + break; + case 2: + ((NMLVDISPINFO *)lParam)->item.pszText = Translate((char *)u->update.pbVersion); + break; + } + } + return 0; + } + + } + break; + + case WM_COMMAND: + if (HIWORD( wParam ) == BN_CLICKED) + { + switch(LOWORD(wParam)) + { + case IDC_BTN_CHANGELOG: + { + char url[256]; + int sel = ListView_GetSelectionMark(hwndList); + LVITEM lvI = {0}; + + lvI.iItem = sel; + lvI.iSubItem = 0; + lvI.mask = LVIF_PARAM; + ListView_GetItem(hwndList, &lvI); + + if(!((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->file_id != -1) { + sprintf(url, MIM_CHANGELOG_URL_PREFIX "%d", ((UpdateInternal *)lvI.lParam)->file_id); + CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)url); + } else if(((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL) { + CallService(MS_UTILS_OPENURL, TRUE, (LPARAM)((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL); + } + + } + return TRUE; + + case IDC_CHK_CONFALL: + { + HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL); + EnableWindow(hw, !IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL)); + } + return TRUE; + + case IDC_CHK_NOINSTALL: + { + HWND hw = GetDlgItem(hwndDlg, IDC_CHK_CONFALL); + EnableWindow(hw, !IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL)); + + if(IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL)) + SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download")); + else + SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Update")); + } + return TRUE; + + case IDOK: + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow"); + DBWriteContactSettingByte(NULL, "Updater", "DefaultConfAll", IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL) ? 1 : 0); + DBWriteContactSettingByte(NULL, "Updater", "NoInstall", IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL) ? 1 : 0); + + if(IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL)) + EndDialog(hwndDlg, CD_CONFALL); + else if(IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL)) + EndDialog(hwndDlg, CD_NOINSTALL); + else + EndDialog(hwndDlg, CD_OK); + return TRUE; + + case IDCANCEL: + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0); + Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow"); + EndDialog(hwndDlg, CD_CANCEL); + return TRUE; + } + } + break; + } + + return FALSE; +} + diff --git a/plugins/Updater/conf_dialog.h b/plugins/Updater/conf_dialog.h new file mode 100644 index 0000000000..4304089555 --- /dev/null +++ b/plugins/Updater/conf_dialog.h @@ -0,0 +1,14 @@ +#ifndef _CONF_DIALOG_INC +#define _CONF_DIALOG_INC + +#include "utils.h" + +// return values +#define CD_CANCEL 1 +#define CD_NOINSTALL 2 +#define CD_CONFALL 3 +#define CD_OK 4 + +INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); + +#endif diff --git a/plugins/Updater/extern.cpp b/plugins/Updater/extern.cpp new file mode 100644 index 0000000000..d33e0c2132 --- /dev/null +++ b/plugins/Updater/extern.cpp @@ -0,0 +1,524 @@ +#include "common.h" +#include "extern.h" + +// write data needed by the external process, and restart miranda +// returns 1 if any error, 0 if shutdown is imminent +int ExternProcess(bool restart) +{ + //HWND hWndMiranda = (HWND)CallService(MS_CLUI_GETHWND, 0, 0); + + // spawn a process that will: + // -- wait for miranda to exit + // -- move downloaded plugins from the temp folder to the Plugins folder, possibly backing up old ones + // -- restart miranda + + char msg[1024]; + mir_snprintf(msg, SIZEOF(msg), "spawning external process, restart = %s", restart ? "true" : "false"); + NLog(msg); + + TCHAR data_filename[MAX_PATH]; + mir_sntprintf(data_filename, SIZEOF(data_filename), _T("%s\\ud_data.txt"), options.data_folder); + + // write data to file for external process to use + HANDLE hDatFile = CreateFile(data_filename, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0); + if (hDatFile == INVALID_HANDLE_VALUE) + { + //MessageBox(0, TranslateT("Could not create data file for restart."), TranslateT("Error"), MB_OK | MB_ICONERROR); + ShowError(TranslateT("Could not create data file for restart")); + return 1; + } + + TCHAR db_pathT[MAX_PATH]; + + if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,12)) + { + TCHAR *p = Utils_ReplaceVarsT(_T("%miranda_profile%\\%miranda_profilename%\\%miranda_profilename%.dat")); + mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s"), p); + mir_free(p); + } + else + { + char db_name[100], db_path[MAX_PATH]; + + // Get Miranda exe path and profile + CallService(MS_DB_GETPROFILENAME, SIZEOF(db_name), (WPARAM)db_name); + CallService(MS_DB_GETPROFILEPATH, SIZEOF(db_path), (WPARAM)db_path); + + TCHAR *t1, *t2; + mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s\\%s"), (t1=mir_a2t(db_path)), (t2=mir_a2t(db_name))); + mir_free(t1); mir_free(t2); + } + + // get plugin folder + TCHAR* plugins_folder = Utils_ReplaceVarsT(_T("%miranda_path%\\Plugins")); + + TCHAR mir_exe[MAX_PATH]; + GetModuleFileName(NULL, mir_exe, SIZEOF(mir_exe)); + + unsigned long bytes_written; + static const TCHAR tnl[] = _T("\r\n"); + + WriteFile(hDatFile, mir_exe, (unsigned)_tcslen(mir_exe) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, plugins_folder, (unsigned)_tcslen(plugins_folder) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, db_pathT, (unsigned)_tcslen(db_pathT) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, options.temp_folder, (unsigned)_tcslen(options.temp_folder) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + if(options.backup) + WriteFile(hDatFile, options.backup_folder, (unsigned)_tcslen(options.backup_folder) * sizeof(TCHAR), &bytes_written, FALSE); + else + WriteFile(hDatFile, _T("no backups"),(unsigned) _tcslen(_T("no backups")) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + + TCHAR buf[64]; + mir_sntprintf(buf, SIZEOF(buf), _T("%d"), (unsigned int)GetCurrentProcessId()); + //MessageBox(0, buf, "Writing process id", MB_OK); + WriteFile(hDatFile, buf, (unsigned)_tcslen(buf) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + + mir_sntprintf(buf, SIZEOF(buf), restart ? _T("restart") : _T("no_restart")); + WriteFile(hDatFile, buf, (unsigned)_tcslen(buf) * sizeof(TCHAR), &bytes_written, FALSE); + WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE); + + CloseHandle(hDatFile); + + mir_free(plugins_folder); + + /* + if(!CallService(MS_SYSTEM_OKTOEXIT,0,0)) { + DeleteFile(data_filename); + MessageBox(0, TranslateT("Miranda's not 'OK TO EXIT'."), TranslateT("Error"), MB_OK | MB_ICONERROR); + return; + } + */ + + TCHAR szParams[MAX_PATH], szBuf[MAX_PATH], szProcDir[MAX_PATH]; + + // try to fire up external process from new dll (if present), so we can overwrite the old one + mir_sntprintf(szBuf, SIZEOF(szBuf), _T("%s\\plugins\\updater.dll"), options.temp_folder); + if (_taccess(szBuf, 0)) + { + mir_sntprintf(szBuf, SIZEOF(szBuf), _T("%s\\updater.dll"), options.temp_folder); + if (_taccess(szBuf, 0)) + { + GetModuleFileName(hInst, szBuf, MAX_PATH); + } + } + + GetRootDir(szProcDir); _tcscat(szProcDir, _T("\\")); + + if (IsWinVerXPPlus()) + { + mir_sntprintf(szParams, SIZEOF(szParams), _T("RUNDLL32.EXE \"%s\",ExternalUpdate %s"), szBuf, data_filename); + } + else + { + TCHAR* p = _tcsrchr(szBuf, _T('\\')); if (p) *p = 0; + + // rundll32 hates spaces in the arg, but quotes aren't allowed in earlier versions... + // GetShortPath can return paths with spaces (at least on XP with 8.3 filenames disabled)... + // so we must 'CreateProcess' with the updater.dll location as the startup directory and pass only updater.dll as the arg + + mir_sntprintf(szParams, SIZEOF(szParams), _T("RUNDLL32.EXE .\\plugins\\updater.dll,ExternalUpdate %s"), data_filename); + } + + BOOL res; + + if (IsAdminRequired()) + { + SHELLEXECUTEINFO info = {0}; + info.cbSize = sizeof(info); + + TCHAR *p = _tcschr(szParams, ' '); if (p) *(p++) = 0; + + info.lpVerb = _T("runas"); + info.lpFile = szParams; + info.lpParameters = p; + info.lpDirectory = szProcDir; + info.nShow = SW_HIDE; + + res = ShellExecuteEx(&info); + info.cbSize = sizeof(info); + + } + else + { + PROCESS_INFORMATION pi = {0}; + STARTUPINFO si = {0}; + si.cb = sizeof(si); + + res = CreateProcess(0, szParams, 0, 0, 0, + CREATE_NO_WINDOW | DETACHED_PROCESS | NORMAL_PRIORITY_CLASS, + 0, szProcDir, &si, &pi); + + if (res) + { + CloseHandle(pi.hThread); + CloseHandle(pi.hProcess); + } + } + + if (res) + { + PostMessage((HWND)CallService(MS_CLUI_GETHWND, 0, 0), WM_COMMAND, ID_ICQ_EXIT, 0); + } + else + { + TCHAR msg[256]; + mir_sntprintf(msg, SIZEOF(msg), _T("Error code: %d"), GetLastError()); + MessageBox(0, msg, TranslateT("CreateProcess"), MB_OK | MB_ICONERROR); + } + + return !res; +} + +#ifdef _UD_LOGGING +void mWriteFile(HANDLE hFile, char *line) { + unsigned long bytes_written; + const char *nl = "\r\n"; + + WriteFile(hFile, line, (unsigned)strlen(line), &bytes_written, FALSE); + WriteFile(hFile, nl, 2, &bytes_written, FALSE); +} + +void mWriteFile(HANDLE hFile, wchar_t *line) { + unsigned long bytes_written; + const char *nl = "\r\n"; + + char buf[267]; + WideCharToMultiByte(CP_ACP, 0, line, -1, buf, SIZEOF(buf), NULL, NULL); + + WriteFile(hFile, buf, (unsigned)strlen(buf), &bytes_written, FALSE); + WriteFile(hFile, nl, 2, &bytes_written, FALSE); +} +#endif + +// move all files in src_folder to dst_folder - put replaced files in backup folder +// if a file in src_folder is a directory, copy it's contents to the same dir in the root folder and +// set that dir as the new root (so that dirs in dirs go in the right place) +void MoveFiles(HANDLE hLogFile, TCHAR *src_folder, TCHAR *dst_folder, TCHAR *backup_folder, TCHAR *root_folder) +{ + // move files from src_folder to dst_folder + + if(!src_folder || _tcslen(src_folder) == 0) { + MessageBox(0, _T("Your 'temporary files' folder is set to NULL. Install aborted."), _T("Updater Error"), MB_OK | MB_ICONERROR); + return; + } + + TCHAR szFilesPath[MAX_PATH], szOldFileName[MAX_PATH], szNewFileName[MAX_PATH], szBackupFileName[MAX_PATH]; + + bool do_backups = backup_folder ? (_tcscmp(backup_folder, _T("no backups")) != 0) : false; + + // ensure the destination folder exists + if (!CreatePath(dst_folder)) + return; + + _sntprintf(szFilesPath, SIZEOF(szFilesPath), _T("%s\\*.*"), src_folder); + szFilesPath[SIZEOF(szFilesPath) - 1] = 0; + + bool move_file; + + WIN32_FIND_DATA findData; + HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData); + if (hFileSearch != INVALID_HANDLE_VALUE) + { + do + { + if (findData.cFileName[0] != '.') + { + + _sntprintf(szOldFileName, SIZEOF(szOldFileName), _T("%s\\%s"), src_folder, findData.cFileName); + szOldFileName[SIZEOF(szOldFileName) - 1] = 0; + + if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + // use szNewFileName as destination and new root folder + if (_tcslen(findData.cFileName) < SIZEOF(ROOT_FILES_FOLDER) - 1 || _tcsicmp(findData.cFileName, ROOT_FILES_FOLDER)) + { + _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName); + szNewFileName[SIZEOF(szNewFileName) - 1] = 0; + } + else + _tcscpy(szNewFileName, root_folder); + + // recurse + MoveFiles(hLogFile, szOldFileName, szNewFileName, backup_folder, szNewFileName); + + } + else + { + // exception for langpack files - move to root_folder + // exception for dbtool.exe (e.g. translated) - move to root_folder + if((_tcsnicmp(findData.cFileName, _T("dbtool.exe"), _tcslen(_T("dbtool.exe"))) == 0) + || (_tcsnicmp(findData.cFileName, _T("langpack_"), _tcslen(_T("langpack_"))) == 0)) + { + _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName); + szNewFileName[SIZEOF(szNewFileName) - 1] = 0; + } + else + { + _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), dst_folder, findData.cFileName); + szNewFileName[SIZEOF(szNewFileName) - 1] = 0; + } + + move_file = false; + if (do_backups) + { + _sntprintf(szBackupFileName, SIZEOF(szBackupFileName), _T("%s\\%s"), backup_folder, findData.cFileName); + szBackupFileName[SIZEOF(szBackupFileName) - 1] = 0; + + move_file = true; + DeleteFile(szBackupFileName); + if(!MoveFile(szNewFileName, szBackupFileName)) + { + // MessageBox(0, szNewFileName, __T("Could not backup!"), MB_OK | MB_ICONWARNING); + } + } + else + { + move_file = true; + if (!DeleteFile(szNewFileName)) + { + // MessageBox(0, szNewFileName, _T("Could not delete!"), MB_OK | MB_ICONWARNING); + } + } + + if (move_file) + { + if (!MoveFile(szOldFileName, szNewFileName)) + { + //MessageBox(0, szOldFileName, _T("Could not move!"), MB_OK | MB_ICONWARNING); + + // try a copy - possibly win98 etc. will not move the updater.dll when it is being used by this process + CopyFile(szOldFileName, szNewFileName, FALSE); + DeleteFile(szOldFileName); // docs say it is marked for delete and actually removed when the last handle is closed...hmm + } + } + else + DeleteFile(szOldFileName); + } + } + } + while(FindNextFile(hFileSearch, &findData)); + FindClose(hFileSearch); + } + + RemoveDirectory(src_folder); +} + +bool ReadTLine(HANDLE hDatFile, TCHAR *line, int bsize, int &offset) { + unsigned long bytes_read; + BOOL bResult; + while((bResult = ReadFile(hDatFile, line + offset, sizeof(TCHAR), &bytes_read, 0)) && offset < bsize && bytes_read == sizeof(TCHAR) && line[offset] && (line[offset] != _T('\n') || (offset > 0 && line[offset - 1] != _T('\r')))) offset++; + +#ifndef _UNICODE + if(offset == 1 && line[1] == 0) { + wchar_t wline[MAX_PATH]; + wline[0] = *(wchar_t *)line; + + while((bResult = ReadFile(hDatFile, wline + offset, sizeof(wchar_t), &bytes_read, 0)) && offset < bsize && bytes_read == sizeof(wchar_t) && wline[offset] && (wline[offset] != L'\n' || (offset > 0 && wline[offset - 1] != L'\r'))) offset++; + if(offset > 0) wline[offset - 1] = 0; // cut off /r/n + + WideCharToMultiByte(CP_ACP, 0, wline, -1, line, bsize, 0, 0); + } +#endif + if(offset > 0) line[offset - 1] = 0; // cut off /r/n + return true; +} + +void CALLBACK ExternalUpdate(HWND hwnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow) +{ + //MessageBox(0, _T("ExternalUpdate"), _T("Updater"), MB_OK); + HANDLE hDatFile = CreateFileA(lpszCmdLine, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + if(hDatFile == INVALID_HANDLE_VALUE) { + char msg[1024]; + _snprintf(msg, SIZEOF(msg), "Could not read data file:\n%s", lpszCmdLine); + MessageBoxA(0, msg, "Updater Error", MB_OK | MB_ICONERROR); + } else { + + TCHAR *mir_exe = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *plugins_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *temp_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *backup_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *root_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *db_path = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)), + *pid = (TCHAR *)malloc(64 * sizeof(TCHAR)); + + bool restart = true; + + { + int i = 0, offset; + TCHAR line[MAX_PATH]; + BOOL bResult = TRUE; + do { + offset = 0; + ReadTLine(hDatFile, line, MAX_PATH, offset); + + switch(i) { + case 0: _tcsncpy(mir_exe, line, MAX_PATH); break; + case 1: _tcsncpy(plugins_folder, line, MAX_PATH); break; + case 2: _tcsncpy(db_path, line, MAX_PATH); break; + case 3: _tcsncpy(temp_folder, line, MAX_PATH); break; + case 4: _tcsncpy(backup_folder, line, MAX_PATH); break; + case 5: _tcsncpy(pid, line, 64); break; + case 6: + restart = (_tcsncmp(line, _T("restart"), 7) == 0); + offset = 0; // end loop + break; + default: + offset = 0; // end loop + } + i++; + } while(offset > 0); + } + CloseHandle(hDatFile); +// use data file to log to +#ifndef _UD_LOGGING + DeleteFileA(lpszCmdLine); +#else + HANDLE hDatFile = CreateFileA(lpszCmdLine, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0); +#endif + +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Inside external process..."); +#endif + + _tcscpy(root_folder, mir_exe); + TCHAR *p = _tcsrchr(root_folder, _T('\\')); if (p) *p = 0; + + // ensure miranda has exited + DWORD mpi = (DWORD)_ttol(pid); + + bool exited = false; + +#ifdef _UD_LOGGING + char logmsg[1024]; + sprintf(logmsg, "Opening process #%d...", mpi); + mWriteFile(hDatFile, logmsg); +#endif + + HANDLE hMiranda = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, FALSE, mpi); + if(hMiranda) { + int mbFlags, idRetry, idCancel, idContinue; + const int MAX_SIZE = 2048; + TCHAR message[MAX_SIZE]; + int exitStatus; + + OSVERSIONINFO vi = {0}; + vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&vi); + _tcsncpy(message, _T("Miranda did not exit - cannot install or restart.\n"), MAX_SIZE); + + if (vi.dwMajorVersion = 5) { + //windows 2000+ + mbFlags = 0x00000006L; //MB_CANCELTRYCONTINUE; + idRetry = 10; //IDTRYAGAIN + idCancel = IDCANCEL; + idContinue = 11; //IDCONTINUE + _tcsncat(message, _T("Press 'Try again' to check Miranda's status again, press 'Continue' to kill the process or press 'Cancel' to abort."), MAX_SIZE); + } else { + //windows 98, me + mbFlags = MB_ABORTRETRYIGNORE; + idRetry = IDRETRY; + idCancel = IDCANCEL; + idContinue = IDIGNORE; + _tcsncat(message, _T("Press 'Retry' to check Miranda's status again, press 'Ignore' to kill the process or press 'Abort' to abort."), MAX_SIZE); + } + + while ((exitStatus = WaitForSingleObjectEx(hMiranda, 20 * 1000, FALSE)) == WAIT_TIMEOUT) { + int res = MessageBox(0, message, _T("Updater Error"), mbFlags | MB_ICONERROR); + + if (res == idContinue) { + //if the user chooses Continue then kill the application + TerminateProcess(hMiranda, 1); + if((exitStatus = WaitForSingleObjectEx(hMiranda, 5 * 1000, FALSE)) == WAIT_TIMEOUT) { + //hMiranda = OpenProcess(SYNCHRONIZE, FALSE, mpi); + //if(hMiranda) { + //CloseHandle(hMiranda); + MessageBox(0, _T("It seems Miranda is still running. Aborting update."), _T("Updater Error"), MB_OK | MB_ICONERROR); + } else { +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Wait for miranda processs to 'Terminate' interrupted - assuming it exited"); +#endif + } + } else { + if (res == idRetry) { + //if the user selected 'Try again' then wait a bit more. + continue; //wait again + } + } + + break; //don't update anymore (happens when user choses 'Continue' or 'Cacel' + } +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Wait for miranda processs interrupted - assuming it exited"); +#endif + exited = (exitStatus != WAIT_TIMEOUT); + CloseHandle(hMiranda); + } else { +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Could not open miranda processs - assuming it exited"); +#endif + //MessageBox(0, "Could not open Miranda process", "Update Error", MB_OK | MB_ICONERROR); + exited = true; + } + + if(exited) { +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Miranda exited - moving files"); + MoveFiles(hDatFile, temp_folder, plugins_folder, backup_folder, root_folder); +#else + MoveFiles(0, temp_folder, plugins_folder, backup_folder, root_folder); + RemoveDirectory(temp_folder); +#endif + // move files + + // restart miranda + if(restart) { +#ifdef _UD_LOGGING + mWriteFile(hDatFile, "Restarting"); +#endif + TCHAR szArgs[MAX_PATH]; + //wsprintf(szArgs, "\"%s\" \"%s\"", db_path, db_name); + _sntprintf(szArgs, SIZEOF(szArgs), _T("\"%s\" \"%s\""), mir_exe, db_path); // includes name, dummy instead of executable? + //wsprintf(szArgs, "\"%s\"", db_name); + + + PROCESS_INFORMATION pi = {0}; + STARTUPINFO si = {0}; + si.cb = sizeof(si); + + if (!CreateProcess(mir_exe, szArgs, 0, 0, 0, DETACHED_PROCESS | NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi)) + { + MessageBox(0, _T("Failed to restart Miranda"), _T("Updater Error"), MB_OK | MB_ICONERROR); + //MessageBox(0, szArgs, mir_exe, MB_OK); + } + else + { + CloseHandle(pi.hThread); + CloseHandle(pi.hProcess); + } + //ShellExecute(0, 0, mir_exe, szArgs, 0, SW_NORMAL); + } + } +#ifdef _UD_LOGGING + else mWriteFile(hDatFile, "Miranda did not exit"); +#endif + + free(pid); + free(db_path); + free(root_folder); + free(backup_folder); + free(temp_folder); + free(plugins_folder); + free(mir_exe); + +#ifdef _UD_LOGGING + CloseHandle(hDatFile); +#endif + } + + FreeLibraryAndExitThread(hInstance, TRUE); +} diff --git a/plugins/Updater/extern.h b/plugins/Updater/extern.h new file mode 100644 index 0000000000..c6091f4dfa --- /dev/null +++ b/plugins/Updater/extern.h @@ -0,0 +1,20 @@ +#ifndef _EXTERN_INC +#define _EXTERN_INC + +#include "options.h" + + +#define ROOT_FILES_FOLDER _T("root_files") + +// returns 1 if any error, 0 if shutdown is imminent +int ExternProcess(bool restart); + +// move all files in src_folder to backup_folder - put replaced files in backup folder +// if a file in src_folder is a directory, copy it's contents to the same dir in the root folder and +// set that dir as the new root (so that dirs in dirs go in the right place) +void MoveFiles(HANDLE hLogFile, TCHAR *src_folder, TCHAR *dst_folder, TCHAR *backup_folder, TCHAR *root_folder); + + +void CALLBACK ExternalUpdate(HWND hwnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow); + +#endif diff --git a/plugins/Updater/ezxml.c b/plugins/Updater/ezxml.c new file mode 100644 index 0000000000..a88e22769d --- /dev/null +++ b/plugins/Updater/ezxml.c @@ -0,0 +1,967 @@ +/* ezxml.c + * + * Copyright 2004-2006 Aaron Voisine + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#if defined(_DEBUG) && !defined(__GNUC__) + #define _CRTDBG_MAP_ALLOC + #include + #include +#else + #include +#endif + +#include +#include +#include +#include +#include + +#include "ezxml.h" + +#ifndef SIZE_MAX +#define SIZE_MAX UINT_MAX +#endif + +#define EZXML_WS "\t\r\n " // whitespace +#define EZXML_ERRL 128 // maximum error string length + +typedef struct ezxml_root *ezxml_root_t; +struct ezxml_root { // additional data for the root tag + struct ezxml xml; // is a super-struct built on top of ezxml struct + ezxml_t cur; // current xml tree insertion point + char *m; // original xml string + size_t len; // length of allocated memory for mmap, -1 for malloc + char *u; // UTF-8 conversion of string if original was UTF-16 + char *s; // start of work area + char *e; // end of work area + char **ent; // general entities (ampersand sequences) + char ***attr; // default attributes + char ***pi; // processing instructions + short standalone; // non-zero if + char err[EZXML_ERRL]; // error string +}; + +char *EZXML_NIL[] = { NULL }; // empty, null terminated array of strings + +// returns the first child tag with the given name or NULL if not found +ezxml_t ezxml_child(ezxml_t xml, const char *name) +{ + xml = (xml) ? xml->child : NULL; + while (xml && strcmp(name, xml->name)) xml = xml->sibling; + return xml; +} + +// returns the Nth tag with the same name in the same subsection or NULL if not +// found +ezxml_t ezxml_idx(ezxml_t xml, int idx) +{ + for (; xml && idx; idx--) xml = xml->next; + return xml; +} + +// returns the value of the requested tag attribute or NULL if not found +const char *ezxml_attr(ezxml_t xml, const char *attr) +{ + int i = 0, j = 1; + ezxml_root_t root = (ezxml_root_t)xml; + + if (! xml || ! xml->attr) return NULL; + while (xml->attr[i] && strcmp(attr, xml->attr[i])) i += 2; + if (xml->attr[i]) return xml->attr[i + 1]; // found attribute + + while (root->xml.parent) root = (ezxml_root_t)root->xml.parent; // root tag + for (i = 0; root->attr[i] && strcmp(xml->name, root->attr[i][0]); i++); + if (! root->attr[i]) return NULL; // no matching default attributes + while (root->attr[i][j] && strcmp(attr, root->attr[i][j])) j += 3; + return (root->attr[i][j]) ? root->attr[i][j + 1] : NULL; // found default +} + +// same as ezxml_get but takes an already initialized va_list +ezxml_t ezxml_vget(ezxml_t xml, va_list ap) +{ + char *name = va_arg(ap, char *); + int idx = -1; + + if (name && *name) { + idx = va_arg(ap, int); + xml = ezxml_child(xml, name); + } + return (idx < 0) ? xml : ezxml_vget(ezxml_idx(xml, idx), ap); +} + +// Traverses the xml tree to retrieve a specific subtag. Takes a variable +// length list of tag names and indexes. The argument list must be terminated +// by either an index of -1 or an empty string tag name. Example: +// title = ezxml_get(library, "shelf", 0, "book", 2, "title", -1); +// This retrieves the title of the 3rd book on the 1st shelf of library. +// Returns NULL if not found. +ezxml_t ezxml_get(ezxml_t xml, ...) +{ + va_list ap; + ezxml_t r; + + va_start(ap, xml); + r = ezxml_vget(xml, ap); + va_end(ap); + return r; +} + +// returns a null terminated array of processing instructions for the given +// target +const char **ezxml_pi(ezxml_t xml, const char *target) +{ + ezxml_root_t root = (ezxml_root_t)xml; + int i = 0; + + if (! root) return (const char **)EZXML_NIL; + while (root->xml.parent) root = (ezxml_root_t)root->xml.parent; // root tag + while (root->pi[i] && strcmp(target, root->pi[i][0])) i++; // find target + return (const char **)((root->pi[i]) ? root->pi[i] + 1 : EZXML_NIL); +} + +// set an error string and return root +ezxml_t ezxml_err(ezxml_root_t root, char *s, const char *err, ...) +{ + va_list ap; + int line = 1; + char *t, fmt[EZXML_ERRL]; + + for (t = root->s; t < s; t++) if (*t == '\n') line++; + _snprintf(fmt, EZXML_ERRL, "[error near line %d]: %s", line, err); + + va_start(ap, err); + _vsnprintf(root->err, EZXML_ERRL, fmt, ap); + va_end(ap); + + return &root->xml; +} + +// Recursively decodes entity and character references and normalizes new lines +// ent is a null terminated array of alternating entity names and values. set t +// to '&' for general entity decoding, '%' for parameter entity decoding, 'c' +// for cdata sections, ' ' for attribute normalization, or '*' for non-cdata +// attribute normalization. Returns s, or if the decoded string is longer than +// s, returns a malloced string that must be freed. +char *ezxml_decode(char *s, char **ent, char t) +{ + char *e, *r = s, *m = s; + long b, c, d, l; +/* + for (; *s; s++) { // normalize line endings + while (*s == '\r') { + *(s++) = '\n'; + if (*s == '\n') memmove(s, (s + 1), strlen(s)); + } + } +*/ + for (s = r; ; ) { + while (*s && *s != '&' && (*s != '%' || t != '%') && (*s & 0x80 || !isspace(*s))) s++; + + if (! *s) break; + else if (t != 'c' && ! strncmp(s, "&#", 2)) { // character reference + if (s[2] == 'x') c = strtol(s + 3, &e, 16); // base 16 + else c = strtol(s + 2, &e, 10); // base 10 + if (! c || *e != ';') { s++; continue; } // not a character ref + + if (c < 0x80) *(s++) = (char)c; // US-ASCII subset + else { // multi-byte UTF-8 sequence + for (b = 0, d = c; d; d /= 2) b++; // number of bits in c + b = (b - 2) / 5; // number of bytes in payload + *(s++) = (char)((0xFF << (7 - b)) | (c >> (6 * b))); // head + while (b) *(s++) = (char)(0x80 | ((c >> (6 * --b)) & 0x3F)); // payload + } + + memmove(s, strchr(s, ';') + 1, strlen(strchr(s, ';'))); + } + else if ((*s == '&' && (t == '&' || t == ' ' || t == '*')) || + (*s == '%' && t == '%')) { // entity reference + for (b = 0; ent[b] && strncmp(s + 1, ent[b], strlen(ent[b])); + b += 2); // find entity in entity list + + if (ent[b++]) { // found a match + if ((c = (long)strlen(ent[b])) - 1 > (e = strchr(s, ';')) - s) { + l = (d = (long)(s - r)) + c + (long)strlen(e); // new length + r = (r == m) ? strcpy(malloc(l), r) : realloc(r, l); + e = strchr((s = r + d), ';'); // fix up pointers + } + + memmove(s + c, e + 1, strlen(e)); // shift rest of string + strncpy(s, ent[b], c); // copy in replacement text + } + else s++; // not a known entity + } + else if ((t == ' ' || t == '*') && isspace(*s)) *(s++) = ' '; + else s++; // no decoding needed + } + + if (t == '*') { // normalize spaces for non-cdata attributes + for (s = r; *s; s++) { + if ((l = (long)strspn(s, " "))) memmove(s, s + l, strlen(s + l) + 1); + while (*s && *s != ' ') s++; + } + if (--s >= r && *s == ' ') *s = '\0'; // trim any trailing space + } + return r; +} + +// called when parser finds start of new tag +void ezxml_open_tag(ezxml_root_t root, char *name, char **attr) +{ + ezxml_t xml = root->cur; + + if (xml->name) xml = ezxml_add_child(xml, name, strlen(xml->txt)); + else xml->name = name; // first open tag + + xml->attr = attr; + root->cur = xml; // update tag insertion point +} + +// called when parser finds character content between open and closing tag +void ezxml_char_content(ezxml_root_t root, char *s, size_t len, char t) +{ + ezxml_t xml = root->cur; + char *m = s; + size_t l; + + if (! xml || ! xml->name || ! len) return; // sanity check + + s[len] = '\0'; // null terminate text (calling functions anticipate this) + len = strlen(s = ezxml_decode(s, root->ent, t)) + 1; + + if (! *(xml->txt)) xml->txt = s; // initial character content + else { // allocate our own memory and make a copy + xml->txt = (xml->flags & EZXML_TXTM) // allocate some space + ? realloc(xml->txt, (l = strlen(xml->txt)) + len) + : strcpy(malloc((l = strlen(xml->txt)) + len), xml->txt); + strcpy(xml->txt + l, s); // add new char content + if (s != m) free(s); // free s if it was malloced by ezxml_decode() + } + + if (xml->txt != m) ezxml_set_flag(xml, EZXML_TXTM); +} + +// called when parser finds closing tag +ezxml_t ezxml_close_tag(ezxml_root_t root, char *name, char *s) +{ + if (! root->cur || ! root->cur->name || strcmp(name, root->cur->name)) + return ezxml_err(root, s, "unexpected closing tag ", name); + + root->cur = root->cur->parent; + return NULL; +} + +// checks for circular entity references, returns non-zero if no circular +// references are found, zero otherwise +int ezxml_ent_ok(char *name, char *s, char **ent) +{ + int i; + + for (; ; s++) { + while (*s && *s != '&') s++; // find next entity reference + if (! *s) return 1; + if (! strncmp(s + 1, name, strlen(name))) return 0; // circular ref. + for (i = 0; ent[i] && strncmp(ent[i], s + 1, strlen(ent[i])); i += 2); + if (ent[i] && ! ezxml_ent_ok(name, ent[i + 1], ent)) return 0; + } +} + +// called when the parser finds a processing instruction +void ezxml_proc_inst(ezxml_root_t root, char *s, size_t len) +{ + int i = 0, j = 1; + char *target = s; + + s[len] = '\0'; // null terminate instruction + if (*(s += strcspn(s, EZXML_WS))) { + *s = '\0'; // null terminate target + s += strspn(s + 1, EZXML_WS) + 1; // skip whitespace after target + } + + if (! strcmp(target, "xml")) { // + if ((s = strstr(s, "standalone")) && ! strncmp(s + strspn(s + 10, + EZXML_WS "='\"") + 10, "yes", 3)) root->standalone = 1; + return; + } + + if (! root->pi[0]) *(root->pi = malloc(sizeof(char **))) = NULL; //first pi + + while (root->pi[i] && strcmp(target, root->pi[i][0])) i++; // find target + if (! root->pi[i]) { // new target + root->pi = realloc(root->pi, sizeof(char **) * (i + 2)); + root->pi[i] = malloc(sizeof(char *) * 3); + root->pi[i][0] = target; + root->pi[i][1] = (char *)(root->pi[i + 1] = NULL); // terminate pi list + root->pi[i][2] = _strdup(""); // empty document position list + } + + while (root->pi[i][j]) j++; // find end of instruction list for this target + root->pi[i] = realloc(root->pi[i], sizeof(char *) * (j + 3)); + root->pi[i][j + 2] = realloc(root->pi[i][j + 1], j + 1); + strcpy(root->pi[i][j + 2] + j - 1, (root->xml.name) ? ">" : "<"); + root->pi[i][j + 1] = NULL; // null terminate pi list for this target + root->pi[i][j] = s; // set instruction +} + +// called when the parser finds an internal doctype subset +short ezxml_internal_dtd(ezxml_root_t root, char *s, size_t len) +{ + char q, *c, *t, *n = NULL, *v, **ent, **pe; + int i, j; + + pe = memcpy(malloc(sizeof(EZXML_NIL)), EZXML_NIL, sizeof(EZXML_NIL)); + + for (s[len] = '\0'; s; ) { + while (*s && *s != '<' && *s != '%') s++; // find next declaration + + if (! *s) break; + else if (! strncmp(s, "'); + continue; + } + + for (i = 0, ent = (*c == '%') ? pe : root->ent; ent[i]; i++); + ent = realloc(ent, (i + 3) * sizeof(char *)); // space for next ent + if (*c == '%') pe = ent; + else root->ent = ent; + + *(++s) = '\0'; // null terminate name + if ((s = strchr(v, q))) *(s++) = '\0'; // null terminate value + ent[i + 1] = ezxml_decode(v, pe, '%'); // set value + ent[i + 2] = NULL; // null terminate entity list + if (! ezxml_ent_ok(n, ent[i + 1], ent)) { // circular reference + if (ent[i + 1] != v) free(ent[i + 1]); + ezxml_err(root, v, "circular entity declaration &%s", n); + break; + } + else ent[i] = n; // set entity name + } + else if (! strncmp(s, "")) == '>') continue; + else *s = '\0'; // null terminate tag name + for (i = 0; root->attr[i] && strcmp(n, root->attr[i][0]); i++); + + while (*(n = ++s + strspn(s, EZXML_WS)) && *n != '>') { + if (*(s = n + strcspn(n, EZXML_WS))) *s = '\0'; // attr name + else { ezxml_err(root, t, "malformed ") - 1; + if (*c == ' ') continue; // cdata is default, nothing to do + v = NULL; + } + else if ((*s == '"' || *s == '\'') && // default value + (s = strchr(v = s + 1, *s))) *s = '\0'; + else { ezxml_err(root, t, "malformed attr[i]) { // new tag name + root->attr = (! i) ? malloc(2 * sizeof(char **)) + : realloc(root->attr, + (i + 2) * sizeof(char **)); + root->attr[i] = malloc(2 * sizeof(char *)); + root->attr[i][0] = t; // set tag name + root->attr[i][1] = (char *)(root->attr[i + 1] = NULL); + } + + for (j = 1; root->attr[i][j]; j += 3); // find end of list + root->attr[i] = realloc(root->attr[i], + (j + 4) * sizeof(char *)); + + root->attr[i][j + 3] = NULL; // null terminate list + root->attr[i][j + 2] = c; // is it cdata? + root->attr[i][j + 1] = (v) ? ezxml_decode(v, root->ent, *c) + : NULL; + root->attr[i][j] = n; // attribute name + } + } + else if (! strncmp(s, ""); // comments + else if (! strncmp(s, ""))) + ezxml_proc_inst(root, c, s++ - c); + } + else if (*s == '<') s = strchr(s, '>'); // skip other declarations + else if (*(s++) == '%' && ! root->standalone) break; + } + + free(pe); + return ! *root->err; +} + +// Converts a UTF-16 string to UTF-8. Returns a new string that must be freed +// or NULL if no conversion was needed. +char *ezxml_str2utf8(char **s, size_t *len) +{ + char *u; + size_t l = 0, sl, max = *len; + long c, d; + int b, be = (**s == '\xFE') ? 1 : (**s == '\xFF') ? 0 : -1; + + if (be == -1) return NULL; // not UTF-16 + + u = malloc(max); + for (sl = 2; sl < *len - 1; sl += 2) { + c = (be) ? (((*s)[sl] & 0xFF) << 8) | ((*s)[sl + 1] & 0xFF) //UTF-16BE + : (((*s)[sl + 1] & 0xFF) << 8) | ((*s)[sl] & 0xFF); //UTF-16LE + if (c >= 0xD800 && c <= 0xDFFF && (sl += 2) < *len - 1) { // high-half + d = (be) ? (((*s)[sl] & 0xFF) << 8) | ((*s)[sl + 1] & 0xFF) + : (((*s)[sl + 1] & 0xFF) << 8) | ((*s)[sl] & 0xFF); + c = (((c & 0x3FF) << 10) | (d & 0x3FF)) + 0x10000; + } + + while (l + 6 > max) u = realloc(u, max += EZXML_BUFSIZE); + if (c < 0x80) u[l++] = (char)c; // US-ASCII subset + else { // multi-byte UTF-8 sequence + for (b = 0, d = c; d; d /= 2) b++; // bits in c + b = (b - 2) / 5; // bytes in payload + u[l++] = (char)((0xFF << (7 - b)) | (c >> (6 * b))); // head + while (b) u[l++] = (char)(0x80 | ((c >> (6 * --b)) & 0x3F)); // payload + } + } + return *s = realloc(u, *len = l); +} + +// frees a tag attribute list +void ezxml_free_attr(char **attr) { + int i = 0; + char *m; + + if (! attr || attr == EZXML_NIL) return; // nothing to free + while (attr[i]) i += 2; // find end of attribute list + m = attr[i + 1]; // list of which names and values are malloced + for (i = 0; m[i]; i++) { + if (m[i] & EZXML_NAMEM) free(attr[i * 2]); + if (m[i] & EZXML_TXTM) free(attr[(i * 2) + 1]); + } + free(m); + free(attr); +} + +// parse the given xml string and return an ezxml structure +ezxml_t ezxml_parse_str(char *s, size_t len) +{ + ezxml_root_t root = (ezxml_root_t)ezxml_new(NULL); + char q, e, *d, **attr, **a = NULL; // initialize a to avoid compile warning + int l, i, j; + + root->m = s; + if (! len) return ezxml_err(root, NULL, "root tag missing"); + root->u = ezxml_str2utf8(&s, &len); // convert utf-16 to utf-8 + root->e = (root->s = s) + len; // record start and end of work area + + e = s[len - 1]; // save end char + s[len - 1] = '\0'; // turn end char into null terminator + + while (*s && *s != '<') s++; // find first tag + if (! *s) return ezxml_err(root, s, "root tag missing"); + + for (; ; ) { + attr = (char **)EZXML_NIL; + d = ++s; + + if (isalpha(*s) || *s == '_' || *s == ':' || *s < '\0') { // new tag + if (! root->cur) + return ezxml_err(root, d, "markup outside of root element"); + + s += strcspn(s, EZXML_WS "/>"); + while (isspace(*s)) *(s++) = '\0'; // null terminate tag name + + if (*s && *s != '/' && *s != '>') // find tag in default attr list + for (i = 0; (a = root->attr[i]) && strcmp(a[0], d); i++); + + for (l = 0; *s && *s != '/' && *s != '>'; l += 2) { // new attrib + attr = (l) ? realloc(attr, (l + 4) * sizeof(char *)) + : malloc(4 * sizeof(char *)); // allocate space + attr[l + 3] = (l) ? realloc(attr[l + 1], (l / 2) + 2) + : malloc(2); // mem for list of maloced vals + strcpy(attr[l + 3] + (l / 2), " "); // value is not malloced + attr[l + 2] = NULL; // null terminate list + attr[l + 1] = ""; // temporary attribute value + attr[l] = s; // set attribute name + + s += strcspn(s, EZXML_WS "=/>"); + if (*s == '=' || isspace(*s)) { + *(s++) = '\0'; // null terminate tag attribute name + q = *(s += strspn(s, EZXML_WS "=")); + if (q == '"' || q == '\'') { // attribute value + attr[l + 1] = ++s; + while (*s && *s != q) s++; + if (*s) *(s++) = '\0'; // null terminate attribute val + else { + ezxml_free_attr(attr); + return ezxml_err(root, d, "missing %c", q); + } + + for (j = 1; a && a[j] && strcmp(a[j], attr[l]); j +=3); + attr[l + 1] = ezxml_decode(attr[l + 1], root->ent, + (char)((a && a[j]) ? *a[j + 2] : ' ')); + if (attr[l + 1] < d || attr[l + 1] > s) + attr[l + 3][l / 2] = EZXML_TXTM; // value malloced + } + } + while (isspace(*s)) s++; + } + + if (*s == '/') { // self closing tag + *(s++) = '\0'; + if ((*s && *s != '>') || (! *s && e != '>')) { + if (l) ezxml_free_attr(attr); + return ezxml_err(root, d, "missing >"); + } + ezxml_open_tag(root, d, attr); + ezxml_close_tag(root, d, s); + } + else if ((q = *s) == '>' || (! *s && e == '>')) { // open tag + *s = '\0'; // temporarily null terminate tag name + ezxml_open_tag(root, d, attr); + *s = q; + } + else { + if (l) ezxml_free_attr(attr); + return ezxml_err(root, d, "missing >"); + } + } + else if (*s == '/') { // close tag + s += strcspn(d = s + 1, EZXML_WS ">") + 1; + if (! (q = *s) && e != '>') return ezxml_err(root, d, "missing >"); + *s = '\0'; // temporarily null terminate tag name + if (ezxml_close_tag(root, d, s)) return &root->xml; + if (isspace(*s = q)) s += strspn(s, EZXML_WS); + } + else if (! strncmp(s, "!--", 3)) { // xml comment + if (! (s = strstr(s + 3, "--")) || (*(s += 2) != '>' && *s) || + (! *s && e != '>')) return ezxml_err(root, d, "unclosed