home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-03-23 | 54.4 KB | 1,377 lines |
- Newsgroups: comp.sources.misc
- From: jpeg-info@uunet.uu.net (Independent JPEG Group)
- Subject: v29i007: jpeg - JPEG image compression, Part07/18
- Message-ID: <1992Mar24.144451.18309@sparky.imd.sterling.com>
- X-Md4-Signature: 08697a0dc94aa72e6d5f2dd1f63b6927
- Date: Tue, 24 Mar 1992 14:44:51 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: jpeg-info@uunet.uu.net (Independent JPEG Group)
- Posting-number: Volume 29, Issue 7
- Archive-name: jpeg/part07
- Environment: UNIX, VMS, MS-DOS, Mac, Amiga, Cray
-
- #! /bin/sh
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # Contents: jrdjfif.c makdjpeg.lnk timg.ppm.u.a
- # Wrapped by kent@sparky on Mon Mar 23 16:02:44 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 7 (of 18)."'
- if test -f 'jrdjfif.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'jrdjfif.c'\"
- else
- echo shar: Extracting \"'jrdjfif.c'\" \(18541 characters\)
- sed "s/^X//" >'jrdjfif.c' <<'END_OF_FILE'
- X/*
- X * jrdjfif.c
- X *
- X * Copyright (C) 1991, 1992, Thomas G. Lane.
- X * This file is part of the Independent JPEG Group's software.
- X * For conditions of distribution and use, see the accompanying README file.
- X *
- X * This file contains routines to decode standard JPEG file headers/markers.
- X * This code will handle "raw JPEG" and JFIF-convention JPEG files.
- X *
- X * You can also use this module to decode a raw-JPEG or JFIF-standard data
- X * stream that is embedded within a larger file. To do that, you must
- X * position the file to the JPEG SOI marker (0xFF/0xD8) that begins the
- X * data sequence to be decoded. If nothing better is possible, you can scan
- X * the file until you see the SOI marker, then use JUNGETC to push it back.
- X *
- X * This module relies on the JGETC macro and the read_jpeg_data method (which
- X * is provided by the user interface) to read from the JPEG data stream.
- X * Therefore, this module is not dependent on any particular assumption about
- X * the data source; it need not be a stdio stream at all. (This fact does
- X * NOT carry over to more complex JPEG file formats such as JPEG-in-TIFF;
- X * those format control modules may well need to assume stdio input.)
- X *
- X * These routines are invoked via the methods read_file_header,
- X * read_scan_header, read_jpeg_data, read_scan_trailer, and read_file_trailer.
- X */
- X
- X#include "jinclude.h"
- X
- X#ifdef JFIF_SUPPORTED
- X
- X
- Xtypedef enum { /* JPEG marker codes */
- X M_SOF0 = 0xc0,
- X M_SOF1 = 0xc1,
- X M_SOF2 = 0xc2,
- X M_SOF3 = 0xc3,
- X
- X M_SOF5 = 0xc5,
- X M_SOF6 = 0xc6,
- X M_SOF7 = 0xc7,
- X
- X M_JPG = 0xc8,
- X M_SOF9 = 0xc9,
- X M_SOF10 = 0xca,
- X M_SOF11 = 0xcb,
- X
- X M_SOF13 = 0xcd,
- X M_SOF14 = 0xce,
- X M_SOF15 = 0xcf,
- X
- X M_DHT = 0xc4,
- X
- X M_DAC = 0xcc,
- X
- X M_RST0 = 0xd0,
- X M_RST1 = 0xd1,
- X M_RST2 = 0xd2,
- X M_RST3 = 0xd3,
- X M_RST4 = 0xd4,
- X M_RST5 = 0xd5,
- X M_RST6 = 0xd6,
- X M_RST7 = 0xd7,
- X
- X M_SOI = 0xd8,
- X M_EOI = 0xd9,
- X M_SOS = 0xda,
- X M_DQT = 0xdb,
- X M_DNL = 0xdc,
- X M_DRI = 0xdd,
- X M_DHP = 0xde,
- X M_EXP = 0xdf,
- X
- X M_APP0 = 0xe0,
- X M_APP15 = 0xef,
- X
- X M_JPG0 = 0xf0,
- X M_JPG13 = 0xfd,
- X M_COM = 0xfe,
- X
- X M_TEM = 0x01,
- X
- X M_ERROR = 0x100
- X} JPEG_MARKER;
- X
- X
- X/*
- X * Reload the input buffer after it's been emptied, and return the next byte.
- X * This is exported for direct use by the entropy decoder.
- X * See the JGETC macro for calling conditions.
- X *
- X * For this header control module, read_jpeg_data is supplied by the
- X * user interface. However, header formats that require random access
- X * to the input file would need to supply their own code. This code is
- X * left here to indicate what is required.
- X */
- X
- X#if 0 /* not needed in this module */
- X
- XMETHODDEF int
- Xread_jpeg_data (decompress_info_ptr cinfo)
- X{
- X cinfo->next_input_byte = cinfo->input_buffer + MIN_UNGET;
- X
- X cinfo->bytes_in_buffer = (int) JFREAD(cinfo->input_file,
- X cinfo->next_input_byte,
- X JPEG_BUF_SIZE);
- X
- X if (cinfo->bytes_in_buffer <= 0)
- X ERREXIT(cinfo->emethods, "Unexpected EOF in JPEG file");
- X
- X return JGETC(cinfo);
- X}
- X
- X#endif
- X
- X
- X/*
- X * Routines to parse JPEG markers & save away the useful info.
- X */
- X
- X
- XLOCAL INT32
- Xget_2bytes (decompress_info_ptr cinfo)
- X/* Get a 2-byte unsigned integer (e.g., a marker parameter length field) */
- X{
- X INT32 a;
- X
- X a = JGETC(cinfo);
- X return (a << 8) + JGETC(cinfo);
- X}
- X
- X
- XLOCAL void
- Xskip_variable (decompress_info_ptr cinfo, int code)
- X/* Skip over an unknown or uninteresting variable-length marker */
- X{
- X INT32 length;
- X
- X length = get_2bytes(cinfo);
- X
- X TRACEMS2(cinfo->emethods, 1,
- X "Skipping marker 0x%02x, length %u", code, (int) length);
- X
- X for (length -= 2; length > 0; length--)
- X (void) JGETC(cinfo);
- X}
- X
- X
- XLOCAL void
- Xget_dht (decompress_info_ptr cinfo)
- X/* Process a DHT marker */
- X{
- X INT32 length;
- X UINT8 bits[17];
- X UINT8 huffval[256];
- X int i, index, count;
- X HUFF_TBL **htblptr;
- X
- X length = get_2bytes(cinfo)-2;
- X
- X while (length > 0) {
- X index = JGETC(cinfo);
- X
- X TRACEMS1(cinfo->emethods, 1, "Define Huffman Table 0x%02x", index);
- X
- X bits[0] = 0;
- X count = 0;
- X for (i = 1; i <= 16; i++) {
- X bits[i] = (UINT8) JGETC(cinfo);
- X count += bits[i];
- X }
- X
- X TRACEMS8(cinfo->emethods, 2, " %3d %3d %3d %3d %3d %3d %3d %3d",
- X bits[1], bits[2], bits[3], bits[4],
- X bits[5], bits[6], bits[7], bits[8]);
- X TRACEMS8(cinfo->emethods, 2, " %3d %3d %3d %3d %3d %3d %3d %3d",
- X bits[9], bits[10], bits[11], bits[12],
- X bits[13], bits[14], bits[15], bits[16]);
- X
- X if (count > 256)
- X ERREXIT(cinfo->emethods, "Bogus DHT counts");
- X
- X for (i = 0; i < count; i++)
- X huffval[i] = (UINT8) JGETC(cinfo);
- X
- X length -= 1 + 16 + count;
- X
- X if (index & 0x10) { /* AC table definition */
- X index -= 0x10;
- X htblptr = &cinfo->ac_huff_tbl_ptrs[index];
- X } else { /* DC table definition */
- X htblptr = &cinfo->dc_huff_tbl_ptrs[index];
- X }
- X
- X if (index < 0 || index >= NUM_HUFF_TBLS)
- X ERREXIT1(cinfo->emethods, "Bogus DHT index %d", index);
- X
- X if (*htblptr == NULL)
- X *htblptr = (HUFF_TBL *) (*cinfo->emethods->alloc_small) (SIZEOF(HUFF_TBL));
- X
- X memcpy((void *) (*htblptr)->bits, (void *) bits,
- X SIZEOF((*htblptr)->bits));
- X memcpy((void *) (*htblptr)->huffval, (void *) huffval,
- X SIZEOF((*htblptr)->huffval));
- X }
- X}
- X
- X
- XLOCAL void
- Xget_dac (decompress_info_ptr cinfo)
- X/* Process a DAC marker */
- X{
- X INT32 length;
- X int index, val;
- X
- X length = get_2bytes(cinfo)-2;
- X
- X while (length > 0) {
- X index = JGETC(cinfo);
- X val = JGETC(cinfo);
- X
- X TRACEMS2(cinfo->emethods, 1,
- X "Define Arithmetic Table 0x%02x: 0x%02x", index, val);
- X
- X if (index < 0 || index >= (2*NUM_ARITH_TBLS))
- X ERREXIT1(cinfo->emethods, "Bogus DAC index %d", index);
- X
- X if (index >= NUM_ARITH_TBLS) { /* define AC table */
- X cinfo->arith_ac_K[index-NUM_ARITH_TBLS] = (UINT8) val;
- X } else { /* define DC table */
- X cinfo->arith_dc_L[index] = (UINT8) (val & 0x0F);
- X cinfo->arith_dc_U[index] = (UINT8) (val >> 4);
- X if (cinfo->arith_dc_L[index] > cinfo->arith_dc_U[index])
- X ERREXIT1(cinfo->emethods, "Bogus DAC value 0x%x", val);
- X }
- X
- X length -= 2;
- X }
- X}
- X
- X
- XLOCAL void
- Xget_dqt (decompress_info_ptr cinfo)
- X/* Process a DQT marker */
- X{
- X INT32 length;
- X int n, i, prec;
- X UINT16 tmp;
- X QUANT_TBL_PTR quant_ptr;
- X
- X length = get_2bytes(cinfo) - 2;
- X
- X while (length > 0) {
- X n = JGETC(cinfo);
- X prec = n >> 4;
- X n &= 0x0F;
- X
- X TRACEMS2(cinfo->emethods, 1,
- X "Define Quantization Table %d precision %d", n, prec);
- X
- X if (n >= NUM_QUANT_TBLS)
- X ERREXIT1(cinfo->emethods, "Bogus table number %d", n);
- X
- X if (cinfo->quant_tbl_ptrs[n] == NULL)
- X cinfo->quant_tbl_ptrs[n] = (QUANT_TBL_PTR)
- X (*cinfo->emethods->alloc_small) (SIZEOF(QUANT_TBL));
- X quant_ptr = cinfo->quant_tbl_ptrs[n];
- X
- X for (i = 0; i < DCTSIZE2; i++) {
- X tmp = JGETC(cinfo);
- X if (prec)
- X tmp = (tmp<<8) + JGETC(cinfo);
- X quant_ptr[i] = tmp;
- X }
- X
- X for (i = 0; i < DCTSIZE2; i += 8) {
- X TRACEMS8(cinfo->emethods, 2, " %4d %4d %4d %4d %4d %4d %4d %4d",
- X quant_ptr[i ], quant_ptr[i+1], quant_ptr[i+2], quant_ptr[i+3],
- X quant_ptr[i+4], quant_ptr[i+5], quant_ptr[i+6], quant_ptr[i+7]);
- X }
- X
- X length -= DCTSIZE2+1;
- X if (prec) length -= DCTSIZE2;
- X }
- X}
- X
- X
- XLOCAL void
- Xget_dri (decompress_info_ptr cinfo)
- X/* Process a DRI marker */
- X{
- X if (get_2bytes(cinfo) != 4)
- X ERREXIT(cinfo->emethods, "Bogus length in DRI");
- X
- X cinfo->restart_interval = (UINT16) get_2bytes(cinfo);
- X
- X TRACEMS1(cinfo->emethods, 1,
- X "Define Restart Interval %d", cinfo->restart_interval);
- X}
- X
- X
- XLOCAL void
- Xget_app0 (decompress_info_ptr cinfo)
- X/* Process an APP0 marker */
- X{
- X#define JFIF_LEN 14
- X INT32 length;
- X UINT8 b[JFIF_LEN];
- X int buffp;
- X
- X length = get_2bytes(cinfo) - 2;
- X
- X /* See if a JFIF APP0 marker is present */
- X
- X if (length >= JFIF_LEN) {
- X for (buffp = 0; buffp < JFIF_LEN; buffp++)
- X b[buffp] = (UINT8) JGETC(cinfo);
- X length -= JFIF_LEN;
- X
- X if (b[0]=='J' && b[1]=='F' && b[2]=='I' && b[3]=='F' && b[4]==0) {
- X /* Found JFIF APP0 marker: check version */
- X /* Major version must be 1 */
- X if (b[5] != 1)
- X ERREXIT2(cinfo->emethods, "Unsupported JFIF revision number %d.%02d",
- X b[5], b[6]);
- X /* Minor version should be 0 or 1, but try to process anyway if newer */
- X if (b[6] != 0 && b[6] != 1)
- X TRACEMS2(cinfo->emethods, 0, "Warning: unknown JFIF revision number %d.%02d",
- X b[5], b[6]);
- X /* Save info */
- X cinfo->density_unit = b[7];
- X cinfo->X_density = (b[8] << 8) + b[9];
- X cinfo->Y_density = (b[10] << 8) + b[11];
- X /* Assume colorspace is YCbCr, unless UI has overridden me */
- X if (cinfo->jpeg_color_space == CS_UNKNOWN)
- X cinfo->jpeg_color_space = CS_YCbCr;
- X TRACEMS3(cinfo->emethods, 1, "JFIF APP0 marker, density %dx%d %d",
- X cinfo->X_density, cinfo->Y_density, cinfo->density_unit);
- X } else {
- X TRACEMS(cinfo->emethods, 1, "Unknown APP0 marker (not JFIF)");
- X }
- X } else {
- X TRACEMS1(cinfo->emethods, 1,
- X "Short APP0 marker, length %d", (int) length);
- X }
- X
- X while (length-- > 0) /* skip any remaining data */
- X (void) JGETC(cinfo);
- X}
- X
- X
- XLOCAL void
- Xget_sof (decompress_info_ptr cinfo, int code)
- X/* Process a SOFn marker */
- X{
- X INT32 length;
- X short ci;
- X int c;
- X jpeg_component_info * compptr;
- X
- X length = get_2bytes(cinfo);
- X
- X cinfo->data_precision = JGETC(cinfo);
- X cinfo->image_height = get_2bytes(cinfo);
- X cinfo->image_width = get_2bytes(cinfo);
- X cinfo->num_components = JGETC(cinfo);
- X
- X TRACEMS4(cinfo->emethods, 1,
- X "Start Of Frame 0x%02x: width=%u, height=%u, components=%d",
- X code, (int) cinfo->image_width, (int) cinfo->image_height,
- X cinfo->num_components);
- X
- X /* We don't support files in which the image height is initially specified */
- X /* as 0 and is later redefined by DNL. As long as we have to check that, */
- X /* might as well have a general sanity check. */
- X if (cinfo->image_height <= 0 || cinfo->image_width <= 0
- X || cinfo->num_components <= 0)
- X ERREXIT(cinfo->emethods, "Empty JPEG image (DNL not supported)");
- X
- X#ifdef EIGHT_BIT_SAMPLES
- X if (cinfo->data_precision != 8)
- X ERREXIT(cinfo->emethods, "Unsupported JPEG data precision");
- X#endif
- X#ifdef TWELVE_BIT_SAMPLES
- X if (cinfo->data_precision != 12) /* this needs more thought?? */
- X ERREXIT(cinfo->emethods, "Unsupported JPEG data precision");
- X#endif
- X#ifdef SIXTEEN_BIT_SAMPLES
- X if (cinfo->data_precision != 16) /* this needs more thought?? */
- X ERREXIT(cinfo->emethods, "Unsupported JPEG data precision");
- X#endif
- X
- X if (length != (cinfo->num_components * 3 + 8))
- X ERREXIT(cinfo->emethods, "Bogus SOF length");
- X
- X cinfo->comp_info = (jpeg_component_info *) (*cinfo->emethods->alloc_small)
- X (cinfo->num_components * SIZEOF(jpeg_component_info));
- X
- X for (ci = 0; ci < cinfo->num_components; ci++) {
- X compptr = &cinfo->comp_info[ci];
- X compptr->component_index = ci;
- X compptr->component_id = JGETC(cinfo);
- X c = JGETC(cinfo);
- X compptr->h_samp_factor = (c >> 4) & 15;
- X compptr->v_samp_factor = (c ) & 15;
- X compptr->quant_tbl_no = JGETC(cinfo);
- X
- X TRACEMS4(cinfo->emethods, 1, " Component %d: %dhx%dv q=%d",
- X compptr->component_id, compptr->h_samp_factor,
- X compptr->v_samp_factor, compptr->quant_tbl_no);
- X }
- X}
- X
- X
- XLOCAL void
- Xget_sos (decompress_info_ptr cinfo)
- X/* Process a SOS marker */
- X{
- X INT32 length;
- X int i, ci, n, c, cc;
- X jpeg_component_info * compptr;
- X
- X length = get_2bytes(cinfo);
- X
- X n = JGETC(cinfo); /* Number of components */
- X cinfo->comps_in_scan = n;
- X length -= 3;
- X
- X if (length != (n * 2 + 3) || n < 1 || n > MAX_COMPS_IN_SCAN)
- X ERREXIT(cinfo->emethods, "Bogus SOS length");
- X
- X TRACEMS1(cinfo->emethods, 1, "Start Of Scan: %d components", n);
- X
- X for (i = 0; i < n; i++) {
- X cc = JGETC(cinfo);
- X c = JGETC(cinfo);
- X length -= 2;
- X
- X for (ci = 0; ci < cinfo->num_components; ci++)
- X if (cc == cinfo->comp_info[ci].component_id)
- X break;
- X
- X if (ci >= cinfo->num_components)
- X ERREXIT(cinfo->emethods, "Invalid component number in SOS");
- X
- X compptr = &cinfo->comp_info[ci];
- X cinfo->cur_comp_info[i] = compptr;
- X compptr->dc_tbl_no = (c >> 4) & 15;
- X compptr->ac_tbl_no = (c ) & 15;
- X
- X TRACEMS3(cinfo->emethods, 1, " c%d: [dc=%d ac=%d]", cc,
- X compptr->dc_tbl_no, compptr->ac_tbl_no);
- X }
- X
- X while (length > 0) {
- X (void) JGETC(cinfo);
- X length--;
- X }
- X}
- X
- X
- XLOCAL void
- Xget_soi (decompress_info_ptr cinfo)
- X/* Process an SOI marker */
- X{
- X int i;
- X
- X TRACEMS(cinfo->emethods, 1, "Start of Image");
- X
- X /* Reset all parameters that are defined to be reset by SOI */
- X
- X for (i = 0; i < NUM_ARITH_TBLS; i++) {
- X cinfo->arith_dc_L[i] = 0;
- X cinfo->arith_dc_U[i] = 1;
- X cinfo->arith_ac_K[i] = 5;
- X }
- X cinfo->restart_interval = 0;
- X
- X cinfo->density_unit = 0; /* set default JFIF APP0 values */
- X cinfo->X_density = 1;
- X cinfo->Y_density = 1;
- X
- X cinfo->CCIR601_sampling = FALSE; /* Assume non-CCIR sampling */
- X}
- X
- X
- XLOCAL int
- Xnext_marker (decompress_info_ptr cinfo)
- X/* Find the next JPEG marker */
- X/* Note that the output might not be a valid marker code, */
- X/* but it will never be 0 or FF */
- X{
- X int c, nbytes;
- X
- X nbytes = 0;
- X do {
- X do { /* skip any non-FF bytes */
- X nbytes++;
- X c = JGETC(cinfo);
- X } while (c != 0xFF);
- X do { /* skip any duplicate FFs */
- X nbytes++;
- X c = JGETC(cinfo);
- X } while (c == 0xFF);
- X } while (c == 0); /* repeat if it was a stuffed FF/00 */
- X
- X if (nbytes != 2)
- X TRACEMS2(cinfo->emethods, 1, "Skipped %d bytes before marker 0x%02x",
- X nbytes-2, c);
- X
- X return c;
- X}
- X
- X
- XLOCAL JPEG_MARKER
- Xprocess_tables (decompress_info_ptr cinfo)
- X/* Scan and process JPEG markers that can appear in any order */
- X/* Return when an SOI, EOI, SOFn, or SOS is found */
- X{
- X int c;
- X
- X while (TRUE) {
- X c = next_marker(cinfo);
- X
- X switch (c) {
- X case M_SOF0:
- X case M_SOF1:
- X case M_SOF2:
- X case M_SOF3:
- X case M_SOF5:
- X case M_SOF6:
- X case M_SOF7:
- X case M_JPG:
- X case M_SOF9:
- X case M_SOF10:
- X case M_SOF11:
- X case M_SOF13:
- X case M_SOF14:
- X case M_SOF15:
- X case M_SOI:
- X case M_EOI:
- X case M_SOS:
- X return ((JPEG_MARKER) c);
- X
- X case M_DHT:
- X get_dht(cinfo);
- X break;
- X
- X case M_DAC:
- X get_dac(cinfo);
- X break;
- X
- X case M_DQT:
- X get_dqt(cinfo);
- X break;
- X
- X case M_DRI:
- X get_dri(cinfo);
- X break;
- X
- X case M_APP0:
- X get_app0(cinfo);
- X break;
- X
- X case M_RST0: /* these are all parameterless */
- X case M_RST1:
- X case M_RST2:
- X case M_RST3:
- X case M_RST4:
- X case M_RST5:
- X case M_RST6:
- X case M_RST7:
- X case M_TEM:
- X TRACEMS1(cinfo->emethods, 1, "Unexpected marker 0x%02x", c);
- X break;
- X
- X default: /* must be DNL, DHP, EXP, APPn, JPGn, COM, or RESn */
- X skip_variable(cinfo, c);
- X break;
- X }
- X }
- X}
- X
- X
- X
- X/*
- X * Initialize and read the file header (everything through the SOF marker).
- X */
- X
- XMETHODDEF void
- Xread_file_header (decompress_info_ptr cinfo)
- X{
- X int c;
- X
- X /* Demand an SOI marker at the start of the file --- otherwise it's
- X * probably not a JPEG file at all. If the user interface wants to support
- X * nonstandard headers in front of the SOI, it must skip over them itself
- X * before calling jpeg_decompress().
- X */
- X if (JGETC(cinfo) != 0xFF || JGETC(cinfo) != M_SOI)
- X ERREXIT(cinfo->emethods, "Not a JPEG file");
- X
- X get_soi(cinfo); /* OK, process SOI */
- X
- X /* Process markers until SOF */
- X c = process_tables(cinfo);
- X
- X switch (c) {
- X case M_SOF0:
- X case M_SOF1:
- X get_sof(cinfo, c);
- X cinfo->arith_code = FALSE;
- X break;
- X
- X case M_SOF9:
- X get_sof(cinfo, c);
- X cinfo->arith_code = TRUE;
- X break;
- X
- X default:
- X ERREXIT1(cinfo->emethods, "Unsupported SOF marker type 0x%02x", c);
- X break;
- X }
- X
- X /* Figure out what colorspace we have */
- X /* (too bad the JPEG committee didn't provide a real way to specify this) */
- X
- X switch (cinfo->num_components) {
- X case 1:
- X cinfo->jpeg_color_space = CS_GRAYSCALE;
- X break;
- X
- X case 3:
- X /* if we saw a JFIF marker, leave it set to YCbCr; */
- X /* also leave it alone if UI has provided a value */
- X if (cinfo->jpeg_color_space == CS_UNKNOWN) {
- X short cid0 = cinfo->comp_info[0].component_id;
- X short cid1 = cinfo->comp_info[1].component_id;
- X short cid2 = cinfo->comp_info[2].component_id;
- X
- X if (cid0 == 1 && cid1 == 2 && cid2 == 3)
- X cinfo->jpeg_color_space = CS_YCbCr; /* assume it's JFIF w/out marker */
- X else if (cid0 == 1 && cid1 == 4 && cid2 == 5)
- X cinfo->jpeg_color_space = CS_YIQ; /* prototype's YIQ matrix */
- X else {
- X TRACEMS3(cinfo->emethods, 0,
- X "Unrecognized component IDs %d %d %d, assuming YCbCr",
- X cid0, cid1, cid2);
- X cinfo->jpeg_color_space = CS_YCbCr;
- X }
- X }
- X break;
- X
- X case 4:
- X cinfo->jpeg_color_space = CS_CMYK;
- X break;
- X
- X default:
- X cinfo->jpeg_color_space = CS_UNKNOWN;
- X break;
- X }
- X}
- X
- X
- X/*
- X * Read the start of a scan (everything through the SOS marker).
- X * Return TRUE if find SOS, FALSE if find EOI.
- X */
- X
- XMETHODDEF boolean
- Xread_scan_header (decompress_info_ptr cinfo)
- X{
- X int c;
- X
- X /* Process markers until SOS or EOI */
- X c = process_tables(cinfo);
- X
- X switch (c) {
- X case M_SOS:
- X get_sos(cinfo);
- X return TRUE;
- X
- X case M_EOI:
- X TRACEMS(cinfo->emethods, 1, "End Of Image");
- X return FALSE;
- X
- X default:
- X ERREXIT1(cinfo->emethods, "Unexpected marker 0x%02x", c);
- X break;
- X }
- X return FALSE; /* keeps lint happy */
- X}
- X
- X
- X/*
- X * Finish up after a compressed scan (series of read_jpeg_data calls);
- X * prepare for another read_scan_header call.
- X */
- X
- XMETHODDEF void
- Xread_scan_trailer (decompress_info_ptr cinfo)
- X{
- X /* no work needed */
- X}
- X
- X
- X/*
- X * Finish up at the end of the file.
- X */
- X
- XMETHODDEF void
- Xread_file_trailer (decompress_info_ptr cinfo)
- X{
- X /* no work needed */
- X}
- X
- X
- X/*
- X * The method selection routine for standard JPEG header reading.
- X * Note that this must be called by the user interface before calling
- X * jpeg_decompress. When a non-JFIF file is to be decompressed (TIFF,
- X * perhaps), the user interface must discover the file type and call
- X * the appropriate method selection routine.
- X */
- X
- XGLOBAL void
- Xjselrjfif (decompress_info_ptr cinfo)
- X{
- X cinfo->methods->read_file_header = read_file_header;
- X cinfo->methods->read_scan_header = read_scan_header;
- X /* For JFIF/raw-JPEG format, the user interface supplies read_jpeg_data. */
- X#if 0
- X cinfo->methods->read_jpeg_data = read_jpeg_data;
- X#endif
- X cinfo->methods->read_scan_trailer = read_scan_trailer;
- X cinfo->methods->read_file_trailer = read_file_trailer;
- X}
- X
- X#endif /* JFIF_SUPPORTED */
- END_OF_FILE
- if test 18541 -ne `wc -c <'jrdjfif.c'`; then
- echo shar: \"'jrdjfif.c'\" unpacked with wrong size!
- fi
- # end of 'jrdjfif.c'
- fi
- if test -f 'makdjpeg.lnk' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'makdjpeg.lnk'\"
- else
- echo shar: Extracting \"'makdjpeg.lnk'\" \(348 characters\)
- sed "s/^X//" >'makdjpeg.lnk' <<'END_OF_FILE'
- Xjdmain.obj +
- Xjdmaster.obj +
- Xjddeflts.obj +
- Xjbsmooth.obj +
- Xjdarith.obj +
- Xjdcolor.obj +
- Xjdhuff.obj +
- Xjdmcu.obj +
- Xjdpipe.obj +
- Xjdsample.obj +
- Xjquant1.obj +
- Xjquant2.obj +
- Xjrevdct.obj +
- Xjrdjfif.obj +
- Xjwrgif.obj +
- Xjwrppm.obj +
- Xjwrrle.obj +
- Xjwrtarga.obj +
- Xjutils.obj +
- Xjerror.obj +
- Xjmemmgr.obj +
- Xjmemsys.obj +
- Xjmemdosa.obj
- Xdjpeg.exe /NOI
- Xnul.map
- X
- Xnul.def
- END_OF_FILE
- if test 348 -ne `wc -c <'makdjpeg.lnk'`; then
- echo shar: \"'makdjpeg.lnk'\" unpacked with wrong size!
- fi
- # end of 'makdjpeg.lnk'
- fi
- if test -f 'timg.ppm.u.a' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'timg.ppm.u.a'\"
- else
- echo shar: Extracting \"'timg.ppm.u.a'\" \(32510 characters\)
- sed "s/^X//" >'timg.ppm.u.a' <<'END_OF_FILE'
- Xbegin 666 testimg.ppm
- XM4#8*,3(U(#$R-0HR-34*JD=*R&5HW'E\UG-VRVAKS&ELSVQOSFMNUG-VQF-F
- XMLU!3NE=:T&UPU'%TT6YQV'5XVWZ U7AZS7)RS'%QSW5PTWETTWQTTGMSS7=Q
- XMWHB"Y8^+T7MWQ7!OV82#YI"2UXVXF$V(:!V8B%X(^,X).0WI&.VI*/W)21
- XMW9*0W)&/W9.-V8^)T81[UXJ!Y)2*XY.)U(Y^UY&!W)>+U9"$RH1]T8N$VY>5
- XMVI:4UY22TY".W)N6WIV8VIV1V)N/TYB)W:*3X::-Y:J1XZ26UYB*UI&2VY:7
- XMXIJAXIJAU8^8V9.<WIV:X:"=T9F)PXM[Q9)VTZ"$[+>HYK&BW*F<UZ27UJ67
- XMW*N=X;2FY[JL\<:W[\2UZ,&SY;ZPW[JNWKFMW+>KW+>KT+NQT+NQU+JRU;NS
- XMW+RVW[^YY;^[Y\&]W[FUY;^[YL*]X[^ZX\"[Z,7 Y<? XL2]\<J^W+6IQY.,
- XMNX> UXZ.YYZ>XY"3RG=ZQ'9SW8^,VIV3Z*NA\,VVR69IU'%TV79YT&UPR&5H
- XMRVAKSVQOT&UPQF-FQ&%DOEM>Q&%DU'%TUG-VT6YQUG-VT'-UTG5WT79VSW1T
- XMS7-NS')MS79NSWAPW8>!T7MUT7MWTGQXS'=VTWY]X8N-YI"2WXV(V8>"U82!
- XMV8B%WY*/XI62V9&.T8F&TXB&SH.!U(J$W)*,V(N"V(N"X)"&W8V#W):&S(9V
- XMRH5YU9"$UY&*V)*+U9&/S8F'V9:4UY22W9R7WYZ9V9R0TY:*S)&"T9:'TYA_
- XMT99]UYB*WI^1X)N<V925V9&8W96<U(Z7THR5SXZ+T(^,RY.#SI:&V*6)Y+&5
- XMW*>8W*>8VJ>:W:J=X*^AZ+>I[+^Q\,.UZK^PZ;ZOY+VOXKNMWKFMWKFMWKFM
- XMWKFMT+NQT;RRU;NSV+ZVWKZXX,"ZYL"\YL"\Y+ZZY+ZZY,"[YL*]Y,&\Y,&\
- XMY<? ZLS%[\B\R*&5NH9_S9F2[:2DWY:6SGM^P6YQUHB%W(Z+X:2:]+>M\,VV
- XMW7I]V'5XTF]RS6IMRVAKRVAKRF=JR69IME-6Q6)ES&ELSVQOV79YV79YTW!S
- XMTW!SRFUOS7!RSW)SSG%RRF]MRF]MSW=RU'QWUX%]QW%MRW1TV8*"V(*&U7^#
- XMU8&'U("&U(&"UX2%U(6'TH.%UHJ-W)"3U8R/RH&$UHV0T(>*VX^2YIJ=XY:5
- XMW9"/V8N(SH!]S8!WPW9MT(1]Y9F2X96.VHZ'X):0ZJ":SH: T8F#UH^,WI>4
- XMWYB5VY21V961VY>3V9F0TY.*TY&,U9..V).4UY*3UI&3U9"2TY"0R8:&O8%Z
- XMQ(B!U:"1YK&BX[.>V:F4TZ*4UZ:8W:R>Y;2FY[NKZ[^O[,&R[<*SW[BJWK>I
- XMW+BIW+BIW+FLW;JMW[ROW[ROW+>NWKFPX+NRX[ZUX\&WY,*XXL.XXL.XXL6Y
- XMW\*VWL.WX<:ZX<B[X,>ZXLN]Z-'#WZBER9*/R8J)V9J9WY>4RH)_RGUZV8R)
- XMV)"+SX>"Y:FB_\6^V*^FTF]RS&ELS&ELT6YQT6YQRF=JP5YAO5I=MU17RVAK
- XMTW!STW!SVG=ZW'E\U7)UT6YQS&]QR&MMQ&=HQ6AIRW!NTWAVV(![VX-^Q6]K
- XMR')NTWQ\VH.#VH2(X(J.W(B.S'A^S7I[W8J+X9*4UXB*SX.&T86(S(.&PWI]
- XMS82'SH6(U8F,U8F,U8B'VXZ-VHR)QWEVV8R#U8A_X)2-Z)R5V8V&SX-\UXV'
- XMX):0V9&+W96/UH^,VI.0V)&.T8J'U)",T(R(T9&(UI:-U)*-RXF$SHF*V).4
- XMU9"2RH6'R8:&T8Z.TI:/UYN4WJF:Z+.DWJZ9T*"+WZZ@XK&CY[:HZ[JLZ+RL
- XMY;FIX+6FW;*CV;*DVK.EV;6FVK:GV[BKW;JMW[ROW[ROWKFPX+NRX[ZUYL&X
- XMYL2ZYL2ZX\2YXL.XXL6YX\:ZX,6YW\2XX\J]Z=##Y,V_V\2VOH>$S)62UI>6
- XMS8Z-RH)_RH)_U8B%VHV*QW]ZRX-^ZJZG_\_(G'-JQ&%EQ6)FRVALT6YRSFMO
- XMPV!DO%E=NE=;QV1HU'%UTW!TSVQPV'5YVWA\TW!TSVQPSFYQQ65HO6!AQ&=H
- XMTW9WW'^ V7Y^TG=WQ&UMS'5UV(*&W(:*U8&*VX>0WHF7U8".S'F$V8:1VXJ7
- XMU(.0S8*0SX22QWV-N&Y^L6IYMW!_M6QYI%MHIUQHRX",WY*;T(.,XY.;V8F1
- XMUXB,UXB,UH>'W8Z.W9&,T86 VXZ+XI62TX>+V(R0VHR9U(:3WY.FUXN>RH.0
- XMS8:3T8N4THR5T8R.SXJ,R(9_QH1]Q8I_WZ29[;BKY*^BT:*5SZ"3UJN>W;*E
- XMZ+RLZ+RLY[RLYKNKX+BHV[.CU*V=T:J:U[.DV+2EV;:GVK>HV[JLW+NMV[VN
- XMV[VNZKBR[+JTZKZV[<&YY\6ZYL2YW\:XWL6WV<6UX<V]X<J[VL.TY<R^\]K,
- XMYLF\R*N>SG^+VXR8V8V1S("$R(![S(1_NWANHV!6M'9NTI2,];R^_\O-:#-
- XMQ&%ERF=KS6INR&5IP%UAO%E=P%UAQ6)FU7)VV'5YT&UQRVALU'%UU7)VS6IN
- XMRVALQV=JQ&1GPF5FS&]PUWI[V'M\S7)RP69FRG-SRG-SVH2(YY&5U(")OVMT
- XMNV9TNV9TN69QMV1OLV)ON&=TQ'F'T(63Q7N+LFAXMW!_O'6$LVIWE4Q9D492
- XMNW!\W9"9V(N4VXN3VHJ2VXR0UH>+T8*"VHN+WI*-U8F$TH6"X).0S8&%UHJ.
- XMUXF6S7^,V8V@R'R/WYBET8J7SHB1TXV6RH6'NW9XPX%ZW)J3Y*F>YJN@WZJ=
- XMV*.6TZ27VJN>X[BKY[ROZ+RLY[NKY+FIX;:FW;6EV[.CV+&AU["@VK:GV[>H
- XMV[BIW;JKW;RNW;RNV[VNW+ZO[+JT[;NUZ[^W[<&YYL2YYL2YW\:XWL6WV,2T
- XMXLZ^X\R]W<:WY\[ [];(VKVPMIF,XI.?UH>3QWM_O7%UK&1?GE91F%5+G%E/
- XMPH1\[K"H_\O-WZ:H210AQF-GSFMOS&EMO5I>M5)6O%E=R69JT&UQUG-WU7)V
- XMS6INS&EMTF]SRVALPV!DR&5IQ&)FRVEMT7%TTW-VSW)TRVYPR&QNR&QNSG9]
- XMSG9]UG^+U7Z*O&AYK%AIJU9LJ%-IJEAOHE!GFTIBH$]GJ5UXLF:!K&2!IEY[
- XMR8.?S8>CRH2?M&Z)H%ERJF-\OG:-OW>.S82ASX:CVY.JV9&HQ7Z-NW2#P7N"
- XMPGR#RH2-W9>@RH*7THJ?QW^>JV."K&*,BT%KQGJ8S8&?SX>;QW^3O7I[P7Y_
- XMTYB+Z:ZAZ[>AV:6/R)N'TJ61X;BKZ\*UY[^YX;FSXKNKX+FIW+BGVK:EVK:E
- XMVK:EVK>HV[BIVKFKV[JLW;RNW[ZPWK^SW\"TWK^SWK^SZKZTZKZTY<*UY<*U
- XMX,:VW\6UW,BVV\>UX,BWX,BWZ<:Y[<J]]<B^Z[ZTVJ*<PXN%X("3QV=ZL%EA
- XMJ%%9BT,^?C8QDE=,P89[W*6A^\3 _\?1EEUG1PDIP5YBS&EMR69JN%59LD]3
- XMP5YBT&UQU7)VTF]ST6YRS6INSVQPTF]SQ&%EO%E=Q6)FQ6-GTG!TVWM^TW-V
- XMPV9HOV)DS'!RWH*$UGZ%V8&(RG-_J%%=ED)3LEYORW:,Q&^%N6=^LV%XJUIR
- XMH$]GD$1?B3U8C45BF%!MQ'Z:RH2@V9.NUI"KMW")H%ERGE9MH%AOIUY[G51Q
- XMKF9]RH*9T(F8RH.2R(*)R(*)GEAAO'9_M&R!R8&6Q7V<J6& IER&@#9@<B9$
- XMKV.!SX>;P'B,OGM\WYR=[;*EX::9SIJ$T9V'V:R8Z[ZJ[<2WY;ROX;FSYKZX
- XMY+VMXKNKWKJIV[>FVK:EVK:EVK>HV[BIV[JLW+NMW[ZPX<"RX<*VX<*VX<*V
- XMX<*VZ[^UZ[^UY,&TY,&TWL2TW\6UV\>UW,BVY<V\W,2SY\2W]=+%]LF_VJVC
- XMRY.-QX^)OEYQHT-6C#4]D3I"C45 E$Q'K'%FU)F.\;JV_<;"]+O%6!\I1PDI
- XMSVMROEIAL4U4ME)9Q6%HT&QSUG)YV'1[T&QST6UTS6EPQF)IP%QCP%QCQ6%H
- XMQV-JR65LSVMRR&9LV'9\Q65JS6URR&MTV'N$T7B%R7!]NF1VN&)TOFN$Q7*+
- XMP&R,M6&!I5%RN&2%H$]QGDUOC4)IA#E@<2E2E$QUR(2NU)"ZSHJRRH:NL&V2
- XMLF^4J62)J62)I&>9DU:(E%B#>CYIBDUPG%^"L'21K7&.EUMXC%!M@4-I9"9,
- XM<S1B;2Y<@4%UBTM_4 8F@SE9N7.&THR?Z*NIZ*NIQ9%]QI)^SJ*(V*R2V[2>
- XMWK>AX+FMY+VQW[FUV;.OWKRJW[VKW[VKWKRJV[BIVK>HV[JLW+NMVKFKW;RN
- XMX;^TY<.XX\2XX,&UW\"TX,&UWL:UVL*QW,6TX,FXW\>VY<V\Z<R]V[ZO[L6Z
- XM[L6Z_<&\^KZY]*6GU8:(O61IK%-8FC9'E3%"G$1,HTM3CTA%IE]<SY>1[+2N
- XM^L;)_,C+@TA=3A,H7!9#NE9=LT]6M%!7P%QCSFIQT6UTSFIQRV=NSVMRSFIQ
- XMR65LQ&!GP5UDPU]FR&1KRF9MS6EPSFIQPV%GT&YTR&AMU75ZS7!YU7B!VH&.
- XMOV9SK%9HN6-URG>0QW2-L%Q\FT=GKEI[HDYOA316A#-5?#%8<"5,;25.D$AQ
- XMOGJDOWNEU9&YNG:>Q8*GHV"%J&.(E5!UD52&ATI\?T-N<C9ADE5X@41G;3%.
- XM:BY+:R],<#11<C1:7!Y$8R1241) 5A9*6!A,4PDI<2='SHB;]*[!SI&/Q(>%
- XMS)B$U*",X[>=Z+RBYK^IY+VGX[RPY;ZRX;NWW+:RWKRJW[VKW[VKW;NIV[BI
- XMVK>HV[JLW+NMX<"RW[ZPW;NPWKRQW\"TX<*VXL.WX\2XWL:UX,BWY<Z]X,FX
- XMUKZMV\.RZLV^ZLV^]\[#YKVRW:&<R(R'OF]QIE=9G41)ECU"GCI+F#1%DSM#
- XMFT-+I%U:R8)_WZ>AYZ^I_]+5L7V 7R0Y20XC50\\K4E0KTM2NE9=RF9MU'!W
- XMTFYURF9MQF)IS&AOR&1KQ&!GPEYEQ&!GQV-JRV=NS6EPT&IQSFAOP5UFRV=P
- XMS6MSW7N#T72 S&][MUUNLUEJO&5_SG>1R'25L%Q]GDMRGDMRH4UWCSMED$!J
- XMG4UWFU!_@39EA#]OGUJ*H%^0LG&BJ6B9NGFJE52%F%>(=31C<"]>93%J1Q-,
- XM=D!UFV6:@DQ_2A1'8BM;>D-S2A1!5B!-5Q]+1 PX41E%4!A$3A9"0PLW<"L_
- XMKFE]X*&KTI.=P8N$T)J3U*>3YKFEZL"IZ\&JY;^KX+JFW[BJX+FKX+BPWK:N
- XMW;JKWKNLWKNLW;JKV[BIVK>HW+FLWKNNXL"UX+ZSWKNPWKNPX+ZTX\&WX\&W
- XMX+ZTV\>WU\.SX<BZYLV_[LF_\<S"\\&[XK"JUI.3P7Y^L5UCH$Q2H#U(F39!
- XMG#- GC5"ES]$ECY#F4I,M&5GSHN,X9Z?[[6Z_\_4[;;%;C=&6!HX5A@V6 \]
- XMM%!7N%1;Q&!GSVMRU'!WT6UTS6EPS6EPQF)IPEYEP%QCQ6%HRF9MRV=NRV=N
- XMS&AORV5LS&9MQV-LS&AQT6]WVGB RVYZOF%MGT56M%IKR'&+RW2.LEY_GDIK
- XMIU1[O&F0KUN%I5%[O&R6NVN5J5Z-?3)A?SIJAT)RA$-TC$M\GEV.DE&"C4Q]
- XM<S)C;BU<9213625>B%2-A$Z#7RE>=T%T<#IM<#EI9B]?6")/3QE&2! \1@XZ
- XM3!1 2A(^9"Q8BU-_O7B,W)>KU)6?LW1^RY6.\;NTY[JF\<2PYKREY;NDX+JF
- XMW;>CW+6GW;:HW;6MW;6MW+FJW;JKWKNLW+FJV[BIVK>HW+FLWKNNV[FNX+ZS
- XMX\"UXK^TXL"VX;^UW[VSV[FOU\.SU\.SY<R^Z]+$Z<2ZV;2JQ9.-I')LEE-3
- XMC$E)CCI CSM!GCM&H#U(I3Q)ICU*FD)'L%A=N6ILT([:JK]K.TY*JOYZVR
- XMC59E1Q ?6APZ5!8T4 <UOUMDPU]HS&AQU'!YTV]XS6ERRF9OS6ERP5UFO5EB
- XMP%QERF9OSVMTS6ERR65NR65NQ5UES&1LTVQVTVQVTW![S&ETOV%PM%9EN6!U
- XMP6A]O&:$KEAVI5)YK%F MF.0NVB5IU2!G$EVHU2"CC]M@#9H9QU/;BM@:B=<
- XM;"QB?3USEUF1D5.+C4^%>#IP@$-VA$=ZD%N+=D%Q>$%T=3YQ82EA41E1?$)]
- XM:C!K8B9;415*1@PU4!8_3!,O3!,OA4I?VI^TW:.AL7=UO8:"U)V9TZ29YK>L
- XMZ,"OY+RKX;NIX+JHX+JHX;NIX;FIX+BHX;:IXK>JV[BIW+FJW;JKW+FJVK>J
- XMVK>JW;BLW[JNVK6KX[ZTY\*YY+^VXKVTY+^VYL&XY<"WZ,2[[\O"_,S'X[.N
- XMP'Y_H%Y?FDI0C3U#FCU'E3A"E39!G#U(I$50ID=2ID=2ITA3IV!3S89YU9&+
- XMV96/];.X\[&VL7=#1&4!$M41(N6Q@\6!4Y7!0]PEYGQV-LT&QUUW-\TV]X
- XMR65NPEYGPU]HP%QEO5EBPEYGS6ERT&QURF9OQ6%JQV-LR&!HS&1LV7)\U&UW
- XMSVQWNE=BMEAGM5=FP6A]R&^$P&J(L%IXJ59]L%V$IU2!ET1QC#EF@2Y;<R12
- XM9!5#:B!2;2-5;2I?:"5:<C)HCT^%DU6-JFRD@4-YB$J @$-VF5R/9S)BFV:6
- XMB%&$72998BIB6"!8>T%\@4>"10D^5AI/1@PU0@@Q7B5!G62 O8*7RY"EJ6]M
- XML'9TUI^;Z[2PY;:KX[2IU*R;VK*AX;NIW[FGW[FGXKRJX;FIW+2DW+&DW;*E
- XMVK>HV[BIW+FJV[BIVK>JVK>JW;BLW[JNW;BNY+^UY+^VWKFPWKFPY\*YZ\:]
- XMZL6\\,S#Y<&XV:FDL8%\CTU.?CP]CCY$CS]%F3Q&E3A"EC="GC]*J$E4L5)=
- XMO%UHQ69QS89YW)6(\:VG_\"Z]+*WM7-X;2T_3 P>4Q0P8R1 4@\S7AL_<2E2
- XMR&1MR65NSFISTFYWSFISQ&!IOEICOEICPU]HP%QEQ6%JSFISS6ERQ&!IPEYG
- XMR&1MU6UUS65MUW!ZSF=QR&5QK$E5M5=HP6-TNF%XPFF O6:(K59XF4=QD3]I
- XMBSAIA3)CCCMHBSAE;A]/:1I*:1]3:B!471E1;2EACU&+C4^)H62>@$-]?T)\
- XM72!:?$!WBT^&F%^%@DEO<C=F?T1S=SEQ5!9.>SIW;BUJ/@ Q5A1)4! S:"A+
- XMGU]NY*2ST9.5K6]QG6A9VJ66\+^QVJF;X;:IYKNNRJ.3UJ^?W;FJV;6FVK.C
- XMW;:FW[2DV:Z>V:V;W+">VK>HVK>HW+FLV[BKV[:JV[:JW;BNW[JPX;FPY+RS
- XMX[NSW[>OXKJRZ,"XX[FRUJRET9F;P8F+N7-ZI5]FG492G492JT97I4!1H3=*
- XMHSE,IT55M%)BN&-OQ&][SX*+VXZ7W:2,V:"(]+FN_\6ZPX.+:BHR4 TH9B,^
- XM610Z7QI 4 @Q7!0]:"%&T&QUS&AQRF9ORF9OQF)KP5UFP%QEPEYGQV-LPU]H
- XMQF)KS&AQR65NP%QEP5UFRF9OX7F!SV=OTVQVQE]IPE]KI4).MUEJS6^ RW*)
- XMN6!WGD=IB3)4=R5/=2--@S!ADC]P@"U:AS1A9QA(:1I*7A1(7Q5)7AI2EE**
- XMFUV7EUF3@D5_<C5O411.5AE3:2UDBT^&8RI0B5!V@49U;C-B9BA@2PU%=C5R
- XM;RYK5A1)1 (W5Q<ZN7F<W)RKQ864GF!BMGAZYK&BW*>8Z;BJW:R>QYR/UJN>
- XMV;*BU*V=W+BIU[.DV+&AW+6EW[2DVJ^?W+">X;6CV;:GVK>HV[BKV[BKVK6I
- XMV[:JW;BNW[JPWK:MXKJQXKJRXKJRZ,"XYKZVT*:?M(J#B%!2E5U?L6MRL6MR
- XMJ5)>H$E5IT)3GSI+LDA;O%)ERFAXVWF)VH61VX:2VXZ7XI6>XJF1Z*^7Z["E
- XMP89[=C8^4A(:5Q0O618Q6Q8\81Q":R-,:"!)8AM S&=HSVIKSVENR&)GP%AB
- XMO%1>PU=HREYOQEQMQUUNQ6)NQF-OP&!EO%QAPV=IT'1VTFYUUG)YQ6-QSFQZ
- XMP&:!DSE4Q'":OFJ4FTY_B3QM="U>7QA);"=7DDU]CDEW<"M93Q,];3%;515
- XM7AY)9")/40\\A#UNK6:7F5*%IE^2<RUB8!I/5!)'7!I/C4V!A$1X6S->>E)]
- XM>$=U4R)0104X2 @[FE%_@#=E5 <HACE:PWJ%V9";P8%XL7%HR(UV[K.<Z+FL
- XMY;:IX+&DVZR?UZJ<UZJ<VZZ@W;"BW;"BW;"BWK&CWK&CX+&DWJ^BVZR?V*F<
- XMV;6CV[>EW;6DV[.BV[.BW[>FW[RMXK^PX\:ZUKFMZ</'TZVQYJ["S)2H?S=6
- XMCT=FDE=LE%ENNW>'N'2$OW!RK%U?QW!FRW1JUWYIWH5PXX]TYY-XX9AWXIEX
- XMWYM[X)Q\Y:*K^;:_R(24;RL[3@DA6A4M81H]7A<Z81E"9AY'9AY)8QM&81E$
- XMU7!QS6AIPEQAN%)7MT]9O%1>QUMLSF)SR%YOS&)SQ&%MO%EEN5E>OEYCO6%C
- XMN5U?RF9MS6EPT&Y\W7N)T':1HDACL%R&H$QV?S)C;B%2;B=8@#EJAD%Q>#-C
- XM8!M)611"6Q])8"1.41$\7!Q'61=$92-0G5:'EU"!F%&$@CMN6A1)50]$<C!E
- XME5.(E%2(;R]C:T-N<DIU8"]=0 \]41%$6AI-C$-Q>"]=BSY?PW:7VI&<NW)]
- XMJ6E@RHJ!ZJ^8\+6>XK.FX+&DW*V@V:J=UJF;UZJ<VZZ@W;"BV*N=V*N=V:R>
- XMVJV?W:ZAWJ^BWJ^BW:ZAU+">V[>EX[NJX;FHWK:EW+2CUK.DT["ARJVAXL6Y
- XMY\'%L8N/@DI>=S]3A3U<@CI9D%5JD59KIV-SOWN+T(UXB*X(E_WXA^ZY)]
- XMYXYYY)!UZ)1YWI5TVY)QWYM[[JJ*_\K3RXB1>#1$30D94@TE7!<O7!4X7Q@[
- XM8AI#9AY'9Q]*8QM&81E$T7!RQ&-EMU-:L4U4N%%>P5IGR%YQRV%TQEQOS&)U
- XMPU]PMU-DNEEDR&=RPV5NLU5>J4=7I$)2N%EPR&F P6N+HTUMD$!L?R];:B!2
- XM=2M==C%C>#-E=3-B9")14Q$^4A ]:RM66!A#3@PX7!I&5Q) ?#=EJV25=2Y?
- XM@#EN719+6A=,:B=<B$A^HF*8CE"&?#YT>TV"21M03AM-6"575QM(5AI'C$EM
- XMFE=[SHF=Q8"4MW5XM7-VPXI_X:B=[[FF[[FFVZZBV:R@UJF=U:B<TZB;UJN>
- XMVJVAW*^CUJF=UJF=U*F<U*F<UJF=V:R@W*^CW;"DV+2EW+BIX;:GWK.DX+&D
- XMYK>JZ[RQZKNP]<;#Q)62AU5?>4=18",[<C5-NW25ED]PD%1OEEIUFUEKP'Z0
- XMT(.$YYJ;X8R XXZ"YY)\ZI5_Z9>"YI1_X)B%ZJ*/^+.E_\&ST(R>@3U/3 <=
- XM40PB7A@V6Q4S7!4Z8QQ!8QM$9Q](9Q]*8QM&81E"P6!BO%M=NE9=O5E@Q5YK
- XMR&%NQEQOPEAKP5=JQEQOP5UNOUMLQV9QTW)]SW%ZPF1MO%IJHD!0L%%HL5)I
- XMIE!PG$9F>BI6<"!,=BQ>B3]Q>C5G;"=98R%06AA'8R%.;RU:;"Q7515 30LW
- XM7QU)9R)0AD%OF%&"7!5&:B-84PQ!9B-8C$E^C4V#A45[ATE_D%*(83-H/A!%
- XM<#UO<T!R20TZ:BY;NG>;QH.GR828IF%UI6-FU)*5\+>L[+.HY:^<\+JGV:R@
- XMUZJ>U:B<U*>;U*F<UJN>V*N?V:R@UZJ>UJF=TZB;T*68T:28TZ::V*N?W*^C
- XMV[>HW+BIWK.DV["AX[2GZ[ROZ+FNW["EJ'EV8S0Q1Q4?AE1>A4A@<#-+LFN,
- XML6J+DU=RG6%\HV%SMW6'R'M\UXJ+VH5YXHV!Y(]YZ)-]Y9-^Y9-^\ZN8_\"M
- XM^K6GW)>)<2T_4@X@4@TC9!\U8APZ7QDW8QQ!7A<\9!Q%:"!):"!+8QM&81E"
- XML5%6ME9;OEUGQ61NR61SQF%PP5EMO%1HOU9LOU9LP5QSR61[S6J S&E_R6M]
- XMR&I\K5%MC#!,D3E:C356A3-<DT%J=BM;>B]?@3QN?#=I:"=8<S)C:BE84A%
- XM;2U9BDIV8!Q(615!4 HW9B!-A3MMASUO=BQ@60]#91U49!Q38AY6AD)Z@#]Z
- XM=31OC$^)=3AR.PI+>TJ+FF2;6R5<1@TSH&>-TI:GN7V.E%M=KW9XT9N2Y[&H
- XMZ+>JY+.FX;6EY+BHVJZDV*RBU:F?U*B>UJJ@UJJ@UJF?U:B>TZ:<U*>=T:6;
- XMSZ.9SZ.9T:6;UZNAW+"FV+"GV[.JX;*IX[2K\;BPZ[*JTY".LF]M?S<\7!09
- XM9A\PG59GFU5Q?#92CTQPMW28F5Z!G6*%I61YHF%VR'^!S(.%W(U]Y)6%ZIJ&
- XMY)2 XI:(\Z>9_K>X[::GL&MY>31"8AHY4 @G5 PM7Q<X7!,Y81@^9QU'6Q$[
- XM91M':1]+:!Y(9!I$81<_L5%6MU=<P%]IQ&-MQ6!OP5QKP5EMP5EMP%=MP%=M
- XMPUYUS&=^QV1ZO%EOMEAJNEQNESM7?R,_?R=(@"A)<R%*BSEB>"U=A#EI>#-E
- XM=C%C7!M,7QY/61A'8B%0C$QXA45Q3PLW6!1 4PTZ:B11DTE[@3=I71-'81=+
- XM6Q-*=R]F:"1<;2EA7QY9<"]JDU:04A5/0 ]0J'>XB%*)10]&<3A>KW:<I&AY
- XMH&1UKW9XU9R>[[FP[KBOXK&DY+.FXK:FW;&AW+"FV*RBU:F?U:F?UZNAUZNA
- XMU*>=T:2:S)^5SZ*8T*2:T:6;T:6;U*B>VZ^EX+2JV[.JV[.JW:ZEW*VDZK&I
- XMYZZFS(F'IV1BC45*@SM @#E*>#%"B4-?G%9RCDMOGUR IVR/HF>*GUYSD$]D
- XMR'^!S(.%VXQ\WH]_Y96!ZIJ&_;&C_[ZPWYB9ED]081PJ51 >9!P[5 PK5P\P
- XM8QL\7Q8\6A$W81=!:R%+91M':1]+:!Y(8QE#8!8^N%ICO%YGPV%OQ6-QQ&!Q
- XMPU]PPUUTQ%YUNU9QPEUXQF)_QF)_OEY[MU=TK4]NJ4MJJ%-]FD5OD#UJD3YK
- XM<B56?S)C=2]D?3=L9"-6;2Q?4Q-&2 @[1P@X>#EIJVN7;2U93PDV6A1!7A5$
- XM;B54C$%S>S!B60]#9!I.715,;B9=;"A@7QM33@U&<C%JB4R&20Q&9"YUHVVT
- XM=CYV>4%YFV.!D%AV@4Q/J71WX*^BXK&DXK2CYKBGXKJJW[>GV;*FU*VAV*^F
- XMU:RCU*B@U:FAV:NDV*JCU:6?T*":R9F3SIZ8TZ6>UJBAU:FAUZNCVK&HWK6L
- XMW;.LW+*KVZFAU:.;Z*>B\K&L[IN<U8*#D#$^F#E&H41=DS9/BSU>F4ML@D%H
- XM@4!GJFR6KW&;GUUXDU%LNG5WQX*$SX9WWI6&XYB*[Z26]:JJVH^/DTQC6!$H
- XM2P8L7QI 4PDS6A Z8AA":B!*:!Y(7!(\7A1 <BA49!I$:!Y(9QU%81<_7A0\
- XMOV%JPF1MR&9TRFAVS&AYRV=XR&)YQ5]VMU)MQ6![R66"PEY[OEY[P&!]MEAW
- XMI4=FD3QFD#MEA3)?CSQI<215@#-DA3]TD4N 71Q/5!-&1@8Y6QM.7!U-@$%Q
- XMJ&B47Q]+6!(_71=$:!].<"=6?C-E=BM=71-'81=+="QC50U$7!A06Q=/6AE2
- XM@4!Y>SYX2@U'<SV$EF"GD%B0O86]H&B&?D9DGVIMQ9"3WZZAZ;BKZ+JIW[&@
- XMV;&AW[>GV[2HT:J>U:RCTJF@T:6=U*B@V*JCV*JCU:6?SY^9RYN5TJ*<UZFB
- XMV:NDUZNCUJJBUZZEV[*ITJBAVK"IX*ZFW*JB[ZZI][:Q]Z2EX(V.RFMXFSQ)
- XMBRY'HD5>GE!QFTUNE%-ZD5!WF5N%MGBBI&)]HV%\L&MMR82&THEZ]:R=_[:H
- XM]:J<QGM[@C<W6!$H7!4L71@^5A$W6 XX:1])8AA"6Q$[:1]):R%+81=#8QE%
- XM9!I$:!Y(9AQ$81<_71,[P6)MR&ETS6MYQ&)PO%AKN55HNU9MO5AOPU]\PEY[
- XMLU)TKDUON%V N%V FD%H@RI1="-5@S)DA3AK@#-F@SQOD$E\AT1Y<B]D82%5
- XM6QM/6QM.1 0W8R)3C4Q]F%:%7!I)5A ^:")0?S9E7A5$9AM-8A=):R!2;B-5
- XMB#YR?C1HB4-XB4-X:BE<D5"#?#]R:"M>@DB,CE28C5:'LWRMF&1YGFI_Q)2.
- XMT:&;W;&=VZ^;V:^8W;.<W;:FW+6ETJVDS:B?SJ6<U:RCV:NDTJ2=T:&;U:6?
- XMV*2?TIZ9T9V8UZ.>VZNEW:VGV:NDUZFBU*NBU:RCXK*OXK*OY[6M[+JR^KJR
- XM]K:N^J6C\)N9UVY[N$]<H3=2F2]*DS]BKUM^G5V&=C9?@4%LIF:1N':3M7.0
- XMK6=PP'J#ZJ*=XYN6U(R)F%!-:!\L7A4B5Q S5@\R6!-%6Q9(7! _815$9QM*
- XM:AY-:1U(9QM&:!Q':1U(:A]'9QQ$818]7A,Z71(YPV1OPF-NOEQJM5-ALT]B
- XMN55HP%MRPUYUPU]\P%QYPV*$Q62&L%5XE3I=@"=.>!]&>BE;?"M=>BU@?C%D
- XMA#UPBD-V@#UR<S!E7!Q05Q=+6QM.41%$;"M<>3AI@#YM9B139B!.:2-1>3!?
- XM91Q+:R!28!5'9!E+7Q1&71-'>"YB:R5:6!)'82!3A$-V8217:"M>ADR0@4>+
- XMA$U^H&F:HFZ#M("5SIZ8TJ*<U:F5U:F5UJR5V*Z7UJ^?U*V=S*>>R*.:S*.:
- XMSJ6<T**;S9^8SY^9TJ*<U:&<T9V8V*2?U:&<T*":T:&;U:>@VZVFW+.JWK6L
- XMY+2QX[.PYK2LZ;>O][>O]K:N_ZJH^*.A[821QEUJJ#Y9FS%,A#!3CSM>C4UV
- XMA45N>CIE@D)ML6^,KVV*M6]XP7N$THJ%QW]ZKV=D?C8S7!,@7A4B718Y718Y
- XM7!=)7!=)8!1#9!A':!Q+:AY-:1U(9QM&:!Q':1U(:A]'9AM#818]71(Y7!$X
- XMQ%]LPEUJNU9EMU)AO%=HQ6!QRF9ZR65YO%QXHT-?JU!RQ6J,L5Z%E4)IA#1@
- XM>RM7>"M@;2!5:!Y2="I>?3AJ@#MM=C5H;RYA9"-67AU07AU06QI-=3)F9B-7
- XM<2M@A#YS@D!O92-26Q9&40P\5PT_5 H\8QA(8!5%60X]9!E(5PX\40@V7AA#
- XM="Y9:B90BT=Q<CEM:3!D@TQRD%E_IG.#NXB8QY>1R)B2T*22TZ>5U:N8U:N8
- XMTZB;SZ27R:"7QYZ5T:6;S:&7SI^6T:*9V**;UJ"9V)Z9V9^:VZ&<U9N6SYF2
- XMTYV6VZRCY;:MY;FOY+BN[+.QZK&OY;.IY[6K[KFH\+NJ_;*H^J^E_Y>=U&QR
- XMN$EAJ#E1@"5(=1H]=#-:B4AOA4!F;2A.IV%_LFR*O'6&QX"1Q'J$N&YXGU1@
- XM<R@T5P\F6Q,J7!0[6A(Y61)#5Q!!91E&:!Q):1U(:AY):1Y%:!U$:1Y#:A]$
- XM:1Y#91H_8!4Z71(W7!$XM5!=NU9CPEULQF%PS&=XT&M\S&A\Q6%UR6F%H$!<
- XMGD-ELUAZFTAOBSA?A#1@=B92;B%691A-71-'9!I.<2Q>>S9H=#-F:BE<=#-F
- XM;RYA8B%461A+=S1H8!U1<"I?H%J/D$Y]:2=651! 7QI*9QU/7Q5':!U-7A-#
- XM9QQ+6 T\711"711"4PTX>3->F%1^E5%[<CEM=CUQJW2:JG.9P(V=R9:FS)R6
- XMU:6?TZ>5V*R:V[&>UZV:T*68RI^2Q9R3QIV4SJ*8S*"6T:*9V*F@V:.<T)J3
- XMTYF4VZ&<U)J5U)J5UJ"9X*JCY[BO[+VTYKJPX;6K[;2R[+.QYK2JZ+:L[KFH
- XM[[JI_K.I_+&G_Y>=W75[PU1LL$%9A2I-;A,V8!]&<S)9CTIP<BU3C4=EM6^-
- XMMW"!QX"1RH"*O7-]H59B=RPX6Q,J61$H50TT50TT6!%"61)#9QM(:!Q):1U(
- XM:AY):A]&:A]&:R!%;"%&9QQ!8Q@]7Q0Y7!$V7!$XL$12O5%?RF%NT6AUTFMX
- XMT&EVQF)UOUMNLE=OECM3C3M:B3=6:1Y&:R!(>S5B=2]<819(8QA*7!)$6 Y
- XM92!0?#=G>3AI:BE:?#EK?CMM:B1950]$=R]F9!Q3;B-;F4Z&G6"0>CUM3@T^
- XM5!-$611"51 ^9!I&7A1 7A,Z6@\V71(W60XS:!X^F4]OKF:#@CI7CUEZE%Y_
- XMPHVFO(>@TI^LTZ"MT)^?W:RLVZRCW["GX+&DVJN>T9^5RIB.R):,RIB.R)N/
- XMS)^3V*6;VZB>UYN4RHZ'T8^*W9N6V9>2X)Z9YJJC\+2M[[RR[[RRZ+NOY;BL
- XM\[*Q\[*QZ+JKZ;NLY\"FYK^E]+:B\;.?]YB5X8)_QUINK4!4C3%1>AX^7!D^
- XM71H_ACY=@SM:<2A%N&^,L66"P762TH6@P'..E$=B<B5 71 Q7 \P5PXT6A$W
- XM81E"8QM$:1M#:1M#:AU":QY#;B%";R)#<"1"<"1"9ADZ8Q8W8!,V7A$T7Q$Y
- XMNT]=Q5EGRV)OS&-PRF-PR6)OPU]ROUMNJ$UEBS!(;QT\9!(Q71(Z=2I2?CAE
- XM;2=46@]!91I,81=)5PT_7QI*>31D>SIK;RY?=3)D?CMM;2=<5A!%>#!G91U4
- XM819.="EAH&.3G6"09"-47QY/7AE'5A$_7!(^5@PX6 TT5 DP2P E;B-(K6.#
- XMGE1TD4EFD$AEMH"AK7>8LWZ7N(.<U:*OUZ2QT)^?VZJJW["GX+&HWJ^BU::9
- XMS)J0Q9.)Q9.)QY6+RYZ2T:28W*F?V::<U)B1RX^(TY&,W9N6XZ&<ZJBC[;&J
- XM\;6NZK>MZK>MZKVQ[L&U\[*Q];2S[+ZO[;^PZL.IY\"F]+:B\K2@_9Z;[(V*
- XMRUYRJ#M/D#14@B9&7!D^5!$V;R=&BD)A:2 ]L6B%N6V*PG:3V(NFOW*-@C50
- XM:QXY8!,T8Q8W710Z7!,Y7Q= 7!0]:!I"9QE!:1Q!;!]$<"-$<21%<25#;R-!
- XM9!<X8A4V7Q(U7Q(U8!(ZS5YMSE]NR5QJQ%=EP%=DPUIGO5EJN%1ENV)WDSI/
- XM81,Q6@PJ:R9,?CE?9R=3104Q60X^8A='81M)6A1"71A&;"=5=3-@=3-@<2Q<
- XM>#-C<"E<8!E,?S-K:Q]77Q%,8Q50?$%RL'6FBDM[B4IZA4-P;2M86 XX1@ F
- XM6 LN6 LN:QT\J%IYU(>@ETICGE-IQWR2T9VRPX^DIG.!P8Z<WJRVWZVWV:BJ
- XMX[*TXJ^MX*VKVZ>@TIZ7RY6,QY&(R9*'RY2)U*68V*F<W::;U)V2TY.+UI:.
- XMX)J4Y)Z8[:>A\:NE\K*J\[.KZ[2I[+6J[+VP\<*U][.Q^;6S[<&O[\.QY\FJ
- XMYLBI\\"D\\"D_JB@\9N3TFEWK412ECA7@B1#610Y5Q(W814PA#A3>"I(FDQJ
- XMQWF:RWV>VXRPP'&5>"E-9A<[8A4Z9QH_8!4Z7!$V714V61$R:!L^:!L^:1P]
- XM;!] <25"<25";R,^;" [8A8S8!0Q7Q(S8!,T8A0]SV!OREMJP%-ANDU;N$]<
- XMNU)?LDY?J$15GD5:ARY#8!(P8Q4S>31:@3QB925141$]60X^71)"7AA&7AA&
- XM7!=%7AE':BA5=S5B<2Q<<2Q<<2I=:"%4A#AP;R-;91=2:!I5:S!AK7*C<C-C
- XM71Y.6AA%51- 50LU50LU1P =;!]"KF!_RGR;M6B!F$MDV(VCY9JPPX^DOHJ?
- XMEF-QPH^=UJ2NT)ZHSIV?W:RNXJ^MWJNIV*2=SIJ3RI2+R)*)RY2)S9:+UZB;
- XMUJ>:U)V2QY"%S8V%V9F1Y)Z8XIR6ZZ6?\*JD\K*J];6M[[BM[[BMZ[RO[+VP
- XM^;6S^[>U[L*P\,2RZ,JKZ<NL^,6I^L>K_ZJB]J"8W'.!NU)@G3]>?1\^4@TR
- XM6A4Z6@XI=2E$@C12>BQ*RGR=SX&BV8JNOW"4;R!$8!$U7A$V8Q8[7A,X8!4Z
- XM91T^91T^:1P_:1P_:AT^;2!!<25"<"1!;" [:!PW814R8!0Q7Q(S810U8Q4^
- XMU%AGS5%@MDQ?KT58?RI#F$-<@S9;<"-(?B]@@3)C;!M/7@U!C4)T?3)D611"
- XM3@DW7!0]714^9AY'9Q](6!,[6A4]9B!+:2-.=3!>9!]-8A]1:B=9@3YS;"E>
- XM:B9>7AI292Q>H6B:>41S2!-".@8N4!Q$2PPO/P C7A,KGU1LTX20N&EUGE=4
- XMUH^,\;6FS)"!RHJ2W)RDIG!UPHR1OI62O921QZF@U+:MSZVBRJB=S:"6S)^5
- XMU):0TI2.W9*.XI>3\I2+Y(9]VX!VXXA^YI*)YY.*Z)R5\J:?ZZB@[ZRD[[2I
- XM\K>L[[JM[[JM[;RN[KVOY[^LZ,"M[<*R[\2T]L.W^,6Y_\.R_\2S_K6F\JF:
- XMX(F)OF=GID%<CBE$?@]";P S7!%#7A-%?C1><RE3I5U\U(RKV9*IR8*9<BQ
- XM8APP:2(]91XY7Q8\:!]%9AQ(:B!,9!L_91Q :B%%;R9*<2E*;B9':B)#91T^
- XM714T7A8U81DX9!P[:" ]VEYMRT]>J3]2H3=*?RI#DCU6>RY3;!]$<R15;!U.
- XM:!=+:1A,F4Z <"575 \]6Q9$:2%*:"!):B)+9AY'6Q8^7AE!9!Y)8AQ'8QY,
- XM;BE7:"577!E+@#URAD-XAD)Z9R-;3Q9(?41V>41S1 \^2A8^0 PT1@<J5A<Z
- XMG%%IOG.+O6YZL6)NRX2!Y)V:V9V.V)R-SHZ6VIJBI&YSP8N0R)^<RJ&>S*ZE
- XMTK2KU[6JS*J?S)^5S)^5VIR6V9N5X)61WY20YXF WH!WW(%WYXR"ZI:-[)B/
- XM[:&:]JJC[:JB\*VE[[2I\;:K[[JM[[JM[KVO\+^QZ,"MZ<&N[<*R\,6U]\2X
- XM^,6Y_\2S_\2S_[NL^*^@YY"0Q6YNK4ACE"]*@A-&<P0W5 D[6@]!;"),=BQ6
- XMC45DTXNJTHNBPGN2>S5)9R$U:B,^9!TX8!<]:!]%91M'9QU)9QY":!]#:B%%
- XM;B5)<"A);B9'9Q] 8AH[6Q,R714T7Q<V8QLZ9AX[V69\TV!VM%-KL$]GCD!?
- XMACA7;2--8AA";2!36 L^81%%:!A,F$U_7A-%30@V7QI(;B91;R=2:R-.8QM&
- XM7AA%8AQ)8AQ)7!9#6Q9&;RI:8!U15A-'AT1YE%&&EU.+>#1L7R-:>3UTH&66
- XM5QQ-5!D\-0 =6Q8ND$MCS7V-QG:&M69JQ79ZYJ2=Y:.<S9B)VZ:7RY>=UJ*H
- XMJWM^OHZ1S**?SZ6BUJZHW+2NXK:NTJ:>S):-S9>.VIB1V9>0UXV'T8>!W()Y
- XMVH!WW8A]Z).(ZYJ0[)N1[:.9]JRB[ZRB\J^E\;2J\K6K[[BL\;JN\+VP\\"S
- XMZ[^M[<&O[L.S\,6U],6X]L>Z_,BT_,BT_\*O^;FFZYN5R7ESLT]CF#1(AQ=!
- XM> @R4P@Z6@]!7A0^?#)<=R].U(RKTXRCP7J1B$)6;"8Z:2(]8QPW81@^:B%'
- XM91M'91M';"1%:B)#:B)#;25&<"A);25&91Q 7A4Y7!,W7A4Y8!<[8QH^91Q
- XMR%5KRE=MKDUEJ$=?@C13:AP[8QE#:!Y(:1Q/50@[70U!60D]CD-U9AM-7AE'
- XM8AU+91U(;"1/:"!+7Q="7QE&8QU*8!I'7AA%:"-3:"-33PQ 71I.CTR!@3YS
- XMB45]@#QT;C)I>CYUO(&R:S!A0 4H/P0GAD%9P'N3PG*"K5UMQWA\Z9J>WIR5
- XMWIR5X:R=W*>8T)RBW:FONHJ-NHJ-Q)J7R)Z;UZ^IY+RVX+2LT:6=RY6,RI2+
- XMU)*+T8^(SH1^R'YXWX5\XHA_Y9"%[)>,ZIF/Z9B.ZJ"6\ZF?\:ZD\["F\;2J
- XM\K6K[[BL\+FM\;ZQ],&T[,"N[<&O[L.S\<:V]<:Y]L>Z_,BT_,BT_\.P_+RI
- XM\:&;T(!ZN55IG#A,B1E#>0DS5@L]5PP^6Q$[>2]9;R=&R("?VI.JPWR3D4M?
- XM;2<[91XY8!DT81@^:R)(91M'91M';25&:B)#:2%";"1%;R=(;25&9!L_7!,W
- XM7Q8Z81@\9!L_9AU!9AU!MU5WJ4=I@R]2?"A+92!&6A4[>#9C@T%N60]#6 Y"
- XM7A%$3@$T@SII@3AG>#9B7QU)81A&;"-19QY,7Q9$81I+7QA)7!5&9A]0<2M@
- XM:2-82@<\7QQ1A4)W9R19>#1L<BYF6QE281]8J6F5?#QH/P 6=C--MVATR'F%
- XMLEU<O&=FWX^)[IZ8TI>*W:*5X;FHU:V<T*RMTJZOLXR,I7Y^Q9:7T:*CY:ZM
- XM[;:UX:.?V9N7U9&+U)"*V(Z(U(J$T85^T85^WXZ$XY*(YI:,Z)B.Y)>,Y)>,
- XMYZ"5\:J?\;"C\K&D\K6I\K6I\+BJ\;FK]+VQ]K^S\+ZN\;^O[\.S\L:V\,JX
- XM\<NY\\RT\\RT^\BL]\2H\:N;THQ\P%]JH4!+D1]!@0\Q60Y 408X71,]:B!*
- XM<BI)KV>&WI>NQX"7E$YB;"8Z81HU7A<R81@^:R)(9AQ(9QU);"1%:B)#:2%"
- XM:R-$;B5);"-'91Q"7A4[8!8^8QE!91M%91M%8QE%M%)TEC16<1U <Q]"9B%'
- XM8AU#C4MX?CQI5 H^8AA,9!=*4@4X<"=6@3AG<S%=4A \;B53<RI89AU+8!=%
- XM91Y/6Q1%6A-$<2I;:2-8<2M@5Q1)6QA-;"E>7!E.?3EQ7!A02 8_3 I#?S]K
- XMCDYZ:29 KFN%PW2 KE]KO&=FY9"/Y)2.U(1^V9Z1Z*V@UZ^>V[.BVK:WS*BI
- XMK8:&F7)RS)V>X+&RZ+&PX*FHSY&-S(Z*T(R&T8V'U8N%THB"U8F"VHZ'XI&'
- XMY92*YI:,YY>-Y)>,YYJ/ZZ29\ZRA\*^B\K&D\K6I\[:J\+BJ\+BJ\KNO]+VQ
- XM[[VM\;^O[\.S\<6U[\FW\<NY\\RT\\RT_<JN^\BL^;.CW):&RFETJTI5FRE+
- XMBQD[7Q1&4@<Y8AA"81=!?#13F5%PWI>NTXRCEE!D;"8Z8!DT7A<R8AD_:R)(
- XM9AQ(:1]+:R-$:R-$:R-$;"1%:R)&:!]#9!M!7Q8\8!8^8AA 9!I$8AA"7A1
- XMBS9F<AU-91Q*;B5351E&2P\\@41V7!]16A1)91]48QA*7A-%5Q$^9R%.8B%*
- XM82!)@#=E>"]=7A5$6Q)!9R!36A-&6A-(?C=L7!9,<"I@8A]47QQ171I.7!E-
- XMD$V!6A=+3 0[4PM"8QM"G%1[IEQLPGB(N&9CN6=DVX5W\9N-W8Y^SG]OTYZ/
- XMX:R=SZZ>U[:FTK:RR*RHO).3HGEYV:&CYJZPZZ.FW968U(*%TH"#UX* VH6#
- XMV8>"V(:!VHJ$WX^)X9.-Y):0YIF0YIF0Y)N.Z)^2ZZ:8[ZJ<[ZV>\:^@]+6G
- XM];:H\K>J\K>J\[BM]+FN\[NK]+RL[\&R\L2U[<FW[LJX[LVS[LVS]\NM]\NM
- XM^KFDX)^*TG)WLU-8HS)+DR([819(6 T_8!9 8!9 @#A7BT-BUH^FX)FPFE1H
- XM;RD]8QPW81HU9!M!:R)(9AQ(:B!,;"1#;B9%;R=(;25&:!]#8QH^8!8^7Q4]
- XM81=#8QE%9!E(819%6Q!"?"=7;QI*="M9=BU;2P\\0@8SD%.%;S)D8AQ19!Y3
- XM71)$:1Y030<T61- 9R9/CTYWB4!N=BU;4PHY4PHY9A]26A-&7!5*AT!U5Q%'
- XM9R%78R!5:29;71I.71I.GEN/:"591P V5 Q#2@(ICT=NO'*"KF1TI5-0VHB%
- XM[YF+V()TUXAXX)&!Q9"!TYZ/VKFITK&AR:VISK*NU:RLLHF)V:&CV:&CWI:9
- XMUX^2VXF,UX6(VH6#W8B&WHR'W(J%W(R&X)"*XY6/YYF3Z)N2Z)N2YIV0Z:"3
- XMZ:26Z:26[JR=\:^@\[2F]K>I\K>J\;:I\K>L\K>L\KJJ\[NK[\&R\<.T[,BV
- XM[LJX[<RR[LVS]<FK]LJL^[JEXJ&,U'1YM55:IC5.EB4^7!%#60Y 5@PV71,]
- XM>C)1@#A7R(&8Y)VTG5=K<BQ 9A\Z9!TX91Q":R)(91M':R%-;25$<"A'<BI+
- XM;R=(9AU!8!<[7A0\7A0\9!I&9AQ(9QQ+8A=&7!%#7Q1,<RA@D5&%8"!4.0(S
- XM4AM,?T9X=CUO92)640Y"8QE+7A1&;"A4=C)>BTUU>CQD>#!;715 50P[8AE(
- XM8AM.5Q!#9Q]6A3UT40M!9!Y4FUB-7!E.6A=)>#5G:BA551- 5P<S7P\[=RY*
- XMJV)^G558CT=*T85WZ9V/X)!\XI)^V9%^THIWQI2$U:.3UK.FV+6HPYN5Y;VW
- XMU)^>SIF8YJ&CVI67X8N1VX6+XX**YH6-ZHJ-Z(B+XH>'XXB(Y(V,Z9*1YY:4
- XMZIF7[IZ8[IZ8Z)N0Y9B-Y)Z.ZJ24ZJ65[JF9\;"A]+.D\K:G\K:G\;2J\K6K
- XM\[FG]+JH\KVP]+^R\,6V\\BY]<NV]LRW^,>M^,>M_[JI[*:5VWM^MU=:IS=.
- XMG"Q#7Q1&5PP^6Q$[5PTW<2E(?354O7:-X9JQL&I^;2<[>C-.81HU;"-)="M1
- XM:R%-:R%-:2% ;R=&<BI+;25&91Q 8!<[8QE!:1]'81=#:1]+8A=&6 T\7!%#
- XM:A]7;"%9C$R 515)3QA)1Q!!CE6'?D5W5!%%30H^81=)8AA*=3%=>#1@@4-K
- XM=#9>:"!+715 6 \^7!-"719)6Q1'8QM2;R=>30<]8AQ2A4)W7QQ17AM-?SQN
- XM92-07QU*8A(^8! \NW*.O'./A3U PWM^]ZN=TX=YY96!ZIJ&X9F&U(QYPY&!
- XMTZ&1U+&DUK.FX[NUW;6OTYZ=Z[:U[JFKL6QNL5MAQ6]USVYVU71\WW^"Z(B+
- XMZ8Z.Z8Z.Y8Z-Y(V,YI63ZIF7[9V7[IZ8[)^4[:"5ZJ24ZJ24Z:24[:B8\*^@
- XM\[*C\;6F\+2E\+.I\+.I[[6C\[FG\[ZQ]<"S[L.T[\2U\LBS]<NV^\JP_,NQ
- XM_\*Q^+*AY(2'M558ER<^@1$H7A-%50H\60\Y60\Y;R=&>#!/M6Z%Y)VTN'*&
- XM=S%%=2Y)9!TX;B5+<"=-:R%-:1]+;25$<2E(<BI+;25&9!L_7A4Y81<_91M#
- XM8QE%:B!,8QA'7A-"9AM-=2YK>S1Q?3]W2@Q$4AQ/4AQ/G&.5=SYP4 T_4@]!
- XM7A5$7Q9%;2M79B107R9,7B5+61$X7A8]7A5#6A$_6Q1'91Y1:2%891U44PU#
- XM;RE?AD-U7!E+;"I6>#9B7AU$4A$X;A<PH4ICR7Z*I%EEI61?YJ6@Y*:3S8]\
- XMX)R(YJ*.W9N*S(IYQ(V"V:*7X+2LX;6M[ZVH\:^JY)F9SH.#KEA<BC0XFSI"
- XMJ4A0P%ECPEMER&%KTFMUW'B!YH*+ZXJ2[HV5[Y:;])N@])N<[Y:7[)B1\9V6
- XM[:&2YYN,ZJ*/[J:3[ZV<\[&@\;*D\+&C[;"F[;"F\;6B]+BE];JM]+FL\;BP
- XM\KFQ^+VR_,&V_+>I][*D^:B>[)N1V7:!L4Y9DB,]?@\I7A-%4@<Y5PTW6Q$[
- XM;"1#<2E(IV!WYI^VPGR0AT%5;29!9R [<BE/:R)(;2-/:!Y*<2E*<RM,<BI+
- XM:R-$8AD]710X7Q8\8AD_81<_91M#7A0^7Q4_;2-/?SAUF%&.9REA20M#1Q%$
- XM=3]RH6B:92Q>4Q!"6A=)7!-"7!-"9B106QE%4!<]721*5P\V7Q<^8AE'711"
- XM7A=*:2)5<RMB=2UD61-)>#)HBD=Y5A-%=3-?7QU)5A4\20@OD3I3T7J3FU!<
- XMFD];X)^:XJ&<TY6"X**/[:F5ZZ>3V):%Q8-RQ8Z#WZB=Y;FQXK:N[ZVH\K"K
- XMW)&1J5Y>DCQ HTU1NUIBJTI2M4Y8KD=1I3Y(HCM%J45.NU=@SVYVW7R$ZI&6
- XM]9RA]YZ?[Y:7Z)2-[IJ3Z)R-XY>(YY^,ZZ.0[:N:\:^>[["B[J^AZZZDZZZD
- XM\;6B\+2A\+6H\;:I\[JR]KVU^\"U_,&V_\.U\JV?X(^%R7ANN59AFC="AQ@R
- XM>PPF7A-%4@<Y5@PV7!(\:" _;"1#F%%HZ*&XRH28EE!D:"$\:2(]<RI0:B%'
- XM;R51:B!,<BI+<BI+;B9':"!!81@\7A4Y7Q8\8AD_9!I"8AA 6A Z7Q4_="I6
- XMAC]\D$F&4A1,3 Y&6B-4A$U^H&64:B]>30@X6!-#6Q)!9QY-;"Q792506"-*
- XM;SIA91Y!81H]7A8_7A8_6Q5#7QE'<"E>@SQQ:")7>C1I;2M89B11:2A-2PHO
- XM3P\N<3%0T'1XO&!DGE91SH:!V:27SIF,WK"AVJR=[[ROWZR?S9&(P85\T96.
- XMZJZG[K:RY*RH_Y^=W'MYRF=HS&EJU7)UWGM^V')YRF1KP5ECMDY8HSI(DBDW
- XMBB QD2<XH#9)K4-6RF-PWWB%\(Z4]9.9\I:2])B4[IN,ZI>(Y9J&ZZ",[JB7
- XM\ZV<\*^B[ZZAZJRDZ:NCZ["9[+&:\;&F][>L_[JW_[>T^ZBI\9Z?W86$Q6UL
- XMM%)6JDA,H#M,CRH[A!@X@14U819(50H\5PTW7!(\91T\:R-"BD-:YI^VS(::
- XMH5MO:2(]:"$\<2A.;R9,;R51;B10<BI+;B9':B)#9!P]81DZ8!@Y8AD]8QH^
- XM;"-'9AU!710X9AU!?S9:AT!]:B-@3A!(61M3?TAY;C=HCE."A4IY200T4@T]
- XM711#=BU<;2U89B916"-*;3A?>S1791Y!6! Y61$Z5 X\40LY81I/>3)GA#YS
- XMBD1Y4 X[@D!M4Q(W2@DN61DXIV>&V'R J4U1T8F$[*2?QI&$UJ&4W[&BX;.D
- XMYK.FT)V0Q(A_RHZ%XJ:?\K:OZ;&MVZ.?U71RO5Q:Q6)CUW1UXG^"W'E\TVUT
- XMYH"'WW>!UFYXQ5QJLDE7H#9'DRDZC"(UBB SE2X[K493S&IPYX6+\)20\961
- XMZ9:'Z)6&XI>#Z)V)[*:5\JR;\*^B[ZZAZJRDZJRD[;*;[;*;\+"E\+"E[:6B
- XMV9&.Q7)SL5Y?G$1#D3DXES4YJ$9*L4Q=J415HC96H35591I,7!%#6A Z6Q$[
- XM81DX;B9%?SA/X9JQRX69IV%U<BM&9!TX:B%'>"]5:R%-<BA4<2E*;"1%91T^
- XM81DZ81DZ8AH[9!L_91Q :B%%91Q 7Q8Z;"-'B4!D?C=R71917Q]5>3EOA4U]
- XM5AY.;#!=F5V*5Q) 51 ^8!=%?#-A7B!*5AA"3!@_7BI1C49G;RA)5@XU5 PS
- XM50\\4PTZ6!%$8QQ/>S9HC4AZ5A4^=C5>2@HK514VA49@MG>1P6-:T7-JZJ.6
- XMX)F,R9V-VJZ>S*F<XK^RTZJAOI6,P8F%UIZ:[["OZ*FHSXZ-O'MZQE%0SEE8
- XMW&MLU&-DSV1ER%U>NU-9X7E_YX"*VW1^RV%RP5=HO$YBLT59IS9/G"M$EB@X
- XMGC! M$Q4UFYVY82"YX:$X8M]Y8^!X9. Z)J'ZZ62\JR9\*^B\*^B[*ZFZZVE
- XM[[:<[+.9ZJ>;VYB,SWQ_M6)EJ4=/G#I"NE):L$A0M4I5Q5IEQEUUMTYFICUB
- XMHCE>:1Y09!E+7A0^60\Y7Q<V="Q+>3))VY2KRH28K&9Z?C=28!DT8AD_@3A>
- XM9!I&<BA4<RI.:R)&8QH^7A4Y8!@Y8QL\9!P]9!P]8QLZ81DX81DX=BY-E4UJ
- XM<BMF;29A<C)HE56+;C9F3Q='31$^F5V*9B%/6A5#8!=%?#-A4A0^3Q$[3AI!
- XM82U4F%%R=S!161$X4PLR6Q5"7AA%61)%50Y!3 <Y>#-E:"=020@Q2@HK7Q]
- XMMWB2IVB"O%Y5]YF0X)F,WI>*UZN;UJJ:XK^RX+VPV*^FQ)N2SI:2Y:VI[["O
- XMSY"/HF%@B$=&P4Q+N41#O$M,OTY/R5Y?L49'B" FJ4%'TVQVOUABK$)3J#Y/
- XMMDA<P%)FODUFMT9?O$Y>KT%1KT=/RF)JVGEWWGU[W(9XY(Z WY%^YYF&ZZ62
- XM\JR9\;"C\;"C[:^G[:^GZK&7YJV3WIN/QH-WN69IJ599L$Y6LU%9M4U5I3U%
- XMHSA#K4)-JD%9G#-+D2A-DRI/:R!2:1Y08!9 5PTW7A8U>#!/=S!'V)&HRH28
- XMKVE]AT!;7A<R7!,YASYD7A1 <2=3=2Q0;"-'8AD]710X7Q<X8QL\8QL\8AH[
- XM81DX8QLZ:2% @CI9HUMX6B):>D)Z92E@FU^6:2E<0P,V5Q9%=C5DB41T3@DY
- XM6AA'A$)Q5!-$3PX_41%$6QM.?#9KEE"%8!U1208Z6AM+4Q1$5!9 5QE#41$T
- XM6AH]7!0Q6A(O6PHAJUIQRW6'IU%CV9.#WIB(WYV,XZ&0Y:V;\;FGZKZLY+BF
- XMU:B<S)^3Z:ZO[K.TR76&ED)3F#%/G394BS-2H$AG?B%$=QH]A"=-?B%'70DL
- XM@2U0B#I;:1L\:QDY:1<WDS%1N5=WNTIMPU)URE1=R5-<O5I=PV!CU&IMWW5X
- XM\79_]'F"X7]]])*0VZ:5X*N:[L&M[<"L\:R>]*^A_JFHZY:5WHN8RWB%M6.
- XML%Y[<2! B3A8<R$^:QDV;!<P=2 Y@"-&@"-&@"!,@B).=BM09QQ!7!$Y4 4M
- XM7Q0\>S!8=RY+V(^LUX^CGU=KDDI>:B(V9!HZ>"Y.:Q],=2E6="-';!L_8A<^
- XM818]7AA%7AA%71M'81]+81Q"51 V:1TXEDIEOFUZ7R=??D9^<35LH&2;:2E<
- XM104X6!=&=S9E;BE97!='6QE(DE!_3 L\511%3 P_3@Y!9!Y3G%:+AT1X8A]3
- XM41)"3 T]5QE#5AA"5!0W2@HM6! M10 :A31+P7"'M%YPO6=Y\:N;ZJ24X)Z-
- XMX)Z-XJJ8[K:DZKZLY[NIVJVAW*^CX*6FN7Y_DCY/@2T^D2I(B2) ?"1#;Q<V
- XM;Q(U?B%$:@TS<A4[9Q,V8 PO9QDZ60LL8A P91,S<Q$Q@B! L#]BY'.6U%YG
- XMT5MDPE]BQF-FTVELW7-V[W1]\79_Y8.!\8^-W:B7YK&@Z+NGY;BD];"B_KFK
- XM_*>F]Z*AKUQIDC],?"I'<R$^=21$8A$Q9!(O9!(O;ADR=2 Y>AU =QH]>QM'
- XM@2%-;B-(8Q@]7A,[4P@P8!4]>2Y6<BE&THFFW)2HI5UQE$Q@<"@\9QT]>C!0
- XM;"!-="A5<B%%:QH^818]818]7AA%7AA%7!I&8!Y*71@^4PXT;" [G%!KQ'.
- XM:C)J@4F!?D1[GF2;92A:1@D[61A'=C5D6A5#<BU;7QU*GER)3 L\7QY/4Q)#
- XM3 L\40PZ>C5CD4]^EE2#=31E3@T^3PX]6!=&61@_2PHQ40HE8!DTP'*#OG"!
- XMMF9NYI:>Z)V1XI>+T9^-W*J8W+VDX,&HX;FHW;6D^;*OZJ.@U':%G3].=!@L
- XM=QLO>",[:10L9 XN;!8V80LK:Q4U81 P:!<W6A<R;"E$B4QD>SY6:",Y6A4K
- XM6 860 9D"5 MDMFVV-MV&!JRF-ES&5GTV=KVFYR['!Y[G)[ZH6&[8B)X*F;
- XM[;:HYKFEY[JF_[FN_[RQZYF?JEA>CCQ/;QTP9Q8V9A4U8A0U<R5&>"A$;Q\[
- XM:18O:A<P<A<Y=!D[=QE$>AQ'9!D^7Q0Y8!4]6 TU8A<_=RQ4;"- RX*?WY>K
- XMJF)VD4E==BY":B! >S%1:Q],<252;!U!9A<[7Q0[818]7AA#71="71E%81U)
- XM610Y51 U=2I"J%UURWN%>D)Z@DJ"ATV$E%J17B%32PY 6!=&;RY=5 \]=C%?
- XM6QE&F5>$7!M,7QY/6QI+4 ] 3PHX6!-!>#9EEE2#A$-T9R977AU,511#2PHQ
- XM20@O10 9EU!KRGR-F$I;SW^']*2LWY2(W)&%TZ&/X[&?X<*IX,&HW[>FW+2C
- XM^+&NQG]\H4-2BBP[?" T<Q<K:10L9Q(J:Q4U>B1$:1,S:!(R7PXN:ADY:"5
- XMD4YIS9"HS9"HGUIP=C%'9@TF7P8?B!TX@A<RU%QFU%QFR6)DS&5GTV=KV&QP
- XMZ&QUZFYWYH&"ZH6&X:J<\+FK[+^K]\JV_\&V[ZB=KEQB8A 6=R4X8Q$D;1P\
- XM?RY.@C15I%9WM66!DD)>;!DR7@LD;!$S>!T_>!I%<1,^8!4Z7A,X8A<_6Q X
- XM8QA =2I2:2 ]R'^<WI:JK&1XBT-7>S-';")"?#)2:Q],;2%.:!D]8Q0X7Q0[
- XM8A<^7QE$7AA#7!A$7QM'6!,X71@]@SA0M&F!T("*BE.-?TB"BE"'A4N"51A*
- XM4!-%5Q9%9"-240PZ8QY,5A$_BD5S?#IG6QE&6QI)3@T\5A,X6Q@]:"1071E%
- XM6!5'>#5G>S5J4@Q!4PTX5 XY9B$YP'N3KF9MJF)I\:FDYIZ9YZ6=Y**:TZ^=
- XMV;6CU,&IUL.KZ+NMZ[ZPX7^'L$Y6FATVF1PUBB$Y=PXF6A,D:B,TC#13=1T\
- XM<B ]?BQ)3PDD9B [<S]2<S]2T*6RZ+W*U9ZJK'6!C3E(<1TLFC!%GC1)RDM5
- XMS4Y8Q5E=S&!DU&1IV6ENZ&=TZFEVY'I][H2'XZN=\+BJ]<2T_]7%_;.KP7=O
- XM;!PL:QLK9!0N5P<A8A,W>2I.MF>+IE=[WI&LLF6 ?RY&8A$I9Q$Q<1L[<AE
- XM:Q(Y818[7Q0Y8QA 7!$Y9!E!=2I2:B$^R'^<WI:JKV=[A3U1@CI.<"9&@#96
- XM;B)/;2%.91@]810Y7A4[8AD_8QM$8!A!7!<_7AE!718W;29'EDMAO7*(SW^'
- XMEE^9?$5_D5>.?$)Y3Q)$51A*5Q9%7!M*5A$_4PX\6!-!>S9DF5>$8!Y+61A'
- XM3@T\6Q@]5A,X8!Q(3PLW10(T8A]191]44 H_81M&81M&FU9NMW**FU-:Y9VD
- XM^K*MTXN&VYF1XZ&9V;6CX+RJV\BPV\BPX[:HV*N=KTU5I4-+I2A!FATVA!LS
- XM= LC718G="T^FT-BD3E8?"I'A#)/;RE$>#)-9C)%:35(W;*_Y[S)[[C$X*FU
- XMOVMZBC9%HCA-O5-HP$%+Q490P%18R%Q@T6%FUF9KYF5RZFEVXWE\](J-Y:V?
- XM\;FK^\JZ_\Z^WI2,F$Y&>2DY<R,S?"Q&<2$[;1Y">"E-DD-GH5)VWY*MP72/
- XMF$=?<B$Y90\O9Q$Q;!,Z;!,Z8Q@]7Q0Y8QA 71(Z9AM#=RQ4:B$^QGV:XIJN
- XMM6V!@SM/BT-7=BQ,A3M;<B93;B)/9!<\8A4Z8!<]91Q"91U&81E"6Q8^6Q8^
- XM81H[?C=8J%USP7:,RGJ"EV.<>$1]G66;?$1Z3A-$6!U.5A5$6!=&81U)4P\[
- XM6Q=!:"1.FU>#:R=361=#61=#6QDX2@@G7QM#81U%5Q!!40H[2@ T6A!$6Q$[
- XM=2M5HUYRDTYBI&-BXZ*ATI2!QHAUOI>+SZB<V[BIY,&R[\2WZ+VPVY.0MV]L
- XMK4)-ND]:O4-9L#9,FS!'A1HQ;1<K?2<[HS]=OEIXD351A2E%A3U4A3U4:SA&
- XMH&U[],K1Y+K!]K[#[[>\W8:0JU1>J#9&P$Y>PT%,R$91PE)7QU=<SUMAUF)H
- XMYV1R[6IXYWN!^X^5[+"G^[^V_]'$[KVPPWATD49"J5IN>BL_DT-ADD)@B#9=
- XMB#9=<B%%Q'.7W(NEQG6/GTYE=R8]9A N9 XL:1(X:A,Y818[71(W818^7A,[
- XM:1Y&>B]7:!\\P'>4Y9VQNG*&@3E-D4E=>2]/ACQ<<252:Q],8Q@_818]81@^
- XM9QY$9Q]&81E 7!4Z6Q0Y9!PYC$1AMVM^P76(PG1YEV.<>$1]J'"F@4E_3Q1%
- XM6A]05A5$5Q9%:B925Q,_5A(\4P\YAD)N:R=351,_8B!,5Q4T5!(Q9B)*6!0\
- XM4@L\6A-$4PD]7Q5)71,]GE1^HEUQE5!DUY:5S8R+Q8=TXJ21VK.GX[RPX;ZO
- XMW+FJX[BKV:ZAP'AUCT=$Q%EDR5YIS5-IT%9LPE=NG#%(;QDM=R$UJD9DMU-Q
- XMH45AD3519AXU>S-*FF=UVJ>UZ\'(XKB__\?,ZK*WW(6/OVARM$)2Q5-CRDA3
- XMS$I5PU-8Q55:S%A>TU]EYV1R[VQZZ7V#_I*8\+2K_\G _]C+X*^BMVQHGU10
- XMN&E]JUQP@C)0D4%?B3=>B#9=I%-WYI6YXY*LQ72.ET9=<2 W9Q$O:A0R:A,Y
- XM90XT7Q0Y6Q U8!4]7Q0\;"%)?#%99ATZNW*/Y9VQO'2(?C9*DDI>>"Y.A#I:
- XM;2%.9AI'9!E 8A<^8QI :!]%:"!'8AI!7!4Z6A,X9!PYDTMHOG*%P'2'O6]T
- XM@4^'<D!XFF29B%*'6A]0829771U)20DU8Q])6Q=!6!,[7AE!8AU%81Q$81U'
- XM9B),6Q@Z30HL71@^9B%'5@PX5 HV8Q5 7 XYASI;Q'>8CTQ7Q(&,W*.9R9"&
- XMUJ*+VZ>0U,&QT+VMYK"I[[FR]IJ>NEYBKD%+T61NOEICQ&!IR&ETS&UXS65W
- XMO%1FKCM3GRQ$MD=AOD]IQ5]VP5MRM%MPS'.(XI^J]+&\]+S!\+B]];&UXY^C
- XMVGF#S6QVUUYLRU)@XUYHUE%;Q%)8S%I@TUUDTUUDX%UKZ69TYWR#_)&8\[JR
- XM_]#(_]3)UJ><JF%AB#\_L6%SN6E[N&6 H4YIFD9GOFJ+Z9&P\9FXYY&EP&I^
- XME3]1<!HL;A<Q<1HT9@XP=!P^8Q@]7!$V9AM#9!E!=BM3="E1:R(_K&. V9&E
- XMUHZB@CI.A3U1BD!@?#)2;B)/9AI'6A$W8AD_7A4[6Q(X9!U"9A]$7Q<X714V
- XM;R<^H%AOOW2 NF][NFUNFVFA41]7QY'&EV&6>3YO3A-$<#!<71U)6A9 5! Z
- XM5 \W6A4]7QI"7QI"7QM%8Q])618X71H\9R)(5A$W40<S50LW5PDT;1]*OG&2
- XMG$]PJVAS\*VXUIV3PXJ WZN4XZ^8V,6UT\"P\KRUU)Z7LU=;L559T61NPE5?
- XMPU]HQV-LRFMVSW![U&Q^RV-UQ5)JNTA@L$%;N4IDQF!WSFA_QVZ#UWZ3VI>B
- XMVI>BYJZSXZNP[:FMY:&EY82.VGF#WF5SRU)@WUIDUE%;QU5;SEQBTUUDTEQC
- XMWUQJZ69TZ'V$_9*9\KFQ_\O#_L_$W:ZCPWIZL&=GI55GM65WQ7*-PF^*PV^0
- XMVH:GZ)"OV8&@OVE]HDQ@AS%#<QTO>B,]?B=!;14W=!P^8Q@]71(W9QQ$9AM#
- XM=RQ4<RA0:2 ]J%]\VI*FUX^CBT-7A#Q0CD1D>2]/;R-091E&7A4[81@^710Z
- XM7A4[9A]$91Y#8AH[:"!!@CI1K&1[PWB$NF][NVYOJGJS:#AQO(B_?TN"=CYN
- XM?$1T<3%=5!1 5Q,[5! X51 V610Z71@^7!<]7!<]7AD_6AA$8R%-9Q](4 @Q
- XM50@M5 <L6PLGF4EEOW.$D$15TI"1\:^PRY:)U)^2YKNDX;:?XL"U[,J_Z):9
- XMJUE<MS='S$Q<W%MIV5AFR6ELS&QOPW1TR'EYUG-^U'%\Y&-XWUYSQE=FO4Y=
- XMNTU=NTU=MU)CQ6!QQF][P&EUM&IRN&YVS7V#W(R2[8F2\8V6]X"-Y&UZUU5>
- XMU%);RUE?T5]ETEYDSUMAW5QJYV9TXGJ"^9&9\;FS_\O%^\_'XK:NU9"1SHF*
- XMSG>!SG>!T':)QVV PF5^R&N$P6%VI$19GCQ*CBPZAB<T@B,PCS!'D3))>!<[
- XM>!<[8A<\71(W:!U%:!U%>"U5<B=/91PYI%MXVI*FV)"DFE)F@CI.D4=G="I*
- XM;B)/8A9#8AI!7Q<^6Q,Z8QM":B%%8AD]91PY>"],FE!DMVV!PGB N6]WO7!O
- XMF&BAE&2=H6VD<CYUC56%FV.35Q=#2PLW7!A 6Q<_6Q8\71@^71@^6Q8\6A4[
- XM6A4[7QU)7QU)50TV5P\X6 LP3P(G?BY*P'",G%!AK&!QX9^@TY&2V*.6WJF<
- XMW+&:ZK^HX\&VRJB=K5M>D3]"RTM;U55ETU)@YF5STG)UTG)UQWAXR7IZV'6
- XMUW1_Z6A]YF5Z['V,UF=VQ%9FNTU=LDU>OEEJPFMWOF=SJV%IKV5MQ75[TH*(
- XMXW^(YH*+['6"VF-PU%);UE1=T5]EU6-ITU]ESEI@W%MIY61RVW-[]HZ6\;FS
- XM_\W'_]3,YKJRVI66TXZ/TGN%QW!ZOF1WLUELL%-LMUISM%1IG#Q1D"X\C"HX
- XMD#$^D3(_F#E0DS1+=A4Y=Q8Z7Q0Y6Q U:1Y&:1Y&>2Y6<B=/9!LXH5AUV9&E
- XMV)"DJ&!T@#A,D$9F;R5%:Q],8!1!8QM"714\7!0[:2%(;21(710X9!LX@CE6
- XMJ%YRN6^#O7-[MVUUP'-R>$J"CF"8I'*HE&*8LGJJ<#AH4! [7AY)6Q<_71E!
- XM8!D^7Q@]7Q@]7A<\718[7!4Z6A=,7AM02@$O6 \]504C7P\MLV)OQ'. I%=6
- XMS8!_UY>.T)"'Y;2GT:"3U["@\<JZ[)J?HU%6GC,^N$U8SDU;UU9DY&5OX&%K
- XMVW1TVW1TTGIWU'QYVWI\VGE[WG!XW&YVW7I[T6YOTFMOT6INSF9NTVMSTW)\
- XMSVYXS'A_S7F UX.*V86,V7N$V7N$W75]SV=OU%);VEAAU65JUF9KT5]ES5MA
- XMVEIHXF)PVG9]\(R3Y[.N_LK%_]?/Z<&YW)J=TI"3U'=VS7!OS&MSR6APQ6!M
- XMR&-PR%UHM4I5I#@^I3D_JT-+IS]'I#Q0F#!$>Q,U@1D[7!$V60XS:!U%:1Y&
- XM>B]7<B=/8QHWGU9SUX^CVI*FLFI^?S=+B3]?;")"9AI'8!1!8!M#610\714\
- XM;"1+;25&61$R9!@SBS]:LF9WNV^ N6UQN&QPPG=S<D1\A%:.D%Z4I7.IB%"
- XM:3%A:"A39B9151$Y614]7A<\7!4Z6Q0Y7A<\8!D^7Q@]4@]$8A]440@V3P8T
- XM504CA#12SGV*JEEFMFEHX).2VIJ1W)R3V*>:XK&D_-7%UJ^?JEA=DT%&HSA#
- XMND]:U51BV%=EWV!JYF=QW'5UW79VUGY[V8%^X8""X8""YGB Y'9^UW1UT&UN
- XMUW!TW'5YUFYVUFYVV'>!UW: U("'U8&(W8F0WHJ1WH")XH2-[(2,XWN#V5=@
- XMWUUFV&AMUV=LTF!FSEQBVEIHWU]MX'R#[XN2X*RG]L*]_=7-[L:^YJ2GW9N>
- XMZ8R+X(."W7R$UG5]RV9SQV)OR5YIOE->MTM1MTM1NE):L4E1JD)6FS-'@!@Z
- XMAQ]!71(W60XS:!U%:1Y&>2Y6<"5-81@UG%-PU(R@WI:JN'"$@CI.?C14;B1$
- XM815"8Q=$71A 610\7A8]:R-*:2%"5@XO:!PWE$ACN6U^O'"!N&QPNFYRQGMW
- XM@5.+?E"(<#YTBEB.<CIJA4U]9RE361M%51 X6Q8^7A<\6A,X6A$U7Q8Z8AL^
- XM81H]6!-271A77!%!3@,S=",[L6!XP&YQHE!3R7YRZZ"4X:*2Z*F9U*68]<:Y
- XM[\O"DV]FGB TP$)6OD53O412U%]HTUYGRUI=Y'-VZ'1VZ'1VYGEYZGU]YX6#
- XMZ8>%X(B%WX>$Z).(WHE^Y82"YX:$XGM_XGM_ZX>0[XN4ZY.:Y8V4XY&7X8^5
- XMVX>-VX>-W8&'S7%WWEYFXV-KV6QPUFEMTF)GSU]DV%MHVUYKW7N![8N1W*RF
- XM\L*\^];-[\K!Z*JLX:.EZXR!WX!UW7AWV'-RTF9MT65LV&AMUF9KR5A9Q%-4
- XMQ55:NTM0M4=;ISE-AQL\B1T^818[71(W:1Y&:1Y&=RQ4;2)*7A4RF$]LTXN?
- END_OF_FILE
- if test 32510 -ne `wc -c <'timg.ppm.u.a'`; then
- echo shar: \"'timg.ppm.u.a'\" unpacked with wrong size!
- elif [ -f timg.ppm.u.b ]; then
- echo shar: Combining \"'timg.ppm.u.a'\" and \"'timg.ppm.u.b'\"
- cat timg.ppm.u.a timg.ppm.u.b > testimg.ppm.u
- echo shar: Removing \"'timg.ppm.u.a'\" and \"'timg.ppm.u.b'\"
- rm timg.ppm.u.a timg.ppm.u.b
- echo shar: Uudecoding \"'testimg.ppm.u'\"
- cat testimg.ppm.u | uudecode
- if [ -f testimg.ppm ]; then
- echo shar: Removing \"'testimg.ppm.u'\"
- rm testimg.ppm.u
- fi
- fi
- # end of 'timg.ppm.u.a'
- fi
- echo shar: End of archive 7 \(of 18\).
- cp /dev/null ark7isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 18 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-