[comp.binaries.apple2] AutoUnshrink 1.0 does not require or repace shrinkit

delaneyg@wnre.aecl.CA ("H. Grant Delaney") (10/16/90)

This message was originally submitted  by delaneyg@WNRE.AECL.CA to the APPLE2-L
list  at BROWNVM.  If  you simply  forward  it back  to the  list,  it will  be
distributed with the paragraph you are now reading being automatically removed.
If you  edit the  contributions you  receive into  a digest,  you will  need to
remove this  paragraph before mailing the  result to the list.  Finally, if you
need more information from the author of this message, you should be able to do
so by simply replying to this note.

----------------- Message requiring your approval (408 lines) -----------------
AUTO1.0.BXY
Date: 901013
This is a BXY file containing auto-unshrinkit v1.0, primarily for blind and
visually limited Apple II users.  Works with speech synthesizers!  It also
contains a file scavenger which can attempt to find the remaining good
portions of an archive which has gone bad (whether due to bad blocks or file
corruption).  If you get a bad archive, Shrinkit and GS-ShrinkIt will
currently (10/13/90) not be able to find the good portions of an archive.
auto unshrinkit will. This archive requires any version of shrinkit to extract
it. andy

AUTO UnShrinkIt
---------------

This program is freeware.  Please distribute it, but you may NOT sell it
without a license agreement explicitly allowing you to do so.  This includes
bundling Auto-UnShrinkIt with any other products.

Questions, Comments, and Donations are welcome at:

Andy Nicholas
8415 Thornberry Drive East
Upper Marlboro, MD   20772

America-Online & GEnie: shrinkit
CompuServe: 70771,2615

Release Notes
-------------

Version 1.0, 10/13/90 --

This is the first version of auto-unshrink.  This is also a very simple program
with a simple mission: extract stuff from archives which can be built on an
Apple II using any Apple II which can run ProDOS.

