From 003481410fb5a1b9d64900e69ef47d09739b02e1 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Mon, 30 Oct 2023 12:07:26 -0700 Subject: [PATCH] Update UNARC to Universal UNARC from Lars Nelson - Credit and thanks to Lars Nelson for providing an enhanced version of UNARC. --- Source/Images/Common/All/UNARC.COM | Bin 4736 -> 7808 bytes Source/Images/Common/All/UNARC.DOC | 1004 +++++++++-------------- Source/Images/Common/Z/u14/UNARCU10.CFG | Bin 0 -> 4608 bytes Source/RomDsk/RAM_1024KB/UNARC.COM | Bin 4736 -> 7808 bytes Source/RomDsk/RAM_1024KB/UNUARCU10.CFG | Bin 0 -> 4608 bytes Source/RomDsk/ROM_1024KB/UNARC.COM | Bin 4736 -> 7808 bytes Source/RomDsk/ROM_1024KB/UNUARCU10.CFG | Bin 0 -> 4608 bytes Source/RomDsk/ROM_512KB/UNARC.COM | Bin 4736 -> 7808 bytes 8 files changed, 409 insertions(+), 595 deletions(-) create mode 100644 Source/Images/Common/Z/u14/UNARCU10.CFG create mode 100644 Source/RomDsk/RAM_1024KB/UNUARCU10.CFG create mode 100644 Source/RomDsk/ROM_1024KB/UNUARCU10.CFG diff --git a/Source/Images/Common/All/UNARC.COM b/Source/Images/Common/All/UNARC.COM index 8cc907464fefc5bf64db6ef689a1eb58346d2a88..27ee7afa08e5a4094ae768b8f14fa362569a59db 100644 GIT binary patch literal 7808 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 - - UNARC 1.6 27 Mar 87 - CP/M Archive File Extractor - - Usage: UNARC [d:]arcfile[.typ] [d:][afn] [N|P|C] - - Examples: - B>UNARC A:SAVE.ARK *.* ; List all files in CP/M archive SAVE on drive A - B>UNARC A:SAVE.ARC *.* ; List all files in MS-DOS archive SAVE on drive A - A>UNARC SAVE ; Same as either of above - A>UNARC SAVE *.* N ; Same as above (no screen pauses) - A>UNARC SAVE *.DOC ; List just .DOC files - A>UNARC SAVE READ.ME ; Typeout the file READ.ME - A>UNARC SAVE READ.ME N ; Typeout the file READ.ME (no screen pauses) - A>UNARC SAVE A: ; Extract all files to drive A - A>UNARC SAVE B:*.DOC ; Extract .DOC files to drive B - A>UNARC SAVE C:READ.ME ; Extract file READ.ME to drive C - A>UNARC SAVE PRN.DAT P ; Print the file PRN.DAT (no formatting) - A>UNARC SAVE *.* C ; Check validity of all files in archive - - -As shown by this help display, the UNARC utility provides the following -capabilities: - -(1) Listing the directory of an archive -(2) Extracting component files from an archive -(3) Typing the contents of a component file at the console -(4) Printing a component file directly on the CP/M list device -(5) Checking the validity of an archive and its component files - -The particular operation to be performed is determined by the form of the file -parameter(s) in the command line, as described separately in the sections -which follow. The following characteristics apply to all operations: - -The first command line parameter must specify the name of an archive file. A -drive name and filetype are optional. The filetype, if omitted, defaults to -"ARK" or, if no such file exists, the alternate (MS-DOS) default "ARC" is -assumed. - -The standard CP/M terminal control characters, CTRL-S (to suspend console -output) and CTRL-C (to abort the program), may be used at any time. CTRL-K -may also be used as an alternate for CTRL-C. Printer output to the CP/M list -device may be obtained by typing CTRL-P at CCP command level before executing -UNARC. - -In addition, by default UNARC will pause after every 23 lines of console -output. At this time, the message "[more]" will appear at the bottom of the -console screen. The listing may be resumed by typing any key (other than -CTRL-S, CTRL-C, or CTRL-K, which will function as described above). If the -space bar is used, one more line of console output will be displayed (over- -writing the "[more]" message) and the program will again pause. If any other -key is typed (e.g. RETURN), another 23 lines of output will be allowed to -scroll onto the screen before the next pause. (LINE FEED may be used to -prevent overprinting of the "[more]" line, e.g. for hard-copy terminals.) - -If continuous display is desired, this automatic pause feature may be disabled -by specifying "N" at the end of the command line. The "N" must be the last -command line character, and it must be preceded by a space. Also, there must -be two preceding file parameters on the command line. E.g., note the -difference between the following commands: - - A>UNARC SAVE N ; Typeout the file N. in archive SAVE - A>UNARC SAVE *.* N ; List all files in archive SAVE with no pauses - -The N option may not be used in conjunction with the P (Print) or C (Check) -options. - - - -LISTING AN ARCHIVE DIRECTORY ----------------------------- - -By default, UNARC produces a detailed console listing of the component files -in an archive. (In fact, there is no way to suppress this listing; it is -generated during all UNARC operations.) If only the archive file name appears -on the command line, UNARC will generate a complete directory of all component -files in the specified archive file. Otherwise, the second command line -parameter may be used to select a particular file to be listed (or group of -files, if it contains the ambiguous file specification characters "*" or "?"). -If no disk drive name is provided for the second parameter, and this parameter -specifies a group of files, the directory listing is the only output generated -by the program. - -A sample directory listing is illustrated here: - - -A>UNARC CODES - -Archive File = CODES.ARK + UNARCU + Universal Archive File Extraction Utility + Version 1.0 + + Modified for Universal use by Lars Nelson + September 17, 2023 + Modified for ZCPR3 by Gene Pizzetta + December 9, 1990 + Original CP/M 2.2 version is + Copyright (C) 1986, 1987 by Robert A. Freed + All Rights Reserved + + +UNARCU allows the listing, typeout, printing, checking, and extraction of +member files contained in ARK and ARC archive files. These are commonly +used for compressed file storage on remote access bulletin boards. This is +a universal version and runs on the following CP/M compatible systems: + + CP/M 2.2 with DRI CCP or ZCPRD&J + ZSDOS 1.2 and 2.0 with DRI CCP, ZCPRD&J or Zsystem + CP/M 3 with DRI CCP or Z3Plus + ZPM3 with DRI CCP or ZCCP + +DU file specification is supported on all systems. If Zsystem is active +then named directories can be used and the bad directories flag is +automatically checked. + +If datestamping is available then extracted files will recieve the ARK file's +stored date stamp. The program handles DateStamper, NZTIME and CP.M Plus +date stamping methods. + +UNARCU requires at least 32K of free memory (TPA) for full support of all +archive file formats, but smaller systems may be able to use some of the +program's capabilities. + +USAGE: + + UNARCU {DU: or dir:}arcfile{.typ} {DU: or dir:}{afn.aft} {{/}options} + +If a DIR or DU specification is not given for the archive file, the current +drive/user is assumed. The second filename, which can be ambiguous, +refers to a member file or files in the archive. DIR: file specification +only available when Zsystem is active. DU: specification always available. + +If a DU or DIR specification is provided for the member filespec, it will be +extracted to that directory. To extract to the current directory, only a +colon is required. If a directory specification is given without a filename, +all files ("*.*") is assumed. + +If no DU or DIR specification is given, UNARCU acts differently depending +on whether the member name is ambiguous or not. If the member name is +unambiguous, and the filetype is not restricted, the file will be typed to +the screen. If the member name is ambiguous, or if no member name is +given at all, a directory of the ARK will be displayed. + +If no filetype is given for the archive file, UNARCU first tries ARK and then +ARC. + +An on-line help message will be displayed if UNARCU is called with no +command tail or if the command tail is "//". + +OPTIONS: Options may or may not be preceded by a slash, but the slash is +required if the options are not the third token (element) on the command +line. + + C Check the validity of the archive and the given member + files. If a member filespec is not given, all files + ("*.*") is assumed. + + E Toggle erasing of existing files without asking on and + off. UNARCU may be configured to automatically erase, + during member file extraction, existing files in the + target directory that have the same name. Or it can + be configured to ask first. This option will turn off + user query before erasure, if it is on by default, and + vice versa. + + N Toggle console paging on or off. UNARCU may be + configured to default to console paging or not. This + option will turn paging off, if the the default is on, + and vice-versa. Paging effects both archive directory + display and member file type-out. During member file + extraction, console paging is always off. + + P Sends a member file to the printer (LST device). The + member name cannot be ambiguous. The file will be + printed continuously, with no formatting or paging. + +UNARCU can be aborted at any time with ^C or ^K. + +If screen paging is enabled, UNARCU pauses after the screen fills. The +listing may be resumed by typing any key other than ^S, ^C, or ^K. The +space bar displays one more line of output (overwriting the "[more]" +message) and the program will again pause. For hard copy terminals, line +feed may be used to prevent overprinting of the "[more]" line. If paging +is disabled, the display can be paused with ^S. + +LISTING AN ARCHIVE DIRECTORY: UNARC always produces a detailed +console listing of all the member files of an archive, or of those members +which match the second file specification, if one is given. If no member +name is given, or if the member name is ambiguous, then UNARCU only lists +the directory, without doing anything else. (That is, unless the C option is +included.) + +A sample directory listing: + +A0>UNARCU CODES +Archive File = A0:CODES.ARK Name Length Disk Method Ver Stored Saved Date Time CRC ============ ======= ==== ======== === ======= ===== ========= ====== ==== ABLE .DOC 24320 24k Crunched 8 11777 52% 30 Apr 86 10:50a 42C0 @@ -285,97 +115,82 @@ CHARLIE .TXT 234 1k Packed 3 99 58% 2 May 86 4:11p 8927 ==== ======= ==== ======= === ==== Total 3 41706 42k 26626 36% 58A4 - -This listing is equivalent to the "verbose" listing of the MS-DOS ARC program -(with the addition of the "Disk" and "Ver" fields, which are unique to UNARC). -The listing requires a 78-column terminal width; there is currently no "short" -listing format. - -"Name" is the file name which will be generated if the file is extracted by -UNARC on a CP/M system. (This is not necessarily the same as the name -recorded in the archive file. Although CP/M and MS-DOS file naming -conventions are identical, two conversions are made to guarantee file name -validity under CP/M: Lower-case letters are converted to upper-case, and -non-printing characters are converted to dollar signs, "$".) Archive entries -are usually maintained (and hence listed) in alphabetic name order. - -"Length" is the uncompressed file length, i.e. the number of bytes the file -will occupy if extracted to disk, exclusive of any additional length imposed -by the CP/M file system. Note that MS-DOS permits files of arbitrary lengths -(unlike CP/M which restricts all files to a multiple of 128 bytes). - -"Disk" is the actual amount of disk space required to extract the file to a -CP/M disk, expressed as a multiple of 1K (1024) bytes. Note that this number -is dependent on the disk data allocation block size. (CP/M permits various -block sizes, ranging from 1K to 16K bytes. Typical sizes are 1K for single- -density floppy disks, 2K for double-density floppies, and 4K for hard disks, -although these values are quite system-dependent.) In the absence of an -explicit output drive name, UNARC uses the block size of the default -(currently "logged") disk drive (i.e. the drive which appears in the CCP -prompt). - -"Method" is the compression method used, specified as "Unpacked", "Packed", -"Squeezed", "Crunched", "Squashed", or "Unknown!". If the method "Unknown!" -appears, it most likely indicates (if not a faulty archive file) a newer -release of the MS-DOS ARC program that supports a new compression method (or a -new variation of an existing method). In this case, a corresponding new -release of UNARC will be required to extract the file. - -"Ver" further identifies the version of compression used. Currently, UNARC -supports versions 1-9: unpacked files can have versions 1 or 2; packed files, -version 3; squeezed files, version 4; crunched files, versions 5-8; and -squashed files, version 9. The highest version number associated with each -compression method is the one generated by the most recent release of the -MS-DOS ARC program. - -"Stored" is the compressed file length, i.e. the number of bytes occupied by -the file in the archive. (This does not include the overhead associated with -the directory information itself, which adds an additional 29 bytes to the -size of each component file.) - -"Saved" is the percentage of the original file length which was saved by -compression; i.e., higher values indicate better compression. (The MS-DOS ARC -documentation refers to this as the "stowage factor.") The value shown on the -totals line applies to the archive as a whole, not including the directory +The listing is equivalent to the "verbose" listing of the MS-DOS ARC +program, with the addition of the "Disk" and "Ver" fields, which are unique +to UNARCU and previous UNARC versions. The listing requires 78-columns +of terminal width. + +"Name" is the filename which will be generated if the file is extracted by +UNARCU. This is not necessarily the same as the name recorded in the +archive file. Although CP/M and MS-DOS file naming conventions are +identical, two conversions are made to guarantee filename validity: Lower- +case letters are converted to upper-case and non-printing characters are +converted to dollar signs ("$"). Archive entries are usually maintained and +listed in alphabetical order. + +"Length" is the uncompressed file length, i.e., the number of bytes the file +will occupy if extracted to disk, exclusive of any additional length imposed +by the file system. MS-DOS permits files of arbitrary lengths, but CP/M +restricts files to multiples of 128 bytes. + +"Disk" is the actual amount of space required to extract the file to a CP/M +disk, expressed as a multiple of 1K (1024) bytes. The number is dependent +on the output drive's allocation block size, which can range from 1K to 16K +bytes. Typically, 1K is used for single-density floppy disks, 2K for +double-density floppies, and 4K for hard disks. In the absence of an +explicit output drive, UNARCU uses the block size of the currently logged +drive, or a configured default size. + +"Method" is the compression method used: "Unpacked", "Packed", +"Squeezed", "Crunched", "Squashed", or "Unknown!". If the method +"Unknown!" appears, it likely indicates a faulty archive file or a newer +compression method not yet supported by UNARCU. + +"Ver" is the version of compression method used. UNARC supports versions +1-9: unpacked files, versions 1 or 2; packed files, version 3; squeezed +files, version 4; crunched files, versions 5 and squashed files, version 9. + +"Stored" is the compressed file length, that is, the number of bytes +occupied by the file in the archive, not including the directory information +overhead, which adds an additional 29 bytes to each member file. + +"Saved" indicates the percentage of the original file length which was saved +by compression. Higher values indicate better compression. The MS-DOS +ARC documentation refers to this as the "stowage factor". The value shown +in the totals applies to the archive as a whole, excluding directory overhead. -"Date" and "Time" refer to the last file modification, as of the time it was -added to the archive. (Date and time stamping is, of course, one of the nice -features of MS-DOS which is lacking in standard CP/M 2.2.) - -"CRC" is an internal 16-bit cyclic redundancy check value which is computed -when a file is added to an archive (expressed in hexadecimal). As a test of -file validity, UNARC re-computes this value when it extracts a file (see -below). Note that this value is calculated by a different method than that -used by either of the two popular public domain programs, CRCK and CHEK. (It -is however quite valid as a reliable error-detection mechanism.) This value -is shown in the listing for completeness only. The value shown on the totals -line is the 16-bit sum of all displayed CRC values. This is useful as a -single "checksum" value for comparing entire archives. (Since the CRC values -are computed before compression takes place, the total should be the same for -all archives created from the same set of input files, independent of any -particular variations in file order or compression methods.) - -The "Total" line is displayed only if multiple files appear in the listing, -and it includes a count of the number of files listed. - - - -EXTRACTING FILES FROM AN ARCHIVE --------------------------------- - -If the second command line parameter contains a disk drive name, UNARC will -extract the selected file(s) from the archive to CP/M file(s) on the indicated -disk drive. If only a drive name appears, all component files of the archive -will be extracted. The following illustrates a sample archive directory -listing as generated during a file extraction operation: - - -A>UNARC CODES B: - -Archive File = CODES.ARK -Output Drive = B: - +"Date" and "Time" are the file modification stamp at the time it was added +to the archive. + +"CRC" is an internal 16-bit cyclic redundancy check value computed when a +file is added to an archive, expressed in hexadecimal. UNARCU checks file +validity by recomputing this value when it extracts a file. The value is +calculated by a different method than that used by either of the two +popular public domain programs, CRCK and CHEK, but it is a quite valid and +reliable error-detection mechanism. The value is given for completeness +only. The total in the last line is the 16-bit sum of the displayed CRC +values and is useful for comparing entire archives. Since the CRC values +are computed before compression, the total should be the same for all +archives created from the same set of input files, without regard for +variations in file order or compression methods. + +The "Total" line is displayed only if more than one file appears in the +listing. + +EXTRACTING FILES FROM AN ARCHIVE: If the second command line +parameter contains a DU or DIR specification UNARCU will extract the +selected member file or files to to the indicated disk directory. If the +directory specification is given without a filename, all member files will be +extracted to the indicated directory. If only a colon is given, the current +drive/user will be assumed. + +Below is a directory listing as might be generated during file extraction, +along with some possible warning messages: + +A0>UNARCU CODES B1: +Archive File = A0:CODES.ARK +Output Directory = B1: Name Length Disk Method Ver Stored Saved Date Time CRC ============ ======= ==== ======== === ======= ===== ========= ====== ==== ABLE .DOC 24320 24k Crunched 8 11777 52% 30 Apr 86 10:50a 42C0 @@ -388,236 +203,235 @@ CHARLIE .TXT 234 2k Packed 3 99 58% 2 May 86 4:11p 8927 ==== ======= ==== ======= === ==== Total 3 41706 44k 26616 36% 58A4 - -The above listing also illustrates several warning messages which may occur -when extracting files from an archive. - -The message "Replace existing output file (y/n)?" appears if a file of the -same name already exists on the output drive. The user must answer "Y" (or -"y") to allow the extraction to proceed (in which case, the existing file is -unceremoniously deleted). Any other response will cause UNARC to preserve the -existing file, bypass the extraction operation for the current file, and -(except for a CTRL-C response) skip to the next file to be extracted (if any). - -The first two warning messages illustrated above are provided as a check on -the validity of the extracted file. These indicate that either the cyclic -redundancy check (CRC) value computed by UNARC, or the resulting extracted -file length, does not match the corresponding value recorded in the archive -when the original file was added to it. The final warning message occurs if -UNARC fails to detect the proper format for the start of a new subfile, but -can recover by skipping a certain number of bytes in the archive file. (If -the recovery attempt fails, UNARC aborts with the message "Invalid archive -file format.") The appearance of any of these messages most likely indicates -that the file data has been corrupted in some way (e.g. during modem -transmission from a remote system). - -Note that if the original (i.e. MS-DOS) file length was not an exact multiple -of 128 bytes (as required by CP/M), UNARC will pad the final record of the -extracted file with hex "1A" (ASCII CTRL-Z) bytes. This provides the correct -end-of-file termination for text files, according to CP/M conventions. - -Also, the disk space shown in the archive directory listing will be correct -for the specified disk drive. (In the above examples, drive A: has a 1K data -allocation block size while drive B: has a 2K block size, which accounts for -the differences in the two listings.) In order to determine the exact disk -space requirements in advance of a file extraction operation, the user may -first "log into" the desired output drive (i.e. select it as the default -drive), and run UNARC to obtain a directory listing only. (This is a -consideration only on systems with mixed disk drive types.) - -A file extraction operation may be aborted at any time by entering CTRL-C from -the console. In this case, any partial output file will remain on disk and -should be deleted manually following the program abort. (Any existing file of -the same name will have already been deleted, however.) - - - -TYPING OUT A FILE IN AN ARCHIVE -------------------------------- - -A console typeout of the contents of a single component file in an archive may -be requested by specifying a non-ambiguous file name (and no disk drive name) -in the second command line parameter. For example: - - -A>UNARC CODES ABLE.DOC - -Archive File = CODES.ARK - +"Replace existing output file (y/n)?" appears if a file of the same name +exists in the output directory, requiring a "Y" or "N" response. Any +response other than "Y" will be consided to be the same as "N". If UNARCU +has been configured to erase without query, this message will not appear. + +The first two of the "Warning:" messages above indicate that either the +cyclic redundancy check (CRC) value or the extracted file length does not +match the value recorded in the archive header when the original file was +added. The third warning message is displayed if the proper format for +the beginning of a new member is not detected, but UNARCU recovered by +skipping a certain number of bytes in the archive file. If a recovery +attempt fails, UNARC aborts and issues a different message, "Invalid archive +file format". The appearance of any of these messages probably means the +file data has been corrupted in some way. + +If the original MS-DOS file length was not an exact multiple of 128 bytes, +the final record of the extracted file will be padded with 1Ah characters +(ASCII ^Z). + +Disk space in the listing will be correct for the specified output directory. +In the two examples above, drive A has 1K allocation blocks while drive B +has a 2K blocks, which accounts for the differences in the two listings. To +determine the exact disk space requirements before extracting files, log +into the desired output drive and take an UNARCU directory listing of the +ARK file. + +If a file extraction is aborted with ^C, any partial output file will have to +be deleted manually. + +TYPING MEMBER FILES: Typing the contents of a member file in an archive +to the console may be requested by giving a non-ambiguous filename and no +output disk directory as the second command line parameter. For example: + +A0>UNARCU CODES ABLE.DOC +Archive File = A0:CODES.ARK Name Length Disk Method Ver Stored Saved Date Time CRC ============ ======= ==== ======== === ======= ===== ========= ====== ==== ABLE .DOC 24320 24k Crunched 8 11777 52% 30 Apr 86 10:50a 42C0 ------------------------------------------------------------------------------- This is file ABLE.DOC, contained within the archive CODES.ARK. Typeout will - proceed until the end of this file or may be aborted by CTRL-C..... - - -The specified file is assumed to contain valid ASCII text data. In -particular, all bytes are masked to seven bits, and all ASCII control -characters are ignored except for HT (horizontal tab, which is expanded to -blanks with assumed tab stops at every eighth column), LF, VT or FF (line -feed, vertical tab or form feed, which generate a new typeout line), and SUB -(CTRL-Z, which by CP/M convention indicates end-of-file and terminates the -typeout). Note that BS (backspace) and CR (carriage return) are ignored, so -that text will not be obscured within files which utilize these for over- -printing (i.e. when directed to a printer). - -The following filetypes, which are usually associated with binary (non-text) -data, are specifically excluded from typeout operations: COM, EXE, OBJ, OV?, -REL, ?RL, INT, SYS, BAD, LBR, ARC, ARK, ?Q?, and ?Z?. If one of these types -is specified, only the directory information for the requested file is listed. - -Note that CRC and file length checking are not performed during a typeout -operation, as they are during extraction to a disk file. - - - -PRINTING A FILE IN AN ARCHIVE ------------------------------ - -A single component file in an archive may be output directly to the printer -(CP/M list device) by specifying a trailing "P" on the command line. The "P" -must be the last command line character, and it must be separated from the -second file parameter by a space. (The file parameter must specify a non- -ambiguous file name and no disk drive name.) For example: - - A>UNARC CODES CHARLIE.TXT P - -The specified file is assumed to contain data suitable for printer output and -is passed directly to the printer without alteration or additional formatting. -This operation is particularly well-suited for output of binary graphics -images on dot-matrix printers, since these can be extemely large but tend to -compress quite well (e.g. to less than 5% of their original size). Note that -the binary data filetypes which are excluded from typeout operations are also -excluded from printing operations. Printing may be paused or aborted by use -of the console CTRL-S and CTRL-C characters. - - - -CHECKING FILES IN AN ARCHIVE ----------------------------- - -UNARC may be directed to extract one or more component files from an archive, -without actually storing these as disk files, by specifying a trailing "C" on -the command line. This operation performs file CRC and length checking, and -it is useful for verifying correct modem data transmission of an archive. The -"C" must be the last command line character, and it must be separated from the -second file parameter by a space. (The file parameter must not specify a disk -drive name, which indicates extraction to disk.) To check an entire archive, -specify "*.*" for the second file parameter, for example: - - A>UNARC CODES *.* C - - - -PROGRAM OPTIONS ---------------- - -UNARC provides several options which may be used to tailor the program for -specific non-universal requirements. Many of these are intended for RCP/M -(Remote CP/M) system operators, to allow generation of a secure version of -UNARC which can be used by remote callers for purposes of archive directory -listing and/or file typeout only (but not file extraction). Others are -provided for specialized non-standard CP/M systems and need not concern the -majority of users running CP/M 2.2, CP/M 3.0 (CP/M Plus), or ZCPR3/ZRDOS -systems. Additional options provide user preference features (such as the -number of screen lines between console output pauses, or the list of filetypes -excluded from typeout operations). - -All of these options are described in UNARCOVL.ASM, an assembly language -source file that can be edited and assembled to generate a HEX-format overlay -for easy patching of the UNARC.COM or UNARCA.COM program files. Complete -details are provided for technically-oriented users in UNARCOVL.ASM. However, -the default options in the distributed program files are suitable for the -majority of users with standard CP/M operating systems. - - - -PROGRAM DISTRIBUTION --------------------- - -The UNARC program, its documentation, and all related files are distributed in -archive file format (of course!). The distribution file is named UNARCxx.ARK, -where "xx" is derived from the current version number (e.g. UNARC16.ARK for -version 1.6). (This does not include the program source code, which is -distributed separately.) This archive has the special characteristic that it -is "self-unpacking." I.e., a separate copy of the UNARC.COM program file is -NOT required to extract the component files from this archive. - -The procedure for extracting the distribution files is quite simple: First, -copy or rename UNARCxx.ARK to a program file, UNARCxx.COM, on the current disk -drive. (Note that the filename, UNARCxx, must NOT be changed.) Then, run -this program with a single optional command line parameter specifying the disk -drive to which all distribution files will be extracted (defaults to current -drive). - -For example, assuming UNARC16.ARK is on drive B: and the files are to be -extracted to drive C:, the following CP/M commands may be used: - - A>B: ; Set current drive for UNARC16.ARK - B>REN UNARC16.COM=UNARC16.ARK ; Rename it to UNARC16.COM - B>UNARC16 C: ; Run it to extract all files to drive C: - -Note that this self-unpacking capability is provided only by the distributed -archive file, and it will not work if that file is altered or reconstructed. - - - -AUTHOR'S NOTE -------------- - -I undertook writing the UNARC program to satisfy my curiosity about software -developments in the MS-DOS/PC-DOS world. At the time I began work on UNARC, -the MS-DOS ARC program had been in existence for over a year and had achieved -widespread popularity and acceptance in the 16-bit community. Unfortunately, -the lack of a compatible equivalent for CP/M systems rendered a large amount -of public domain software inaccessible to 8-bit users such as myself. (Note -that 16-bit software can indeed be of interest to users of 8-bit systems, e.g. -Pascal and C language programs.) - -Also, an increasing number of RCP/M systems now cater to both 8-bit and 16-bit -users. Since the release of UNARC 1.0 (May 3, 1986), I have been encouraged -to see that the program has found a welcome home on many such systems. -Special thanks are due to Irv Hoff and Norman Beeler for providing archive -file support in the KMD20 and LUX52 series of programs, respectively. With -the increasing popularity of .ARC files on many different computer systems, I -believe that continued such support of this compression format is both -desirable and inevitable for CP/M systems. At the time of this writing I am -about to release NOAH, a companion program to UNARC which will allow CP/M -users to generate ARC-compatible files. - - Bob Freed - March 27, 1987 - - - - NOTICE - - The UNARC program and its associated documentation is the copy- - righted property of its author -- it is NOT in the public domain. - HOWEVER... Free use, distribution, and modification of these - files is permitted (and encouraged), subject to the following - conditions: - - (1) Such use or distribution must be for non-profit purposes only. - (2) The author's copyright notice may not be altered or removed. - (3) Modifications to this program or its documentation files may - not be distributed without notification of and approval by - the author. - (4) The source program code may not be used, in whole or in part, - in any other publicly-distributed or derivative work without - similar notification and approval. - - No fee is requested or expected for the use and distribution of - this program subject to the above conditions. The author reserves - the right to modify these conditions for any future revisions of - this program. Questions, comments, suggestions, commercial - inquiries, and bug reports or fixes are welcomed by the author: - - Robert A. Freed - 62 Miller Road - Newton Centre, MA 02159 - Telephone (617) 332-3533 - ------------------------------------------------------------------------------- - \ No newline at end of file + proceed until the end of this file, so you'd better be patient. For somebody + who has nothing to say, I've written an awfully big file here. If you don't + want to read all 24K of it, you can type ^C .... + +The specified file is assumed to contain valid ASCII text data. All bytes +are masked to seven bits and all control characters are ignored except +horizontal tabs, which are expanded to blanks with stops at every eighth +column), and line feeds, vertical tabs, and form feeds, all of which generate +a new line. SUB (^Z) is interpreted as the end of the file. Backspaces and +carriage returns are ignored, so text will not be obscured. + +UNARCU will refuse to type files whose filetype indicates are not ASCII text +files, including COM, CMD, EXE, OBJ, OVL, REL, PRL, CRL, IRL, INI, SYS, +BAD, ARK, ARC, LBR, ?Q?, ?Y? and ?Z?. If one of these or other restricted +types is given, directory information only is listed. + +CRC and file length checking are not performed when a file is typed to the +screen. + +PRINTING MEMBER FILES: A single member file may be sent to the printer +(CP/M LST device) with the "P" option as the third parameter on the +command line with or without a preceding slash. In addition, the member +name must be non-ambiguous and must not be preceded by a drive or user +specification. For example: + A0>UNARCU CODES CHARLIE.TXT P +or + A0>UNARCU CODES CHARLIE.TXT /P + +The contents of the specified file is passed directly to the printer without +alteration, additional formatting, or even paging. The user should make +sure it contains data suitable for printer output. This unfiltered operation +is particularly well-suited for the output of binary graphics images to +dot-matrix printers. These files can be extremely large, but compress quite +well, often to less than 5% of their original size. The same filetypes +excluded from typing are also excluded from printing. Printing may be +paused or aborted with ^S and ^C respectively. + +CHECKING MEMBER FILES: With the "C" option UNARCU can be directed to +extract one or more member files from an archive, without actually storing +them as disk files. This operation performs file CRC and length checking, +so it is useful for verifying correct modem data transmission of an archive. +If the "C" is the second parameter on the command line, it must be +preceded by a slash. In that case all files in the archive will be checked. +If a member filename is given, it may be ambiguous, but it cannot be +preceded by a disk directory specification. For example: + A0>UNARCU CODES *.DOC C +or + A0>UNARCU CODES /C + +FILE DATE STAMPING: ARK and ARC files contain only a member file's +modification date and time. When a member is extracted under ZSDOS or +CP/M 3 with date stamping, its modification date will be transferred to disk +as both the create and modification file date stamps. If the modification +date is not included in the archive, then the extracted file will be stamped +with the current date and time. + +SECURITY: Z-Node security is handled automatically by UNARCU when +Zsystem is running. If the Wheel byte is off (reset), file extraction, +archive checking, and file printing are all disabled. In addition, UNARCU +can be configured to disable file type-out or to limit type-out to a maximum +number of lines. + + +Directory security depends on the file specification parsing of ZCPR 3.3 or +higher to indicate that the DU or DIR are illegal. Security should be +adequate, however, under other CPR's. + +PROGRAM CONFIGURATION OPTIONS: Several configuration bytes are +available to tailor the program for specific requirements, particularly for +RCP/M systems. With the Wheel byte off, UNARCU can be used by remote +callers only for archive directory listing and, optionally, for member file +typeout. + +Configuration bytes also determine the default conditions for the N and E +command line options and the filetypes excluded from type-out. + +Other configuration points are provided for non-standard systems and need +not concern the majority of users running ZCPR3, NZ-COM, or Z3PLUS. + +Patching is accomplished using ZCNFG and the configuration file, +UNARCUnn.CFG, where nn is the current version. The options are discussed +in detail in the CFG file help screens. ZCNFG will find the CFG file +automatically, even if you change the name of the program, as long as you +do not change the name of the CFG file. + +For most users no configuration is necessary. + +ABOUT ARC/ARK FILES: The files which UNARCU processes utilize a format +that was introduced by the ARC shareware utility program, which executes +on 16-bit computers running the MS-DOS (or PC-DOS) operating system. +This format has achieved widespread popularity since the ARC program +first appeared in March 1985, and it has become the de facto standard for +file storage on remote access systems catering to 16-bit computer users. +This file format also achieved popularity on RCP/Ms (Remote CP/M) systems. +While ARC files have given way to ZIP files in general, many ARC files are +available on the web containing CP/M software. + +RCP/M system operators adopted the convention of naming CP/M archive +files with the filetype ARK. This differentiates these from MS-DOS archive +files, which use the filetype ARC. This is a naming convention only; there +is no difference in format, and UNARC will accept files of either type +interchangeably. + +An archive is a group of files compressed and collected together into a +single file in such a way that the individual files may be recovered intact. +In this respect, archives are similar in function to libraries (LBR files), +which have been commonplace on CP/M systems since 1982, when the +original LU library utility program was introduced by Gary P. Novosielski. +The two file formats, however, are not compatible.) + +The distinguishing characteristic of an ARC archive is that its component +files are automatically compressed when they are added to the archive, so +that the resulting file occupies a minimum amount of disk space. Of +course, file compression techniques have also been commonplace in the CP/M +world since 1981, when the public domain SQ and USQ "squeeze and +unsqueeze" programs were introduced by Richard Greenlaw. + +The SQ/USQ programs and their numerous popular descendants utilize a +well-known general-purpose form of data compression (Huffman coding). +This technique, which is also utilized in ARC files, performs well for many +text files but often produces poor compression of binary files (e.g., object +program COM files). The ARC program also provides an advanced data +compression method, which it terms "crunching." This method (which is +based on the Lempel-Ziv-Welch or "LZW" algorithm) performs better than +squeezing in most cases, often achieving 50% or better compression of ASCII +text files, 15-40% compression of binary object files, and as much as 95% +compression of bit-mapped graphics image files. + +Five different methods are actually employed for storing files in an +archive. The method chosen for a particular file is the one which results +in the best compression for that file: + 1. No compression ("unpacked"). The file is stored in its + original form. + 2. Run-length encoding ("packed"). Repeated sequences of 3- + 255 identical bytes are compressed into a three-byte sequence. + 3. Huffman coding ("squeezed"). Each 8-bit byte (after run- + length encoding) is encoded by a variable number of bits, with + bit length (approximately) inversely proportional to the + frequency of occurence of the corresponding byte. + 4. LZW compression ("crunched"). Variable-length strings + of bytes (in theory, up to nearly 4000 bytes in length) are + represented by a single (maximum) 12-bit code (after run-length + encoding). + 5. LZW compression ("squashed"). This is a variation of + crunching which uses (maximum) 13-bit codes (and no run-length + encoding). + +Since one of the five methods involves no compression at all, the resulting +archive entry will never be larger than the original file. + +The last release of the MS-DOS ARC program (version 5.20) has eliminated +squeezing as a compression technique. However, UNARC continues to +process squeezed files for compatibility with archives created by earlier +versions of ARC and by other MS-DOS archiving programs (notably PKARC). + +The squashed compression method was introduced by the MS-DOS programs +PKARC and PKXARC. UNARC can process files which use this method, +although it is not universally accepted by other MS-DOS archive extraction +programs (including ARC). + +During its lifetime, the ARC program has undergone numerous revisions +which have employed different variations on some of the above methods, +particularly LZW compression. In order to retain compatibility with +archives created by earlier program revisions, ARC stores a "version" +indicator with each file in an archive. Based on this indicator, the latest +release of the ARC program can always extract files created by older +releases (although it will only use the latest data compression versions when +adding new files to an archive). + +The current release of UNARC supports archive file versions generated by +all releases of the following MS-DOS programs through (at least) the +indicated program versions: + ARC 5.20 (24 Oct 86), by System Enhancement Associates, Inc. + ARCA 1.22 (13 Sep 86), by Wayne Chin and Vernon Buerg + ARCH 5.38 (26 Jun 86), by Les Satenstein + PKARC 2.0 (15 Dec 86), by Phil Katz (PKWARE, Inc.) +UNARC does not recognize, but is unaffected by, the non-standard archive +and file commenting feature of PKARC. + +Although the above discussion has emphasized the origin of archive files +for the MS-DOS operating system, their use did spread to many other +systems. Programs compatible with MS-DOS ARC have appeared for UNIX, +Atari 68000, VAX/VMS, and TOPS-20 systems. A CP/M utility for building +archive files is also available. + +For additional information about archive files and the MS-DOS ARC utility, +refer to the documentation file, ARC.DOC, which is available on the web. +For additional information about the LZW algorithm (and data compression +methods in general), refer to the article "A Technique for High-Performance +Data Compression", by Terry A. Welch, in IEEE Computer magazine, Vol. 17, +No. 6, June 1984. + \ No newline at end of file diff --git a/Source/Images/Common/Z/u14/UNARCU10.CFG b/Source/Images/Common/Z/u14/UNARCU10.CFG new file mode 100644 index 0000000000000000000000000000000000000000..8de29a5900e89078d4a2ac67f4d6e13231c11529 GIT binary patch literal 4608 zcmb_fTW=gm6|S20uI!dZS|PFFu0xQJEsaC$+zbeUZ^_z;FB==OL_(;hyT;RUPuFZ! zw;iv9c;y%H$}d2I7bM=1c;W{j9@$^OD-ZCUs_vedbt5jqQIc{^)v0s&zVDp*V+&b>^7?B_PX7MAzKrDe-uW|D%kjpN_`Hz6?LF;nE{XSr{Is{*d$26-2ze(u z={;N$Ul8&zdft1qB)%x*&!QK-$IIeNLjDGyK3NuD7V@uHZ7qwh2>Jff>s}mhOYv0^ zjhBSjk%C0@bF6ly_=bpniPfGI-xSfWvD%knO+X{S+5&Z?L=Tdx2M1RBT11UB| zwDOJ+2U0u|5n**G#g>SkU=_zNr1-9geu4E%DZVeFUtx75#kPokht;tZdm{Q1Rwq(C z7tyC!ol0>iqQ7JHp%h0V`rNxhyprNnL~B@`NpU8kA7FJZ#g9bv8Y>~*tN%*;{}1uw z{WC$wC;l(5`*FOovO+{ZJl=k_`-Tn*SE@W$Wo8OG(naMDtZuB4+&z6oF8f4NR?t*k zXh-)t{`6q051Xr-xU#25s>(}(MUw=ZL#!@?o#uLbUWVBrAyz&Yo*tTD%v?D(+ zZW#nsR#snjZy$AUA9rt`bZ?(_Z-3am{i=KWtb6EPJ8iE#3vi$uYued6IlI@7j|`CZX5HPmQcoOJfWM;6^~)?b z!<$kQG-N=owZN>{s>OsdM`}8?W@j`eI5X9Dq6%G< z`At7YGP4xxIyszd<$O}lb~d)|ldXz^6ZO%~fzR=*W}BgAZmN@Pl!55vN!eta0Sw9_Gx}|5 zRZ{A7z(F|Rr{I%pu{oEbfJw<%ss#=?-u9(}3vkBOy{I3^JMj2H1jkKqV7`vWvo4 z)Tb(P?LvV=U&M!IG=fV9CF2q3oS>(ny^OVwzG)(}Cde>g77vk|`68+U@6|QTTtDV! zeGNB>@KPvUc(Ngv54!0tv)Gz@2#%Y=NTX~r6gzUyzmD2f169AEo-p>>K+;14U1)$kQc|4%nv{Bf|Sl-Q02G$Ps{Zuw;qHQ)+6AmrZ-a%Ec0!`>nB^CACWQ z0JJ0r$oMnlexgzxFnM?XE++j6dUWcsL4ghZ*dw$w7Z-@3P9VU~TnasB0{LF3z!nn1 za}`M3O0?GpP6{T2FzGkIV(H)+g(bqzHVBGiKwUuZ%2Yhzz?A=1^)CYP8JP>^crlb# zV*XtyPz%J;w7iB8v%+!IEjIYk!e^8xGH!9R+0qez(^#j~^8gOcEM`13cE~%@i;0mX zoN*Dp#dy+r_mBpNTwbL*h0ZPr5RI(C$Tr8dbC%m+4s%D9a|bQ_<=}iU?kUaFKvnBl z3Pr=rqiC2F3PXu+5#;JIZ1?17Kqotg7-xWm{g3vMk!||8()daT)J&AUtWg1N1A^2C_JN4k2T{7yb==*n}DUXXLQU19Sv@*GrI5d?odhq`^1T8&hF4#gGG#)rqL@ zHSHHe18!=l6sAh6uQFf+^2|0lXU%IEy6b@MBBHxoRs)eO(PLO{`7M+n$X9a*U~FbQ pHixd6tK!lRL*B1?n63)ncbNuo$|ry=gdmVrzSKs|!1(We{t1uX6z>24 literal 0 HcmV?d00001 diff --git a/Source/RomDsk/RAM_1024KB/UNARC.COM b/Source/RomDsk/RAM_1024KB/UNARC.COM index 8cc907464fefc5bf64db6ef689a1eb58346d2a88..27ee7afa08e5a4094ae768b8f14fa362569a59db 100644 GIT binary patch literal 7808 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 literal 0 HcmV?d00001 diff --git a/Source/RomDsk/ROM_1024KB/UNARC.COM b/Source/RomDsk/ROM_1024KB/UNARC.COM index 8cc907464fefc5bf64db6ef689a1eb58346d2a88..27ee7afa08e5a4094ae768b8f14fa362569a59db 100644 GIT binary patch literal 7808 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 literal 0 HcmV?d00001 diff --git a/Source/RomDsk/ROM_512KB/UNARC.COM b/Source/RomDsk/ROM_512KB/UNARC.COM index 8cc907464fefc5bf64db6ef689a1eb58346d2a88..27ee7afa08e5a4094ae768b8f14fa362569a59db 100644 GIT binary patch literal 7808 zcmb_BYjhjcnKRbImTf&I@?)gfo^L!MOyuAw3K&JPWc-TDBNo^R&xJ&>701M}jBH~& zu@%yug>!aKd)RXd-96oQVN0Rgmr1jU3Y?}k##v3A0Ys}b2HdSS$WVlW1#v>4JKpa~ zc1S3@zjh?ux%a!@{a*LG-@W(K)PwZ>o0?nirYU@OwAQyZ?$~J0qn0T0ZS-zy-1b`Y zz0KZ++q`$zwKd;S*LKIPt=rr0Yj3D;x}%{D(d*l8ue+F_Cv+DK87oX}+HUBuU- zThZBzll;$$P(%5!v4&zEEs~$rr`dl*yfk}u+|j6Ucr}i&-f@C+F+B|AwMXRO&?n#a2(Y<$9N!`7Ki6-No7*10{!y9@mgCKID1>NvT~gbG0XLanu&O zR1jtsi(ch(Tr}W-PdUEx+5!9`$4qi`0p;0n!ULk}1Za2ftEn>=q+aCDawnjmre3IN z6KZaEJjd~GawpIN3As9#DbGv+Uteqhx!5p10Kps__R#}dIN_R5d~ZxTQn zn;(;=tCS9d2AiN|N*N+YBPoeLAY?8B*+EKz!ZQ0Zoy0j-I-ky4>KC z6_h7BDH)2G$Eet}9MqslDA*(tjfW%5Jw;P|jxc&`g1s;thJ}L<`<_TW?EHXB@~?1@ z57mB>r#)~qvYJ($JTw%;VTLt09EaK#xTwWBS-HR&c=?ou|CqZ`Vp!0YDfA-bYFSo= zv1OInbU8hN5*pO07bV65=*n~aB&RK~&L0w4v%)*o$|1<{tdSRuN;TvSD{AL^t35C@ z7oz3_rB2K_F(H`VqN(Dk1tb4FC)+e`$ZHuw$HE!(x-Q^SG94FpF?)%RdKAY6j7AJxPgRb})*Oa@W{jrtW;Szn zZQjUFy?H+~efr3CLu=N<2hx$(s&XStIn7I)R%H!~CKQc6VHVYNJO$oi;D#%p9vMe#peXpQp`*FmJl-HZ-gPQ;98wCq=q#vHnXn8+`~@w2|GRH z`Z21sjen+;zM++D1vlu~I<;8KPy)`Jfswm3B9E&n3?G8?wMR|uVT?-dc{8^czCg0whmyrKnhtdim`RDoUhni4$5j4BH z5m-Wp6v3Gvyr(MEzf(xEX(1h2tcoR&L|h0Z5PdcpzfRPzSshx&iLvje;V0~I+h&;Q zoDeEE!{Rh@IfulO@v43yD5Qs^u^YlrGUQ^OH1bx>~qtZ$%;>&ow*m(H*@U2_H+%O$!mf4 z*&i|#71*ttd3R?0O!*ySsr#KqZ6R4Ms-z{k&a{|ZSDO9wu%+nkIuv)Eg?!0}JeJXU zV;8YzG!%}|RC^+xOsvyAB;0-AC|o#K;kV2@x7;hLlLDJQ7p&@!OGMtYJ5iw-gEJTP zF($jD7y-u5qO$V~rCq6qvma@8ilS_rpqff{>}!;8le)gYzrX!kCZ;6}d7dX(;|Myw z>2pafsg)#RbvHxJ1JDsa=J;_vu)5ja5*M%^!kGFN*oo^5z2kPMR(riSUn6mIPU}#kd%w z?g;Y^SvZRrnO(1QY;LCVDYp|hXAH#A$+Q$}6}Ao^5w{M{)G52|b!Up~IVU?;nMY>W zQher(Se@rqnFV2MRqHUBOl%C#=gu&t+3%{TR%4Z4Ex@Sz*|-!P*OK`A7q>L6T~eRP zw|{Xm-#h#SK8GhImkq)ZS3MRej#gu!_;C)S4gXV)`FD=i;8})LFL2`y3LHg%n93&6 zth9?ctVXUbgd!$w#(>Kf(v)Cbl%KJ}`SdEX%ftw3yJ%6GKuF+*lMPySYus5hEL$y6 zDV9V~)X;@W*8)8rm0Ztr;fYMtYqToXQ`7WxE$(%^+gTuY>&=q|!$;tKNzsXE=O>EZ zejX!T3}arD{}Fei_$QZzJ^^pzt{}#k%_V5w9_F<;M-gP+-=slFu6xXcDav zu@;PR)|`m(Hei0r$qyGq?S0adH_%KyN%5EI6^P=!1p=1-JsPY zl}QGfKW@+#VLkQ0vz)xm$lO|5L$OI&0goQd<;ll_|1EdZ1fDq}xL<#}WMzw3WS%DVbo4w- z)Z)2X!eQ2MW-!GcDj?=~+yu%lXbW+t z_Ed`+tNA4{XGkzDNC{jlE(b76D$DB>H&ce+`MRDi*97O@SwdMh{CMYf+xIz3<@dQb zTBc^7AjuyYll-X?+@2OuCq?CCbfQ70s70Ml(K*#Rk=CVNOs2J}sfUetaOpKh&&6<0 z+SQHMjJb8GhvzJ*+cIxb|4REDBF-h^Wd9NiJbrho?Odwioc&TfF7GwgTqlqfFwc=X z2uYg_5*VH^Iw^W5J&v~t{zoM`oz9>_{)m8k*vUI-dk*_Z(zYH(GfPkF!{A)#%+vOr zDMV`(P9uRtQa)^`aS7@9Iyujn9?GbgdY~E-wr5fEXHoOJjP1cxK)%;_;Nrsd%C0|h zh=l78Sc_JTrHKYzY&MP|5yShQB%6n(!}j<+I}Q0aFUrS^7wxkq?U0bRe<3Z-jvo8f zQTTB7h`4|=@E7*OkWhe=bh%0;9XKlHjmy6=Ch-V8`jS&Kt~Ie5e>J7eTUYv$Gv^=H zn=VO&2}T@As}5VgGbG?qO~QK$Jc6Vo#dlUY_~yw!NtrWkj9kpt;KfYX6Nru;ld`v9 zfE~TvkNSiCz8Sgi>q~?=|=ZaPX0q6^M_YU}jgkw{n_xb^(Hta*&`1`XGHrPEB)NgXN z*WcY-joAyZRoeizKo2qlUr*06w{A55vLy*7V7q=(M#6eRAOo{iH+dU@sCNzq75ix~YCUkU7`_{bUxdNWapz zEdBDF{FV7^8IQ>F@AzxK_?pQ;AsPdHBf;*jy#uguv$JMBDQ|||BhVJu?GFw>eKl-F z&+DwF2;Iz+3sAp15FGG#@)SUmZ@>@j1LzaPxBS6iAh;gEt$_jX_XY;L_QHPueq1*M zSbt>+tT@BUQXsvJzTRFOwWk|Zzq+6F-P)UR@oV6)ClK848(2@FK==59y~y7M4Zdp! z!(P9y(;r-qDh;3qp|kh(`8&Z4cJgEd1tfxte0gPv{p*N#E(`F#^1k8-S7R&(gKPR) ziPQA&TUk=LBmzVJPBNNx0zdb{04ZN2r5=GOXcWGOWwiZ>gmnyv(&WwhmWPh?&e zw7Qzi(6R|vTsISn#9o{}==BfzgFqrMiLe+ZGI6;9|Ky)RS{xYkL>V~4ZZ8? zFa|>tQDe_wPY)6POOaL}%e*^!0vK$rqJYS^_I3pJ_xT38cVlSm2oCn5cXnnMW_At{ zXFIM}9EE|S*N?^iZuFnw4iudj>*^U^-Z54P?Dh5Ie02nZBt8Sxh<3xM-ZiinX+D6C z=YNpW!^)%6Q+0K9xA}Uv`gd>h1?&5Q+k7Lp4fftP*i%2))$Z@}b_}!z9&Pe>?C9WvWva$gTcG886OO+sO4NT@nY5(iA1$%m3m# zsW#_b^vk(PWD&?QuYH&`B0a!!-JvU8*}SJa#nYS|Ah=i>6W zt-D&ry7A>@Iw|b5e_+zIUrt#zSf?};HnoSwA16ma zB!T=f^JKR=jhG=Uz{`5>qFiN7W74w9IxflD3P%LSr-~|E5nw;ViT0L`oSkvatZsSp zq`GB9qIjO)e(Sd8wYV3OKT*E!N!kL|(PNP$CPVOmSh?SxjqBM{`T>*amOq;{tU5H;|zET9TLdf%d;u{ zPaz&6Y4}f}*6lb4-U^D~q}pZRF?aL^cyw9p(PO7xEkk!pwZ8|L+#}hFWTu${Mn(R+ z_&D=MP%OdZ5iN5B}3_bSpL_+ zHU~p|6fgr;L(#eDFL)E5v!PB8mW$@fD9nXaj^AOacKjaZbZiM`uCT}WS3Oy1EQ9}t z4E|Yg%|rOq>t(W7p1S>gSWCG+fqS|x|W3>p;F;Pfn?yQq> z4^4>70`}J;Ee6nD3J-ac8qqjC&VDqB9g6C$m&;85;`$IT-V93ZM#H)OjQD?sssC6_ z(^&xxD}tRWbDaa8rd|-$E$dAGoitpBj>EE^T(;DsWz8N9YxJnu0*{K#_2jTB*DSaf zanijN^w-aKI(0kx5-NvwpR>h5iY2DCh1RDr!DGZb(nZ(DaKb~`b39Ao$#_)q&`)Ht zZdk-pQ^iVXlDJ%3g$>3nn6*ZJJ7ox)vyr;_h z$}u)#N{G1tF|8^jOXaJO+a;10LTCstYKcX3%rmW`nPi1pJT%5SOYOW0Xu)(Tjc@G; z-k@oro_VL7Rm)T5X4B_Ue38VG^=|`ju90H*%rERbFmIgM@~xRISVXT0W*GM~Yi`W( z841H0YAozo66sOLB_OdL(?k_ZE2%0XXktE-x@xS*q^=e{)}(w#MKUcVVv9+pkP2EV zii1Kqe38b%xTR>Q$!Himr@dIs>>e?CX(`os8MJF+Y%`JIor6NeQ&%aGkDb*yYsA)Z~r~Xb3OLN z;THCTVFm2dh{@7%9EipWAp^C-+f8O|fu{}`r*6LtQ8d0;nlJuy;QZDyWGy?!xQS4NC7+N#8tM;fLueqx2z#-Gg=8cd z*~EzS?&f-T6K>L*`{>-YolGa!>9mt`CwZ9Xn81JaFW8AP4clg5CvD0Mm z?%m#jJ>kAV|0xl-`U4_v8I6X0ebG?ZWH9WH_y$BL#>An1=V4#C?-(!~s*8>dAI8d) zL%w4{=yi_o9rqpv_LfoKiQ#}4aheRf-Gs;4<9Vi~4m`rPIvd8jaJxSe#lAoQD|#Z> zAH)UoptxXOVaK5$?hh-@cpg>a{bD5@J&!kc_24g5<8c!O)p-5dg?oG_MC^-T(H|WY z!#H#d`;LZAi6+Aux8if>io`m1fd>o05RUYPMKOqneIpSuQvI-4a~I@UxmE){J_1qK zDNhSwud{Zyc$(`vT2@&1jSY*Tkthal3Ve8#`ajvhsa^Ps*#A%8JTR53*RHjBerP_T zq4m_SWns6|R&X7})K8S2xMu~kbrgbUry42q8&bnsLKD<}4v^VSz zK9q|!nv(cqq3{V`H0loyJd$-AevozVpx8HrPx%7=et&eVFtrb_xz%+7>(v_?9t-;i z2BTQ;R^uH{IqbE{eJ4IThPy*Y#c&jR>ToMebU!NpJ4(;IW&TiuvJp}v@6_zL&hpn; z0+q;D&2ms9|47TLP>Z}k=F0^=eZSDbt9^GOn zIwfB)F)1_L?joA*L!;Mwf-bwA`g*FfE*$<8=&$ z<=>blVy=dHmVXX8HN<5`qTfBD$xvqbTO=;wZ?cz|Mp~G&BYptcz1&YAAm&pgMyHxc z+=!5vb()9-Hc=H2pVexOH=51nhWA)WjzD?@wUZMfHuVX8y}6@;lJxgw6a9 z2vQC6#iv!|X=t5V;CrWtJPBl`ow#yLleQU%cq)O58l?$|c@DXee2#=r-6%oPS2d_n zf&mz9l&ErOC?nhwGZX>M;@Lb)5jP4Qm7vNSC$IEr=BJZsm}*iTe=>p1R{9fCT@#~! zx09oQV4G)aZ~U69oM+>yxhaXVFfXFywEP_s3{Qc^RAPqNPhUBrv5sGyiOb~*2`2~1xS zo?{+kT`^geTL6+rBWUjZ+y4j~H>Pg+$54&_fqJML8Ypkjk-;vH=ZP(2(W`a+%q^dk2(BK+znHALZ zXI#cgXC)U{l^`-$sqUuic}ekVrp>9h^&-)f0I$n((0<*azFbelobNz5ZG0jl6j4Rb%LKKmR0gM^q`;% z{?7|EsXqPk0qB-k=ubDB@Le#Mo}UQiW}C1fEngw$9h*}-E0(sE))!S(#j9G?Si5~5 zT;SfNRSEn~YW~Xabv!B^*>{+QRl-LN_Wr!Cek1d3BeC4YZ!_je_kO|Uc#{9Bk+TbW zdw^K(bz=^SBI(fOiM9?zFcSv;oWZRZ$ORq(Rxj}H8y6}i zW91n`wx`t4P;D8#scQJd0C8l!Hj8n3VrqIx9ya6}@jY;VUPfr@-9Of++1VzcV|MfG7W&?7uX{) z@kOm*X`6_Bo&J4AMa81IZCaU&Df$y0l@rUg@?YqAf&f2KxB2De+iC9A>B3~Crf$uC z4XbxnaNi3IjNa6>;Sad)G6;o^>Sy1Zt)1P{ekOa+VJ3@}jiSnwWvc0=Om*qXFTj<; zLf3=4)n&?`@>8y|@kR51lFhkzVunC%=~O0Nt$*J7%;^jGH59TS+ac^DhgZc9pyq8sE0zpQ?_9Hcwid+bsVwnFjHRP$t_g zlutKz*mz5JcO`GB*V?R>no6rBDc2XzO{FB~OK{kJ>FAK2Q`^g}sxymc@%`5Y!?fH} z41ZJfz4J40$d#p)-MRtx;+$)S`D3QocyZ8A{${W?EV9OCXg!be)y|(9B4zB9=WQv+@p#Gy(Gz12+08(gOYL zp|@GN#?1V>#E!Uac`erP6!HC;WUoumQbkJXmEZs@&toC0gv>2Lj8MniCK$O5aN~c* zJ~;`e;0zoyJ4@C|+!Etf`nkDZ;mJmLGmt>6JTddJqT+s%Q7gnb?h-s@UMWeI=Us4~ zV8uXr0)I4DU>5!Xj25|F1+#a_VmM~pb%LgxeM2aUS?Rk{8s^(+wJ^)7vVTJrvzy^> zu_-X%e2;bY!u!hhf9&07li9LLnN2|+>_b*bo-}9p;S#8@ON0*PRSrfkQ2M-D(ChPh zhgvTX`t0kO9I3kUWiy<&?dG}LNhqsF{K*_O!Gh5( zy0YE3v%7EC-%q9FR;LJd#J*a zw!ICJzYURZH}{0IA=z#|eedpL`6KUF028U9Fjq#Z;Z74+pPWy@u7(PAEW_y_bugYd z&`TM1F3EpxzE?j_lQC02%n~=Y0&LpsA{0)a@ zf}}Z(Scgbmb?F<9qHosH_a#Mjr?pig)rs=Ij9KCBLL!SOd=eB$dEc%43;%KL=aTlI zqaKIFlOz7H*w0sK2>?{#D0EQ)37!(e5kDZn1{@0GL3lFUxm0a-Zl zZr`I~cu@59i{V;;22p^nks<%^u-K1XxL&!yHw>TzU~F)pfZl{iwE}Nfp~nAivjB4+ zkO2D)1N>Wg=y@2ByKw8%?Jb?24h2hlQP&D%a{(l~u*ZoCct^3kYOb!XZY_Lq12I*cUo6?2G!30s`y{j|BS$!Ht5_6)cC=z-+)D6mh_R z!VeQY+6T@8?pmLc)ejSEvV#EL{h&Imc!7}@QWFq^1JOZr2o{HU7@1a~uHJ;2nws|b zg013F`0U{s4tMy*_KXDgj08L*13lt!S6{R-6$q`XJE%tj? zorbY50?zLb4h2K8Am0fK&9!=A>}oHV$GDIp?CKDsgQ0#Geg@L*>VZUo;vU~AxPwTu zFAAdAwa*VKFb3~kXw_eZ43F0J7KUrYLi;f75yI*~p_>f*LQ!7;