If you launch auto-unshrink from a program launcher shell that provides a
startup filename (such as launching from ECP-8 or Dave Lyons' Davex shell),
then that archive will be opened and the contents extracted to the current
prefix.

If you launch auto-unshrink from a program which does not supply a startup
filename, then you will be told what the source folder (current prefix) is and
be allowed to enter the name of the archive to open.  After you successfully
enter the name of an archive to open, you will be prompted for the name of a
folder to extract the contents of the archive INTO.

At any prompt except those asking for a filename, a 40 second timeout is in
effect.  The default option in most cases for a YES/NO situation is YES, and
for most cases where more than one choice is available, the default is chosen
for you.

AUTO is capable of extracting the following types of archives:

NuFX (ShrinkIt)
NuFX (ShrinkIt) inside a Binary II envelope.
NuFX (ShrinkIt) inside MacBinary.
NuFX (ShrinkIt) from America-Online.
Binary II
Binary II inside a Binary II envelope.
Binary II inside MacBinary.
ACU
ACU inside a Binary II envelope.
ACU inside MacBinary.
SQ

NuFX from America-Online has a 32-byte header in front of the actual archive
data if the archive was uploaded to America-Online from a Macintosh.

Scavenge
--------

Q: What do I do if a disk which contains my most precious archive goes bad and
   says it has bad blocks?

A: Copy the disk using a disk-copier which will ignore the bad blocks.  Then,
   using Auto-UnShrink, try to extract the contents of the archive from the
   good disk.

   Auto-UnShrink will "scavenge" its way through the archive and pick out all
   the stuff in the archive which is still good.

*****

Q: After I did that, I ran regular ShrinkIt on the archive and could not
   extract everything from the archive.  I did the same for GS-ShrinkIt except
   GSHK said that the archive was "Damaged."  Why can't I extract using the
   regular programs?

A: ShrinkIt and GS-ShrinkIt do not have an archive scavenger built in like
   Auto-UnShrink does.  ShrinkIt displays an asterisk beside the archive name
   if the archive is damaged, while GS-ShrinkIt actually says "Damaged," but
   can't really do anything about it (yet).

*****

If auto-unshrink finds a damaged entry in an archive, you will be given 3
choices.  The first is S = Scavenge.  Scavenge works for shrinkit archive by
searching from the end of the last header looking for the alternating ascii
"NuFX" signature within the file.  If it finds one, it switches back into
normal extraction mode.  If it never finds another good header or gets an EOF
or position past EOF error, then the scavenger will say that it has reached
the end of the archive without any success.

In the case of getting munged data when regular shrinkit would give the data
corrupted $81 error, auto-unshrink will close the existing file, set the file's
attributes as best it can, and then automatically enter scavenge mode, and
begin scavenging from the end of the last good header.

The second option usually given is T = Try extracting.  Although this could
lead to an amazing crash, I included it so that people could at least attempt
to extract a file whose header might simply not even exist.

Scavenge also works for Binary II files.  If scavenge is ever kicked in, the
search for a valid header begins from the end of the last known good header.

Scavenge will not work on ACU files.  The main reason for this is that the
ACU file format is protected by a 16-bit CRC only.  This makes looking for
valid headers amongst the data in the file extremely slow.  If someone
really needs this feature, send me a lot of money and I'll add it.

Speech Support
--------------

If you have an Echo or SlotBuster card, auto-unshrink will make use of the card
and speak as it works.  If you have a Street Electronics Echo card, you must
put the PT.OBJ file from Street's distribution disk into the same folder as
auto-unshrink.  If you want the current Text-Talker software to be overwritten
and Text-Talker reloaded (or just initialized for the first time), hold down
the Open-Apple key on your Echo-equipped machine.  If you have previously run
the Text-Talker software, Text-Talker will not be re-loaded from disk unless
told to do so via the Open-Apple key.

If you have an Apple IIGS, you may need to set the system speed to slow.

At any prompt for a name, pressing Control-L (once) will read the contents of
the name as it exists. Pressing Control-X will clear the filename and say that
the name is empty.


FiLeStArTfIlEsTaRt
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()
HUNSHRINK       AADtAADAA8)4aIAI12EANVRBEEQtAAAtAIrt
(2Ksg2MsGANsw2brw(ZzgYAkMBrVuDLMQDbv(6(A0bOsmLA0AAa9NSfstCrhNDrv
QDLo92qBf2MsPALsw2r7uPA0mDrvCAN9gVv5FCQqQlK9pWfh92IA(2IsAACsZq8v
DAJsayNIf2KCDANswCqzw(pzAAGKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAFAAAAEAIABAAAYEAAAABAAAAFAAQAAAAEAAAAUAAQAAAAAAAAAAAAAAAAAAAAA
AsAs
FiLeStArTfIlEsTaRt
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()
HUNSHRINK       AADtAAAAA8)4aIAI12EANVRBEEQtAADAAgS6
gcETB5u7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAiCAApq5)y34Ahm6ADMfjNWaSpOA9w3YW6n6A
DEfjAzQjA7Qjp(moA0JAgr8v4D9V)iZrJLQKDAtADDAI)CAIqwyxDAQruSC0KLAg
CAYvQ)SyA4I(A27AhlsA4MAkdCS6KPAAgAP0G)LAtqCLNCiBiOAQH0LA)lCIQGWy
pjzA7kMIdmA8oPQQgYA7peOkWX4RFqSqAk61pidhZXolxCAoYHp1Qbt5XbuAQjt5
ZbuAJfdpqDZNJbdpkDt0ogGIpCgoA0JAA0ZCQjuCAI69A0liA0pCIAqCJAgHKAgP
9CBkJpAAA0JEA0rChkUCJAQnlDNiZDN6a2AIrqeCl67vE(ryYKYuBS4gK75oaT82
N0gCW0KAGAfna2AIA8cha2AIoueCSuJhMKYmL)5gSLt2Ju82quskZ(YhLzpjLXsr
IKYpHS4gKgpi0gTDgUTMvhGVi5mcyJXZEBSe2lmcFBSZ0NXYwVVDyVGch1EIixmc
vJ3bNBCL5JXYuFGbgACZ3AjMNIzNoRVDgMXavJHchJ3ZpBSbmByclVmcyF2dg4SZ
sBFIzFWZkBSZ0NXailmclRXdiBCLgQXdg8GZ09mblNHIuwGbA0QDdaRrgYA8FqZD
iCgwtq5)QDiBNACevNlmjJXdmBSZkx2bgIXZgMXatCADw3pFNACCBXomAwch9Cgo
JMAAtDCgsje)QOAAW0q8IAfna2AIFedhgAw0p2vjA3IANAiAyFkmph2YgUmdg8Gd
lB3bg8jbgAADgY57t2vjNKAwiOAQB3LAB1pAsj(AQKAwAkK9hGQjhKQjdmBIdeVr
qUTjqATj)CAIqQjyItBka2AIhPcD0fq7lLNogSe4tCCAOCSmggW)tqJ3QDiBAk6Q
CAcja2AIzVGRulGdpRXYg42bs9mZyVGZMAyPvDCAOCilA3a)A0oAAI6ACEcvDEQn
AzO60DpA)CAIqwixgMAkgoJ3i2vjA0bB80NEIBtK1DhyNCTqpqSMy0IAz0oKAAiK
v48vtCiKNASmpBimhBycoNFIulmc0l0ayFGIph2YuUmdiCQDA0LAA0JEgj(C1DJM
nQHImCATQAQrQrQyB0aFHlMEt6A0JDhAHANTQIRrwLQyHw0A)1aJDAPEkMNT9Wgo
dDBgQrCPQoMZwma9qETjNCQqNqiMgoyMO)LAgoyLgkZrgoZDgMXaTBSYpJHaJtmb
hBCdoNmclZXaulGIkl2chBSZpJEIyFmbJBSelBSSlZnbw9GbN4SZAIKAQAYvLAQn
wAO6gUPkMdCdtaKAJDBgnBtCQEYrQfUyC2KYMlMEtmF0JDhkSBtANCYqpqSMy0IA
z0oKAAiKv48vtCiKNASmpBimhBycpJEIyFmbJBSemBSSlxWaulGIkl2chBSZpJEI
yFmbJBSelBSSlZnbw9GbN4SZjCCAAw0JEIqpQQYvqIU3KDG0pWPEx0IlAkqKqITj
qMTj)CAIq8izZ2KIa2AIzlGIuFGIDFEIhBSVoNmclZXaulGIkl2chBSZpJEIyFmb
JBSelBSSlZnbw9GbN4SZAIKAQAYvLAQnUAO6gUPkMdS1paKAx0IAy0oKz0oKAAiK
v48vtCiKNASmpBimhBycpJEIyFmbJBSemBSSlxWaA0gLnMKImCAT9SgodDBBQriQ
QoMRUka9qETjNCQqNqiMgoyMO)LAgoyLgkZrgoZDgMXag4WYVNUQyFGIph2YuUmd
iCQDA0LAA0JEgj(C1DJFnUNImCATQAQrQbXyB0qO)nMEpOD0x0IAy0oKz0oKAAiK
v48vtCiKNASmpBimhBycxNFIlVWdkVmepZGIuUGbgAQDMhyBiaKAg0bB80NEcBtK
1DhyNCVqpqSMy0IAz0oKAAiKv48vtCiKNASmpBimhBycoNFIulmc0l0ayFGIph2Y
gUmdvJnZBBSbyVWbhNWau9ULulGbN4SZAIKAQASvLAQnwAO6gUPkMdCdiaKAA2bB
80NEgBtK1DhyNCbqpqSMy0IAz0oKAAiKv48vtCiKNASmpBimhBycoNFIulmc0l0a
yFGIph2YgUmdz5WalRWagEGIjFWTulmQ5JXYpZGIuUGbiCQDA2LAA0JEgj(C1DJM
nQHImCATQAYrQrQyB26YHlMEtyF0JDhgVBNTQIZrQLQyAmqTqETjNCQqNqiMgoyM
O)LAgoyLgkZrgoZDgMXaCBSYh5WagkncgkUSslmZpBSZpNnbgUGZNBSYCNWYh5Wa
gkncslmZN4SZjCCAAw0JEIqpQQYvqIU3KzF0pWPEx0IlAkqKqITjqMTj)CAIq8iz
Z2KIa2AIzlGIuFGIDFEIhBSVoNmclZXaulGIkl2chBSZh1EIpJ0YyFmbmBSelxWa
A0gL9CgodCBgovAAQSB4VDS9Aw0JtCipNASmpBimuBycgQ3brBSY39mbhBiboNmc
lZXaN0gLlJHUgM3c55WYltGI0BSexByb0lWdAwgLYmMIhOATFKdq1kq1pedhYXIA
FaaqAAa2RadsWbO2mLA0Yb(1mLA0XXa2QSUyWXq6Q3bypCG5WXYvFSUqAk61pidh
ZXopxCAoYHp1Qbt5XbuAQjt5ZbuAJfdpqDJSJbdpkDNwokDIAnKYpadhXXISFCQq
mmK2gmdhWHLAmjdkCAt1mft5CAN2lmt5Ll81lqOkjms1gQO0ghSOFOaqLlq1pedh
YXIAFaaqAAa2RadsWbO2mLA0Yb(1mLA0XXa2QuUyWXq6QXfy5AC5pCGKWXY9FuUq
Ak61pidhZXIrxCAoYHp1Qbt5XbuAQjt5ZbuAJfdpqDJUJbdpkDNt8DCYRCCKLDCK
jDCKGAPKoAPIgBB8O(vosOQftC8Hg8LmgNQqgAQqgNgso8JIkmTpY0IOXwYngAWn
wjy4wDyEcANKFOQqsmaOpiThW04)pCWn5U4AFmaq)nKOdaRjAkKYdaRjjDCYFAPK
oAPIpCP03U4AFaaq)nqNdaRjm2KYun8AtWA0JPQqpCmjm2M2DA9ADwaztCGYp8Lm
wkMMpaP0i2IYwDSKsDPKAHGLgUAMQjy4A6q4wrsAA27BvksAOaP0grCFJAPACAYv
QAQn3DhyqQhroDAoqYSuQAQnlwMyzDpK)CAIqUBytuKsNqiGNqCHiqCJE37TA2ZK
Qo8AAAy9bo8vsApKwzUyZ14PNAymF3gmvLv8yDq8kHe5n7e6UDNoC)srgyqyaBCA
MDymOCimMCW)gCcBAkLAAkJEQj4)Ew49i6OwkxUKAASKjw8v)nqKD0Xj)iZrA)Br
DkKIiOOY95IA)56Arb4ADAoruyuhaOwzD4srDfAT95O2uj9AYPQfD0n7D0n7D4sj
P7ourb6AD8njOyupuOAgGOQf4g76OCgoiOQ7u7IYUw0AyLwwlMAA3CgKAQAAAABA
AAQAGAQAuSN0KL8zDAQAAAgAEAAAQAAAAEAA17EAsluRaZW5r5WabmVja2AIu4iL
gAAIQupWMDiBZwkm4BilOCymNAS)g8kmPBSPyVmdpJ3dsUGdgIFISBSPh5WZsUWb
gMFITBSPwl2aRBCLg0DIpVXUE1Ad3Byb0FGaMAyPJDCADALmWGMTdfgowbZiQosB
YxE(Kool61rq9iklIZZeWCJYkaJkWSqlAbJwWyslPbJzyL97RP)0NAS82)sm3Lf5
0nu8AwQ5duGIgBQqa2AIuXu0l3e4l7cDuD69l3e4MA6vvDCABkqlNACYrPtmMAf6
CkKANACY1HtmMQf6DwEANASoF1gmyRHe0NWYn5Wau4iLMBAItmZ3w3pFNACCBXom
AwchCAcriCB8B3LAAmgA93OIAzO6yDpAYiHIdTgowfZaQosQAzK(ABsApwOsuk8f
J3BkfA)LQGWyfniAwuVyBl8DJHBsHArOwDAwOxEzAA8lpWM8ZisLMKAwJIAwtDCg
RwU)Ko4lv1rq9i0lIdpbY0AYMgwfIe5dXG7l0fZsW06lIAfna2AIFedhtCw0gJAw
CAMrwDAwW06HGAfna2AIA8chggYqp2f7tDCoIma)93OICAszMxO0seZ9ALAw8AZA
daRrgYA8FqZDpCwztDCigma)93OIggYqO3f7tKAww3pFNAyFUXomFOdhhL(11D66
F2A8BXowAwchXGBTdaRrggP8FqZDXX40URdhgUGatFmbpBSZBX4cAwchCAcrgQB0
FqZDXX40w1WZlRHICXYZRwEAAI6lCEcvgAYCo3f7CAM7gIPkFqZDXX40AIchXGBT
AzKSABsAtWCsw3pFNAiBPXomImKA93OIgAaqp2f7tDCiW0a)GAfna2AIAIchiCGa
I7IcIpImdaRrgYA8FqZDpCwztDy3W0a)GAfna2AIAIchtqKaQAMAQ0oDI7KwDAPm
YmEIg9XKgATqKzPquWO0wjJyAIKvYisjYmEIQDnopCA1L0IAM0YmN0YmA3amDA9(
ZaHTADQrNWAE4AMEZ0KYAmCwZuQzNyO8un5CQnJDN4(AM0amAncmtqN0JnZDTDtE
AAGGtCAANScGtm5JNSsEIkJMAACe0A0vELamgAEopSMAELKCgAEooQMAAIAYtmZW
NSsEIk5RAkKegSsoAACQ10KxY1YmAASmXF0vghSmYDQAtiHCNS8Eim5ZABKxEDAI
piAsL04)YgSm4gCYOACYA0amKABwADRj4ACS4gWmL0KYsDfmNCQqun5CQnJDN4(A
M0amglcmtiN0JnZDRDdCZiDItCGGw3pFNACCBXomAwchDAUriCB8B1LAAmwA93OI
AxO6yD9AdaRrggA8FqZDXX40tCGAw3pFNACCBXomAwchCAcriCB8B3LAAmgA93OI
AzO6yDtAdaRrggA8FqZDXX40oBGAoZdhmfdhCAt1get5WHLAQ2Qyv20CAmgm93OI
aOBT9qqCIpplaWZvlCGSli01ghk1Qbt5XbuAxCAov2o1TwkmAkqma(ajaOBTQbt5
XbuAxCAomrq1CAt1xet5Amg193OI4DtyaOBTdaRrpmB8tDShUna)93OIg0Yqp2f7
tDShCna)93OIaOBTSopNaKhmSopEaKhmSopEaKhmNpZPaWlmAo5cpgEAKpE8gokS
oppvJ8QK6kMMYMAkJcQatzEgAAa)wrdsAmQC93OIOzEyNCmmgsZWQupWMDiBUwkm
Z16miAxma2AI0HOxDDa4yL)70Df9sSe5yXMokCq8Z1KAxCymUwkm4BymhxymXABw
ALGLgIBENoZDkCKwqiGAxCCagoomiqZsNq5)gAMENoZDyBVDzNXZuFGIrBSegkXZ
g8GdpVXcM4CdJDCADwEmiCQo9i()wvJkZ1MF1D9mqqgib6Zv9qdhFu5nghz2gAGG
QrZDE)u8gO9zyLfxgK)7tCApMtZWnoZsAtCKGVERLh0RX5ETbiLAMvpwby9m3vZ6
ciwmrw5FceDngxpTcyGnP)ayyXMoy)u8v7MAlTMojnu9XDQ50nu8QDa50)u80Pe5
AQe5kHuwhDNoujO9l3e4pTMAO3q8gS)71)uxAQu7s)u1l3e9v7MoGDK9uX)7GDA5
lze6v7MoGDK9uX)7GDA5lze6sHMohXu8gmP5pjfxzT)8vbNAtXP7GDa5sze9hPMA
0fq7w)Mog6e5y)uxkX(6pbMoAUO7k7exm)MopbMogWO7PXMqAkqxsnuxMDa5rP(7
AQe5wXPxvbdrtXP7BAQ5IYABakxDxC7G0Ors4abt7qbu6jcv9z)(C)v)UTcwCTN2
G7cyET9zBLdyBLMxBD91TD90PPs0MrswTLcySbbsFzM1TXM2OLN1DHMxUHMxEz8z
GLt1GT90JTtzJTtzCLt1WPdwSLdwTzcxBMd2AQAAn0IAAAAAAAgAKAAAAMAQAAAA
AAAAAAAAAAAAHAAAAIAwAAAAAAAAAAAAAAAAAAAAgAAAI)LAw2pUX1qFB0Ynu3on
91InC2YoH2Yot3YoIBWna2AIhPcD0fq7w)Mog6e5tCCAOCSmggW)DoJ3AMAQgAwu
A)LAg15XCA8BAQwwAEAAAAAA)CAIdKXwAHAYAAiATi8vDAZnayNIdiZreOUjheWj
h(WjhSXjhuXjAPAY3CgAAkKAd6ejNuQqp257ZzEMAkand6ejNCRqp257ZzEEwkan
d6ejNuQqp257ZzEC4kand6ejNuQqt2574sgNMhQ6N2Z2g0J8K)LAw2J7JDWA7DPT
ayNIAAABAA4DgAAAK)LAw6JAgAWAEoJ3hBAAAACAG1IAAkqneeUjNCQqp6JRF1IE
G1qnlhhnwXI8eeUrFGfZCAZ8gIv5L)LAw6pQAI6AIlMYNOA0gIgbEoJ3hBQAAAAA
AACARZ8vBAmniOAAAxKAB27ABlpAoj8ACAI7MOP0gNAQEmvh2Xo(6XGGpqfh1XIA
xCAo0XU9zXqqKAQX9SfhFmAA1b(8mLA02Xq9Qrfx1X64QnfxgAW3M)LAg5ppOCQA
N6Z(i6p(77YCwCqnemfre2e3eqfre6e)N(Akt6p(97Z(N6Z7I7Z(YOO0RAvywDby
734A7zinFAjneifrgMAEK3f7gZMEKAQAAQGAQMA6AA6JGCAAbXo2ayMIYmMIJnBk
VAf(wndyuncEJTA8rDtza2AIA8uzgBQqa2AIzXe2)nKAB5IY0X0nzXqqKAQX9Sfh
FmAAB568AA2n)CAIf6U0gFAsayNIAAgAgAAAQ)LAw(pTgAWAgoJ3E)LAgxp8)CAI
dSwwgFAsayNICAcrMNA8tCaPNG6gtGqfNGKhtG6fNGahtGKgNugOtCqUNuwOpC6U
U1IAEIKogKlDgOlLgSlL0Dtyh6XrS1GG(1Io)1aoT1Wo)1IoA2aoU1WoA2IoAkao
gCVjgGVjdiKIQAQrwPQyM06NthBENGqftGqftBRDNG6ftG6ftBhDNGKguHKgQDKU
R5(AQ1Ko60MoKD9CgGVrLsTzMJM0gA6NO)LAtGKfQDRCI0KHXAPEwGUyA34EBnqA
d6ejNKQqt257gIAwg0Z2O)LAtGagNG6gtGqfNGKhtG6fNGahgFKgAAAApCAAo3IA
p3Ioq3Ior3Ios3Iot3Iou3Io4jBoOgBouAa5uAq5tC65tBK6NCK6tCK6tBa6NCa6
tCa6tBq6NCq6tCq6tB66NC66uA66ICK7Y3M0tiAopAK7FA9Dg2OLO7AEYAa7qCba
g6u7tDiiDIa)gauDgeuLgiuLgmuLgquLguuLgyuLoDhyHADiOeM0QAa7AAmwAAAA
AAAAAAAAJDAoFApCIrQ6pdP0YqKsgBbagAAAl9LAEEaCAAAAAAAACAcrh2UjoDgo
h2E79yA8pIAwvk8fMpA8tGKGNGaTgJAwKjkiCAsj)CAIh6EwqiGqDALmhiBTwfUy
cDizHAgmDLAwAAwDAAQDOBAAYbU9AEABQAAQEAAAQAQAAABAAIAAAAAAAAgABAAA
AEAAAAgACAAAAAAAAIAAAAAAFCQq0X489igogsAAo)5KQCD4zXa9LYQzleA0H0M9
ZA)Cpmqo8DiqQAtnhOATNGTqpqqpn2IAo2oq3Ciq4AZnwzUyNl8BgMA8goJ3g45n
NoZDvTcDuWu7QDKozXu8hD68gmv75X(6vTPo1HPouSf6gAADMhZyiG6Aa17Aw0do
GA9C1DhynuIT97IIa2AIhVGSyVGZhRGInFWbuQWZgMVDTBSP2F2Yn5WZgwSZ9ACV
yRFI0BSelBybyRHe0NWYRBCLg0DIpVXUAwAdYmMIJDCkWAP1wTfyRnsEJHB8NAf8
wPdyznMDwPO0LykBDw0pNASoT1gm2F2Yn5WZn5WavZGIuBic0hXZpZGIuUGbM4iL
m2KAD2oqn2aoE2oqo2aoF2oqAASoB68vIAbouCGIMNAsgYqONoZDhN2UuVmdgU2Z
192YgQGb09mbpZGIgQmb55WYv1GIgUmcslmZgMXZg4WaphGdhBycoNmclZXaQ1gL
zVmchBycgknb5V2avRHI1FHIuQXagAADMhZypG6AA3IAGDiAwIangsQquuKgKvgN
LATvKvC0LATvJXC8hAbQCAcjNGcqp2p7v3oAA3anZDiAAIanCEcvfuCIAzO60DpA
)CAIhG4zhOYrqaajhSYrqeajhWYrqiajfKHIqWGItmCINPfpQvAN0XqCLUTzMNA0
ggqag0vjgkZ3soZDlhEIlRWYDBicgMkUkFmYT1gLg0DIhN2UuVmdsU2ZgQFIUBSP
gkncg8Gd0hXZjFmcgwCd9ASU1FFIMQXaJDCAYAJmwTdy0nsGJbB8PAf0wHfyTn8C
JTA8jD98m6OThOATL4UrQWQyZDyJNAilgyqmuH(wgS)p0jf5jHu8mDK9rL)7gSe5
snu5pCQ5U2YAU2qqWAvqa2AIu4iLrNFIwBXauQWZGCCAWwErAkqqqOWjqSWjLoTr
gKVjLsTrgOVjLwTrgSVjOQgouAqUuA6UKDKVtSP0YEqfgKVbh6Xjh(XrgOVbh(Xj
hCYrgSVbhCYjdiKIQwQrqCajQ0QrqGajQ4QrqKajQgQrqOajQkQrqSajQoQrqWaj
QAQrQLQyC0qCW2IEEksqufDkQr6Yk5(Ag2qqthhqNGqftGqftpaoNG6ftG6ftpqo
NGKgtGKgNr6YQvgOk1Kn70sqUC9CqOBTQYQrqeZjQcQrqiZj)CAIhynzQQQrqWZj
QHQyZDSLNAilgyqmuH(wgS)p0jf5jHu8kDK9rPf6u6qrrPNowDf6uSe5GCCAWwEr
X1qqB0Ynu3onW2KntAvqNqaqt257JrqlNAvANmZqp2p7ZDiAgzUnXmaqd6ejgQQq
g0Z2Jv6msAvAp2OTzmIIqaZrtGC8JvAOaAvAqeZrQPfxY26B0XsqiyA8qmK2eyPI
MNA0gE6ApyqhU2IAB4uqDAdohKg7hGQrLgQztWD0NHqAQvQCfCSLNAinN0gmu)Ox
g6a5yDNozPf5uHOorDa(gmf5g(O9pXf8M4K9JDCADwEm6wUoAAgpCAcrtmC8psAQ
A14fAI6CA3L6)liALAUzpWA0A35LhlsA4YAkdCS6sLAwQLAwAAW4AAAAAAAAAAAA
AAAAAAAAAAAANAAAzHezyXO9ljOolTe4kDq8h3e4kX(5gCqru)(wunO9gWe90jf5
jHu8unO9g(75gyKA0HOxDDa4gOs0kHu4gCqru)(wunO9gWe90jf5jHu8unO9g(75
DAKARCQqQgo0AA6(gCdsSHpAQDt5RbuAxCAoDAK0mLdkCAN0gGt5QHLAKEAomLdk
CAN0gGt5QHLAKiuqmLdkCAN0xGt5orK0KogiKogCqAQqREAoSHp0xCAoorK0Kogi
KogCRKdEOCm0NuadpuqdzXIAiSfhA0LCrACEgj(n1DNMP6IYQ24qAk6qFOfhGIK9
QAQvfuCI2wO60D9Ca2KYOUoqWmNIa2AIAACLQgQrgWejQkQrgaejQoQrgeejgWFI
a2AI5JGIzVGdpCADQXYUFuQqnla0pKdhTXYnq(PINOcqt2pYNugRt25YNugSt2JZ
NuwSg0ZZgEKEw3JWHl8EJfA8DAPQayNIWCAIQKQygA2kt2ZdN2Jmt(5TNCBCt(JU
NCRCt(ZUNChCt(pUNugQt25BNugRt2JCNugSt2ZCNuwSp2pCQXYWFuQqOka0pKdh
TXYnq(PIFCQq0X48LgTrQKQy)nqBFOfhAkK9u6VjF6YhxXI8gIfhg8qGg85UM)LA
gEqep(pZgAGAO)LAtGagNugOtCqUNuwOpC6UU1IAEIKogKlDgOlLgSlL0DtyhOYr
S1GGD2IoE2aoT1WoE2IoF2aoU1WoF2IoAkaoteSjtiSjdiKI9CgogABAo)5KQDB4
M0a9thBENG6gtG6gtBRDNGKhtGKhtBhDNGahuHahQ36Jo4(An0ar60crED9CtiSr
LsTzgwL0O)LAwGagJDWA7DPTw3UycDy9AAgmNCQqN2KYg0aYi2JqA0LArACEgj(n
1DNEtCm7uPA0t2aYN3KYQvgOh1K470crYD9C)CAIhGozAAAYhmWjt(XjKiuqtmYj
YEfpFCRaCAZ8iKv5AAKAQAQuIXB0giP0AkLALANE4DNydCQqM5qVp2KnW15))5ur
)5erJ6erJ6ergjerODJC9Cgow7qVgj(G2DJCNCRqgE6aL)LAQGqZKx0ABkqru6Vj
AACYuF9vAkaouWVju6VrpOC0r1IBe1YoAAirmt8vbBbohmWrEkGGhmWjNKQqp6aV
x1IBCkaohuWjhmmzhmmzuWlrQiA4uDWAuHaauHaaQHacy5(Ax5eoDAdohKn7uWl7
uaVvg8A0Q)LAgEqbO)LAMFqbg4aDL)LAQGqZgg0wg45no15aayNIAAAAAAAAAAAA
gEAAP)LAgEKfQ6KxgCWAaHLAQ7UyxDiSBAprAAKYJrds8Ad9uGPIgFAkxCAoGls2
g4C0Q6a8gCWAaHLAQjdy(1KIpjTo(14A)1aoAkeoh(XjhCYrNCQ6gEKgO)LAgFKf
uGPIglKkFCQqAlq2gsdhK)LAQGqXMl8CJfA8DAfTayNIhSWrAkGGviRjhWWrNCUa
g9aGh6n7ujA0QH6fA6(AabeomLA0bX62vmRzluA0Y0s2EA9ruSMIghBYtCAAQrqo
g2KJpjjqh2KA1kuqteBsNqKot6JBNqaop6ZBg2IAh2oqbxkqh26rpjjqh2YNDArq
qKqzNCQqp6JBF0YNAkqneKQjNGWqg45Ap2J9QUIAFCQqhlKDp2Qhf1YA)LqrFCQq
Rl6FpiRhkXIAgUehFKrN2ASFWyqsCAsqomC8F(RKpgpF2ANYgnCmQvRhBkKCu(Vj
y2ATyaDIg4dhFKrNgny3QDG8WU4FyaDIJvRhTBfAQDQyBkKCu(Vjy2ATohGaAACa
6x8vmBSoNAynE1gmhRXYvNGI1JnclRHcgwCZphGdmByclxWahBHIpRncsxWYlBSe
yRHe0NWYAQWZm6OTNGQqt66XJrqlFAvAu(Vrp(B8f1IABkqrFiQhoDSCAkKsFeeh
AUa6FaehCBC6)LqswiOIJHQpEAdAwDQpAU6wlqehrXYAQmQxAU6GQiQxmXaFgBQn
FAtygIYqlqJ3AUI6FmepBUaAgAC8gObFDELAgBQnFAtygIYqgqJ3DEbAIDQhFOQs
(xUAAkKsleehmXIAgBQngBQvyKEI3DN6l(voAUICFmQpQkcAgkBslObFAAq5IPQk
Riepli8ADEZ6Qjg5JYuAFqeprXK6MlehGCrSAAKHFyQsxisEAUIDMELylGQhqqAE
xqQvJ0LSliUsYAmExOSstELKxKTs8E7NxGUsFCQpSUaAMBQhKE7RmAgJmoQABYCA
AYiCKEgJmAgJmoQABYCAAYiCKEgJmAgJJQaAQCBwPAaBxmFTJjQpBA9)BUKyxCZO
5GQhYELgoCRZFeQKKhJEmqkSlhBHMUIDmjAkNUaDwWZyJAWILogCLswCMwADMwAD
MwADDMQAHcwBP8wBP8wDP8wDIp4D9CgodWJAoHGAteP0Qrqoh2qLFAtqqCartmE8
4oKotCQ6praoXALNqCareSQjqGareWQjNCQqNqKoMpaotGb(4oaoNST6wqaoi68A
AkqqeSQjNSTqp6ZBC0IAilqneOQjdSPIFGWqqiWDAkKYpORhUUYUyaDIRCAoTY(E
mLA0UUKFRlOOQaRxTUq6QWRxIhE5y(ITxCAopiEDxBSAghWsRCAoXY(FmLA0kbOG
mLA0lXa5QaRxkXqBwWRxtCWAJrqlpAvAFiQpJUKAgEQhlObFAAq5IPQkRiepli8A
DEZ6Qjg5JYuAFqeprXK6pmehWYaUwCB4sASBQk6slyYhiBCjumar93OIqWarQLfx
k2qDxXsqteA0Fr6oSAP8qOarwXOOqSartGf5lrapnAr8LgTrwKQyMWKDgCgoqBCE
xzknj6qsk2qqljjqliqjqBCjAIqnghGaiyYpQAKAeqGIFGfpQUqjpmA8QUIAgEQq
oFbc5xEaBU6rlSQhmoAAlhBBDUIAlRQpgkWAgRQhFCQqQkaFpaRhTUIAFGVqAAKF
mPRsCA9EFTh5PAvDmXRksDdFlah5gksFgROkxCAoTY(EmLA0xqKFTY(EmLA0EiKF
RqIHAjYF5D9)4wRpFWRZ8CZFlah5gksFgRLkdeVr0ydjWmNIa2AIAACLQgQrgWej
QkQrgaejQoQrgeejgWFIa2AI5JGIzVGdpCADQXYUFuQqnla0pKdhTXYnq(PILYUr
dOWjLoUrdSWjLsUrdWWjhCBIdiFIJPB8HA)RwDUycDyAAAimCkslgJJkdWHIdiZr
f(Uj0SejQgQrfCVjQkQrfGVjQoQrfKVjLIUrdeQjLYUrdiQjLoUrdmQjLsUrdqQj
FmVqLkK0pGdhSXoDF2Zq)Dy0Q1qqX34nR1KtY34nS1KtZ34nAkKt0(dj0eejNCUq
NSL4tSL64Q71tCQ6pTL2Z3KQAkOtt(Bk4Q71NCQ6tS71pTL2Y3IQZ3KtAkOt0mdj
0iLI0OGT0edr0(dj0eej0idr0Cej0iej0iLIfOFI)CAIhqHzfaGIgBQq)CAI0uty
g4aqg0f7L)LAwS74IBWAe(JIduGIcDCaAAgmEAAAABAAAAEAAQAAAAEAAAAQdeVr
pyfjwqajwqZjC8WjNCQqgga9tm6VJvAM8BtCLETrQfUyy0adMl8Ct6G0JvgQDAtA
naDTa2AIlhUDlRWYkBich1WYkV2ZT1gLg0DIhN2UuVmdsU2ZgQFIUBSPgkncg8Gd
0hXZjFmcgwCd9ASU1FFIAQXaYmMIJDCkZAP1wTfyRncFJ7A8KAf8wPdyznMDwPO0
DwkB2wUoNAypT1gm2F2Yn5WZn5WavZGIuBic0hXZuVGI5JHdu4iL03KAD2Yq13ao
E2Yq23aoF2YqAASoB68vIAbopeGIMNAsgYKFNoZDhN2UuVmdgU2Z192YgQGb09mb
pZGIgQmb55WYv1GIgUmcslmZgMXZg4WaphGdhBycoNmclZXaQ1gLzVmchBycgknb
5V2avRHI1FHIuQXaJDCADwEmAASoB(8vD2ao03YoE2aq13YoF2aq23YoH5aqH17C
A35CQosAE169Q14C434nF1aqR14C534nG1aqS14C634nDnaqdKWj9egoduAMK35X
QPA4m1a9NkcnpWA8m1YAOIan9iAoZuAMo35XSAOytSP0J3pZIAfDsCAIMNAsJjqm
DAtAo2LT)CAIhGozfCVrgWejfGVrgaejfKVrgeejWmNIa2AIAACLgWFIa2AI5JGI
zVGdgAADgEKEw3JWHlcFJfA8DAPQayNIWCAIQKQy9yUv00KqPk8CMNA0ggqmt2Zd
N2JmNCrsNCrut(5TQnq(536BQlcqpKEkt2IA12IsQlKsw6ajwabj)CAIwmqyg4aq
g0f7L)LAQCbs2z0A43KqpjTq43IA53aqQleqpmfjpqfrNCQ6Mlq(tiqHNmK(NCbr
tCbtNma(NCrrgArtK)LApCbqtDirAAS)xu8vlBLsfOFI)CAIwmLzLMTrdeQj9ego
duAMK3JBQPA4KIa9LATvdSQnOAO6gUP0t(pZwvwrBAiBUwUqfCipNAinN0gmu9GR
g4SZyBFIzNXZuFGIrBSegkXZg8GdpVXcN4CdJDCADwEmIBQoe(JIduGIcDCa00qm
Pk8CYIA0D2KYthRoNuARtG6gtFKhNuQRtGKhtFahNugRtGahpE6gWA)fY8XShOYb
hOYjhOo7ujA0QHKhF6(AAASoB68vBAboNlMYJvP83DPTayNI)CAIpuvygFAswzUy
cDy(AAim898v(1aoAmSoh6Xj)CAIhynzpiNIgFAkxCAoKks2I3B0JrdsWA9RaHLy
QzUySA6DJrdsHAtA)CAIhynz(1KYphRo(1Ig)1aoAkWoh(XjhCYrNCQalGKgphh2
aXIgptdpbXIAJvdpvCJUpiNIgpKkFCQqAlq2gsdhK)LAQGqXMl8CJfA8DAfTayNI
AAAYAAAAEAAALADAAAAgX1KAU3Ync3Iqq2Iqa2Isv1IsA0qAO34CB0KqP34CK0Kq
X34CAkKqoqcjoucjoSVjoWVjoaLILIWro(djLMWroCej)CAIouty)CAIhG4zLMWr
teA0JvgYDA5PomAT9CgodCBAoLQwLIG7OSP0tKAwNugVN(JUtiK0NuwVN(ZUtia0
NuAWN(pUpiq0i14wI1anj14CK1ank14CL1anl14CQ1anm14CNkcnpWA8m1YAuIan
9iAoZuAMo35XyAOytSP0N(JUtCa5N(ZUtCq5N(pUgA65gYZ2soZDgAAIgAaVgoZD
0lnYMMXZQACAYBSoVAfnwfUyAl8BgMA8goJ3JbJA9CpAomATLYUrdeQjLgUrdiQj
LoUrdmQjLsUrdqQjgqiow0rCEk5CIjenQ7AwI1K9Pk8CMNA0ggaCt2ZdN2JmNCrs
NCruN(5TtCrowvQMDksQgQB0Q2KOAASF5y8vuJKsgcaqw7J)Jw0ADwEqGwUohJEq
OBCZlR2bvNEI05WdzBCLwl2aoRHIgMXaslmZg8TZS3KAHANqoGdrQCVyAkaPw2aj
wWbjNCVqNCrrgArtK)LAgAbqL)LAQCbsWx0AQ3KqpjDqQ3IAR3KqQlOqoGdjoKdr
NCQ6Mhq0te6jNiK0NCbrtCbtNia0NCrrgArtK)LApCbqtDirAAS)xu8vZBLsfOFI
)CAIwmLzfaGIoSl7uPA0tiaVNjaVQj6zU1KCO3MqGALqoGGImKDTe(JIa2AIE1QD
l52bgAiLlJHUgM3c55WYltGI0BSexByb0lWdAwgLYmMIhOATIBAAe(JIduGIcDCa
I1qmPk8CYIA0D2KYthRoNugPtG6gtFKhNuwPtGKhtFahNuAQtGahYE6gLIUbhOYj
hSYrLMUbhSYjhWYrLQUbhWYj)CAIhGozgFAsw3UyMl8(gcP8goJ3K)LAwi60JDWA
7DPTayNIAAAAAAAAAAAAAAAAAQAA2sAMAAAAAAABAAAEtCAAN25VNCrmN(5TgIwb
g8pQi(5Xy37AE0Jngjen1DtDsCAIe(JIfaGIa2AIE1QDl52bgAiLlJHUgM3c55WY
ltGI0BSexByb0lWdAwgLYmMIhOATpmho)1JAQoMsAkq(pafh3XIYNCQqpCrkQ24Y
AkKswGZjwaFIwWAIwiZrMNA8t6KJFCbhG26AEUIsJTQpEA9)JPQpEAvd4AQqFACY
Y2KsDAPssWETwWYrw6YjwaYrw(YjgEgot(63wDLmFx0AH2KrRAPsJ)XKNDpLCAcn
ABO6MVMsKzqYCAsjwWAIwiZrMNA8tyaRNCbhtC7kNCrhYALlwSZrMNAEpyaRU2cA
FANsNHQqQD7kFx0AU2KrCkMsMNAMQwaRRz0AT2KrBkMsMNAMtyaRN(JUtCa5N(ZU
tCq5N(pUgA65gYZ2soZDgAAIgAaVgoZD0lnYgMXZvNGKyBXbzNXZpQWZgAADgEKE
Q2JWHlMFJfA8DAPQayNIWCAIQKQyghDsdWHIdiZrwKbjwqbjf(UjwKajtaKTpqho
(1JAQrMsAkq(pafh3XIYNCQqpCrkQ24YAkKswGZjwaFIwWAIwiZrMNA8t6KJNCbh
tC7kNCrhYALlwSZrMNAEpyaRU2cAFANsNHQqQD7kFx0AU2KrCkMsMNAMQwaRmy0A
T2arBkMsMNAMpyaR)14))lKswCYjNCQqpCbgD2IAbCCsBk6rwOYjvuJIwOpzFCQq
Ak6AtSQhNC7ku76Xg46XtCbBQDLmF26Q)1IsG2KsA2IsDUKswGYjNCQqgA7gg86m
tCbBQDLmF2qI)1IsG2KsA2IsDUKswGYjNGQqgA7gm)6mDU6Au(VztWL0QDLmL26I
eANsumMIweZrtaB0QD7iY2aEMANswmYrwiYjuGGIu6CTwubrwybDgMA8g4aiM)LA
YAbuAAAYwiZruPC0QD7u86(AAAKswiYrmbfkCAt9tev5JDLvFANEwubrQDQyum6K
93OIwubrwWajwybrwaajNCQqpC7u82IAAkKspafh3XIY)CAIwG6ygFAsfCCSrBin
ggWntqJ3NA7uQDLvtCWwwDrkS6sCW2KsJ2IsgAGst(aEQDLmK2KMQmMsNeA8NCrl
gBbivGBIwiZrtqB0NCriQDrkQmqBwmYjS6MYS6MsW2KsJ2IspCGsZ2IAAk6rvqZj
wCp7NfQqQALkfDSFY26rrBNsweYrwyYjNCQqwDLkM60AZ2KsB24rM2KsBkCswOYj
v2LIw(XrvmZjwCYrvqZjvqZruzLEQ)ama6(ApizrZ2OAZ24rAk6rvqZ7vqZjvqZr
QHQyZ2aBAk8rpyA0X24)AkKswqYjtaA8N(amgBriuCAAtCbgwD7g)1aDA0JsA2qQ
A0JstC2QdC7ftCEAdCLggFEAwGorwOYr92A8NKEA9C7fNOEAgBLgABQvw(XjBBQv
wCYjAAKYNSfstC7hNDrvQDLo92qBf2MsgBLsw2r7uPA0mDrvCAN9gVv5xCAoF2I9
AsTS