User Tools

Site Tools


magazines:chacking13
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


magazines:chacking13 [2015-04-17 04:34] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +<code>
 +                   ########
 +             ##################
 +         ######            ######
 +      #####
 +    #####  ####  ####      ##      #####   ####  ####  ####  ####  ####   #####
 +  #####    ##    ##      ####    ##   ##   ##  ###     ##    ####  ##   ##   ##
 + #####    ########     ##  ##   ##        #####       ##    ## ## ##   ##
 +#####    ##    ##    ########  ##   ##   ##  ###     ##    ##  ####   ##   ##
 +#####  ####  ####  ####  ####  #####   ####  ####  ####  ####  ####   ######
 +#####                                                                     ##
 + ######            ######            Issue #13
 +   ##################               Version 1.0
 +       ########                      July 1996
  
 +-------------------------------------------------------------------------
 +</code>
 +====== Table of Contents ======
 +<code>
 +  
 +
 +Features
 +   6. OS/A65: A Multitasking Operating System by Andre Fachat
 +      (Reference: os)
 +        Just when you thought it was safe to run a single program on
 +        your Commodore 64, Andre ups the ante and details a framework
 +        that allows you to coax your machine to do multiple things at
 +        once.  If one app was trouble enough, try taming two or more at
 +        a time!  
 +   8. Using UQWK with QWKRR128 by Gaelyne Moranec
 +      (Reference: uqwk)
 +        After years of using QWKRR128 to read BBS email and FIDO echoes, 
 +        you want to access the Internet as well. Does that mean you'll have
 +        to shelve QWKRR128?  No way!  Gaelyne details how to use a UNIX
 +        program called UQWK to package up USENET newsgroups and Internet
 +        electronic mail for offline perusal by QWKR128.
 +  10. Brad Templeton: The Programmer's Friend - An Interview by Jim Lawless
 +      (Reference: pal)
 +        Templeton, the originator of the PAL assembler and a driving force
 +        in programmer aids in the late 70's and early 80's, reflects on
 +        those early years, where programmer tools were pretty spartan. 
 +        Travel in time with Brad to an era where IBM specialized in
 +        mainframes, and proprietary schemes were commonplace.
 +  12. Hacking Graphics by Stephen Judd
 +      (Reference: demo)
 +        We've talked about 2D graphics, and we've talked about 3D
 +        graphics.  So now it's time to talk about 4D graphics.  This
 +        article will explain how to do just that, and includes source
 +        and binaries for dim4, an entry in the recent 4k demo contest held
 +        by Driven magazine.
 +  13. Exploiting the 65C816S CPU by Jim Brain
 +      (Reference: cpu)
 +        So, the eagerly anticipated accelerator from CMD is becoming
 +        available.  Sure it's fast, and it'll boost speeds in existing
 +        applications.  However, you know users won't be content for long.
 +        Learn how to take advantage of the extra addressing modes and
 +        wider CPU registers when you flip the '816 into Native mode.  In
 +        addition, Jim will detail the preliminary set of "magic" memory
 +        locations in the CMD SuperCPU.        
 +  14. Using HTML on the Commodore, Part 1 by Jim Brain
 +      (Reference: html)
 +        Your IBM friends are drooling over the World Wide Web and its
 +        markup language:  HyperText Markup Language (HTML).  Are you
 +        worried your CBM machine might not be able to handle HTML?  Worry
 +        no more.  Jim will teach you the HTML language and how it can be
 +        used on the Commodore system.  In part 1, Jim details the language
 +        and its elements and lays the ground work for a Commodore HTML
 +        parsing engine.
 +
 +Columns
 +   4. Hi Tech Trickery by Alan Jones
 +      (Reference: trick)  
 +        Here's the proof you need to kill off the persistent myth that
 +        8-bitters can't cut the mustard in complex computations.  Alan
 +        lays some groundwork and details a few tricks in stretching 
 +        those 8-bits to the limit and beyond.
 +  15. Hacking Graphics by Todd Elliott
 +      (Reference: gfx)
 +        So you have created the world's nastiest dungeon engine for your
 +        torture chamber of a game.  Don't forget the presentation.  Todd
 +        shows how to create a 3-dimensional scene that will bring your
 +        dungeon to life. This will give your unsuspecting victim the
 +        most realistic gameplay possible.
 +        
 +Departments
 +   1. The (cough, cough) Hacking Editor
 +      (Reference: editor)
 +   2. Input/Output
 +      (Reference: io)
 +   3. Newsfront
 +      (Reference: news)
 +   5. Hacking the Mags
 +      (Reference: mags)
 +   7. UseNuggets
 +      (Reference: usenet)
 +   9. FIDO's Nuggets
 +      (Reference: fido)
 +  11. Hack Surfing
 +      (Reference: surf)
 +  16. Commodore Trivia
 +      (Reference: trivia)
 +  17. ? DS, DS$: rem The Error Channel
 +      (Reference: error)
 +  18. The Next Hack
 +      (Reference: next)
 +  19. Hacking the Code
 +      (Reference: code)
 +
 +-------------------------------------------------------------------------
 +</code>
 +====== Commodore Hacking Legal Notice ======
 +<code>
 +
 +Commodore and the respective Commodore product names are trademarks or 
 +registered trademarks of ESCOM GmbH.  Commodore Hacking is in no way 
 +affiliated with ESCOM GmbH, owners of said trademarks.  Commodore Hacking
 +is published 4 times yearly by:
 +  
 +Brain Innovations Inc. 
 +10710 Bruhn Avenue
 +Bennington, NE  68007
 +
 +The magazine is published on on-line networks free of charge, and a nominal 
 +fee is charged for alternate mediums of transmission.  
 +
 +Permission is granted to re-distribute this "net-magazine" or "e-zine" in
 +its entirety for non-profit use.  A charge of no more than US$5.00 may be 
 +charged by redistribution parties to cover printed duplication and no more
 +than US$10.00 for other types of duplication to cover duplication and media
 +costs for this publication.  If this publications is included in a
 +for-profit compilation, this publication must be alternately available
 +separately or as part of a non-profit compilation.
 +
 +This publication, in regards to its specific ordering and compilations of
 +various elements, is copyright (c) 1995-96 by Brain Innovations,
 +Incorporated, unless otherwise noted.  Each work in this publication
 +retains any and all copyrights pertaining to the individual work's contents.
 +For redistribution rights to individual works, please contact the author
 +of said work or Brain Innovations, Inc.
 +       
 +Brain Innovations, Inc. assumes no responsibility for errors or omissions
 +in editorial, article, or program listing content.  
 +  
 +-------------------------------------------------------------------------
 +</code>
 +====== Commodore Hacking Information ======
 +<code>
 +  
 +Commodore Hacking is published via the Internet 4 times yearly, and is 
 +presented in both ISO-8859-1 and HTML versions.  This and previous issues
 +can be found at the Commodore Hacking Home Page 
 +(http://www.msen.com/~brain/chacking/), as well as via FTP 
 +(ftp://ccnga.uwaterloo.ca/pub/cbm/hacking.mag/)
 +
 +In addition, the Commodore Hacking mail server can be used to retrieve each 
 +issue.  To request a copy of an issue, please send the following electronic 
 +mail message:
 +
 +To: brain@mail.msen.com
 +Subject: MAILSERV
 +Body of Message:
 +
 +help
 +catalog
 +send c=hacking13.txt 
 +quit
 +
 +To retrieve a PKZIP 1.01 archive of the individual articles in Commodore
 +Hacking, request the file c=hacking13.zip
 +
 +To subscribe to the Commodore Hacking and receive new issues as 
 +they are published, add the following command to you MAILSERV message 
 +prior to the quit command:
 +
 +subscribe c=hacking Firstname Lastname msglen
 +
 +(msglen is largest size of email message in line you can receive.  Each
 +line is roughly 50 characters, so 600 lines is about 30000 bytes.  When
 +in doubt, choose 600)
 +
 +example:
 +
 +subscribe c=hacking Jim Brain 600
 +
 +Although no fee is charged for this magazine, donations are gladly accepted 
 +from corporate and individual concerns.  All moneys will be used to defray 
 +any administrative costs, subscribe to publications for review, and 
 +compensate the individual authors contributing to this issue.
 +
 +New: As part of a magazine promotion, Commodore Hacking Issue #12 was
 +professionally laid out on printed format.  These printed copies are for sale
 +for US$6.00.  Price includes shipping within the US.  
 +
 +Any persons wishing to author articles for inclusion in Commodore Hacking
 +are encouraged to view the submission guidelines on the WWW
 +(http://www.msen.com/~brain/pub/c-hacking-submit.txt) or via the MAILSERV 
 +server (send c-hacking-submit.txt).  
 +
 +=========================================================================
 +</code>
 +====== Reading C=Hacking ======
 +<code>
 +  
 +Starting with Issue 11 of Commodore Hacking, the new QuickFind indexing 
 +system is utilized to aid readers of the text version in navigating the
 +magazine.  At the top  of each article or other important place in the
 +magazine, a word prefixed with a special string is present.  (See the
 +title of this article for an example.  Throughout the magazine, if an
 +article is mentioned, it will be followed by a reference string.  For
 +example, if we mentioned this article, we would add (Reference: rch) after
 +the name.  By using your favorite editor's search function and searching
 +for the string after the word "Reference:", prefixed by the magic prefix
 +string, will move you directly to the article of choice.  To merely skip to
 +the next article in the magazine, search only for the magic prefix string.
 +
 +Some handy indexing strings possibly not referenced anywhere are:
 +
 +top      top of issue
 +bottom   bottom of issue
 +contents table of contents
 +legal    legal notice
 +
 +For those with access to a UNIX system, the command "what" can be
 +run on the issue, which will result in all the article titles being
 +printed.
 +
 +A slightly different magic prefix string "@(A)" is used to delimit
 +sub-topics or main heading in articles.  The text after the magic string
 +differs depending on article content.  For the Input/Output column
 +(Reference: io), the text after the magic prefix will either be "c" for 
 +comment, or "r" for response.  In features and columns, a number after
 +the prefix indicates the ordinal of that heading or sub-topic in the
 +article.  If a specific sub-topic is referenced elsewhere in the article,
 +a sub-topic reference will be indicated.  A reference to "@(A)r" would
 +be written as "(SubRef: r)".
 +
 +As time goes on, the role of this indexing system will be expanded and
 +changed to ease navigation of the text version, but minimize the clutter
 +added by these extra items.
 +
 +=========================================================================
 +</code>
 +====== The Hacking Editor ======
 +<code>
 +by Jim Brain (j.brain@ieee.org)
 +
 +I recently had to choose between my interest in Commodore computers and 
 +something else.  To many, the choice was clear.  Many assured me that 
 +hobbies were important, but they simply had to take a back seat when 
 +other pressing issues came up.  I'll admit that the decision was hard 
 +to make.  I find that strange, do you?  I mean, seriously, it's just an 
 +outdated, underpowered, orphaned, incompatible, proprietary, obsolete, 
 +8-bit computer system.  Why would I even consider that important?  
 +
 +If you can explain that to me, then you are a true Commodore enthusiast 
 +as well.  We are all bound together by the immense "pull" of these 
 +systems.  We don't just "own" them, we treat them like part of the 
 +family.  We buy toys for them, we help them grow, we accept their 
 +limitations, we spend hours with them, and we know everything about 
 +them.  Although we might have younger and faster family members, we 
 +cherish our Commodore.  No person or thing could convince us to trade 
 +in our familiar family member for a newer, shinier model.  As I think 
 +of it this way, it seems a bit scary, doesn't it.
 +
 +Not to leave you in suspense, the "something else" I alluded to above 
 +was a new employment opportunity and the subsequent relocation of 
 +myself and my family.  Even as strong as my feelings are for my beloved 
 +machine, I decided that my family came first.  Hobbies, no matter how 
 +important, are not quite as important.  I announced my decision to 
 +others who have similar "family members" in their homes, and I pulled 
 +the plug on my hobby.
 +
 +Now, I don't consider myself that important in the scheme of things, 
 +but I did underestimate the consequences of my decision.  As friends 
 +and I tallied up what resources would be unavailable as I left, the 
 +amount grew sizable.  Luckily, just as with all situations, friends 
 +stepped forward to help and keep information from becoming unavailable.  
 +Others simply provided moral support and all offered the precious gift 
 +of patience while I turned to matters at hand.
 +
 +I consider myself lucky that so many offered so much to make the 
 +situation more tolerable.  For reasons unknown to me, it bothered me 
 +greatly that deadlines would be missed, pieces of information would go 
 +unpublished, important updates would not be updated, and information 
 +seekers would find nothing but unanswered questions.  Although I knew 
 +better, I felt I had deserted the people who depended on me.  It's amazing 
 +how wrapped up in this I have become.  
 +
 +As you may have guessed, one of the most disturbing resources that was 
 +left unfinished was this issue of Commodore Hacking.  Although 
 +originally scheduled for publication in mid-June, I regretfully shelved 
 +it and spent what little time that remained in preparing for a move.  
 +Luckily, the move is over, and you now hold the newest issue of this 
 +publication.
 +
 +With this newest issue comes some notes.  My wife, Julie, has 
 +graciously agreed to offer her services as assistant editor.  This will 
 +free some of my time to write articles and concentrate on technical 
 +article editing.  In our quest to find capable writers to author the 
 +columns found in each issue, Geoffrey Welsh is now writing "FIDO'
 +Nuggets" We encourage others to help out in this way.  Finally, due 
 +to the delay in publishing this issue and the length of some 
 +submissions, this issue is far larger than our maximum desired size.  
 +We apologize for those who will find the excessive size a problem, but 
 +the timeliness of the articles and the sheer volume of current events 
 +information prevented reduction in size.  We will return to a more 
 +manageable size by next issue.  As well, we created a professionally
 +laid out and printed version of Commodore Hacking Issue #12.  If you
 +would like one of these copies, please see "Commodore Hacking Information"
 +(Reference: info) for more information.
 +
 +Enjoy YOUR magazine,
 +
 +Jim Brain (j.brain@ieee.org)
 +editor    
 +
 +=========================================================================
 +</code>
 +====== Input/Output ======
 +<code>
 + 
 +Obviously, Commodore Hacking depends on the comments and article 
 +submissions from the Commodore community to flourish.  Everyone sees the 
 +articles, but let's not forget those comments.  They are very helpful, 
 +and every attempt is made to address concerns in them.  Address any 
 +comments, concerns, or suggestions to: 
 + 
 +Commodore Hacking 
 +10710 Bruhn Avenue
 +Bennington, NE  68007
 +j.brain@ieee.org (Internet) 
 +    
 +@(A)c: So, You Think You're Fast Enough, Eh? 
 + 
 +From: Ralph Mason 
 + 
 +Dear C=Hacking, 
 + 
 +Keep up the good work with C=Hacking.  I was just reading your article    
 +about the Super CPU and thought I would add my 2p worth. 
 + 
 +You noted that the SuperCPU appeared to be 21.79 times faster but    
 +attributed this to the VIC chip stealing cycles.  I think this is only    
 +part of the story (the smaller part).  I think the most cycles are 
 +likely to be lost or gained due to the jiffy interrupt routine.  The 
 +standard 64 executed this routine 660 times and scanned the keyboard etc. 
 +during it's count from 1 to 10000. The SuperCPU only executed this code 
 +31 times.  Far more of its cycle was spent actually doing work.  I 
 +think if you could turn off these interrupts you would find that the 
 +SuperCPU is actually running short of the 20 times faster than it 
 +appears to be showing. 
 + 
 +It's almost stooping to silly IBM style Norton SI numbers or other    
 +useless benchmarks. These will never show the true story. From what I've    
 +read, I'd guess (user's will see) a real world speed enhancement
 +running real application of around 400%, more or less depending on
 +the app. 
 + 
 +Cheers, 
 + -Ralph Mason 
 + 
 +@(A)r: 
 +Jim Brain replies, 
 + 
 +Ralph, after reading your explanation, I think you are correct in 
 +stating that the bulk of the time saved on a 20 MHz unit is indeed due 
 +to the fewer interrupts it must service in a given time frame.  However, 
 +since we can rarely turn off the 60 cycle interrupt, the effective speed 
 +is what people will notice.  Also, while I think you are correct on this 
 +discussion waxing philosophic, I believe most users should see more than 
 +400% increase in applications.  Of course, YMMV (Your Mileage May Vary).   
 +
 +@(A)c: A Round of Ice Water for the Editors 
 + 
 +From: drankin@crashb.megalith.miami.fl.us (Dave Rankin) 
 + 
 +Thank you for all your efforts and putting out this Mag. I and many 
 +others do enjoy seeing all this activity for the 8 bit Commodore. 
 + 
 +Dave 
 + 
 +@(A)r:  
 +Thanks for the letter.  We always enjoy knowing that the hours we spend  
 +producing this magazine are appreciated by those in the community that 
 +read it.   
 + 
 +@(A)c: There's Nothing Like the Real Thing, Baby(tm) 
 + 
 +From: cjbr@gonix.gonix.com (Jim Lawless) 
 +      
 +Dear C=Hacking, 
 + 
 +Just wanted to express my enthusiasm for your electronic publication and 
 +hope to make regular contributions in the coming months. 
 +  
 +I was a C64 hacker from '84 until about '87 when I progressed throughout 
 +the Amiga and into the PeeCee world. 
 + 
 +I found out about the C64 emulators for MS-DOS/Windows...etc. and 
 +downloaded one this morning.  It was a great feeling seeing the '64 
 +startup screen again! 
 + 
 +My wife expressed some curiosity seeing a pile of old Transactor 
 +magazines next to the recliner today.  I told her how excited I was 
 +about the emulator. 
 + 
 +This evening, she returned from a church auction with a C128, a 1541, a 
 +1650 modem, a westridge mode, and a bundle of software all for $30.00. 
 + 
 +I guess it's time to get back to my roots and have some fun! 
 + 
 +Jim Lawless, 
 +cjbr@gonix.com 
 + 
 +@(A)r:  
 +We appreciate the thanks.  In addition, we always encourage Commodore 
 +enthusiasts to submit articles to the magazine.  However, we are most 
 +grateful that you have come home again.  While emulators have their  
 +downside, we have noticed that many who download one end up buying a 
 +real machine and rediscover the simple elegance of the Commodore 
 +computer. We applaud you for your choice.   
 + 
 + 
 +@(A)c: Copy Rights! 
 + 
 +From: EricJ1@aol.com 
 + 
 +I'll make this short and sweet.  But, I have to tell you, I love C= 
 +Hacking.  I'd like to post this as a public bulletin on my BBS if it  
 +is not a problem. 
 +   
 +Thanks 
 + 
 +Eric 
 + 
 +@(A)r: 
 +We encourage redistribution of Commodore Hacking for non-profit 
 +means.  Simply read the guidelines in the issue's legal statement 
 +(Reference: legal).  As long as the conditions in that guide are met, 
 +we would love to see C=H spread throughout the Commodore community. 
 + 
 +=========================================================================
 +</code>
 +====== Newsfront ======
 +<code>
 +
 +@(A): ACE Release #15 ACE-15 Programmer's Reference Guide
 +
 +For those of you who have taken advantage of the Advanced Computing 
 +Environment (ACE) operating system written by Craig Bruce, Craig has 
 +published the programmer's reference guide for Release #15 of this 
 +popular application environment.  It is available in the following 
 +locations:
 +
 +ftp://ccnga.uwaterloo.ca/pub/cbm/os/ace/ace15-prg.doc
 +http://ccnga.uwaterloo.ca/~csbruce/mycommie.html
 +
 +If you haven't used ACE before, you should give it a try. 
 +
 +@(A): Unscientific Study Proves Commodore Computers are Preferred!
 +
 +It seems that as homely as some may think the Commodore computers are, 
 +children warm up to them very quickly.  In fact, the machines are
 +chosen over more expensive machines, as the following stories attest:
 +
 +James Grubic (grubic@avicom.net) wrote:
 +
 +   One of the teachers in the school I'm based in actually enjoys using 
 +   the older computer systems like the Apple IIe, and her students are 
 +   truly excited about using them. The other day, I gave them a 64c to use, 
 +   and they were blown away! If you could just see it...a whole gang of 
 +   youngsters gathered around the C64, waiting for their turn at Jupiter 
 +   lander...almost brought tears to my eyes.
 +
 +   Needless to say, I'll be arranging for them to get another one.
 +
 +And Bob Masse followed up with:
 +   
 +   I am not surprised.  My little nine year old nephew has a brand new 
 +   pentium beast with all the goodies, and he is scared to be in his 
 +   room alone with it when it is on!  On the other hand when He comes 
 +   over to his Uncle Bob's house he has a tantrum to use this old 
 +   Commodore.
 + 
 +   Bob
 +   kh6zv9@pe.net
 +
 +So, once again, bigger is not always better!
 +
 +@(A): Assembly '96 Is Coming!
 +
 +Have you ever been to a "demo party"?  Well, if not, you are missing
 +one of the staples of the Commodore scene since the beginning of the
 +reign of the Commodore computer.  Assembly is one such party held in
 +Helsinki, Finland.
 +
 +In case you aren't aware, demo parties are where demo programmers, 
 +computer graphics artists, and computer music artists gather to compete
 +for prizes.  Assembly '96 holds parallel competitions for PC, Amiga, and
 +C64 computer systems.  
 +
 +Assembly '96 is to be held August 16 to 18 in the Helsinki Fair Center,
 +Rautatielaisenkatu 3, Finland.  Tickets are available for US$50.00.  
 +If you are in the vicinity, you should stop by and peruse the 1996 
 +Commodore 64 entries.  If, however, you would like to compete in the 
 +Commodore 64 class, please read the rules and information packet 
 +at: http://stekt.oulu.fi/~mysti/the_sharks/   
 +  
 +Prizes of cash are to be awarded to 1st, 2nd, and 3rd place winners in 
 +the demo, graphics, and music categories.
 +
 +For more information, you can contact the organizers via the following
 +ways:
 +   Voice:        ASSEMBLY Org.   +358-0-777 3741
 +   WWW:          http://www.assembly.org/assembly96
 +   E-mail:       assembly@assembly.org
 +   IRC:          #asm96
 +   Normal mail:  ASSEMBLY '96
 +                 Lakkisepantie 13
 +                 00620 Helsinki
 +                 FINLAND
 +
 +@(A): Where in the world is Novaterm 9.6 (NovaRom)?
 +   
 +Late last year, Nick Rossi informed the Commodore community that he
 +was developing a new version of his popular 64 terminal emulation
 +software, Novaterm 9.6.  However, Nick stated that 9.6 would be 
 +marketed as a commercial product, not as a shareware offering as in
 +previous versions.  Well, as with all announcements, speculation 
 +as to what the new version would include filled up the communication
 +channels for quite a while.  Then, in early 1996, the news that Novaterm
 +9.6 was to be marketed on CARTRIDGE surfaced.  Nick cited concerns over
 +piracy and ease of use in deciding to try the cartridge route.  Users
 +who asked were told that Novaterm (NovaRom by some accounts) would ONLY
 +be offered as a cartridge.  
 +
 +Performance Peripherals Inc. (PPI) was chosen to manufacture and
 +market the new version.  Tentative offering included the basic cartridge
 +and an option that included PPI's CommPort Swiftlink-compatible 
 +cartridge and a PPI 3 slot cartridge expansion unit.  
 +
 +Since creating a cartridge requires a higher level of code robustness,
 +delays in the introduction generated reports that Nick was having
 +trouble getting the code to a ROMable state.  Other reports mentioned
 +that PPI status as a part time endeavor was the reason for the delays.
 +
 +Whatever the reason, the following announcement was made by Nick Rossi
 +concerning Novaterm 9.6 on July 5, 1996.  Contrary to earlier reports,
 +the software will be available on disk format only and will be
 +initially be marketed directly through Nick Rossi:
 +
 +                                 NOVATERM 9.6
 +                                 ------------
 +                    Bring the telecommunications revolution
 +                             to your Commodore 64.
 +   
 +   After many delays and headaches, I'm excited to finally announce the
 +   release of Novaterm 9.6!
 +      
 +   Novaterm 9.6 is available ON DISK, in either 1541 or 1581 format.  It
 +   comes with a 90-page user's manual.  The price for the disk and 
 +   manual is US$29.95.
 +   
 +   ORDERING INFORMATION
 +   
 +   Send check or money order for US$29.95 to:
 +   
 +   Nick Rossi
 +   10002 Aurora Ave. N. #3353
 +   Seattle, WA 98133  U.S.A.
 +   
 +   INTERNET CONTACTS
 +   
 +   Check out the Novaterm 9.6 web site for more information:
 +   http://www.eskimo.com/~voyager/novaterm.html
 +   
 +   My e-mail address is voyager@eskimo.com.
 +   
 +   NOVATERM 9.6 FEATURES
 +   
 +   Novaterm 9.6 supports the following new features:
 +   
 +   * Zmodem upload, download, auto-download, and crash recovery.  Also
 +     supports streaming mode with the buffer.
 +   * Ymodem-g and Xmodem-1k-g streaming protocols with the buffer.
 +   * Use any RAM expansion device as the buffer: REU, BBGRam, GEORam,
 +     RAMLink or RAMDrive partition, C128 VDC memory.
 +   * "Buffer recovery" feature retains contents of the buffer between
 +     Novaterm sessions as long as the memory device does not lose power 
 +     or get overwritten.
 +   * Text editor can read and write files directly from the buffer.
 +   * Supports the SwiftLink, CommPort, HART cartridge, and Daniel 
 +     Dallmann's 9600 bps user port enhancement
 +     (see http://rpool1.rus.uni-stuttgart.de/~etk10217/proj.html).
 +   * Supports the C128's fast-mode 80-column screen in terminal mode
 +     (25, 28, 43, and 50 line modes available).
 +   * C64 80-column emulation features "scroll-ahead" for better 
 +     scrolling performance.  Optionally supports a fast scroll if you
 +     have an REU.
 +   * Built-in ASCII translation and UUencode/decode options
 +   * Built-in 80-column file viewer
 +   * Reads real-time clock devices (BBRTC, CMD drives) for terminal mode
 +     clock display
 +   * Single-menu loading of terminal emulations (finally!)
 +   * A step-by-step user-friendly configuration utility
 +   
 +   Novaterm 9.6 still supports the basic feature set:
 +   
 +   * Terminal emulations: ANSI graphics, VT100/102, VT52, Standard, and
 +     Commodore graphics in 40 or 80 column mode
 +   * Protocols: Zmodem, Ymodem batch, Ymodem-g, Xmodem-1k, Xmodem-1k-g,
 +     Xmodem-CRC, WXmodem, Kermit, Punter, Multi-Punter
 +   * Hardware flow control for high-speed modems
 +   * Script language for automatic operation
 +   * Multiple 19-entry phone books
 +   * 16 user-definable macro keys
 +   * Miniature BBS module / answering service
 +   * Text editor utility with integrated script compiler
 +   * ASCII table editor and Font editor utility
 +
 +   I could keep going, but you get the idea!  Novaterm 9.6 supports all 
 +   of the standard features from previous versions, but its capabilities 
 +   have been greatly expanded.
 +       
 +   Thanks for all the support and suggestions -- the new version finally
 +   made it!
 +   
 +@(A): BBS Magazine dead, Long Live Some Trees
 +
 +Gaelyne Moranec, writer of articles for magazines such as Commodore
 +Hacking (Reference: uqwk), Commodore World, and BBS Magazine, reports
 +that BBS Magazine is no longer.  Cited as a magazine for BBS operators 
 +and users, the magazine contained a monthly series by Moranec on 
 +Commodore BBS users and systems.  Being one of the few magazines not 
 +Commodore specific to cover Commodore content, its demise is sad indeed. 
 +Evidently, the magazine continued on for one issue as _BBS.NET_ but has 
 +not been published since.  Some of the writers for BBS will be given 
 +space in a new magazine to take the place of BBS, but the focus will be 
 +on sysops and sysadmins.  Gaelyne hopes the new magazine will allow her 
 +to continue to write, but she is somewhat doubtful of the prospect.
 +
 +@(A): Hide the Wolf PC: Little Red Reader-128 2.5 released!
 +
 +Craig Bruce has released version 2.5 of Little Red Reader-128, the
 +popular freeware utility that allows Commodore 128 owners with 1571, 
 +1581, or CMD FD drives to read IBM PC disks.  Features available in the 
 +new release include:
 +
 +*  miscellaneous bug fixes
 +*  date support for reading and writing files
 +*  counts of bytes of files in a directory
 +*  remove Commodore files
 +
 +The program is available from the following locations:
 +
 +   ftp://ccnga.uwaterloo.ca/pub/cbm/util128/lrr25.uua   (uuencoded archive)
 +                                            lrr25.doc   (documentation)
 +                                            lrr25.asm   (assembly source)
 +   http://ccnga.uwaterloo.ca/~csbruce/mycommie.html
 +
 +@(A): Basement Boys Software Demise
 +
 +The geoClub UK newsletter reports that Commodore software developer and
 +distributor Basement Boys Software has ceased operation.  Fortunately,
 +Basement Boys Software completed all paid orders and settled all 
 +reported business before closing its doors.  While we regret the closing 
 +due to "lack of support", we are impressed with the ethical methods of 
 +doing so.
 +
 +@(A): LOADSTAR LETTER Going Subscription
 +
 +As reported in "Hacking the Mags" (Reference: mags), LOADSTAR 
 +LETTER will become a subscription based publication.  The LETTER, 
 +currently bundled with issues of LOADSTAR and LOADSTAR 128, contained 8 
 +pages of additional content not found in either LOADSTAR or LOADSTAR 
 +128. J and F Publishing, which publishes the LOADSTAR line of software 
 +and magazines, cites increasing costs and the need for more editorship 
 +support in deciding to change the magazine's status from free to 
 +subscription.  The LETTER will be bundled with the disk magazines until 
 +Issue #37.  A one year subscription can be purchased for US$12.00 from:
 +
 +   LOADSTAR Letter
 +   P.O. Box 30008
 +   Shreveport LA 71130
 +
 +Starting with Issue #37, Jeff Jones will join with Scott Eggleston and
 +others to turn the LL into a more hard hitting magazine with fewer ads.
 +The new magazine will continue to run articles by Jim Brain, Gaelyne
 +Moranec, and Jeff Jones, among others.  J and F is trying to break
 +1000 subscribers in order to keep the subscription rate for future
 +subscribers at US$12.00.
 +
 +@(A):  The Commodore Cruiser Is on the InfoHighway
 +
 +John Brown, of Parsec, Inc., has announced the arrival of the Commodore
 +Cruiser, a subscription based Commodore support BBS system.  Accessible 
 +via direct phone lines and the Internet, The system is Internet 
 +accessible via a telnet to jbee.com.  John is offering a free account to 
 +each Commodore User Group that requests one.  For users, subscription 
 +includes full Internet access, as well as Commodore specific areas and 
 +file transfer areas. For more information, contact Parsec at:
 +
 +   JBEE
 +   Parsec, Inc.
 +   PO Box 111
 +   Salem, MA 01970-0111
 +   USA
 +
 +@(A): Commodore and Amiga Technology Sold (Again!)
 +
 +By InfoWorld Staff
 +
 +  Posted at 3:45 p.m., PT, April 11
 +  Financially troubled German PC retailer Escom AG said Thursday that it
 +  will sell its Amiga Technologies GmbH subsidiary to Visual Information
 +  Services Corp. (VIScorp) of Chicago in a $40 million transaction. 
 +  SEscom acquired the Commodore and Amiga computer technology, patents, 
 +  Sintellectual properties, and brand names in April 1995 for $10 million 
 +  Sat a bankruptcy auction for Commodore International, which filed for 
 +  Sliquidation in 1994. Escom earlier this year itself reported losses of 
 +  S$85 million for 1995, prompting founder Manfred Schmitt to resign last 
 +  Smonth. Selling Amiga will allow Escom to better concentrate on its core 
 +  Sbusiness of PC retailing, Escom said in a statement. VIScorp, which 
 +  Smakes set-top boxes, will acquire the Amiga and Commodore technology and 
 +  Sintellectual property, but not the Commodore brand names, Escom said.
 +
 +VIScorp is online at: http://www.vistv.com     
 +      
 +@(A): DisC=over a New Commodore Specific Technical Magazine
 +
 +As reviewed in "Hacking the Mags" (Reference: mags), there is a new
 +Commodore publication available.  Citing itself as the "The Journal for
 +Commodore Enthusiasts", DisC=overy contains technical content analogous 
 +to that found in the defunct Transactor magazine and Commodore Hacking.  
 +Available only in text format, the magazine is available at:
 +
 +   http://www.eskimo.com/~drray/discovery.html
 +
 +Alternately, the magazine can be requested via email from:
 +
 +   s021126@dominic.barry.edu
 +
 +@(A): CMD SuperCPU unveiled
 +
 +Initial reports of the CMD SuperCPU are overwhelmingly positive.  In 
 +fact, it is reported that one European publication would not believe a 
 +commissioned review of a beta unit and requested a first hand look at one
 +before they would print the review.  Suffice it to say they were 
 +impressed as well.  
 +
 +For a report that Guenther Bauer wrote on the new accelerator, check
 +out his review at:
 +     
 +   ftp://ftp.giga.or.at/pub/c64/Super64CPU_test.txt
 +
 +One of the units traveled to Michigan where Maurice Randall (developer
 +of GeoFAX and owner of Click here Software) debuted it in the US to the
 +Lansing Area Commodore Club.  Tim Lewis, LACC President, reported to 
 +USENET after the debut:
 +
 +  "I am one of the few lucky people who have seen for myself what the 
 +  new Super64 CPU can do. It is nothing short of INCREDIBLE!!!
 +  
 +  For all of you serious GEOS users, I can honestly say this: GET IT!
 +  It is money that will not be thrown away! The processing speed is
 +  amazing. If you use the Super64 CPU with a REU, I will guarantee you
 +  that you cannot go wrong! You have to see it to believe it! Club
 +  members that saw Maurice Randall demo this could not believe their 
 +  Seyes! I was watching this go thru a directory of files, and it just 
 +  Sflew! 
 +    
 +  Folks, you have to see this to believe it! My hats off to CMD, they
 +  have really outdone themselves! All I can say is: 
 +  (sic)COGRATULATIONS!!!"
 +  
 +For more information on CMD or the SuperCPU, contact CMD or visit
 +their WWW Site:
 +
 +   Creative Micro Designs, Inc.
 +   P.O. Box 646
 +   E. Longmeadow, MA  01028
 +   (413) 525-0023
 +   http://ww.the-spa.com/cmd/
 +
 +@(A): Commodore Hacking Contributes to Computer-Mediated Communication
 +      Magazine
 +      
 +Following a call for articles in alt.zines on hurdles faced by 
 +electronic magazines, Jim Brain contributed an article on the challenges 
 +faced by Commodore Hacking.  Brain, editor of Commodore hacking, cited 
 +the challenges of providing a text version of the magazine for Commodore
 +owners, while attempting to draw out of the closet Commodore enthusiasts 
 +online with a hypertext version of the publication.  The full text of
 +the published article is available at:
 + 
 +   http://www.december.com/cmc/mag/1996/may/brain.html
 +
 +@(A): "Zelch" Down for the Count
 +
 +In C=Hacking #12, we noted that Bo Zimmerman had connected his Commodore
 +128 to the Internet, albeit through a Linux system.  Well, as all good
 +things must end, Bo has taken down the BBS system due to hardware
 +overheating problems.  However, Bo hopes to provide documentation
 +on how the system was set up so that others can configure similar
 +systems.
 +
 +@(A): The "Official" DesTerm WWW Site
 +
 +In March, Matt Desmond, creator of the popular 128 terminal emulation
 +program DesTerm, announced that he is now online at:
 +
 +   http://www.ionline.net/~mdesmond
 +
 +It contains information about Matt, but is more importantly the gateway
 +to the "Official DesTerm Page."  The site contains information about the
 +new 3.0 version of DesTerm that Matt is developing.
 +
 +@(A): Compuserve INformation Service = Compuserve Internet
 +
 +On May 21, Compuserve (CIS) announced it would phase out its proprietary
 +software and services in favor of providing service using Internet 
 +standards.  The company hopes to re-launch itself as an Internet 
 +provider by year's end. The new service will be accessible through a 
 +standard World Wide Web browser.  It is unclear how this change will 
 +affect Commodore users who rely on Compuserve's "shell" access for 
 +Internet and Compuserve specific access.
 +
 +@(A): Creative Micro Designs, Inc. New Sponsor of Genie CBM RTC
 +
 +Creative Micro Designs, Inc., has taken over as the sponsor of the 
 +Commodore RTC area on Genie.  The Commodore RTC remains one of the
 +few well utilized places to stay current on Commodore events and 
 +find Commodore information.  CMD cited an interest in providing
 +quality information for Commodore enthusiasts as a driving reason 
 +behind the decision to sponsor the Genie forum.  
 +
 +@(A): Hail the New Prez
 +
 +Meeting 64/128 Users Through the Mail, a non-profit organization
 +designed to allow Commodore users to unite and gather information about
 +their machines via mail, has announced a change in presidency:
 +
 +The new president is Tom Adams, and the new address for club
 +correspondence is as follows:
 +
 +   Meeting 64/128 Users Through the Mail
 +   c/o Tom Adams, President
 +   tom.adams@neteast.com
 +   4427 39th St.
 +   Brentwood, MD  20722-1022
 +
 +If you are interested in membership, please contact Tom.  The club is
 +especially useful for those who live in areas with no Commodore support.
 +
 +@(A): Commodore VIC-20 Newsletter Address Change
 +
 +For those interested in the Commodore VIC-20, a very useful but under
 +utilized computer, Jeffrey Daniels publishes a newsletter for the 
 +machine.  The publication address has changed to:
 +     
 +   Vic Newsletter
 +   Jeff's Ink Press & Deli
 +   P.O. Box 477493
 +   Chicago, IL 60647 USA
 +   Jeffrey Daniels, editor
 +   U17632@UICVM.CC.UIC.EDU
 +        
 +A copy can be obtained by writing the above address.
 +
 +@(A): ESCOM Does a CBM!  (Well, Not Really)
 +            
 +Financial Time/Edupage: July 4, 1996
 + 
 +   "Escom, the German company that is one of Europe's largest PC 
 +   retailers, is seeking protection from its creditors (similar to Chapter 
 +   11 protection in the U.S.), following significant trading losses, and 
 +   losses caused by a stock write-down.  Aggressive expansion into new 
 +   markets such as the U.K. had caused storage and supply problems."
 +   
 +Since ESCOM had recently sold the rights to the Commodore and Amiga 
 +lines to VISCorp, the filing will have little affect on Commodore 8-bit 
 +owners.  Also, CMD reports that this action is part of a massive 
 +reorganization effort by ESCOM intended to solidify its PC manufacturing 
 +operation. CMD notes that, unlike CBM, ESCOM is NOT liquidating, but 
 +merely employing a common US business tactic of filing to shield 
 +themselves from creditors while reorganinzing the business.
 +
 +=========================================================================
 +</code>
 +====== HEAVY MATH - Part 0: History, Arithmetic, and Simple Algorithms ======
 +<code>
 +by Alan Jones (alan.jones@qcs.org)        
 + 
 +Someone on comp.sys.cbm asked if the C64 could do HEAVY MATH, meaning 
 +solve computationally intensive numerical problems.  The answer is of 
 +course, YES!  This is the first of a series of articles on numerical 
 +computing for the C64/128. 
 + 
 +@(A): Introduction
 + 
 +The C64 is not the best computer for numerical work.  However, it does 
 +quite well within its limitations of speed and memory.  It is fine for 
 +most homework  and hobby related problems, but not for big industrial 
 +problems.  It does not bother me at all to let it crunch numbers while I 
 +watch a movie or sleep.  Those old commercials about sending your 
 +children to college with a C64 were a joke.  Still, it can save you a 
 +long walk to the campus on a miserable night. And you can always use it 
 +as a terminal to check jobs running on the mainframe. 
 + 
 +The C64 is also a good computer for developing numerical algorithms and 
 +programs.  You can try new ideas and write programs at your leisure at 
 +home with a C64.  When developed to your satisfaction, algorithms and 
 +programs can be "ported" to bigger and faster computers to solve larger 
 +problems.  The C64 has many programming languages available, although 
 +many are not well suited for numerical development work.  On larger 
 +computers Fortran and C are popular for numerical work.  On a C64, Power 
 +C might be a good choice for some users.  I use COMAL 2.0.  I also have 
 +COMAL programs that can help convert source codes from BASIC to COMAL, 
 +and COMAL to Fortran. 
 + 
 +Our C64 with its 6502 (6510) and 64K of RAM is a very simple machine.  
 +It is so simple that many contemporary numerical programs are far from 
 +ideal on a C64.  So I will start with a bit of numerical computing 
 +history.  Early computers and the numerical algorithms that they used 
 +are often closer to ideal for the C64 than contemporary PCs.  
 +Researching old numerical algorithms can be useful for the C64; e.g. 
 +Quartersolve in C-Hacking #10.  Of course new algorithms are useful also 
 +and sometimes you might want to combine ideas from both sides of the 
 +spectrum. 
 + 
 +@(A): History
 + 
 +In the beginning... were fingers.  Seriously, "computer" was a human job 
 +description.  These days, human computers are just an oddity seen on TV 
 +talk shows.  The invention of logarithms was a big boon, and log tables 
 +and slide rules were just the start of computational aids.  Eventually, 
 +mechanical adding machines were developed for high precision, error free 
 +(but slow) numerical work.  One can still find large desk top Friden and 
 +Monroe mechanical adding machines.  Numerical work was still a slow 
 +tedious process.  More computing tools were developed.  The Differential 
 +Analyzer was a mechanical computer that could solve IVPs (Initial Value 
 +Problems, integrating differential equations).  There were also some 
 +early analog electronic computing aids.  The first electronic analog 
 +computer was actually developed after electronic digital computers.  
 +(One could argue that many WW II autopilots and automatic control 
 +circuits were electronic analog computers.) 
 + 
 +The first digital electronic computers were the ABC, ENIAC, EDVAC, and 
 +UNIBLAB. (UNIBLAB is just for the Jetson's fans. ;) )  John Vincent 
 +Atanasoff invented the first digital electronic computer at Iowa State 
 +University.  (So if someone answers the phone and says, "He's on the 
 +John.  Can he call you back later?"  It might not be mean what you first 
 +think.)  Clifford Berry, was a grad student and chief technician, hence 
 +the Atanasoff-Berry Computer, or ABC.  The Atanasoff story is 
 +fascinating.  See: The First Electronic Computer: The Atanasoff Story, 
 +Alice R. and Arthur W. Burks, The University of Michigan Press, 1988. 
 + 
 +Atanasoff wanted to be able to solve large sets of linear equations.  
 +Even with large mechanical adding machines, solving a 10 by 10 problem 
 +was about the largest size that would be attempted.  Schemes to connect 
 +several mechanical adding machines were not feasible, and analog devices 
 +were not precise enough.  He was working at a small university and the 
 +small grants available to him were a serious constraint.  He developed 
 +the ABC over a couple years for less than $7,000.  The ENIAC would later 
 +cost about $500,000!  Atanasoff invented a way to use electronic vacuum 
 +tubes as high speed digital switching devices.  He then invented a 
 +serial arithmetic logic unit, ALU.  Vacuum tubes were still too 
 +expensive so he used cheap capacitors for memory.  He invented 
 +additional circuitry to refresh the capacitors,  i.e. dynamic RAM.  He 
 +designed a parallel computing machine that could add (and subtract, 
 +shift, NOR,...) 30 50-bit binary numbers using 30 modular ALU units.  
 +This allowed it to solve up to 29 linear equations with one right hand 
 +side vector.  The design could easily be scaled up in size and 
 +precision.  It used scratch paper for I/O and temporary memory. (Created 
 +in man's image? The card punch/reader was the limiting factor.  
 +Mechanical punches, like (then) new accounting machines might use, were 
 +too slow.  An electronic spark punch was developed.  A dielectric 
 +material (paper) was placed between electrodes.  A high electrical 
 +voltage would carbonize a dot in the material and actually burn a small 
 +pin hole.  A smaller voltage would later test for the mark.  This was 
 +actually Berry's project.  It had decimal to binary and binary to 
 +decimal conversion for initial and final I/O, as well as other nice 
 +touches. 
 + 
 +Atanasoff also developed a variation of Gaussian elimination for solving 
 +the linear systems of equations with the ABC.   The ABC, like our 6502, 
 +has no multiply instruction.  The ABC had capacitor memory to hold two 
 +rows of equations.  Multiplication was done with shifts and adds, but 
 +whole rows were computed in parallel.  Fixed point binary arithmetic 
 +with truncation (no rounding) was used.  However, it provided 50 binary 
 +bits of precision which was more than the adding machines provided.  It 
 +used no division.  The result would be printed (punched) out in decimal 
 +as two integers that would be divided on a mechanical desk calculator 
 +for each variable.  His numerical algorithm may be useful for our 6502, 
 +although I'm sticking with the slower floating point arithmetic.  It was 
 +not a general purpose "stored program" computer, but it could have been 
 +adapted to solve a variety of problems. 
 + 
 +The ABC was completed and operational in April or May of 1942 except for 
 +one problem:  The card punch reading was not reliable.  The problem may 
 +have been the dielectric material or choice of paper.  A 5 by 5 problem 
 +could be reliably solved, but not the larger problems that it was 
 +designed for.  The problem could have been fixed.  However, Atanasoff 
 +and Berry were called to other WW II related work and not allowed to 
 +perfect the ABC.  The ABC was stored and later dismantled.  Ironically, 
 +the war that built the ENIAC killed the ABC.  Of course many of John 
 +Atanasoff's original inventions were later used in the ENIAC and EDVAC 
 +computers. 
 + 
 +The ABC was built into a desk sized wheeled cart and could be 
 +transported to a  researcher's "home."  It cost less than $7000, but 
 +additional units would have been cheaper.  The ABC was akin to our 
 +favorite low cost home computer.  By contrast, the second computer, 
 +ENIAC, cost a fortune, required a team of technicians to operate, and 
 +filled a large room.  The ENIAC led to monolithic computing centers.  It 
 +would be decades before the computer returned to the home. 
 + 
 +I'll skip the better known history lessons: transistor > microprocessor 
 +> electronic hand calculators > home computers > C64 >...  And of course 
 +the electronic computer caused an explosion in the development of 
 +mathematics and numerical algorithms. 
 + 
 +@(A): Arithmetic
 + 
 +Arithmetic is the basic building block of numerical algorithms.  There 
 +are many types of numerical variables and arithmetics.  Binary 
 +arithmetic is the most efficient for intensive numerical work.  Decimal 
 +arithmetic is best for simple math where conversion to and from binary 
 +would just slow down entering and outputting numbers.  Floating point 
 +arithmetic is easy to use because it is self scaling and covers a large 
 +dynamic range, but it tends to be slow.  Fixed point, e.g. integer, 
 +arithmetic is fast but not as easy to use.  Interval arithmetic involves 
 +computing not just a rounded result but an upper and lower bound on the 
 +result to cover the interval of the arguments and the accuracy of the 
 +computation.  PGP encryption uses a high precision modular arithmetic.  
 +Complex, quaternian, and vector arithmetic can also be used. 
 + 
 +The C64 built in BASIC provides 5 byte floating point variables and 
 +arithmetic and 2 byte integer variables.  I think integer arithmetic is 
 +done by converting to floating point.  Most of the programming languages 
 +for the C64 use the same numerical variable types and even the same 
 +arithmetic code.  Even in assembly language we often call the same 
 +floating point arithmetic routines.  The +, -, *, and / arithmetic 
 +operations on the C64 have no bugs.  However, they appear to be coded 
 +for minimum code size rather than minimum execution time.   Every type 
 +of computer arithmetic can be built up from the 6502 instruction set.  
 +Some arithmetics can be coded for specific applications such as 
 +Polygonamy in C-Hacking #12. 
 + 
 +My interest is in using the floating point routines with numerical 
 +algorithms and writing programs.  Of course even floating point 
 +arithmetic routines are built up from smaller arithmetic blocks.  The 
 +key building block is the multiplication of two positive 8 bit values 
 +into a 16 bit result.  Our 6502 has no such instruction. 
 + 
 +The 6502 CPU was designed to be a low cost 8 bit CPU.  It is fairly 
 +cheap to interface to and will quickly access cheap "slow" memory.  It 
 +is also very quick and responsive to interrupts.  It can perform 8 bit 
 +binary and BCD addition with carry.  The Z80 CPU was designed to be the 
 +ultimate 8 bit CPU.  It has several 8 bit internal registers which can 
 +be used in 16 bit pairs.  It has a full instruction set that includes 
 +some nibble oriented instructions and a 16 bit add.  On average a 1 Mhz 
 +6502 is about as effective as a 2 Mhz Z80, and Z80s are generally 
 +available in faster speeds.  The C128 has a Z80 CPU that could be used 
 +for numerical work, but it was poorly integrated into the C128 and 
 +offers us no advantage over the 6502 (other than executing CP/M and 
 +other Z80 code).  Neither CPU has a multiply instruction.  The fastest 
 +way to multiply with a Z80 is with the simple binary shift and add 
 +method.  However, this is not true with the 6502!  The fastest way to do 
 +math on a 6502 is by using table look ups.  This opens the door for 
 +creative programming solutions. 
 + 
 +Tables can use up a lot of memory, especially for a function of two or 
 +more arguments.  An 8 bit multiply table could eat up 128K of memory. 
 +4 bit, or nybble, multiply table would only need 256 bytes, but this 
 +would involve so  much additional work to realize the 8 bit multiply 
 +that it is hardly worthwhile. The C64/128 multiplies with the slow 
 +binary shift and add method.  However, it is not so slow that we can use 
 +disk or REU memory to speed up such a simple function (a large bank 
 +switched ROM would be much faster).  The table look up method can be 
 +readily used when multiplying by a constant, such as when calculating 
 +CRCs.  Now consider the algebraic identity, 
 + 
 +   a*b = ((a + b)/2)_2 - ((a - b)/2)_2. 
 + 
 +With some more work we can do the multiplication using a table of 
 +squares of only about 512 bytes!  (a + b) could overflow to nine bits, 
 +but we will immediately shift right one bit (the division by 2) so this 
 +is no problem.  However, if (a + b) is odd the least significant bit is 
 +lost.  This is easy to test for by doing a Roll Right instead of a shift 
 +and testing the carry bit.  One way to compensate is to decrement a by 1 
 +(a <> 0), multiply as above and add b, a*b = (a-1)*b + b.  The decrement 
 +is free, but we pay for the extra add.  Using 256K of external memory 
 +you could do a 16 bit multiply this way. 
 + 
 +For an example of the shift and add type multiply and divide see, "High-
 +Speed Integer Multiplies and Divides", Donald A. Branson, The 
 +Transactor, Vol. 8 , No. 1, July 1987, pp. 42-43, 45.  Note also that 
 +although a*b = b*a, the ordering of the arguments can effect the 
 +multiplication speed depending on the bit patterns. 
 + 
 +Perhaps a year ago there was a discussion running in comp.sys.cbm on ML 
 +routines to do fast multiplication.  There was no clear best solution.  
 +Performance often depended on where the arguments a and b were and where 
 +the product was to be stored.  This also affects how well these building 
 +blocks can be used to perform multi byte arithmetic. 
 + 
 +Division is a more difficult problem.  It can be done by shifting and 
 +subtracting, table look up, and algorithms based on computing the 
 +inverse.  Consider:  a/b = exp(log(a) - log(b)).  With tables of the 
 +logarithm and exponential functions (and you might want to use base 2) 
 +we can do division with three table look ups and one subtraction.  The 
 +log and exp functions will have to be tabulated to a greater precision 
 +than the arguments and result, or it will only produce an approximation.  
 +In most cases we will still have to calculate the remainder using 
 +multiplication and subtraction.  Of course with log and exp tabulated we 
 +can calculate fast approximations to many other functions, including 
 +multiplication. 
 + 
 +Stephen Judd used multiplication based on a table of squares and 
 +division based on a table of log and exp in Polygonamy in C-hacking #12.  
 +He reported that his 9 bit/8 bit divide takes 52 cycles "best case."  
 +However, where numerical algorithms are concerned, only worst case and 
 +average case performance are important. 
 + 
 +Double precision, and multiple precision arithmetic routines should be 
 +coded efficiently in assembly language using the fast building blocks 
 +suggested above.  However double precision FP variables and arithmetic 
 +can be built using pairs of ordinary FP variables and arithmetic.  This 
 +will be slow but it can be effective when used sparingly such as when 
 +testing single precision algorithms or using iterative improvement 
 +techniques.  See, "Double Precision Math", Alan Jones, Comal Today, 
 +Issue 20, Feb. 1988, pp. 18-20, and Comal Today, Issue 22, May 1988, pp. 
 +58-61.                                                            
 +
 +@(A): Numerical Algorithms
 + 
 +An algorithm is a procedure or set of instructions for computing 
 +something.  I am mainly concerned with HEAVY MATH algorithms, but here I 
 +will present only feather weight numerical algorithms. 
 + 
 +Consider the trivial algorithm, 
 + 
 +   repeat 
 +      x := (x + 1/x)/
 +   until converged 
 + 
 +This is a stable quadratically convergent algorithm.  For any initial x 
 +<> 0 it will converge to sign(x), i.e. +1 or -1.  Pick a number, say 1.5 
 +and take a few iterations.  Note how fast it converges to 1.0.  The 
 +error or distance from 1 keeps getting squared down toward zero.  The 
 +number of correct digits in each iteration doubles.  This is the 
 +quadratic convergence.  Pick another number such as 10_20 and try again.  
 +At each iteration the error is cut in half.  We take giant strides but 
 +convergence is still painfully slow.  This is a linear convergence rate.  
 +This is a typical Newton's method algorithm.  Near the solution, inside 
 +the region of quadratic convergence, convergence is very fast.  Outside 
 +the region convergence is much slower.  On more complex problems 
 +convergence may fail altogether or converge to an undesired point.  In 
 +general an algorithm will converge to a "limit point" and if the 
 +algorithm is numerically stable, the limit point will be very close to 
 +the exact solution intended.  Although it looks like this algorithm 
 +could run forever like an infinite series, in finite precision 
 +arithmetic it always converges in a finite number of iterations, even 
 +from the bad starting points.  This algorithm is not so trivial when 
 +applied to a square matrix (with no eigenvalues on the imaginary axis).  
 +It will compute the matrix sign function which can be used to compute 
 +the stable invariant subspace, which can be used to solve the algebraic 
 +matrix Ricatti equation, which can solve two point boundary value 
 +problems, and be used to solve linear optimal control problems.  Not to 
 +mention other pseudo random buzz mumble... 
 + 
 +@(A): Inverse and Division 
 + 
 +The inverse x = 1/b can be iteratively computed from x := x*(2 - b*x).  
 +This is best used as a floating point, or multiple byte algorithm.  This 
 +is a quadratically convergent algorithm.  This means that each iteration 
 +should double the number of correct bits in x.  You could use an 8 bit 
 +multiply and converge to an 8 bit solution from an initial guess. 
 +better use would be to compute a 32 bit result (our floating point 
 +mantissa).  We might start with an 8 bit estimate from x := exp(-log(b)) 
 +using look up tables, take an iteration using 16 bit multiplication (or 
 +16 by 8) to get a 16 bit estimate, and take another iteration using 32 
 +bit multiplication to get the final 32 bit result. Division can then be 
 +accomplished as a/b := a*(1/b).  Of course this is only useful if you 
 +have fast multiplication. 
 + 
 +@(A): Square Roots 
 + 
 +BASIC 2.0 calculates square roots from x = exp(0.5*log(a)).  This is 
 +slow since BASIC calculates the log and exp functions, and inaccurate as 
 +well.  If you have these functions tabulated you might want to use them 
 +for an initial estimate of x.  If you have a table of squares, the 
 +inverse function of the square root, you could use a search routine on 
 +the table.  Square roots can be calculated iteratively from the Newton'
 +method algorithm, 
 + 
 +   x := (x + a/x)/
 + 
 +One can also compute x = 1/SQR(a) using 
 + 
 +   x := x*(3-a*x*x)/
 +         
 +avoiding the division.                                       
 +
 +E. J. Schmahl published ML code for computing the square root in "Faster 
 +Square Root For The Commodore 64" in The Transactor, Vol. 8, No. 1, July 
 +1987, pp. 34-35.  This used a 16 byte look up table to start, followed 
 +by Newton's method.  He called the ROM FP routines to do the 
 +calculations, but variable precision arithmetic could also be used as 
 +suggested for the inverse algorithm. 
 + 
 +Another interesting algorithm for the INTEGER square root was recently 
 +published by Peter Heinrich, "Fast Integer Square Root", Dr. Dobb'
 +Journal, #246, April 1996.  This is a fast algorithm that uses no 
 +multiplication or division.  It is not known yet if this is a good 
 +algorithm for the 6502. 
 + 
 +@(A): Algebraic Geometric Mean 
 + 
 +The AG Mean is our first real numerical algorithm, the others above are 
 +our arithmetic building blocks. 
 +                                                                              
 +   Repeat 
 +      a(i+1) := (a(i) + b(i))/
 +      b(i+1) := SQR(a(i)*b(i)) 
 +   until converged 
 +   
 +For 0 < a(0) <= 1 and 0 < b(0) <= 1  the sequences converge 
 +quadratically to their common limit point, the AG mean of a(0), b(0).  
 +Note that we need to use full precision from the start and an accurate 
 +square root routine.  The BASIC 2.0 SQR routine is not accurate enough.  
 +This can be used to compute the complete elliptic integral of the first 
 +kind, K(k).  With a(0) = 0 ,and b(0) = SQR(1-k_2), K(k) = PI/(2*a(n)).  
 +The AG Mean can also be used for some other computations 
 + 
 +@(A): A Caution 
 + 
 +Many mathematical equations can be found in math books and similar 
 +sources.  However, these are often in a form for ease of typesetting and 
 +further algebraic manipulation.  They should not generally be coded as 
 +written.  For example, the well known quadratic equation is the best way 
 +to compute the roots of a second order polynomial equation.  However, 
 +there is a particular way to code it to avoid overflow, underflow, and 
 +loss of precision.  There are also analytical expressions for the roots 
 +of third and fourth order polynomial equations.  However, roots of third 
 +and higher order polynomials are best solved for using general root 
 +finding techniques. 
 + 
 +@(A): Conclusion
 + 
 +This article is long on discussion and short on usable code.  Although 
 +it suggests faster ways of performing arithmetic on a C64, the built in 
 +FP +, -, *, and / routines are reliable and can used for serious 
 +computations.  If I continue this series, I would want each article to 
 +present source code for solving a numerically intensive problem.  In Part 
 +1, I present an introduction to Linear Programming.  Hopefully other 
 +topics will be suggested by readers, and possibly articles will even be 
 +written by other users.  Of course I could also write articles on 
 +numerical methods, or turn this into a simple question and answer 
 +column.  I suspect many readers have already written many HEAVY MATH 
 +C64/128 programs but have not shared them with the Commodore user 
 +community yet.
 +
 +=========================================================================
 +</code>
 +====== Hacking the Mags ======
 +<code>
 +
 +Not everything good and/or technical comes from Commodore Hacking, which
 +is as it should be.  (We still think we have the most, though...)  Thus,
 +let's spotlight some good and/or technical reading from the other
 +Commodore publications.
 +
 +If you know of a magazine that you would like to see summarized here, let 
 +C=Hacking know about it.  These summaries are only limited by Commodore 
 +Hacking's inability to purchase subscriptions to all the Commodore 
 +publications available.  We are very grateful to those publications that
 +send complimentary copies of their publications for review.
 +
 +@(A): Commodore Gazette
 +   This new introduction is published by Commodore Gazette Publications,
 +   and is NOT related to COMPUTE's Gazette, in case you are wondering.  
 +   In Volume 1, Number 7, editor Christopher Ryan mentions the above
 +   fact, as it seems some upset COMPUTE'S Gazette subscribers were calling
 +   him.  In this issue, you will find some detailed instructions on 
 +   installing CMD's JiffyDOS, as well as how to turn your 64 computer into 
 +   a 128 (I should mention this was the April issue).  Kenneth Barsky
 +   provides some handy tips for BASIC programmers, including one 
 +   involving the append mode of CBM disk drives. Overall, the fare is
 +   a bit light, but is pleasing.
 +        
 +@(A): Commodore World (http://www.the-spa.com/cmd/cwhome.html)
 +   In the continuing saga of the funky graphics, Jenifer Esile, who made
 +   a good share of them, has resigned from editorship of Commodore World.
 +   We hope it isn't something we said :-).  Anyway, CW has hired a new
 +   assistant editor, and two new issues have rolled off the press.
 +   
 +   Doug Cotton, the editor of CW, mentioned that Issue 13 was a nightmare.
 +   I guess even CMD falls prey to the superstitious number.  No matter.
 +   For those wanting to learn more about the World Wide Web and HTML, 
 +   Katherine Nelson presents an article on how to use this presentation
 +   markup language to develop exciting WWW sites.  A glimpse of the 
 +   Commodore LCD computer is given, and Doug Cotton presents his RUN64
 +   loader, also presented in the last issue of C=H.  For those who are
 +   anticipating the new release of Novaterm, Gaelyne Moranec interviews
 +   Nick Rossi, the author of Novaterm.
 +   
 +   Issue 14 follows up on the HTML tutorial by Katherine Nelson.  Since 
 +   Commodore software is developed on many computer platforms, Doug Cotton
 +   presents an article on transferring files between dissimilar computer
 +   systems.  In the reference department, clip out the User Group list
 +   compiled in this issue.  Obviously, you don't need it, but it'
 +   something to send the clueless person who calls asking for help.
 +   Jim Butterfield shows how to get some input into your ML programs, and
 +   Maurice Randall delved into the VLIR file format used in GEOS.
 +   
 +@(A): DisC=overy (http://www.eskimo.com/~drray/discovery.html)
 +   Subtitled "The Journal of the Commodore Enthusiast," this recent
 +   publication introduction debuted online on May 17.  Available in
 +   electronic format, like C=H, this is a magazine Commodore Hacking
 +   readers won't want to miss.  Issue #1 includes articles by Stephen
 +   Judd on VDC timing, by Nate Dannenburg on constructing an 8-bit
 +   analog to digital board, and by Mike Gordillo on upgrading the 16kB
 +   128 VDC to 64kB.  Other articles include a discussion on George 
 +   Taylor's new Tri-FLI technique, an overview of CP/M, and a look
 +   at ModPlay 128.  Commented source is included for many of the
 +   articles, and the technical details are not spared. The layout is
 +   similar to early issues of Commodore Hacking, but more attention
 +   is paid to consistency throughout the issue.  In addition to
 +   the issue itself, there is a WWW Site devoted to the magazine:
 +   (http://www.eskimo.com/~drray/discovery.html).  Still uncertain
 +   here at Hacking Headquarters is the publication cycle for this new
 +   arrival, but we hope it finds an eager audience.  The editors are
 +   certain that there is room in the Commodore publication arena for
 +   DisC=overy and more magazines like it.
 +   
 +@(A): Driven (http://soho.ios.com/~coolhnd/)
 +   Issue #13 contains a good review of the 1541-DOS package from 
 +   Bonestripper.  For those who don't know, 1541-DOS allows your
 +   1541 to read and write a disk format that can be read on IBM 5.25"
 +   floppies.  Iceball presents a reality-check for the demo scene, while
 +   Tao discusses some ideas to help developers write graphics-format
 +   independent code.  Even if you don't develop graphics code, you should
 +   read this article and heed its warnings.  Failing to test NTSC code on
 +   PAL machines or vice versa can impact the usefulness of your 
 +   application.  A little extra effort in development can pay off in the
 +   end.  Finally, Tron presents some more information on Internet Relay
 +   Chat (IRC), including how to use its features.
 +   
 +   Eclipsing the last issue, Drive #14 offers a wealth of information.
 +   Nate Dannenburg presents information on ModPlayer 128, while Guenther 
 +   Bauer reviews the new CMD 20 MHz SuperCPU accelerator.  Nate describes 
 +   some of the theory behind creating digital music and how it can be
 +   done using a Commodore 64.  Lastly, Issue #14 presents a transcript 
 +   of the Genie roundtable discussion on the 64 and its place on the 
 +   Internet.
 +   
 +@(A): LOADSTAR (http://www.loadstar.com)
 +   Issue 142 brings us Fender's proposal for dealing with the glut of
 +   good software languishing in the closets of those who have forgotten
 +   it sits there.  Adam Vardy presents a screen saver appropriately 
 +   described as "a screen saver for a computer that doesn't need one."
 +   Of special mention on this issue is Terry Flynn's SYSARCH, a handy 14
 +   screen reference guide containing PRG info at the touch of a key or two.
 +   For those who have flipped through the 64 PRG enough to wear out the
 +   binder, this might provide some relief.
 +
 +   In Issue 143, Jeff Jones presents the nuts and bolts behind LOADSTAR's
 +   text packing routines, while CodeQuest '95 silver medal winner Paul
 +   Clark offers a handy LIST wedge that allows forward and backward BASIC
 +   listing scrolls.   Paul's wedge even allows searching.  That's a neat
 +   twist for you BASIC programers.  For those who don't regularly use
 +   GEOS but are given graphics in GEOPaint format, Saimak Ansari provides a 
 +   utility that will allow you to view and print them without GEOS.
 +
 +   By far the most technical of the 3 reviewed, issue 144 contains a
 +   number of helpful utilities.  One, called Menu Toolbox II, allows the
 +   programmer to create useful and functional user interfaces with a minimum
 +   of effort. Jeff Jones, the author, has rolled an extensive list of user
 +   interface controls into this package. Additionally, Ken Robinson 
 +   presents some bug fixes and enhancements to Jeff Jones' Static Array
 +   System, a package that allows programmers to treat RAM like a relative
 +   file.  
 +
 +@(A): LOADSTAR 128 (http://www.loadstar.com)
 +   For all the Dave's Term folks, Issue 31 presents the 5th and final
 +   installment of the 128 terminal program.  Bob Markland presents his
 +   RANDOM 2-254 program that one can use to create random numbers. In
 +   addition, Bob presents RLE 128, a utility to Run Length Encode (RLE)
 +   fines to make them smaller.  RLE packing is especially useful for 
 +   text screens and other files with repeating symbols.  Fender Tucker
 +   notes in the introduction that many new 128 titles are arriving for 
 +   publication, and he mentions that Mr. Markland will be taking charge
 +   of more aspects of this publication.  We hope he enjoys it.
 +   
 +@(A): LOADSTAR LETTER (http://www.loadstar.com)
 +   We have decided to break LL out from the LOADSTAR reviews because
 +   J and F Publishing has recently decided to make LL a separate product.
 +   The details are in LL Issue #34.  The publication will continue to be
 +   free of charge until #37.
 +   
 +   In LL #32, LOADSTAR introduces two more editions in its "Compleat" line.
 +   The Compleat Crossword offers what the name inplies, while The
 +   Compleat Jon presents 11 previously published Jon Mattson games in
 +   one compilation.  Jeff details a particlularly nasty bug that he worked
 +   around in The Compleat Crossword.  He invites savvy folks to figure out
 +   the problem.  In the reference department, most will want to archive Jeff
 +   Jones' Introduction to Machine Language.  Oh sure, it won't teach YOU
 +   anything new, but the tables are sure nice to have if, perchance, a
 +   friend ever forgets the addressing modes for some opcode.  Lastly, Jim
 +   Brain presents part 5 of the Internet series. 
 +   
 +   LL #33 showed up with a revamped look.  The publication now has a
 +   professional front splash graphic, and the style has evolved.  We are
 +   impressed with the new look.  Of notable mention is the preliminary
 +   information on the CMD SuperCPU and its compatibility.  A discussion
 +   of BASIC compiler pitfalls and problems follows.  Every programer
 +   should read and re-read the article on how to write applications that
 +   work on machines with "old" ROMs.  The problems are so simple, but
 +   neglicting them ruins a perfectly fine app on an old 64.  If you
 +   haven't figured out how to access RAM under ROM and I/O at $D000, 
 +   there's some functions in the issue to do that as well.  
 +   
 +   In LL #34, we learn the new email address for LOADSTAR email:
 +   jeff@loadstar.com.  The issue also mentions LOADSTAR's WWW address:
 +   http://www.loadstar.com and notes that it will be the "coolest C64 site
 +   on earth."  Well, we'll see about that, but credit is due for the
 +   attempt.  In this issue, LOADSTAR notes the impending change of LL from
 +   free to subscription based, and some more information on the SuperCPU is
 +   related.  For those in the demo scene, you'll be pleased to know that
 +   Driven will now be distributed on the 3.5" version of LOADSTAR.  Gaelyne
 +   Moranec and her WWW site is spotlighted, but the most newsworthy
 +   information in this issue is the mention that Byte magazine recently
 +   recognized the 6502, the SID, and the Agnes/Denise/Paula chips as
 +   some of the 20 most influential ICs in the computer industry.  
 +   
 +   Although LL will appeal to the beginner to intermediate Commodore
 +   user with current events information, we are pleased to see numerous
 +   code fragments and technical discussions interspersed with the lighter
 +   fare.  For $12.00 a year, don't pass it over without a look.
 +   
 +@(A): The Underground
 +   Commodore Hacking would like to thank the anonymous Underground reader
 +   who donated a subscription so that we can review this magazine for our
 +   readers.  We appreciate the donation.
 +   
 +   With our first issue, Scott Eggleston has changed the format of the
 +   publication a bit.  Citing problems with reproduction of the smaller
 +   format and printing woes, The Underground gains a whole new larger
 +   format look with Issue 13.  For those developers considering a CMD
 +   hard drive purchase, Disk Estel reviews an HD-40.  Two Internet related
 +   articles surface in this issue, as Mark Murphy explains some of the
 +   technology of the Internet, while Disk Trissel details the File
 +   Transfer Protocol (FTP).  A full complement of columns and departments
 +   accompany each issue as well. The Underground covers beginner to
 +   intermediate material and uses GEOS to publish each issue.  Digitized
 +   photos make frequent appearances, and the content is top-notch.
 +   
 +Other magazines not covered in this rundown include:
 +
 +*  _64'er_ 
 +*  _Atta Bitar_ (_8 bitter_)
 ++  _Bonkers_
 ++  _Coder's World_
 ++  _COIN!_
 +o  _Commodore 64/128 Power User Newsletter (CPU)
 +o  _COMMODORE CEE_
 +*  _Commodore Network_
 +*  _Commodore Zone_
 +*  _Gatekeeper_
 +o  _Vision_
 +
 +Notes on Legend:
 +* = We have never received an issue of this publication.
 +o = We have not received a new issue of this publication to review.
 ++ = We will begin reviewing this magazine in the next issue.
 +
 +In addition, others exist that C=Hacking is simply not aware of.  As soon
 +as we can snag a copy of any of these, or get the foreign language ones 
 +in English :-), we will give you the scoop on them.  
 +
 +============================================================================
 +</code>
 +====== OS/A65 - a Multitasking/Multithreading Operating System for 6502 Computers ======
 +<code>
 +by Andre Fachat (a.fachat@physik.tu-chemnitz.de)
 +http://www.tu-chemnitz.de/~fachat
 +
 +@(A): Introduction
 +
 +In 1989, I first thought about building a self-designed computer. 
 +already had some experience with 6502 based computers. A friend of mine 
 +and I had been trying to build a telephone line switch computer based on 
 +the 6502. Although the project never succeeded (well, to a certain extent 
 +it worked, but then we always got new ideas...), the project gave me an 
 +idea of what an OS should be capable of.
 +
 +With my homebrew computer, I not only wanted to implement one of those 
 +'simple' OSes as in the C64 or other 6502 based computer, but I also 
 +wanted to go a step further and do a real multitasking, microkernel 
 +design OS. This constrained the hardware design to allow memory mapping 
 +of key memory locations, including the 6502 zero-page and stack.
 +
 +@(A): What Should a Real OS Do?
 +
 +A real operating system has four major parts that handle the 
 +input/output, filesystems, memory management and process handling.  At 
 +the very least, a "real" OS includes some form of multitasking :-)
 +
 +Process management forms one block of an OS. A multitasking operating 
 +system requires more administration than a single-tasking OS. A process, 
 +or task, can be seen as a set of allocated resources.  These resources 
 +include memory pages, swap pages, open files, and even the CPU, if the 
 +task is active. The CPU is the processing element that executes the given 
 +program using the allocated resources. Therefore, the CPU state has to be 
 +saved if a task is interrupted. This  allows undisturbed continuation 
 +after the interruption is handled. For each task, the allocated resources 
 +have to be registered and freed. As the CPU can be allocated to only a 
 +single task at a given time, it must be shared among all the active 
 +processes.  So, in order to create the illusion of executing multiple 
 +processes at the same time (pseudo-parallelism), the CPU has to be 
 +assigned to one task after another, at a speed that achieves this 
 +illusion.  If the assignments happen too slow, the illusion is lost, but 
 +if the speed is too fast, the CPU spends all of its time administering 
 +the tasks and not enough time executing the tasks.  The same concepts 
 +hold true for multiprocessor  computers, except that such a machine can 
 +achieve parallel operation on as many tasks as there are CPUs in the 
 +system.
 +
 +A scheduler interrupts the CPU after a certain time to allow the CPU to 
 +be assigned to another task. If the scheduler interrupts the task itself 
 +to schedule a new task, the system is called preemptive. If the task has 
 +to give the CPU back to the system, it is called cooperative 
 +multitasking, like in MS Windows (tm).  of the two, preemptive is 
 +preferred, as cooperative multitasking fails when a single process 
 +forgets or is unable to relinquish control of the CPU.  If such a 
 +scenario occurs, the computer is "blocked".
 +
 +As the second part, I/O provides a uniform interface to all peripherals, 
 +including character devices (serial lines, parallel printers), or block 
 +devices (disk drives). These services are normally provided by device 
 +drivers, which, in some operating systems, are even loadable. One problem 
 +is the communication between device interrupt routines and the rest of 
 +the system. Andrew Tanenbaum, in _Operating Systems, Design and 
 +Implementation_, says that, "Interrupts are an unpleasant fact of life. 
 +They should be hidden away, deep in the bowels of the system, so that as 
 +little of the system as possible knows about them." Nevertheless, 
 +interrupts are necessary to handle time critical operations, like 
 +providing new data to serial lines. Provisions must be taken to avoid 
 +data corruption by an interrupt routine and a program (or the kernel) 
 +using the same memory locations at the same time. So, even if you don'
 +like interrupts, you have to use them.
 +
 +As the third part, the filesystem provides user-level abstraction of I/O. 
 +Files store information of any kind. It is the most visible part of the 
 +OS. The naming conventions make a big part of the OS view for the normal 
 +user. (Remember the 8+3 character filename length restriction in MS-DOS 
 +filesystems?) The filesystem itself provides a standard interface to the 
 +user, although the underlying structure (i.e. how files are stored) may 
 +differ on different devices. In UNIX operating systems, even devices can 
 +be used as files and are represented by special entries in the directory 
 +structure (on the newest version of Linux (pre2.0.) even files can be 
 +used as filesystem (that hold files that can be used as filesystem (that 
 +hold files.. Ooops ;-))). I will not go further into this issue, but how 
 +a filesystem is organized can sometimes become a religious war among 
 +their respective followers. Since a filesystem keeps all internal 
 +structures to itself, it is possible to mount differently structured 
 +filesystems in one system.
 +
 +As the final part, memory management keeps track of which parts of the 
 +memory are in use and which are not. Memory can be allocated when needed 
 +and is freed for other uses when no longer needed. Modern systems use the 
 +concept of virtual memory. Virtual memory specifies a system that uses a 
 +translation table between the CPU and the real memory locations.  When 
 +the CPU tries to access a certain memory address, the address given in 
 +the opcode does not reflect the real address used to access the memory 
 +chips.  Instead, the translation table is used to look up the real memory 
 +address from the `virtual' address given in the opcode. So, if there is 
 +no appropriately sized contiguous memory block available in real memory, 
 +such a block can be built using smaller chunks by setting up the 
 +translation table for the task. The lookup is done by the memory 
 +management unit (MMU). Software called a memory mapper is used to load 
 +and change the table. It loads the table with the values set up for each 
 +task.  So the same opcode address in two different tasks accesses very 
 +different memory locations in the RAM.
 +
 +More sophisticated memory managers even do swapping. The memory manager 
 +allows a task to allocate more memory than actually available. If a 
 +memory location that is not available is accessed, the CPU is trapped 
 +(the ability to do this cleanly was one of the (IMHO very few) additions 
 +from the Motorola 68000 to the 68010 CPU). The memory manager then saves 
 +(swaps out) another memory page to disk and uses the now free memory. The 
 +CPU can then continue. If a swapped out memory address is accessed, the 
 +CPU is halted again and the page is swapped in again - swapping out 
 +another page if necessary. Clearly this slows the whole thing down, but 
 +then virtual addresses are a very nice feature. You can hide the pages 
 +used by other tasks or map the same memory to several tasks, making it 
 +shared memory.
 +
 +These inclusion of these features implies that all resources can be 
 +assigned equally to each task. As there are problems with this in the 
 +6502 (think of the stack), another concept should at least be mentioned. 
 +The IBM `Virtual Machine' (VM/*) series of operating systems emulates the 
 +entire computer's hardware resources for a single task (i.e. a task 
 +doesn't talk to the system via system calls, but by writing data into 
 +some I/O registers).  These register accesses are trapped and appropriate 
 +action is taken. This means that the task can behave as if it owns the 
 +entire machine.  This also means it must load its own OS to handle disk 
 +and other I/O (the second part of the "VM/*" naming scheme).
 +
 +The Commodore PET and its successors, the VIC, C64 and 128, already 
 +contain some functionality of a "real" OS.  On these machines, a single 
 +interface allows uniform file access across different devices (tape, 
 +disk, console). All of them are accessed via the standard OPEN / CKOUT / 
 +CHKIN / CLOSE system calls. However, I/O comprises only one part of an 
 +OS, as defined above.  The Commodore 8 bit computers are single CPU, 
 +singletasking systems (for exceptions see below). Therefore, no process 
 +management is necessary. In addition, there is no memory management. All 
 +memory is assigned to the single running process. (Although sometimes the 
 +need for multiple $cXXX pages seems pressing.)  The filesystem, an 
 +important part of an OS, is put into the floppy drive on Commodore 8-bit 
 +computers and is accessed via standard I/O over the IEEE bus.
 +
 +One interesting exception is the old (IEEE488) Commodore disk drives. 
 +These drives have not one but two processors: one 6502 and a 6504 that 
 +run in parallel and share some memory. The 6504 is used as a floppy drive 
 +controller that handles the low level disk I/O. The 6502 gets the 
 +commands from the bus and processes the `filesystem' task. By writing low 
 +level commands to certain memory locations, it sends commands to the 
 +floppy drive controller (the 6504) that in turn reads and writes the disk 
 +blocks. If you look at the 1541, for example, you can see that this 
 +concept still holds true. However, in the 1541, the interrupt routine 
 +takes the role of the drive controller. Ironically, this reduction in 
 +CPUs was done to save 1541.  In its effort to cut costs, Commodore forced 
 +the single CPU of the 1541 to multitask, creating a bare operating system 
 +to support drive operation.
 +
 +@(A): Modern Kernel Design
 +
 +Early operating systems started with a monolithic approach. i.e. all the 
 +system functions were provided with one big binary. Modern UNIX systems- 
 +even Linux, which is not derived from the original UNIX source- use this 
 +concept.
 +
 +A modern kernel instead has a microkernel design. A microkernel only 
 +provides the means of communication between different processes, not 
 +doing much itself. Some implementations even have the scheduler (!) or 
 +memory manager (!) running as a separate task. The kernel calls these 
 +processes to find out about free memory pages and which task to start 
 +next. This reduces the size of the kernel and allows greater flexibility.  
 +On the downside, the microkernel designs forces more messages to be 
 +transferred, slowing down operation somewhat.
 +
 +One `famous' microkernel implementation is the current Mach microkernel. 
 +This kernel, and its derivatives, has been ported to many platforms. The 
 +PowerPC Platform OS/2 is based on a mach derived microkernel, as well as 
 +Linux for PowerPC Macintosh (mklinux). But, these are relatively simple
 +ports of already existing operating systems. These mach `single servers'
 +don't allow alternate OS system to run alongside or instead of themselves.
 +On the other hand, the GNU Hurd operating system exploits the mach design
 +to allow any server to be replaced by another.
 +  
 +@(A): The OS/A65 Operating System
 +
 +Now let's get from the theory to practice...
 +
 +@(A): The Kernel Implementation
 +
 +When it comes to hardware design, the 6502 has a big advantage: It is a 
 +very simple CPU. With only a few support ICs, it is possible to build a 
 +fully functional computer (neglecting video and sound capabilities). On 
 +the other hand, the simplicity of the CPU has drawbacks. The 6502 has 
 +only three multi-purpose registers, and all are 8 bits.  As such, none 
 +can hold a complete 16 bit 6502 memory location. Even the stack pointer 
 +is 8 bits, restricting the stack to the 256 bytes from $0100 to $01ff. 
 +The stack size and the absolute addresses are a severe limitation if you 
 +intend to develop a multitasking OS on this machine.
 +
 +Because I was developing a new system, I could do anything I wanted to 
 +get around this problem. I solved the stack problem by using an MMU, a 
 +Memory Management Unit. (Although the used chip, the 74ls610 is stated to 
 +be a `Memory Mapper' for paged memory mapping, I call it a `Memory 
 +Management Unit'...). The upper 4 address bits are used to select one of 
 +16 8-bit registers. (The 74ls610 has 12-bit registers, but only 8 bits 
 +are used, for obvious reasons.) The output of the registers were then 
 +used as the upper 8 address bits, extending the total accessible memory 
 +to 1 MByte. The CPU could switch each 4 kByte page to any of the 256 
 +pages available by changing the register values in the MMU. Oops - just 
 +introduced virtual addresses to the 6502 ;-)
 +
 +For each task, new memory is allocated and saved in the task's page 
 +table. When a task is activated, the MMU registers are loaded with these 
 +values, giving each task its own memory environment. In the described OS, 
 +the memory `manager' is part of the kernel, although a quite independent 
 +part. The virtual addresses in the opcodes are translated to the real 
 +addresses through the contents of the MMU registers.
 +
 +The tasks are handled by the environment routines. These routines set up 
 +the environment tables used by the scheduler. The (round robin) scheduler 
 +performs the task switching and decides which task to run next. 
 +Preemptive multitasking is achieved by using the interrupt to switch 
 +between different tasks. The most important routines are the two kernel 
 +entry and exit routines. These sub-routines have to switch the pages and 
 +the stack pointer as well as preserve all other register values. 
 +
 +The tasks providing filesystem services register with the filesystem 
 +manager. They are then assigned drive numbers.  Although UNIX filesystems 
 +are virtual, where a user can reconfigure the system at any time, 
 +developing such a system for the 6502 would overly complicate matters.  
 +Different filesystems can then be used at the same time with different 
 +drive numbers. The drive numbers are translated by the filesystem manager 
 +when passing the message through to the filesystem task.  Currently 
 +`fsiec' for IEEE488 (parallel IEC-bus) interfaced CBM disk drives, 
 +`fsibm' (for PC style disks) and `fsdev' for using devices as files are 
 +provided.
 +
 +The interface to the hardware is provided by the devices. Devices are 
 +simply stripped off tasks and are called as subroutines only.  A device-
 +filesystem (`fsdev') task translates filesystem requests to the device 
 +interface, so that any device can be used like a file.  The general 
 +structure can be seen in Fig.1.
 +
 +    ---------- --------- --------- ------ -------
 +    |  fsdev | | fsiec | | fsibm | | sh | | mon | tasks...
 +    ---------- --------- --------- ------ -------
 +    ---------------------------- -------------- ----- ---------- --------
 +    |          |               | |    fsm     | |   | |        | |      |
 +    |          |      env      | -------------- |   | |        | |      |
 +    |          |               ------------------   | | stream | | mem  |
 +    |          |                                    | |        | |      |
 +    |          -------------------------------------- |        | |      |
 +    |             devices                           | |        | |      |
 +    ------------------------------------------------- ---------- --------
 +    --------- ------- ----------- ----------
 +    | video | | par | | spooler | | serial | devices...
 +    --------- ------- ----------- ----------
 +
 +Fig.1: General OS structure. The devices and tasks make up the features 
 +of the system, while the kernel provides communications. 
 +(fsm = filesystem manager, env = environment handling, task switcher)
 +
 +In addition to executing code within the task, tasks also need to 
 +execute to communicate with other tasks or components of the OS. To 
 +communicate between tasks, a send/receive interface is provided. Using a 
 +rendezvous technique (the sender blocks till the message can directly be 
 +copied to the receiver and vice versa) the mechanism is kept simple, as 
 +no buffering is involved. Semaphores can be used for synchronization 
 +between different tasks. Data streams are used to pass data between 
 +tasks, and even between tasks and devices. Each task has a standard 
 +input, output, and error streams opened upon creation, analogous to the 
 +stream in UNIX systems. The shell can even redirect or pipe the output.
 +
 +@(A): Program examples
 +
 +The shell is a good example to show some of the capabilities of the 
 +system. As already mentioned, each task has three specially assigned 
 +streams. Filesystem tasks don't use them (and have them set to an ignored 
 +stream), but shells normally get started with these streams
 +connected to a terminal device or a serial line device. The streams are 
 +normally opened by the task that `forks' the new task. On boot, the ROM 
 +contains some hints about which device number to open for a program. When 
 +a new task is started with a shell command, the shell has to open the 
 +devices.  Normally the standard input and output streams used by the 
 +shell itself are registered for the new task. However, if given on the 
 +command line, other files can be opened and the streams for these files 
 +used as stdio streams.
 +
 +When a file has to be opened, an OPEN message is sent to the filesystem 
 +manager. This part of the kernel translates the drive number and forwards 
 +the message to the filesystem task. The filesystem then tries to open the 
 +file and sends a reply message. The originating task
 +provides a stream number with its first message. If the filesystem task 
 +succeeds in opening the file, it uses the provided stream to read or 
 +write the data to. If the file ends, the writing task closes the stream, 
 +which is recognized by the other end when there's nothing more to read.  
 +This works for read only and write only opens, but not for read/write 
 +opens.
 +
 +@(A): Problems
 +
 +Bootstrapping was the first major problem. How do you start a new 
 +computer and debug its OS if don't have an OS on the computer?  From 
 +earlier systems I already had a small monitor program - directly burned 
 +into an EPROM - able to load binaries through a serial line. Getting the 
 +MMU (74ls610) was the second problem, because it was on the CoCom list, 
 +and it was not allowed to export to eastern countries. (Although I don'
 +live in an eastern country, this posed some difficulties...)
 +
 +After defining the necessary interfaces between kernel and tasks and 
 +kernel and devices, the design was quite straightforward, actually. One 
 +problem was the small number of registers in the 6502. For some of the 
 +kernel routines, as well as for the send/receive interface it was 
 +necessary to define a special buffer. This buffer is at an absolute
 +address at $02XX, which is the same for each task. For systems with an 
 +MMU, this is not a problem after all. But it showed out to be a 
 +significant problem when porting the OS to systems without MMU, like the 
 +C64 (see below).
 +
 +@(A): Operation without an MMU
 +
 +After the system worked well with an MMU, I decided to build a stripped 
 +down version for systems without an MMU to better fit some `embedded 
 +applications' I had in mind. The system without an MMU is much more a 
 +multithreading than a multitasking system. Threads, as opposed to tasks, 
 +share the same memory, thus being able to change variables and data of 
 +other threads. But, on the other hand, two identical programs cannot run 
 +at the same time as with an MMU, unless they know they will together 
 +ahead of time.
 +
 +The problem lies within the limited stack size of the 6502. Without an 
 +MMU, it is not possible to remap memory pages, especially the page with 
 +the stack in it. So the stack is divided into several parts, limiting the 
 +stack size of each thread, of course. Another problem is global, absolute 
 +addresses - like the send/receive buffer for example. As it would be too 
 +much of a rewrite and memory wastage to give each thread its own buffer, 
 +the send/receive buffer is now protected by a semaphore. A sempahore is a 
 +construct that allows exactly one thread to be in a certain routine or 
 +manipulate the protected data at a time. Semaphores originate from the 
 +railways, where it is important not to have two trains on the same rail, 
 +running in opposite directions...
 +
 +@(A): Port to the C64
 +
 +In addition to lacking an MMU, the Commodore 64 posed other porting 
 +problems. Only small changes had to be made to the kernel.  The C64 
 +kernel required an interrupt source for task switching. The video device 
 +had to be changed to support the C64 keyboard map and video interface. 
 +The hardware cursor used in my homebrew computer was replaced by a 
 +software cursor. The IEEE488 filesystem was first ported to the IEEE488 
 +interface for the C64 and then to the C64 serial port. When stress 
 +testing the system I realized that I still hadn't ported the STDIO 
 +library - a few low level subroutines that make life easier. The library 
 +was mapped to most tasks and was called from the task environment, not 
 +from inside the kernel. Unfortunately, it used global variables - which 
 +broke the library when running on a multithreaded system without an MMU. 
 +Therefore, some routines have been changed, while others can only be 
 +protected by a semaphore.
 +
 +@(A): Port to the C128?
 +
 +Well, the C128 has more memory and even the capability of remapping the 
 +stack and zero page to other locations. In a simple expansion of the C64 
 +version, this could be a way to raise the limited stack size to the full 
 +possible 256 bytes. Then, other ideas come to mind. The original memory 
 +management is made for a system with MMU and is quite useless without an 
 +MMU. What is missing is a call to get a contiguous memory block of more 
 +than a memory page in size. Then such a large block could be allocated 
 +for a new task to load the binary. The binary itself must then be 
 +relocated to fit the new address range. Unfortunately, plans to extend 
 +the system calls or add relocation capabilities do not exist at this 
 +time.
 +
 +@(A): Conclusion
 +
 +The OS/A65 operating system provides multitasking and multithreading 
 +capabilities with a modern kernel design for a 6502 CPU. The OS can be 
 +used from embedded applications to desktop systems. A shell provides 
 +modern I/O redirection and piping capabilities. Filesystems for Commodore 
 +disk drives and PC-style floppies are available. For me, it was a real 
 +adventure to design a completely new computer and operating system the 
 +way I wanted them designed. I also learned a lot about operating system 
 +design - maybe you have learned a bit as well. If you are interested in 
 +it, more information is available at:
 +
 +http://www.tu-chemnitz.de/~fachat.
 +
 +=========================================================================
 +</code>
 +====== UseNuggets ======
 +<code>
 +  
 +COMP.SYS.CBM:  The breeding ground of programmers and users alike.  Let's
 +see what topics are showing up this month:
 +
 +@(A): Let's Poll Together
 +
 +Throughout the past few months, Paul Allen Panks has been conducting a
 +poll on Commodore Business Machines' greatest success stories and most
 +momentous flops. Although some biased opinions exist, many have agreed
 +that the C64 was a success, while the 264 series (Plus/4 and C16) was a 
 +flop.  After that, however, and few agree.
 +  
 +@(A): Ymodem vs. FX, Round -1
 +
 +The many people who use Craig Bruce's ACE environment know that he recently
 +added support for a special transfer protocol, FX.  Proprietary in nature, 
 +FX supports very large buffer sizes and can achieve throughput of 200%
 +or more over standard protocols like Ymodem or Xmodem.  The downside
 +of FX is the necessity of compiling an FX "server" on a UNIX host in 
 +order to utilize the protocol.  
 +
 +While not newsworthy in itself, a discussion about which standard
 +protocols are fastest kicked up some dust.  Many were inquiring about
 +DesTerm support for Zmodem, causing Ismael Cordeiro to note that the
 +DesTerm protocol implementors chose to optimize existing protocols
 +rather than introduce new ones.
 +
 +A lively debate started, as Craig Bruce noted that even the fastest
 +implementations of Ymodem were no match for FX.  Ismael countered by
 +calling the comparison unfair.  Ismael noted the drawbacks of FX being
 +proprietary and not available for all Commodore users.
 +
 +Also, Ismael explained the reasons for FX's increase in throughput over
 +standard protocols.  Packet size was a large factor, as FX uses a much
 +larger buffer size.  However, FX suffers when retransmissions are necessary,
 +since the time between handshakes (which occur between packets) is much
 +longer.  When using a comparable packet size, FX and Ymodem are
 +competitive.
 +
 +@(A): Operating System Support
 +
 +In last issue's USENuggets, we discussed the conversations stemming from the
 +proliferation of operating system ideas on comp.sys.cbm.  (C=H#12,
 +Reference: usenet) We noted that many expressed a need for programmers
 +to support the ACE computing environment, written by Craig Bruce.  Upon
 +noticing this, Craig responded:     
 +     
 +   "I, of course, support the idea of other people building more
 +   applications for the ACE environment.  I also support the idea of
 +   using ACE applications with other operating systems.  ACE was built
 +   on the idea of providing a well-defined Application-Program Interface
 +   (API), and any alternative OS that can emulate the ACE interface (using
 +   a "middle-ware" layer of software) can run all of the existing ACE
 +   applications.  Thus, a new operating system can have a base of (a few)
 +   high-quality programs available instantly (high-enough quality that even
 +   _I_ use them).  Admittedly, I have to update the documentation on the
 +   ACE API, since it changed in Release #15, but the basic functionality
 +   will always be the same.   
 +     
 +   In addition, I also support the idea of other people using ACE code
 +   inside of their own operating systems.  Why re-invent the wheel?
 +   Especially useful may be the dynamic-memory stuff and some device
 +   drivers.  ACE is Public Domain software, so you can do with it
 +   whatever you please."
 +
 +@(A): The "More Power" Swiftlink (An Update)
 +   
 +As well, Craig followed up to our story last issue on the "hacked"
 +Swiftlink that could do 115,200 bps.  (C=H #12, Reference: usenet)
 +Craig noted that ACE #15 supports the modified Swiftlink and that the
 +code in ACE handles the new speeds "flawlessly".  
 +
 +@(A): And Speaking of Operating Systems...
 +
 +Since the last issue of Commodore Hacking, at least two more operating
 +systems have been announced.  One, OS/A65, is detailed in this issue of
 +Commodore Hacking (Reference: os).  Another, called COMMIX 2, will
 +encompass an object oriented operating system.  The system is
 +comprised of multiple sub parts, including:
 +
 +Networked X Input/Output (nXIO), the communications sub system
 +COMMIX Object Format (CXOF), an object and code description format
 +nXIOtee, the object oriented programming language.
 +
 +For more information on this networked OS design, check out its WWW site
 +at: http://www.cynapses.com/ry/cx2/cx2home.html
 +
 +=========================================================================
 +</code>
 +====== Using UQWK with QWKRR128 ======
 +<code>
 +by Gaelyne R. Moranec (gaelyne@cris.com)
 +
 +@(A): Introduction
 +
 +One of my first priorities when joining an Internet service was to 
 +find a way to utilize the QWKRR128 offline mail and news reader to read
 +Internet email and USENET newsgroups.  Like all QWK offline readers,
 +QWKRR128 is commonly used with Bulletin Board Systems (BBS).  A user
 +dials into a BBS, selects which groups and what email to download.  The
 +BBS program then gathers and compresses the user's requested messages into
 +a file called a QWK packet.  The user downloads the resulting packet,
 +and then runs QWKR128 or some other QWK reader on the packet.  Thus,
 +users can read email and news offline and reduce connect time.  Replies
 +are also handled in much the same way, allowing the user to read and
 +reply to messages without tying up the phone.  
 +
 +What happens when we replace the BBS with the Internet?  Well, for a
 +while, making the switch meant shelving QWK offline readers.  However,
 +as with all problems that occur on the Internet, this deficiency was
 +soon remedied by Steve Belzack, who wrote the Unix QWK system, called 
 +UQWK.  It allows Internet users to package up Internet email and USENET
 +newsgroups into QWK packets for use with QWK readers like QWKR128.  Like
 +its BBS counterpart, UQWK also handles reply packets from the QWK
 +reader.
 +
 +@(A): Finding UQWK
 +
 +You can find out if your system already has UQWK by typing any of the
 +following - if one command doesn't work try the next one.
 +
 +   where uqwk
 +   whereis uqwk
 +   which uqwk
 +   find uqwk
 +
 +If your system has UQWK installed, DON'T run the program until after
 +you've read the manual for it. UQWK requires command line switches to
 +work and defaults to emptying your mail box, which isn't nice.  To read
 +the manual, type:
 +
 +   man uqwk
 +
 +It's a good idea to create a text file in your home directory with the
 +manual so you can download, print, and review it offline.  The command
 +to do this is:
 +
 +   man uqwk >> uqwk.manual
 +
 +Then, to read it you type:
 +
 +   more uqwk.manual
 +
 +To download it with Ymodem, the command is:
 +
 +   sb uqwk.manual
 +
 +If your system doesn't already have UQWK available, you may be able to
 +get the file and compile it for your personal use. Because there are so
 +many versions of Unix to deal with, I cannot help you with compiling it
 +for use on your system.  If in doubt, give the file to your system
 +administrator and ask him or her to install it.
 +
 +The FTP site is:  gte.com
 +      Directory:  /pub/uqwk/uqwk1.8.tar.Z
 +
 +Be sure to get both UQWK and the README file.  The text file will tell
 +you step by step how to set it up on your account.
 +
 +@(A): Using UQWK
 +
 +I use two Unix script files when I use UQWK, named "getmail.script"
 +and "sendmail.script" I keep these text files in my home directory. I
 +had to change the permissions on them so Unix would see them as
 +"executable" files.  The command for this is:
 +
 +   chmod +x filename
 +
 +or
 +
 +   chmod 700 filename
 +
 +You will need to make changes in the files so that they represent the
 +BBSID used on your system. For instance, CRISINET is the BBSID on my
 +system and is used in the examples below.
 +
 +When you use the getmail.script the first time, just use an arbitrary
 +name for the name of the .qwk packet, but change your script after you
 +know the correct BBSID to use. Be sure to use proper upper or lower
 +case *exactly* as it appears in your control.dat file for any
 +references to your .REP and .msg files. This may not always work,
 +however, as it depends on your terminal program.  Some CBM term programs
 +will maintain the same casing as is used by PETSCII, while others will
 +convert them to ASCII. If yours changes the filename, be sure to change
 +the appropriate lines in your script files so UQWK and other utilities
 +can find it.
 +
 +
 +@(A): Scripts To Get You Started
 +
 +   # ----------------
 +   # getmail.script
 +   #
 +  
 +   rm crisinet.qwk
 +   uqwk +r +m +n +e
 +   arc a crisinet.qwk *.dat *.ndx
 +   sb crisinet.qwk
 +   rm messages.dat *.ndx
 +
 +   # ----------------
 +   
 +Notes:
 +
 +   rm crisinet.qwk  - This removes any previously created .qwk packet.
 +                      it is in lower case, as since we name this file
 +                      ourselves, there's no need to make it uppercase.
 +
 +   uqwk +r +m +n +e - The command to tell UQWK what you want it to do.
 +
 +                      +r keeps UQWK from deleting your Email and marking
 +                         your newsgroup messages as read.
 +                      +m process Email.        
 +                      +n process newsgroups
 +                      +e tells it to create a control.dat file listing
 +                         ONLY those subscribed newsgroups.
 +    
 +                      *  Also you can use -m or -n so UQWK won't process
 +                      *  mail or newsgroups.  UQWK defaults to doing
 +                      *  Email, but not newsgroups. (+m and -not)
 +                      *  The +e switch is a must for QWKRR users, as
 +                      *  this list gets loaded into memory and reduces
 +                      *  the amount available for reading messages.
 +             
 +   arc a crisinet.qwk *.dat *.ndx  - This creates an ARC archive of the
 +                                     files UQWK has created. QWKRR users
 +                                     don't need to include the *.ndx
 +                                     files, but it's included here for
 +                                     those who use other offline mail
 +                                     readers.  ... Heathens! :-)
 +
 +                                     As mentioned previously, although
 +                                     the BBSID is "CRISINET", since
 +                                     we are creating the archived file,
 +                                     we can leave it in lower case for
 +                                     our own convenience.
 + 
 +   sb crisinet.qwk -  This begins a Ymodem download of your QWK packet. You
 +                      have to start the transfer with your terminal
 +                      program manually.
 +
 +   rm messages.dat *.ndx - This removes the messages.dat and *.ndx files
 +                           from your directory.  If you have sensitive
 +                           Email you don't wish others to view, this
 +                           prevents anyone from reading it.
 +        
 +
 +   # ----------------
 +   # sendmail.script
 +   #
 +   
 +   rb
 +   unzip CRISINET.rep
 +   uqwk -m -n -Rcrisinet.msg
 +   rm CRISINET.rep
 +   
 +   # ----------------
 +
 +Notes:
 +
 +   rb - This begins a Ymodem upload so you can upload your Reply packet.
 +        You have to start the upload with your term program manually.
 +
 +   unzip CRISINET.rep - If you've <Z>ipped your reply packet, this is the
 +                        command to unzip it.  When QWKRR creates the file,
 +                        it honours the case of the BBSID, so the filename
 +                        is in upper case.
 +       
 +   uqwk -m -n -Rcrisinet.msg - This is UQWK command to process a reply
 +                               packet.  The -m and -m switches tell it
 +                               NOT to process your Email or newsgroups into
 +                               a new batch of mail to download. This file
 +                               (crisinet.msg) is within the "REP" packet.
 +                               It is lower case.
 +
 +   rm CRISINET.rep - This deletes the .rep file from your directory.
 +                     UQWK automatically deletes the *.msg file.
 +
 +You can also create these scripts with your term program. Either way
 +works.
 +
 +When you review the UQWK manual, you'll see the commands and should be
 +able to follow the script file and make adjustments to suit your needs.
 +You can have UQWK create QWK packets for Email, newsgroups, or both.
 +Also, you can have one script file that sends your replies then creates
 +the next batch of QWK mail for you.
 +
 +@(A): Safeguarding Your Email
 +    
 +On one system I use UQWK with, I can back up my Email file, something I
 +recommend especially when you first start using the program.  To back
 +up my mail file, I copy the mail spool file to a local temp directory.
 +The actual path string for this varies depending on the type of Unix
 +system you are using.  For me, this works:
 +
 +   cp /var/mail/username ~/temp/filename
 +
 +On another system, I can't make a backup of my Email file, as the
 +system doesn't allow users to move or copy mail files.  However, I can
 +use a command for UQWK that tells it not to erase my mail or newsgroup
 +articles. If you use the read-mode only command, you have to
 +delete Email manually, and mark newsgroup articles as read.
 +
 +
 +NOTE WELL:
 +----------
 +UQWK uses your .newsrc file to find what groups you are subscribed to.
 +ALWAYS upload and process your current Replies before subscribing or
 +unsubscribing to newsgroups, or else you will have your replies going to
 +the wrong newsgroups.
 +
 +@(A): The Files UQWK Creates
 +      
 +UQWK only creates the base QWK mail files, which are "control.dat",
 +"messages.dat" and files that end with "*.ndx" (*.ndx files are not
 +needed for use with QWKRR). If you want to you can archive the files
 +QWKRR needs, or you can download the *.dat files uncompressed. The
 +getmail script file covers creating the arc file and beginning a Ymodem
 +download.
 +
 +I compress my mail using arc, as I have a program that will
 +automatically dissolve my QWK mail and start QWKRR.  The program is
 +called QPE, and can be found in the archive NZP12817.SFX.  If you arc
 +your mail packet, you will need an ML program found in the archive
 +CSX01.SDA.  I could use Zip, but my ISP's Zip program creates only PKZip
 +2.04g files, and Commodore users don't yet have a program that will
 +unzip these.
 +
 +@(A): Replying To Email
 +        
 +By default, QWKRR doesn't display any data after an "@" symbol in the
 +headers. To be able to see the complete Email addresses (a must for
 +Internet use), first load but don't run QWKRR. Type:
 +
 +   poke 49169,255
 +
 +Then save the program using a different name (such as qwkrrinet), just
 +in case you've made an error when entering the values.
 +
 +@(A): Long Email Addresses
 +
 +If the Email address of the recipient doesn't fit in the "To:" field,
 +you must use other addressing methods. Erase the name in QWKRR's
 +header and substitute the person's first and last names, or any two words
 +with a space between them.  Do NOT have a "." or "@" here if the full
 +Email address is too long to fit in the field. If you do, UQWK assumes
 +it's a valid Email address.  The reason you want two words instead of
 +one is so the program doesn't assume you're sending local mail on your
 +ISP.
 +
 +On the first line of the message, type:
 +
 +To: user.name@anywhere.com
 +
 +Begin your message on the following line.
 +
 +Hint: Type "To: " on the first line. Quote enough of the message so the
 +      Email address is on the screen, and then move the address so it
 +      is in place after the "To: ".
 +  
 +There is a space between the colon and the Email address.
 +
 +@(A): Sending Newsgroup Articles
 +
 +The only thing different from Email you'll need to do is make sure that
 +your articles have the word "all" or "ALL" in QWKRR's "To:" field.
 +
 +Messages from almost any QWK offline mail reader do not conform to
 +Internet standards for newsgroup articles, as QWK was originally
 +designed for Fidonet only. You can still post articles with these
 +programs using the above method of placing "all" in the "To:" field.
 +
 +For those who want their articles to conform to the Internet specs, you
 +can have UQWK look to the body of your message for the header
 +information by using the +X switch. This will let threaded newsreaders
 +properly add the article into an existing thread. This is only for those
 +who are well experienced with RFC-1036, the "Standard for Interchange of
 +USENET Messages" and RFC-822, the standard for Internet Text Messages.
 +These documents can be found on the web at: http://www.internic.net/rfc.
 +In the future, I'll be adding information to QWKRR's web site on how to
 +create articles that do conform to this standard.
 +
 +QWKRR has a known bug when it comes to quoting lines that are over 255
 +characters long.  This bug often appears when replying to newsgroup
 +articles, as the "Path:" line often exceeds this.  The next
 +version of QWKRR will not have this problem. To reply to a newsgroup
 +article that has a long pathline, export the article as a temporary text
 +file, then import it into the message. e<X>port is a function only
 +available to registered QWKRR users.
 +
 +@(A): A known UQWK Quirk for QWKRR users
 +
 +When importing text that has a "message" header on it (i.e., all the To,
 +From, Subject etc.), UQWK makes the assumption that a new message has
 +started.  To avoid having your message split at this stage, indent the
 +To/From info in the imported text about 4 columns.
 +
 +@(A): Sending Your Replies
 +         
 +Most Unix systems can unzip reply packets that have been Zipped by
 +QWKRR.  It can also handle files that are ARC'ed if you use the QPA
 +program.  UQWK doesn't require this.  All UQWK knows about is the *.msg
 +file within the .REP file. It is possible to choose <L>ink within QWKRR
 +and upload the resulting *.msg file, BUT if you do this, you may have
 +problems with Xmodem padding (also Ymodem) added to the end of the file
 +by your term program. This extra padding will cause you to receive an
 +Email bounce as UQWK tries to interpret the padding as a message. It's
 +easier to <Z>ip the replies then let your script file unzip them.
 +
 +@(A): UQWK and Signatures
 +
 +When posting articles to newsgroups, UQWK will append your .signature,
 +but if it doesn't like the length of your signature, it will not post
 +the article.  (I don't know the length it will accept). You may want to
 +change the filename from .signature to .sig and use a QWKRR macro for
 +your signature instead. (Be sure to change your settings for other
 +programs like Pine so it will look for a file called .sig, though).
 +
 +@(A): UQWK and Newsgroup Subjects
 +
 +There is a UQWK version that doesn't accept newsgroup articles created
 +with QWKRR and complains that the subject line is incomplete or
 +incorrect.  So far the only cure I've found is to use an older version
 +of UQWK that my system has online.  UQWK version 1.8 does not have this
 +problem, and after checking FTP sites, it appears my current ISP is
 +using a customized version. If I find others have similar problems and
 +find a cure, I'll post info regarding it on QWKRR's WWW site.
 +http://www.msen.com/~brain/guest/Gaelyne_Moranec/qtoc.html
 +
 +@(A): Conclusion
 +
 +While reading BBS news and email offline is a blessing, it is almost
 +a necessity on the Internet, where the level of email and news can
 +be overwhelming to the online reader.  UQWK and QWKR128 make a powerful
 +combinations that help you manage your time effectively yet still enjoy
 +the pleasures of keeping current on all the Internet has to offer.
 +
 +============================================================================
 +</code>
 +====== FIDO's Nuggets ======
 +<code>
 +by Geoff Sullivan (geoff.sullivan@tbbs.bcs.org)
 +           
 +The CBM GEOS, CBM, and CBM-128 FIDONet echoes are places where Commodore 
 +users unite.  Let's see what they discussed over the past few months: 
 + 
 +@(A): GEOCable and Printers 
 +
 +GeoCable was a product originally marketed by Berkely Softworks to 
 +eliminate the need for a serial interface for non-Commodore printers in 
 +the Geos environment.  It also speeds data transfer from computer to 
 +printer. Well, some users decided to test this speed increase and found 
 +that what was accepted before may not be true in all cases.  Many 
 +scientific, and not so scientific, test results showed that the speed of 
 +printing may have more to do with the type of data being printed and the 
 +buffer size of the printer, than with the actual method used to get the 
 +data to the printer. 
 + 
 +Lately more programs outside the Geos operating system are sporting 
 +printer drivers that support the GeoCable. As Phil Heberer aptly puts 
 +it:
 + 
 +   "Most of us GEOS users know the obvious benefit of using a geocable when 
 +   printing from GEOS, but I'm also happy to see many programmers adding gc 
 +   support to their programs. I can now use my geocable with nearly ALL of 
 +   my favorite CBM programs that I currently use besides GEOS (i.e. 
 +   Superscript/Superbase, TWS128, FGM, BROWSER and ACE15) If Maurice 
 +   Randall gets 'The Wave' finished for GEOS, it will round out my 
 +   applications quite nicely!" 
 + 
 +Many users are building their own cables as well.  Some users are 
 +discussing the need for drivers that will work with the Hewlett-Packard 
 +PCL language that is becoming more prevalent now that Commodore users 
 +are fooling around with ink-jet and laser printers. 
 + 
 +@(A): DESTERM 
 +
 +Matt Desmond has recently posted a message on FIDONet confirming his 
 +work on a version 3.0 of Desterm.  He has also stated again that it will 
 +have hardware flow control and enhanced REU support.  It will NOT 
 +support any transfer protocol beginning with the letter Z. 
 + 
 +@(A): EZ Loader v3.2 Released 
 +
 +David Schmoll announced the release of an upgraded version of his EZ 
 +Loader program for the 64 or 128. It is designed to help you access your 
 +most used programs on any disk or fixed drive through a single menu. 
 +Although most useful for CMD drive owners, it can be used with any 
 +Commodore drive. It has too many slick features to be mentioned here but 
 +certain ones are disabled on the downloadable version. They can be 
 +activated by registering the program. It is available via FTP from 
 +ccnga.uwaterloo.ca in /pub/cbm/util128/ and possibly on local BBS's by 
 +now. 
 + 
 +@(A): Alternate Character Set Access 
 +
 +One user was toying with the idea of storing multiple character sets in 
 +the VDC 64K memory of his C128 and swapping between them by simply 
 +changing the register address. His aim is to perfect this for display 
 +applications for various programs such as character set editors.  Rod 
 +Gasson suggested an alternate scheme would be to swap the entire stored 
 +character set from the VDC ram into the default page at $2000. He says 
 +that the VDC's block move is very quick and it allows mixing of 
 +characters from more than one set. 
 +    
 +@(A): Internet 
 +
 +Some folks have reported problems downloading binary files via Lynx or 
 +FTP through UNIX servers with their Commodores. Ismael Cordeiro had some 
 +suggestions for these MIME type problems. For those with shell access on 
 +a UNIX system he suggested using FTP with a customized MIME type file: 
 +     
 +   "...create a text file named '.mime.types' in your home 
 +   directory with one line: 
 +    
 +      application/octet-stream sfx sda arc prg cvt lnx 
 + 
 +   If you don't have shell access and Lynx is the user interface...the only 
 +   thing to do is ask the system administrator to include the above line in 
 +   the system's mime.type file." 
 +       
 +@(A): Miscellaneous
 +
 +Among the miscellaneous topics being discussed on FIDONet is the use of 
 +a C64/128 for ham radio communications.  This is a rather popular use 
 +for the 64.  The program being discussed is Digicom. Many newcomers are 
 +still asking questions of the "old timers" concerning Desterm setup with 
 +high speed modems, REU expansion, and off-line mail reading and 
 +replying.  For a "dead" machine, it is surprising to see how many are 
 +being dragged out of closets, dusted off, and booted up! 
 +    
 +So, that's a glimpse into the world of FIDO, the wonder dog of networks, 
 +for this time. 
 + 
 +Here, boy.... 
 +
 +=========================================================================
 +</code>
 +====== Brad Templeton: The Programmer's Friend ======
 +<code>
 +by Jim Lawless (cjbr@gonix.gonix.com)
 +   
 +The following text is an interview held via e-mail with former C64 
 +software author Brad Templeton.  Mr. Templeton is the author of the PAL 
 +assembler and the Power productivity tool. 
 + 
 +Mr. Templeton is the founder and current CEO of ClariNet, a networked 
 +newspaper with over a million subscribers.  Please refer to the 
 +references at the end of this text for Internet resources detailing his 
 +accomplishments.    
 + 
 +Q: Were PAL, Power, and C Power fruits of your imagination, or were you 
 +   contracted by Pro-line to write them? 
 + 
 +A: C Power was a C compiler written by Brian Hilchie, nothing to do with 
 +   me. 
 + 
 +   But POWER and PAL (Can't recall which I did first, probably PAL, but 
 +   POWER was the one sold first.) were done on my own.  Professional 
 +   Software licensed Power for the Pet and Pro-Line licensed it and Pal 
 +   for the C-64. 
 + 
 +   Actually, I think I wrote a quick cross assembler in B (the 
 +   predecessor language to C) to run on the mainframe at my university 
 +   first, and wrote the early version of PAL in that.  Then of course 
 +   moved it to the Pet so that PAL could assemble itself -- always the 
 +   big moment in any language development.  My memory is getting dim, I 
 +   might have started from an Apple based assembler.  I know I wrote a 
 +   cross assembling, one-pass version of Pal, with macros for Unix a few 
 +   years later but just used it to develop stuff for the C64. 
 + 
 +   (Most people are startled to learn that C compilers, even the very 
 +   first one, are usually written in C, and so on.  You bootstrap by 
 +   writing a very simple one using an existing tool, then get it going 
 +   and then enhance it.) 
 + 
 +Q: PAL was/is one of the most widely used assemblers for the C64 (and I 
 +   assume the PET).  Had you written any assemblers before PAL, or did 
 +   you just happen to create a darn good product "coming out of the 
 +   starting gate"? 
 + 
 +A: No, I hadn't written any assemblers other than the cross assembler.  
 +   Before that however, I had developed Time Trek, a game for the Pet, 
 +   Checker King (a game) for the Atari 800, Apple ][ and Pet and the 
 +   Atari 800 graphics for Microchess.    
 + 
 +Q: In the days of PAL and Power, were you actually making a living 
 +   writing software for CBM machines or was it sort of a part-time 
 +   excursion? 
 + 
 +A: Well, I was a student at the time.  But after graduating, it was 
 +   enough of a living to be able to work on other projects, and 
 +   eventually get the contract to develop my next product, Alice Pascal, 
 +   in 84. 
 + 
 + 
 +Q: What were some of the biggest problems marketing your CBM software? 
 +   (Was piracy an issue?
 + 
 +A: Piracy was somewhat of an issue.  The big mistake with Power was 
 +   doing demos at some pet user groups before I was ready to sell it.  
 +   Bill Seiler of Commodore saw a demo I did at the silicon valley PUG, 
 +   and added some of the best features to Basic-AID, which Commodore 
 +   gave out for free.  Power was better than Basic AID but a good free 
 +   competitor didn't help. 
 + 
 +   It was still a hobbyist market, not nearly as big as the computer 
 +   industry grew to be. 
 +  
 +Q: When and why did you finally abandon development efforts geared 
 +   toward the C64? 
 + 
 +A: The machines faded away and the IBM based machines clearly took the 
 +   lead for more serious applications.  If you wanted to do things that 
 +   took  more than a few kilobytes, or work in C, the C64 wasn't really 
 +   an alternative. 
 + 
 +   I did some games for the C64 but never went anywhere with them. 
 + 
 +Q: With C64's showing up at garage sales and emulators available on a 
 +   wide variety of machines, a renewed interest in that little machine 
 +   is experiencing a rebirth.  Do you have anything you'd like to say to 
 +   a new generation of C64 hackers out there? 
 + 
 +A: On one hand I am shocked, since vastly more powerful computers are of 
 +   course available very cheap, garage sales or otherwise.  However, 
 +   there was a certain excitement to a small computer that one person 
 +   could fully understand and work with like the Pet or C-64.  If you 
 +   view the computer as a hobby or a toy, it doesn't have to be the most 
 +   advanced thing, what matters is that you have fun with it. 
 + 
 +   I certainly wouldn't advocate Windows programming to the ordinary 
 +   start-up hobbyist but such people can have fun on a C64. 
 + 
 +For more information on Mr. Templeton's current endeavors, the following 
 +WWW documents may be of interest to you: 
 + 
 +   An Interview with Brad Templeton 
 +   URL: http://info.acm.org/crossroads/xrds2-3/templeton.html 
 + 
 +   Brad Templeton's Homepage 
 +   URL: http://www.clari.net/brad/ 
 + 
 +=========================================================================
 +</code>
 +====== Hack Surfing ======
 +<code>
 +   
 +For those who can access that great expanse of area called the World 
 +Wide Web, here are some new places to visit that are of interest to the 
 +Commodore community.  In early 1994, when the US Commodore WWW Site 
 +started, the number of sites online that catered to Commodore numbered 
 +in the 10's.  Now, the number is in the 100's.  What a change. 
 + 
 +If you know of a site that is not listed here, please feel free to send 
 +it to the magazine.  The following links have been gleaned from those 
 +recently changed or added to the US Commodore WWW Links Site  
 +(http://www.msen.com/~brain/cbmlinks/).   
 + 
 +To encourage these sites to strive to continually enhance their 
 +creations, and because we like to gripe :-), we'll point out  
 +improvements that could be made at each site.  
 + 
 +@(A): Companies 
 + 
 +o  The Official DesTerm 128 Page 
 +   URL: http://www.ionline.net/~mdesmond/desterm.html 
 +   Here is where you will find the latest scoop on the popular terminal 
 +   emulation program for the 128, as well as information on the newest 
 +   release, Desterm 128 3.0.  As well, you can download Desterm 2.00.  
 +   C=Hacking gripe:  There isn't much information on the 3.0 version. 
 + 
 +o  Keyboard Studio 
 +   URL: http://www.cu-online.com/~gwilson/ 
 +   Gordon Wilson's company motto is: "Large enough to get it done; 
 +   small enough to care."  That sits well with us.  This small site 
 +   announces Mr. Wilson's Commodore repair facility to the world.  It 
 +   offers basic information about the type of repairs possible and what 
 +   other services are offered.  C=H gripe:  We wish there was more 
 +   detailed information on repair services, like pricing information. 
 + 
 +o  Novaterm 9.6 
 +   URL: http://www.eskimo.com/~voyager/novaterm.html 
 +   For a guy who just released a new version of his popular C64 terminal 
 +   emulation program, Nick Rossi has managed to put some effort into this 
 +   site.  The site is flashy, but can be viewed with text browsers as 
 +   well.  The information here includes a rundown on Novaterm 9.6 
 +   features, details on who helped write it and how to purchase it, and 
 +   links to obtain the 9.5 release.  Of special mention is the fully 
 +   indexed HTML online documentation.  C=H gripe: For those who want to 
 +   order with a credit card, the site refers to a list of authorized 
 +   Commodore dealers that we couldn't find. 
 + 
 +o  Omni 128 BBS Software Home Page 
 +   URL: http://www.nwlink.com/~bbell19/omni128.html 
 +   At this site, Brian Bell presents an overview of his Bulletin Board 
 +   System Software and updates on releases.  Additionally, information on 
 +   capabilities like "Echo Net" are present.  C=H gripe:  We couldn't find 
 +   out how to purchase the software or how much it costs. 
 + 
 +@(A): Publications 
 + 
 +o  DisC=overy Home Page 
 +   URL: http://www.eskimo.com/~drray/discovery.html 
 +   We'll save a review of the magazine for "Hacking the Mags" (Reference: 
 +   mags), but the publication does tout its own WWW site.  It's pretty 
 +   bare at present, but it does have links to both a text and also a 
 +   compressed version of the Premiere Issue. C=H gripe:  We didn't expect 
 +   much here, but we do hope the publication offers an index or list of 
 +   articles here at some point.   
 +    
 +o  64'er Online 
 +   URL: http://www.magnamedia.de/64er/ 
 +   This site presents information about the German Commodore publication.  
 +   The layout is nicely done.  The July issue is currently featured, with 
 +   information on the contents and an index of articles.  Alas, the site 
 +   is for German readers only, but we expected no more.  For those who can 
 +   read German, ordering information and pointers to other products are 
 +   available.  C=H gripe: The site leans a bit heavily on graphics, making 
 +   it slow to load. 
 + 
 +o  Commodore Online Information Network (COIN!) 
 +   URL: http://people.delphi.com/cynrcr/ccs.html 
 +   This site offers information on the COIN! disk magazine.  Information 
 +   on the magazine is presented, and links to the 2 most recent issues are 
 +   provided for your downloading pleasure.  A small description is given 
 +   detailing the contents of older issues as well.  C=H gripe: White text 
 +   on a black background takes a bit of time to get used to.  However, 
 +   text mode users won't notice :-) 
 + 
 +@(A): Demo Groups 
 + 
 +o  Millenium Home Page 
 +   URL: http://marie.az.com/~waveform/millenium.html 
 +   This site shows off screen shots of the demo groups' creations.  The 
 +   site is nicely done, with many screen shots and nice graphics.  C=H 
 +   gripe: How do we download the demos? 
 + 
 +o  Demo/Revenge Distribution Site 
 +   URL: http://hack.lakeheadu.ca/~revenge/index.html 
 +   Demo groups tend to provide the splashiest sites, and this one is no 
 +   exception.  The graphics are nicely done, but the content is available 
 +   to all text-mode browsers as well.  Links to demos are provided, as are 
 +   links to other sites of interest.  C=H gripe:  With limited time to 
 +   download, could we get a small description of each demo to help us 
 +   pick? 
 + 
 +@(A): Reference Works 
 + 
 +o  The C64 Games WWW Home Page 
 +   URL: http://www.student.nada.kth.se/~d93-alo/c64/ 
 +   Screen shots are provided for a couple of C64 games, and clicking on 
 +   the names reveals detailed information on the games and its gameplay.  
 +   Music from many C64 games is present, as are tips and hints for playing 
 +   some vintage Commodore games. C=H gripe: The name of the site is a bit 
 +   misleading, since the list of games isn't that extensive. 
 + 
 +o  Poldi's Projects - LUnix 
 +   URL: http://rpool1.rus.uni-stuttgart.de/~etk10217/proj.html 
 +   UNIX on a 64.  Don't even think that it cannot be done.  Daniel 
 +   Dallmann has already proved it CAN.  This site details the entire 
 +   project to execute a multitasking OS on a 64 from kernel to device 
 +   driver.  In addition, some of Daniel's other projects are detailed at 
 +   this site.  Daniel has developed a fast soft-80 screen driver for the 
 +   C64, and the code with detailed information is available here.  
 +   Schematics, code, comments, and an overview for Daniel's 9600 bps 
 +   serial routines are available here.  These routines have also been 
 +   incorporated into Noavterm 9.6.  Finally, Daniel has developed a basic 
 +   implementation of the Serial Line Internet Protocol (SLIP) for the 64.  
 +   Code and information are linked off the site.  Many of the projects 
 +   include screen shots and schematics.  C=H gripe: A high level overview 
 +   of some of the projects would help first time surfers. 
 + 
 +o  OS/A65 Computer and Operating System  
 +   URL: http://www.tu-chemnitz.de/~fachat/csa/ 
 +   Andre Fachat's work on a multi-tasking OS and a home built 6502 based 
 +   computer system are outlined at this site.  The software is detailed in 
 +   Andre's article elsewhere in this issue (Reference: os), as well as on 
 +   the site.  The full text is presented on the site, with an indexed 
 +   overview.  C=H gripe:  We couldn't find a link to the bare 64 binaries. 
 + 
 +o  Technical SID documentation 
 +   URL: http://stud1.tuwien.ac.at/~e9426444/sidtech.html 
 +   For the SID-savvy of the bunch, this site offers a technical discussion 
 +   of the 6581 SID IC and descriptions of the various waveforms with 
 +   mathematical treatment.  C=H gripe: The presentation is pretty basic. 
 + 
 +o  Commodore Product Source List Issue #5, On-line Edition  
 +   URL: http://www.televar.com/~rjlong/ 
 +   Roger Long has placed his Commodore products SourceList Online.  The 
 +   online version, which is updated more frequently than the printed 
 +   version, contains a wealth of information on where to find hardware, 
 +   software, and supplies for the Commodore computer. C=H gripe:  An 
 +   alphabetical index would be nice. 
 +       
 +o  Carrier Detect 
 +   URL: http://www.swt.edu/~ez13942/bbs/cbmbbss.htm 
 +   For all the BBS sysops or ex-BBS sysops, this page will certainly bring 
 +   back memories.  A History of BBS in the 1980's is given, followed by an 
 +   extensive review of various BBS systems.  Each review includes 
 +   statistics and screen shots.  C=H gripe: The background makes the 
 +   graphical version a bit rough on the eyes.  As usual, though, text 
 +   viewers won't care :-) 
 + 
 +o  Bacchus' List of 64 related PC and Amiga tools 
 +   URL: http://www.ludd.luth.se/~watchman/fairlight/c64/tools2.html 
 +   If you regularly use PC or Amiga platforms to develop Commodore 
 +   executables, this site is for you.  It gives a list of many PC and 
 +   Amiga utilities to help the cross platform developer.  Many programs 
 +   are available, and they are all sorted into categories based on 
 +   function.  C=H gripe:  We wish there were more detailed descriptions. 
 + 
 +@(A): Individual Commodore Users 
 + 
 +o  QT's Dream Space 
 +   URL: http://www.lm.com/~qt/ 
 +   QT is a demo lover, and it shows.  There are links to demos, lists 
 +   of new releases, links to demo magazines, and even a tribute to 
 +   "Coder's World", a demo coding tutorial. In addition, there are PC 
 +   versions of 64 compatible ZIP and LYNX compression programs to give to 
 +   your computing challenged PC friends. C=H gripe:  QT likes SunSoft'
 +   JAVA mascot, and has him displayed on the site.  It's a bit misleading 
 +   for those who expect JAVA information wherever the mascot is displayed.  
 +   (He is cute, though). 
 + 
 +o  Don's and Mex's Game Page 
 +   URL: http://blitzen.canberra.edu.au/~dryan/c64main.html 
 +   In a page true to the Commodore, this page's headings are done with 
 +   text screen shots from a C64.  We are impressed.  Lots of games are 
 +   presented on this site, with basic information and screen shots 
 +   provided.  Links from each game allow the viewer to download the 
 +   binary.  C=H gripe:  Some of the games are copyrighted and commercial.  
 +   At the very least, a warning should be placed on the pages. 
 + 
 +o  Welcome to the World of Saz 
 +   URL: http://www.wonderland.org/~sarah/ 
 +   Sarah Dalrymple has provided the WWW surfer with a plethora of 
 +   information on the Commodore VIC-20.  Pictures of units and peripherals 
 +   are featured, as are some historical facts and links to other VIC-20 
 +   sites.  C=H gripe: The Games/Programs link wasn't functional. 
 + 
 +o  Triumph's Zone 
 +   URL: http://www1.usa1.com/~triumph/ 
 +   This page show us how one person uses a Commodore system.  As well, 
 +   this page demonstrates the immense pull CBM machines have on users.  
 +   Triumph had left for greener pastures when a friend "re-introduced" him 
 +   to the Commodore.   For the adventurous, there are plans here for a 
 +   C64 laptop computer under development.  C=H gripe:  The color  
 +   scheme leaves a bit to be desired, but text browsers won't care. 
 + 
 +@(A): Change of Address 
 + 
 +o  LOADSTAR has moved (AGAIN!) to http://www.loadstar.com/ 
 + 
 +o  Marc-Jano Knopp's CBM WWW Site has changed (AGAIN!) to: 
 +   http://www.student.informatik.th-darmstadt.de/~mjk/c64.html 
 + 
 +o  Richard Cunningham's Color 64 BBS Home Page has changed to: 
 +   "Tim Allen's (Dynamite) Commodore Color Pages" and is now at: 
 +   http://www.indirect.com/www/dynamite/color.htm
 + 
 +=========================================================================
 +</code>
 +====== Dim4: A Mind Expanding Experience ======
 +<code>
 +by Stephen L. Judd (sjudd@nwu.edu)
 + 
 +@(A): Introduction
 +
 +"What in the world was I looking at?  What the heck is your
 +code doing?  How do I meet smart and ferociously gorgeous women like
 +you do?"
 +
 +The last question I cannot answer, but this little writeup,
 +along with some pedantically well-documented code, can clear up the
 +first two, I think.  This will not be a very dense writeup, honest!
 +Look to the code for more detail, and any equations below can be
 +skipped without problem.
 +
 +In case you didn't know, dim4 was my entry into the recently
 +held 4k demo contest.  For more info on the contest, as well as the
 +other entries (17 entries in all), seek ye the Driven home page at
 +http://soho.ios.com/%7ecoolhnd/
 + 
 +First, very briefly, the keypresses have the following actions:
 +
 +     -- Turbo mode
 +     -- Normal mode (4D + 3D rotations, and nice and casual)
 +   F4  -- 4D-mode.  All "3D" rotations are halted
 +   R/S -- 3D-mode.  All "4D" rotations are halted
 +     -- Dotted line toggle
 +   Space  advances to the next object.
 +
 +The code is 4095 bytes long, and was a royal pain to get working after 
 +compression.  The music is Prelude #2 from The Well-Tempered Klavier by 
 +J.S. Bach.  I borrowed (and improved) the line drawing routine from the 
 +cube3d programs and stole the patterns out of Polygonamy, otherwise the 
 +code is written from scratch, including the music routine.  That crazy 
 +third object has fourteen sides in 3D, and the 4D object alone has 32 
 +points with 96 lines connecting the points, so well over 100 lines are 
 +being drawn at a time.  I was sorely tempted to put a docking bay on one 
 +of the sides of the 3D guy (a little "Elite" humor there) but ran out of 
 +time and room. After decompression the code expands a little bit, and in 
 +the end it leaves the 8k between $4000-$6000 free, but uses pretty much 
 +everything else.
 +
 +The first object is a 4D cube, often called a hypercube.  You can see a 
 +small cube inside of and connected to a larger cube.  If you look a 
 +little closer, you may notice that in-between the two cubes are some 
 +more cubes.  (When you slice a 3D cube, you get a 2D cube -- a square.  
 +When you take a slice of the hypercube, you get a 3D cube).  As it 
 +rotates along its fourth coordinate, the cube folds in upon itself.  One 
 +way to look at it is that the cubes start to change positions -- after 
 +180 degrees of rotation the inside cube is on the outside and the 
 +outside cube is on the inside.  The hypercube has literally turned 
 +inside-out.
 +
 +The program works fine in PAL and NTSC, although PAL folks will get the 
 +tune playing at the wrong speed and transposed into a different key.
 +
 +Oh yes, one thing I really like is the background on the second object-- 
 +on my 1084 it looks like rope.  This is a consequence of the way VIC 
 +generates colors -- extra colors outside of the normal 16 are being 
 +generated, because two hires colors are being placed next to each other.  
 +If you look at it on a black and white monitor, you will just see thick 
 +diagonal lines.  This very much surprised me when I first saw it!  Find 
 +the March 1985 IEEE Spectrum article for more information on why VIC 
 +behaves this way.
 +
 +Finally, you may notice some little glitches from time to time
 +in drawing the 4D objects.  That is my safety valve and keeps the 
 +program from literally destroying itself, in sometimes spectacular 
 +fashion.  Oh well.
 +
 +@(A): A Handy Glossary
 +
 +   Polygon: A rectilinear closed plane figure of any number of sides.
 +
 +   Vector: A directed line segment having magnitude and direction.
 +
 +I do not know how the term "filled vector" came into vogue, but it is 
 +meaningless, not to mention a little silly -- what would an "unfilled 
 +vector" look like, two points with an arrow at one end?  One may as well 
 +talk about filled lines and filled points.
 +
 +Thus, I plead with the community to not refer to polygons as vectors and 
 +filled polygons as filled vectors.  Polygons need your help, and have 
 +been discriminated against for too long now.  Just one small donation on 
 +your part of a correct mathematical reference can help save the lives of 
 +one, ten, even hundreds of polygons, both abroad and here at home.  
 +Individuals wanting to contribute more may sponsor individual polygons; 
 +a kit will be sent to you containing the name of the polygon and at 
 +regular intervals a picture of the polygon will be sent to you, so you 
 +may monitor the progress of your particular polygon. Some polygons are 
 +created unclosed, and some do not get the necessary ink or programming 
 +skill to properly fill them, but be it a quadrilateral or decagon, 
 +trapezium or parallelogram, with your help we can eventually make all 
 +polygons closed and full, for a better, more civilized world. Thank you 
 +for your time, and God bless all the little geometrical constructions, 
 +no matter their dimension or configuration.
 + 
 +@(A): The Idea
 +
 +This program displays a representation of some four-dimensional objects 
 +-- four 4D objects, as a matter of fact, each one of them a 4D analog of 
 +a three-dimensional object.  Each screen contains four symmetry-related 
 +3D objects and one 4D analog of the object, rotated and projected from 
 +4D into 2D.
 +
 +To describe the four-dimensional objects is not so tough. The 4D cube 
 +(the hypercube) is the first to be displayed, and it is the starting 
 +point for the later objects.  It is also, I think, the easiest to see 
 +what is going on with.  There is nothing really special about four 
 +dimensions -- with a 3D object each point is defined by three 
 +coordinates, say (x,y,z).  A 4D point has four coordinates, say 
 +(w,x,y,z).  The 3D cube has eight vertices at:
 +
 +   (+/-1, +/-1, +/-1)
 +
 +Therefore a very natural extension into four dimensions would be:
 +
 +   (+/-1, +/-1, +/-1, +/-1)
 +
 +For a total of sixteen vertices.  To look at it another way:
 +
 +   (1, +/-1, +/-1, +/-1)
 +   (-1,+/-1, +/-1, +/-1)
 +
 +That is, at w=1 we get a cube, and at w=-1 we get another cube.  In 
 +fact, if we take a "slice" of our hypercube, we get a 3D cube. Compare 
 +to taking a slice of a 3D cube, where you get a square (a 2D cube, if 
 +you will).
 +
 +This is demonstrated when the code first starts up -- the program 
 +"grows" a cube from 0D -> 1D -> 2D -> 3D -> 4D.  At the 4D stage there 
 +is a smaller cube inside of a larger cube, with cubes in-between the 
 +two.  (If you are curious as to how I did the "growing", see the code 
 +description below for a few details).
 +
 +Next, as the cube begins to rotate, it "folds in" on itself (or, if you 
 +like, it unfolds!).  Rotations are no different than they have always 
 +been.  To do a 3D rotation, recall that the object is rotated in the x-y 
 +plane, the y-z plane, and the x-z plane.  To rotate in the x-y plane by 
 +an angle phi:
 +
 +   xnew = x*cos(phi) - y*sin(phi)
 +   ynew = x*sin(phi) + y*cos(phi)
 +
 +Well, any two coordinates form a plane, so in four dimensions there are 
 +just twice as many planes to rotate in.  In particular, the program does 
 +rotations in the usual planes (x-y, y-z, x-z) and also does a single 
 +rotation in the w-x plane, that is,
 +
 +   wnew = w*cos(phi) - x*sin(phi)
 +   xnew = w*sin(phi) + x*cos(phi)
 +
 +I didn't feel any great need to rotate through extra planes involving 
 +the w-coordinate (the w-y and w-z planes).  When phi=90 degrees, or 180 
 +degrees, notice that the coordinates trade places, then go to their 
 +negatives.  This means that as phi is increased, in essence the inner 
 +and outer cubes are going to change positions, and this then explains 
 +the unfolding that is seen on the screen.
 +
 +The R/S key goes into 3D mode by zeroing out the angle increment for the 
 +w-x plane.  In effect, the 4D rotation is frozen. The F4 key zeros out 
 +the x-y, y-z, and x-z angle increments, leaving only the w-x rotation.  
 +F4 followed by R/S will therefore freeze the image completely -- use D 
 +or 4 to get it going again.
 +
 +There is still the issue of visualizing a 4D object.  This should not be 
 +surprising -- after all, we have all seen 3D objects drawn on a 2D 
 +computer screen (or a 2D piece of paper).  If we can get from 3D to 2D 
 +then we ought to be able to get from 4D to 3D (and from there into 2D).  
 +Recall that a 3D projection draws a light ray from the object, through a 
 +little pinhole located at the origin, and finds the intersection with a 
 +piece of film located at z=d, a constant:
 +
 +   L = t * (x1,y1,z1) is my light ray, so t=d/z1 gives the
 +                      intersection with the film of a ray from
 +                      the point (x1,y1,z1) passing through the
 +                      origin.
 +
 +So this is very easy to extend into 4D -- simply project from 4D 
 +into 3D through the origin:
 +
 +   L = t * (w1,x1,y1,z1)  let t=d/w1
 +
 +   -> L3 = (d, d/w1 * x1, d/w1 * y1, d/w1 * z1)
 +
 +The x,y,z coordinates are then projected from 3D into 2D, again through 
 +the origin.  This gives a "perspective" view of the 4D object.
 +
 +Now, what is the 4D analog of a tetrahedron, or an octahedron? I 
 +reasoned them out by trying to think of what 3D objects I could derive 
 +starting from a cube.  That is, taking a cube, and cutting away pieces 
 +of it.  For instance, to do the 14-sided guy, simply take the midpoint 
 +of each line segment on the cube -- this has the effect of cutting off 
 +the corners of the cube.  By defining things in this way, it is fairly 
 +straightforward to extend the objects into four dimensions.  (I was 
 +happiest to realize how to do a tetrahedron). See the file objects.s for 
 +more details on the individual objects. Naturally each has some 
 +similarity to the cube: there is an inner object(e.g. a tetrahedron) and 
 +an outer.  The two are connected, and each set of connections forms 
 +another object, so that, for instance, there are tetrahedrons in-between 
 +the inner and outer tetrahedrons.
 +
 +Finally, to help in visualizing the objects, I stuck a dotted line 
 +capability in.  The dotted lines in general connect the "inner" and 
 +"outer" 3D objects -- turning them off lets you then see the two objects 
 +interact.  (The third object was mighty impressive-looking before I 
 +added these guys! :)
 + 
 +@(A): The Code
 +
 +Now, it is my considered opinion that the code is awfully well 
 +documented, so there isn't too much to say, but a few general things are 
 +worth mentioning.
 +
 +"Growing" the points is really easy -- simply start each coordinate at 
 +zero, and gradually increase it out to its final value.  By doing this 
 +first with the x-coordinates, then the y-coords, then z, then w, the 
 +cube grows a dimension at each step.  I don't do anything fancy with the 
 +other objects -- all coordinates are grown equally, so the objects grow 
 +outwards from the origin (as opposed to some sort of zoom effect).
 +
 +Each 4D character is a 12x12 character grid, which gives a 96x96 pixel 
 +drawing area, and takes up the first 144 characters.  Each 3D character 
 +uses a 5x5 character grid, giving 40x40, and taking up the next 4*25=100 
 +characters, for a total of 244 so far.  In eight of the remaining 12 
 +characters are four patterns and their EOR #$FF complements, which are 
 +used in the background tilings and are used indirectly in the pattern 
 +fills.
 +
 +Since the final x-y coordinates can range from -48..48, this places a 
 +restriction on the initial values for the coordinates.  For purposes of 
 +accuracy and such coordinates must of course be scaled, so that while a 
 +coordinate like (1,1,1,1) is convenient for thinking, a coordinate like 
 +(16,16,16,16) is much better suited to the implementation -- that is, 
 +the original coordinate scaled by a factor of sixteen or so.  The table 
 +range restricts this scaling factor: the 4D coordinate with largest 
 +length that I use is (1,1,1,1), which has length 2.  Thus, after 
 +rotation, it is possible that it will lie on an axis with coordinate, 
 +say (2,0,0,0).  Since coordinates must not exceed 48 in the 
 +implementation, this suggests a scaling factor of 24.
 +
 +As a practical point, the points never really hit this maximum, so in 
 +principle a larger scaling factor could be used. Alternatively the 
 +projection routine can pick up the slack, which is what dim4 uses.
 +
 +The first smart thing I did was to ditch the old method of computing 
 +rotations.  Instead of calculating a big rotation matrix, I calculate 
 +some big tables of f_x (s) = x*sin(s), and let the angle s range from 
 +0..127.  To get a table of cos(s) I simply periodically extend the sine 
 +table by copying the first 32 bytes of the table into the 128-159 
 +positions -- cos(s) is thus sin(s+32). (I take advantage of the fact 
 +that sin(s) and cos(s) are related by a factor of pi/2.  Were I smart I 
 +would have taken advantage of the reflection symmetry of sin/cos, and 
 +saved another 64 bytes.  Oh well.)
 +
 +This then leaves 96 bytes for a projection table, which is just what I 
 +need for the 4D object.  Thus I can mash tables of x*sin(s), x*cos(s), 
 +and my projection table of f_x(z)=d*(z-z0) * x into a single page.  This 
 +page is then extended from $6000 to $C000, i.e. giving 96 tables, for a 
 +total of 24k.  Accessing the tables is now trivial: store x+$60 in the 
 +high byte of a zero page pointer, the low byte contains the offset into 
 +the table (0 for the sine table, 32 for the cosine table, and 160 for 
 +the projection table), and do an LDA (ZP),Y to get the right value.
 +
 +Thus rotations and projections are now very fast and very compact.  Note 
 +that it isn't really necessary to generate a complete table of sines and 
 +cosines.  For instance, 12k of tables (or 6k or whatever) could be used, 
 +and the final result simply multiplied by two, or four.  Even though the 
 +final coordinates might range from -48..48, calculations don't need to 
 +be done using the full range.
 +
 +The line routine is the good 'ol chunky line routine from the last 
 +cube3d program.  It of course had to be modified to work with the two 
 +buffers and such. I removed a bunch of really redundant code that was in 
 +there (REALLY redundant), especially in the actual drawing part (macros 
 +XSTEP and YSTEP -- lines are commented out with a '*'). I also added a 
 +dotted-line capability (it only takes a few extra instructions), to make 
 +things easier to see.
 +
 +Only a single 3D object is actually drawn -- the others are generated 
 +via symmetry (reflections through x=0 and y=0).  Since the 3D objects 
 +are drawn on a much smaller grid, they need to be scaled down a bit.  
 +Instead of writing separate routines to deal with the 3D and 4D objects, 
 +I simply set the 4D coordinate of each point in the 3D object to some 
 +appropriate number.  Recall that in a 3D projection, the farther away 
 +from you the object is, the smaller it gets.  This is the same idea -- 
 +the object is pushed down the 4D axis, and this has the effect of 
 +shrinking the object upon projection.
 +
 +You may have noticed that the 3D objects tend to avoid the center of the 
 +screen -- this is a consequence of the random number generator I coded 
 +up (and did not test for spectral properties or anything like that :).  
 +Originally I was going to place things in a random row and column, but 
 +then things just clumped along a diagonal line :).  I will also say that 
 +the SPLAT routine caused me many days of headaches -- whose idea was it 
 +to put color memory so close to a CIA? :)
 +
 +One thing I had to prune out was a routine which draws circles as the 
 +sine/cosine tables are being set up.  It is kind of neat and gave me 
 +something to watch while the code was setting up, and also was a check 
 +that the trig tables were being set up correctly.  Anyway, all it does 
 +is to draw concentric circles of progressively larger radii, for a sort 
 +of tunnelish-looking thing I suppose.
 +
 +There is a little "failsafe" in the projection routine.  If coordinates 
 +are out of range (greater than 96 or 40) after projection, they are set 
 +to the origin.  At least one of the objects screws up from time to time 
 +(the octahedron is the main culprit I think), and I think what happens 
 +is that the line routine thinks it needs to draw a lot more points than 
 +it really needs to.  So it happily moves along sticking bytes into the 
 +trig/projection tables, and even makes its way up to VIC, SID and the 
 +CIAs!  Once, it actually started pegging the SID volume register or 
 +something, because there would be a periodic loud ticking from the 
 +speaker.  Eventually the code just grinds to a halt or else completely 
 +hoses the system -- hence, the failsafe :).
 +
 +Finally, the very first lines of the code redirect the BASIC vector at 
 +$0302/$0303 and JMPs to the NMI RS/RESTORE routine (although a BRK would 
 +probably have sufficed).  This is the only way I could get the code to 
 +work with the cruncher -- without it, the program goes into "IRQ lock".  
 +Crossbow of Crest suggested that ABCruncher does not put a CLI at the 
 +end of its crunching routine, and that this can cause problems, most 
 +notably with the CIAs.
 +
 +It took 10-15 hours to get things to crunch and work correctly. In 
 +hindsight, I can think of a bunch of things that could have been easily 
 +done to make it work, but at the time I was sure relieved when it 
 +finally got down to 4095 bytes.  Moral: A little thinking early on saves 
 +massive time and effort down the road.
 + 
 +@(A): The Music
 +
 +Finally, a word about the music.  Originally I was going to construct a 
 +series of chords which I could modulate between in a fairly flexible 
 +way.  I was then going to break up the chords in a nice way and move 
 +between them randomly.  But then it occurred to me that I already knew a 
 +piece of music which was a series of broken chords and sounded 
 +infinitely more cool than anything I was going to accidentally write, so 
 +I used it instead.  Even better, they are four-note "chords", broken 
 +into four groups of four notes each -- too good to pass up.  Notes are 
 +looked up in a frequency table, thus on my PAL 64 the music gets 
 +transposed to a different key (in addition to playing at the wrong speed 
 +:).
 +
 +I do not necessarily recommend using the routine as a model for doing 
 +IRQ interrupts -- I had many problems with "IRQ lock", where an IRQ is 
 +continuously latched, and consequently is constantly running the 
 +routine.  I still do not understand what is happening, nor do I have a 
 +solution.
 +
 +@(A): Memory Map
 +
 +   $0F00-$0FFF   Starting sine+projection table
 +   $1000-$2257   Code
 +   $3000-$4000   Character set
 +   $6000-$C0FF   Sine, cosine, and projection tables
 +   $C100-$CFFF   Misc. variables and tables
 +       
 +@(A): Contents of dim4.lnx
 +
 +Note: the code is available in this issue of Commodore Hacking
 +(Reference: code, SubRef: democode), on the Commodore Hacking MAILSERV
 +server (Reference: code), and at http://www.msen.com/~brain/pub/dim4.lnx
 +    
 +   dim4             Submitted entry for 4k demo contest
 +   dim4.text        This file, in PETSCII format
 +   dim4readme-runme Obvious
 +   dim4.names       Linker name file to use with Merlin 128 
 +   main4.s          Main code for dim4
 +   objects.s        Code to define/set up objects
 +   graphics.s       Various graphics routines (lines, fills, etc.)
 +   music.s          Init and main IRQ music routine
 +   
 +============================================================================
 +</code>
 +====== Exploiting the 65C816S CPU ======
 +<code>
 +by Jim Brain (j.brain@ieee.org) 
 + 
 +@(A): Introduction 
 + 
 +For a CPU architecture that can trace its roots to the mid 1970's, the  
 +65XX line has proved very successful.  Finding its way into flagship 
 +systems such as Commodore, Apple, Atari, and other lesser known units, 
 +the CPU has toiled away for years in the single digit megahertz speeds.   
 +Programmers across the world have analyzed the CPU to death and  
 +documented every last one of its "undocumented" opcodes.  Ask a "coder", 
 +and he or she will rattle off the cycles it takes to do an immediate 
 +load or an absolute store.  In short, the CPU is road tested and well 
 +known.   
 + 
 +However, how much do you know about its "children"?  Yes, in the 1980's, 
 +while Commodore was busy tinkering with the NMOS version of the CPU 
 +designed by Chuck Peddle, Bill Mensch, and the ex-Motorola 6800 design 
 +crew, Bill Mensch started a new company, Western Design Center, and 
 +redesigned the 6502 to use the newer and faster CMOS fabrication 
 +process.  In addition to the new 65C02, Mensch designed an upwardly 
 +compatible 16 bit brother, the 65C816.  Although both were offered to 
 +Commodore, only the 65C02 was used and only in the never produced CBM 
 +Laptop computer.  Apple, however, used the 'C02 in later models of the 
 +Apple II line and placed the 65C816 at the heart of the Apple IIGS 
 +system. 
 + 
 +Although Commodore never took advantage of the WDC CPUs, third party 
 +products have offered their speeds to the Commodore community.  Early 
 +models like the TurboMaster and TurboProcess offered 4 MHz speeds to the 
 +Commodore 64 owner, while newer products like the FLASH8 offered 8 MHz 
 +speeds.  The fastest offering thus far is the CMD SuperCPU, offering 
 +speeds of 20 MHz to the Commodore owner.  Of these, the TurboProcess, 
 +the FLASH8, and the CMD SuperCPU all use the 16 bit CPU, the 'C816. 
 + 
 +Since the 'C816 is available now to the Commodore user, and with the 
 +SuperCPU poised to provide software compatibility never before achieved, 
 +it is likely that more and more Commodore applications will run on 'C816 
 +equipped machines.  So, why should the Commodore software developer 
 +care?  Sure, the 65C816 will run 6502 based applications in 6502 
 +emulation mode at substantial speed increases, so developers can opt to 
 +continue writing 6502 based applications.  While I encourage developers 
 +to always provide 6502 based versions of applications when possible,  
 +there are useful features available only in the Native mode of the 
 +65C816.  This article describes some of these features and how to 
 +utilize them. 
 + 
 +@(A): Disclaimer 
 + 
 +The following information is based on following resources: 
 + 
 +o  Data Sheets on the 65C816S, Western Design Center 
 +o  _Programming the 65816_, by David Eyes and Ron Lichty, 1985, Western 
 +   Design Center. 
 +o  A beta version of the SuperCPU 20 MHz accelerator from CMD. 
 +o  A beta version of the Super Assembler (SAS) 65C816 Assembler, by Jim 
 +   Brain, Distributed by CMD. 
 + 
 +Most of the following information is system independent, but any 
 +information specific to the CMD SuperCPU is preliminary and subject to 
 +change. 
 + 
 +It is not the intention of this article to detail all the possible 
 +65C816S opcodes nor their addressing modes.  It is also not the 
 +intention of the article to describe the operation of the SAS assembler.  
 +For more information on both of these products, please consult the 
 +manuals listed above. 
 + 
 +@(A): Diving Right In 
 + 
 +As this article is geared toward the programmer, we're going to 
 +dive right into the new features.  Commodore World issue #12 has an 
 +overview of the CPU for those just arriving on the scene.  For those who 
 +know an index register from an accumulator, read on 
 + 
 +@(A): Overview of Registers 
 + 
 +One of the features of operating in Native mode of the CPU is the 
 +enhanced set of registers available to the programmer.  They are also 
 +key to explaining the other features of the CPU.  So, let us go over the 
 +new register set: 
 + 
 +        8 bits                   8 bits                  8 bits 
 +------------------------------------------------------------------------ 
 +[  Data Bank Register   ][   X Register High    ][   X Register Low*   
 +[  Data Bank Register   ][   Y Register High    ][   Y Register Low*   
 +[          00           ][ Stack Register High  ][ Stack Register Low* ] 
 +                           Accumulator High   ][   Accumulator Low*  ] 
 +[ Program Bank Register ][ Program Counter High*][ Program Counter Low*] 
 +[          00           ][ Direct Register High ][ Direct Register Low ] 
 +------------------------------------------------------------------------ 
 + 
 +* Original NMOS 65XX register set
 + 
 +These registers are referred to in the remainder of the article by their 
 +acronyms, as follows: 
 + 
 +Data Bank Register    (DBR) 
 +Program Bank Register (PBR) 
 +X Register High       (XH) 
 +X Register Low        (XL) 
 +Stack Register High   (SH) 
 +Stack Register Low    (SL) 
 +Y Register High       (YH) 
 +Y Register Low        (YL) 
 +Accumulator High      (B) 
 +Accumulator Low       (A) 
 +Program Counter High  (PCH) 
 +Program Counter Low   (PCL) 
 +Direct Register High  (DH) 
 +Direct Register Low   (DL) 
 + 
 +In addition, the 16 bit combination of B:A is called C, the 16 bit X and 
 +Y registers are called simply X and Y, the 16 bit Direct Register is 
 +called simply D, and the 16 bit Stack Register is called S. 
 + 
 +One more register requires discussion before we can delve into 
 +programming the '816: the Status Register (P) 
 + 
 +Bit: Description 
 +  
 +7     N flag 
 +6     V flag 
 +5     1 in Emulation mode 
 +      M flag in Native mode (memory select bit) 
 +         0 = 16 bit accumulator 
 +         1 = 8 bit accumulator 
 +4     B flag in Emulation mode 
 +      X flag in Native mode (Index Register Select) 
 +         0 = 16 bit X and Y registers 
 +         1 = 8 bit X and Y registers 
 +3     D flag 
 +2     I Flag 
 +1     Z flag 
 +0     C flag 
 +      E flag (Emulation flag)  (Can not be accessed directly) 
 +         0 = Native mode 
 +         1 = Emulation mode 
 + 
 +It is important to note that there are 3 more flags available in the 
 +Native mode version of the status register.  Since there were 7 flags 
 +used before, how did WDC squeeze in the extra flags?  Well, the E flag 
 +cannot be accessed or seen in the status register.  The only way to 
 +change it is to set up the C flag to the intended stats of the E flag 
 +and issue the eXchange Carry and Emulation flags (XCE) opcode.  Another 
 +flag, M, takes the place of the static 1 state in the old status 
 +register.  M controls the length of the accumulator.  The last flag, the 
 +X flag, controls the length of both index registers.  Note that this 
 +flag takes the place of the B flag.  Thus, the B flag is unavailable in 
 +Native mode.  Since the B flag is used to determine whether a hardware 
 +IRQ or a software BRK opcode caused an IRQ interrupt, the Native mode 
 +provides separate interrupt vectors for BRK and hardware IRQs. 
 + 
 +The X and M flags are especially important in Native mode, so much so 
 +that each programmer will become intimately familiar with these flags.  
 +When a register is selected to be 8 bits wide, it emulates the operation 
 +of the register in Emulation mode.  However, when the register is 
 +flipped into 16 bit operation, its length doubles everywhere.  For 
 +instance, a push of the accumulator with the M flag reset causes 2 bytes 
 +to appear on the stack. Likewise, an immediate load of the accumulator 
 +will require a 3 byte instruction: one for the opcode, and a 2 byte 
 +operand.  This opens up one of the nastiest gothcas on the chip, but 
 +we'll detail this later in the article. 
 + 
 +@(A): More Memory 
 + 
 +As you may be aware, the Native mode of the '816 allows the programmer 
 +contiguous access to up to 16 megabytes of RAM.  This access doesn'
 +involve tricks such as DMA, page flipping, or RAM "windows" At any 
 +given point in time, an application can access a memory location and 
 +request a memory location more than 64 kB higher in the next 
 +instruction.  In order to access the new memory locations using standard 
 +6502 addressing modes, the new DBR and PBR registers have been added. 
 +The PBR serves as the 3rd byte of the PC, allowing code to run at any 
 +location in memory.  The DBR register functions as the 3rd byte for 
 +memory accesses in addressing modes like absolute mode.  Of course, 
 +there are restrictions, like the inability to execute code that crosses 
 +a 64kB boundary, but these restrictions can be overcome, as you'll see 
 +below.   
 + 
 +For clarity, we will refer to the 3rd bytes of an address as the "bank", 
 +and refer to the 2 lowest bytes of an address as the offset.  Alternate 
 +names include "segment" and offset, but that naming scheme was 
 +previously used with the Intel 80X86 CPU line and carries with it many 
 +bad connotations. 
 + 
 +Since memory addresses can now be 3 bytes wide and contain 6 hexadecimal 
 +digits, an obvious representation would be $xxxxxx.  However, many '816 
 +references write the address as a two part quantity, with the bank 
 +register and the 16 bit offset separated by a colon, ":" Therefore, 
 +$xxyyyy and $xx:yyyy are equivalent.  In this article, the former 
 +notation is used for emphasis and because ":" notation also brings up 
 +bad connotations from Intel 80X86 CPU line. 
 + 
 +@(A): Increased Stack 
 + 
 +As the S register is now 16 bits wide, the stack can now reside in all 
 +of bank 0, giving the programmer 64 kB of stack area.  As well, the S 
 +register can be set to any location in bank 0.  This allows one to start 
 +stack from any non-aligned page in bank 0. 
 + 
 +@(A): Enhancements to Old Addressing Modes 
 + 
 +Even though the '816 supports the traditional 14 addressing modes of the 
 +6502, it extends some of them to handle the extra features in the '816.  
 +Note that the opcodes and parameters have not changed for these 
 +addressing modes; rather the way the CPU treats them differs slightly.  
 +Of special note is the term "zero-page", which has been expanded into 
 +"Direct Mode" Let's take a look at what changes you can expect. 
 + 
 +@(A): Absolute Modes 
 + 
 +In the 65XX CPU, modes such as absolute and its indexed siblings each 
 +could access a memory location in the 64 kB memory map.  In the '816, 
 +these modes are now capable of accessing memory above and beyond 64 kB.  
 +When accessing memory, the DBR register is prepended to the address 
 +being accessed, thus forming a 24 bit effective address.  When 
 +transferring control, the PBR register is prepended.  Thus, if the DBR 
 +contains a $05, the following: 
 + 
 +   af ff ff     lda $ffff 
 + 
 +would load a value into the .A register from $05ffff.  If the M flag is 
 +set to 16 bit mode, the 16 bit value in $05ffff and $060000 will be 
 +loaded.  If the M flag is set to 8 bit, only $05ffff will be loaded.  
 +Notice that this example also shows "temporary-bank-incrementing".  
 +While loading a 16 bit value with the instruction above, the DBR is 
 +"temporarily" incremented to allow access of data from bank $06.  The 
 +actual DBR is left unchanged, so the next instruction will find the DBR 
 +back at $05. 
 + 
 +You'll rarely see such bank changes when accessing data as above, but it 
 +is common when using indexing modes.  With the DBR at $05, executing: 
 + 
 +   a2 ff ff     ldx #$ffff 
 +   bd ff ff     lda $ffff,
 + 
 +will load values from $06fffe and possibly $06ffff, depending on the 
 +size of the accumulator.   
 + 
 +When using absolute mode on opcodes like JMP and JSR, the PBR register 
 +is used to form the 24 bit effective address.  Unlike the DBR, the PBR 
 +does not exhibit "temporary-bank-incrementing" It simply rolls over 
 +within the same bank.  Keep that in mind. 
 + 
 +@(A): Direct Modes 
 + 
 +To enhance the capabilities of the '816, the CPU offers Direct Mode, 
 +which is a superset of "zero-page mode" Basically, all z-page opcode 
 +operands are added to the D register to form a 16 bit effective address.  
 +This allows using the entire bank 0 as effective z-page memory.  With 
 +the D register set to $0200, executing: 
 + 
 +   a5 10        lda $10 
 + 
 +would load the accumulator from $000210 (and possibly $0211).  Direct 
 +mode is not allowed to increment into bank 1.  If the above instruction 
 +is executed while D = $ffff, the accumulator would start accessing data 
 +from $000009.  This highlights an important yet subtle change.  No 
 +longer is lda $10 guaranteed to access data from $000010.  It will 
 +access data from D + $10. 
 + 
 +Indexing changes little with respect to Direct mode.  After the D 
 +register is added to the 8-bit offset, the appropriate register is 
 +added, and the effective address is normalized to fall within bank 0.  
 +There is no way to reference outside bank 0 in Direct mode.  Even if 
 +index registers are set to 16 bit mode and hold $ffff, the instruction 
 +will access bank 0. 
 + 
 +@(A): Direct Indexed Indirect Mode 
 + 
 +Most programmers forget, but this mode executes in two parts.  Now, it 
 +becomes important.  In the first part, the 8-bit offset is added to the 
 +D register and then the X register.  The result is normalized to 16 
 +bits, and two values are accessed from bank 0.  The second part takes 
 +those two bytes as the effective address, and PREPENDS the DBR register 
 +to form a final address.  In this way, you can access memory outside 
 +bank 0 with this mode, but you must store the address to access in bank 
 +0.  Read that sentence again. 
 + 
 +@(A): Direct Indirect Indexed Mode 
 + 
 +Like its relation above, this mode work in two parts.  In part 1, the 8 
 +bit offset is added to the D register and normalized to 16 bits.  Two 
 +bytes are accessed from bank 0, and then the 16 bit value returned is 
 +appended to the DBR to form a 24 bit effective address.  In part 2, the 
 +Y register is added to this effective address to form the final address 
 +for access.  As above, part 1 cannot access outside bank 0, but part 2 
 +can. 
 + 
 +@(A): Stack Mode (Implied) 
 + 
 +Usually lumped in with the Implied addressing mode by most 6502 
 +developers, stack mode has changed to accommodate the new widths of the 
 +registers.  Depending on the width of the register, stack operations 
 +will push and pull either 1 or 2 bytes.  This can cause problems if you 
 +push a 16 bit register and try to pull it off as an 8-bit register.  
 +Caveat Emptor. 
 + 
 +@(A): Immediate Mode 
 + 
 +In Emulation mode, immediate mode was simple.  You specified an 8 bit 
 +immediate value to be loaded into a register.  In Native mode, however, 
 +registers can be 16 bits.  Everyone knows the opcode can do an immediate 
 +8-bit load, but what opcode performs a 16-bit immediate load?  Answer: 
 +the same opcode!  If the register is set to 8 bits via the X or M flags, 
 +the immediate load on that register will pull in 8-bits.  If the 
 +register is set to 16 bits, the instruction will load a 16 bit value.  
 +The effects of this change are monumental.  An 8-bit immediate load 
 +requires 2 bytes, while a 16 bit load requires 3.   
 + 
 +This presents some problems.  Since neither the opcode nor the mnemonic 
 +differs between the two forms, the assembler cannot tell which form is 
 +required from context.  The develop must tell the assembler which form 
 +to use by use of assembler directives.  However, this doesn't guarantee 
 +success.  The developer must ensure that the flags are set correctly 
 +before executing an immediate load of any register.  Improper settings 
 +will either cause the instruction to pull the next opcode into the high 
 +byte of the register or treat the high byte of the intended register 
 +value to be executed as an opcode.  In my biased opinion, this is 
 +severely shortsighted.  I would rank this as the number one bug that 
 +'816 developers will face.  However, simple macros employed in your 
 +assembler can help minimize this problem. 
 + 
 +@(A): New Addressing Modes  
 +  
 + 
 +The 816 can utilize all 14 original addressing modes of the 65XX line, 
 +and adds 10 more for a total of 24.  The new addressing modes are as 
 +follows:   
 + 
 +*  Absolute Long                     al 
 +*  Absolute Long Indexed             al,
 +*  Absolute Indirect                 (a) 
 +*  Absolute Indexed Indirect         (a,x) 
 +*  Direct Indirect Long              [d] 
 +*  Direct Indirect Long Indexed      [d],y 
 +*  Stack Relative                    d,s 
 +*  Stack Relative Indirect Indexed   (d,x),
 +*  Relative Long                     rl 
 +*  Block Move                        xyc 
 + 
 +Let's take each under consideration: 
 + 
 +@(A): Absolute Long Mode, Absolute Long Indexed Mode 
 + 
 +These modes allow a programmer to access a fully qualified memory 
 +location without using the DBR.  The benefits include pulling data from 
 +one bank to store in another without constantly changing the DBR.  The 
 +disadvantages include the extra size of the instruction.  The long forms 
 +of these two absolute modes takes an extra byte in memory and an extra 
 +cycle to load into the CPU.  Note that only the X register is supported 
 +as an index register for absolute long indexed mode. 
 + 
 +@(A): Absolute Indirect Mode 
 + 
 +This mode, denoted as (a), functions similar to (d), but does not 
 +require the D register.  The locations in bank 0 specified as the 
 +operand in this mode are accessed, and the results form the lower 16 
 +bits of the effective address.  The PBR is prepended to this address to 
 +form a final 24 bit address.  The PBR is used since only the JMP opcode 
 +uses this mode. 
 + 
 +@(A): Absolute Indexed Indirect Mode 
 + 
 +This mode, denoted as (a,x), functions similar to (d,x), but the D 
 +register is not involved.  Thus, as with the (a) mode above, these modes 
 +are to direct modes as absolute long modes are to absolute modes. 
 + 
 +@(A): Direct Indirect Long Mode 
 + 
 +This mode functions similar to Direct Indirect Mode, except that in part 
 +2, all three address bytes are pulled from memory.  The DBR and PBR are 
 +not involved, but the D register is used.  If locations $10 - $12 
 +contained $10, $11, $12, and the D register contained #08, then: 
 + 
 +    a7 08       lda [$08] 
 + 
 +would load the accumulator with data starting at $121110.  Do you see 
 +how that works?  The D register is added to $08, and the result ($10) is 
 +accessed to fetch the 24 bit memory address, in low byte order.   
 + 
 +@(A): Direct Indirect Long Indexed Mode 
 + 
 +As Direct Indirect Indexed Mode extends Direct Indirect Mode, this mode 
 +extends the above mode by adding the Y register to the effective address 
 +pulled from bank 0.  Note that even though this mode uses a fully 
 +qualified 24 bit address (no DBR or PBR involved), it can still 
 +increment into the next bank to access memory.  Thus if we use the above 
 +example, and Y = $ffff, executing: 
 + 
 +    b7 08       lda [$08],
 + 
 +will fetch the accumulator starting at ($121110 + $ffff, or $131109). 
 + 
 +@(A): Stack Relative Mode 
 + 
 +Denoted as "d,s", this mode is completely new to 6502 programmers.  It 
 +starts off the set of modes that work with the S register (Stack 
 +Pointer).  As the Stack Pointer is now 16 bits in width, the stack can 
 +fill all of bank 0.  Although 65XX programmers have traditionally used 
 +stack locations only for saving return addresses from JSR and interrupt 
 +sources, the '816 allows one to store data on the stack.  In this mode, 
 +the 8 bit operand is added to the S register and normalized to 16 bits.  
 +Memory in bank zero is accessed starting at this effective address. 
 +Since the S register points to the next location to hold data, 
 +executing: 
 + 
 +   a3 00        lda $00,s 
 + 
 +would prove meaningless, unless you wanted to get the last byte pulled 
 +off the stack.  This mode allows one to access the last 255 bytes off 
 +the stack in the order they would be pulled off.   
 + 
 +@(A): Stack Relative Indirect Indexed Mode 
 + 
 +By far the most complex Addressing Mode to understand in the '816, this 
 +mode can be used to access data referenced by pointer values on the 
 +stack.  Denoted as "(d,s),y", the effective address formed by the 8 bit 
 +operand and the S register is normalized to 16 bits and 2 bytes are 
 +accessed.  The resulting 16 bits are appended to the DBR register and 
 +the 24 bit effective address is added to the Y register to form a final 
 +24 bit memory address.  This can be used to access data passed by 
 +"reference" (not the value, but the pointer to the value, is stored in 
 +the stack). 
 + 
 +@(A): Relative Long 
 + 
 +Only one opcode uses this addressing mode, Branch Long (BRL), and it 
 +fulfills the desire of every 65XX programmer to have a relocatable jump 
 +instruction.  Unlike normal branches, BRL can cross page boundaries.  
 +However, BRL is constrained to the current bank.  It cannot cross banks.  
 +Although viewed as a disadvantage, this presents a few possibilities.  
 +If a programmer was at $xxff00 and wanted to jump to $xx0000, he or she 
 +can use BRL, even though the offset appears wider than $32767, the 
 +maximum offset for BRL.  In actuality, the assembler computes a branch 
 +to the next bank, which is only 256 bytes away.  The CPU negates the 
 +bank increment, thus forcing execution to begin at the current bank. 
 + 
 +@(A): Block Move 
 + 
 +Along with stack relative indirect indexed mode, this mode is complex.  
 +However, unlike its stack counterpart, this complex mode is easier to 
 +understand.  Denoted as xyc, this mode allows the programmer to quickly 
 +move areas of memory from one bank to another.  An example will prove 
 +helpful: 
 + 
 +   a2 00 20     ldx #2000 
 +   a0 00 30     ldy $3000 
 +   a9 ff 0f     lda $0fff 
 +   44 02 01     mvn $01,$02 
 + 
 +Basically, we are moving $1000 bytes from $012000 to $123000.  The X 
 +register holds the offset into the source bank; the Y register holds the 
 +offset into the destination bank.  The accumulator holds the number of 
 +bytes to move MINUS 1.  Remember that.  The opcode Move Negative (MVN) 
 +takes the source bank and the destination bank as operands.  The only 
 +opcodes that utilize this mode are MVN and Move Positive (MVP).  MVP 
 +assumes the X and Y registers hold the top of the data areas to move, 
 +while MVN assumes the opposite.   
 + 
 +@(A): Hints And Tips That Will Decrease Your Stress 
 + 
 +Writing Machine language applications on any platform is bound to create 
 +stress in your life, but this section is presented to make the 
 +programmer aware of some "gotchas" in the '816.  Here goes. 
 + 
 +@(A): Initialization 
 + 
 +To switch the processor from emulation mode into native mode, perform 
 +the XCE (eXchange Carry with Emulation) mnemonic with the carry bit 
 +reset: 
 + 
 +   18           clc 
 +   fb           xce 
 + 
 +The next thing to do is determine the initial size of your registers. 
 +The 816 can use any register as 8 bits or 16 bits.  By default, the 
 +registers are 8 bit, but just to make sure: 
 + 
 +   c2 30        rep #%00110000 ; set index and acc to 8 bit 
 + 
 +By stuffing $30 into the processor status, we are setting both the X and 
 +M flags to 8 bit.   
 + 
 +At this point, it should become obvious that if the programmer wishes 
 +to flip between 8 and 16 bit modes many times, macros need be employed 
 +to do this quickly and painlessly. 
 + 
 +Now, the development can begin.   
 + 
 +@(A): Register Usage 
 + 
 +Never underestimate the power of immediate mode to mess your program up.  
 +If at all possible, switch to one size of registers and stay that way.  
 +If that can't be accomplished, thoroughly document where you changed the 
 +size of either set of registers.  Remember, the assembler cannot trace 
 +program execution, so don't assume the assembler will fix everything up 
 +for you.  On the preliminary version of the SAS assembler, the opcodes 
 +to instruct the assembler to alter immediate mode behavior are: 
 + 
 +   .inl   ; INdex registers Long 
 +   .ins   ; INdex registers Short 
 +   .acl   ; ACcumulator Long 
 +   .ins   ; ACcumulator Short 
 + 
 +What happens when you change a register's size?  Well, let's treat the 
 +index registers and the accumulator separately.  When changing from 8 to 
 +16 bits, the index registers are simply extended by padding with zero.  
 +When the index registers are changed from 16 bit to 8 bit, the high byte 
 +of each index register is lost and forced to zero.  On the other hand, 
 +the accumulator is actually made up of two 8 bit registers.  When 
 +changing from 8 to 16 bit, the accumulator's high byte becomes the value 
 +in the hidden B register.  When moving from 16 to 8 bit, the high byte 
 +of the accumulator is forced to zero, but the B register is left intact.  
 +Thus, changing from 8 to 16 bit and back to 8 bit won't affect the 
 +accumulator, but it will force the high bytes of the index registers to 
 +zero. 
 + 
 +When using the MVN and MVP opcodes, the size of the index registers make 
 +a difference.  If set to 8 bits, one can only transfer memory from page 
 +0 of any bank.  However, unlike the index registers, MVN and MVP treats 
 +the Accumulator as 16 bits wide, regardless of the state of the M flag. 
 + 
 +Also, what length the registers are set to determines how many bytes are 
 +pulled or pushed during register to stack operations.  Remember that 
 +when pushing from one location and pulling in another. 
 + 
 +To execute emulation mode code in Native mode, simply set all registers 
 +to 8 bit widths, load the D register with 0, and load the stack with 
 +$01ff.  By manipulating the DBR and PBR, you can execute up to 256 
 +emulation mode programs, while at the same time using this method. 
 + 
 +In the '816, there is no need to use a register to zero out memory.  The 
 +"stz" opcode can be used in the same manner as "sta" to zero out memory.  
 +Note that, like "sta", stz will store a single or double byte 0 
 +depending on the state of the M flag. 
 + 
 +Remember that, when the accumulator is set to 16 bits, the BIT 
 +instruction no longer copies bits 6 and 7 to flags in the P register, 
 +but bits 15 and 14. 
 + 
 +@(A): Timing 
 + 
 +Beware of absolute long addressing.  It takes 1 more byte and 1 more 
 +cycle to utilize.  Use it sparingly. 
 + 
 +In Native mode, there is no penalty for crossing a page in memory.  This 
 +should allow some programs to actually run faster in Native mode. 
 + 
 +BRL can be used at any location a JMP would be used.  The advantages 
 +include self-relocatable code, but the disadvantages include an extra 
 +cycle for execution.   
 + 
 +By now, you have noticed that MVN and MVP provide a fast way of moving 
 +data areas.  However, they can also be used as a fast fill.  Simply 
 +store the fill pattern into the first address of the memory area, load 
 +the X register with the start of the fill area.  Load Y with the start 
 +plus the length of the fill pattern.  Load A with the size of the fill 
 +area minus the fill pattern size minus 1.  Then, do a mvn h,h, where h 
 +is the bank you want to fill.  Any size pattern can be used.   
 + 
 +@(A): Stack Instructions 
 + 
 +Many of the added instructions in the 65816 deal with enhanced stack 
 +operations.  In addition to the S register and accumulator pushes and 
 +pulls, you can now programmatically push all the registers except PC 
 +onto the stack, and pull all but the PBR and PC register off the stack.  
 +Note that some registers have variable sizes, while others are fixed in 
 +width.  The breakdown is as follows: 
 + 
 +Fixed at 8 bits:   DBR, PBR, P 
 +Fixed at 16 bits:  D, S, PC 
 +Variable:          X, Y, A 
 + 
 +In addition to using the stack to save and restore data and registers, 
 +addresses can now be programmatically pushed to and pulled from the 
 +stack.  The following opcodes are available: 
 + 
 +   f4 34 21     pea $1234   ; Push Effective Address 1234 on stack 
 +   d4 21        pei ($21)   ; Push Effective Indirect Address at D + $21 
 +                            ; on stack 
 +   62 e1 7f     per DATA    ; Push Effective Relative Address on stack 
 +                            ; when executed, the address PC + $7fe1 will 
 +                            ; be pushed on the stack.  Useful for 
 +                            ; determining data area locations in 
 +                            ; relocatable code 
 +    
 +@(A): Transfer and Exchange Operations 
 + 
 +When using the accumulator as an 8 bit register, the special hidden B 
 +register can be used as a "hidden" register.  Move it into focus with 
 +the XBA (Exchange B with A) opcode.  Note that this is a swap, not a 
 +transfer.   
 + 
 +Transferring between same size registers in unambiguous.  Transfers 
 +between different size registers is tricky.  If the accumulator is set 
 +to 8 bits, only that much can be transferred in, but all 16 bits will be 
 +transferred out to any 16 bit register, regardless of the state of the M 
 +flag.  If an index register is set to 8 bits, only that much will be 
 +transferred in or out. 
 + 
 +@(A): Addressing Modes 
 + 
 +Beware of Direct Mode.  Any address that can be represented  by a single 
 +byte will be assembled into Direct Mode.  Sometimes, absolute zero page 
 +addresses are desired.  Use the "!" directive to force absolute 
 +addressing. 
 + 
 +Beware of Direct Mode II.  Remember that zero-page is no more.  If you 
 +intend to use z-page as before, remember to set D to $0000. 
 + 
 +@(A): Miscellaneous 
 + 
 +This article is presented to new CMD SuperCPU programmers.  Whether you 
 +write SuperCPU applications in Emulation or Native mode, however, you 
 +will find the following information helpful: 
 + 
 +The SuperCPU contains a set of registers to control operation of the 
 +unit programmatically.  These new registers are located in "mirror" 
 +locations of the VIC-II (6567/6569) IC.  On a stock system, these 
 +locations return $ff when read, and writing these locations does not 
 +affect RAM under the "mirror" locations while I/O is switched in.  These 
 +locations are considered relatively "safe" and have been chosen to 
 +contain these important CMD SuperCPU registers: 
 + 
 +Location   Purpose 
 +---------  -------------------------------------------------- 
 +$D074 (1)  GEOS Optimization (mirror VIC bank 2, $8000-$BFFF) 
 +$D075 (1)  VIC bank 1 Optimization (mirror $4000-$7FFF) 
 +$D076 (1)  BASIC Optimization (mirror $0400-$07FF) 
 +$D077 (1)  No Optimization (Default; mirror all memory) 
 + 
 +$D07A (2)  Software Speed Select - Turbo Off (1 MHz) 
 +$D07B (2)  Software Speed Select - Turbo On (20 MHz) 
 + 
 +$D07E (3)  Hardware Register Enable 
 +$D07F (3)  Hardware Register Disable 
 + 
 +Notes: 
 +(1) Write only, hardware registers must be enabled to access location. 
 +(2) Write only, may be accessed with hardware registers enabled or 
 +    disabled, but does not over-ride hardware Speed switch. 
 +(3) Write only. 
 + 
 +The first 4 locations specify how much and what areas of RAM will be 
 +synchronized between the SuperCPU and on-board RAM images. 
 + 
 +These registers have been created using a "sandwich" method that 
 +minimizes irregular operation due to memory fills.  As such, each 
 +register has a "shadow" that falls two bytes away from the register 
 +itself.  During a memory fill, a fill might turn off fast mode by 
 +writing to $d07a, but any access to $d079 or $d07b will turn fast mode 
 +back on.  This would cause the machine to operate in the wrong state for 
 +at most one instruction period.  Only one address of each register is 
 +documented, as the shadows of each register should not be used for 
 +program development. 
 + 
 +To utilize the above registers, the programmer need simply to write a 
 +value into the appropriate location.  In the tradition of CMD, it is not 
 +relevant what value is stored at a location.  Rather, that a memory 
 +write occurred at that location suffices. 
 + 
 +In addition to these outlined registers, there are additional "bit-
 +mapped" registers in the VIC-II register map that signal the state of 
 +the SuperCPU hardware and software.  These flags are read only when 
 +hardware registers are disabled, and read write when the hardware 
 +registers are enabled.  More information about these flags and their 
 +locations will be included in the SuperCPU Developer's Guide.  
 +Programmers should use and modify these flags with extreme caution. 
 + 
 +In addition to the above registers, there are two pages of RAM present 
 +at $d200 and $d300 on the SuperCPU.  Although this memory is present, it 
 +is dedicated for SuperCPU use and should not be otherwise utilized. 
 + 
 +@(A): Conclusion 
 + 
 +Well, there you have it.  I am learning something new about this CPU 
 +every day, and some of these modes still baffle me.  However, I hope 
 +that each of you takes an interest in developing '816 applications, as 
 +the possibilities are endless.  Just when you thought you had the 65XX 
 +line all figured out... 
 + 
 +========================================================================= 
 +</code>
 +====== Using HTML on the Commodore, Part 1 ======
 +<code>
 +by Jim Brain (brain@mail.msen.com) 
 + 
 +Note:  Due to the recent relocation of myself and my family, I am behind 
 +on the development of the HTML viewer for the Commodore system.  
 +Therefore, this article will not focus on the actual viewer.  With the 
 +development below 50% complete, the modules are subject to change.  
 +Describing them now would only confuse issues. 
 + 
 +@(A): Introduction 
 + 
 +HTML.  This simplistic acronym, unknown to most people before 1993, now 
 +forms the heart of discussions.  Its status is secured, as employers ask 
 +how much "experience" one has with it, and resumes commonly include it.  
 +A quick tally in any technical magazine reveals hundreds of references 
 +to it, and trips to the bookstore yield mountains of titles referring to 
 +it.   
 + 
 +Most Commodore owners have a few questions about this acronym.  First, 
 +what is it?  Second, why should I care about it?  In this series of 
 +articles, I will try to answer both questions to your satisfaction. 
 + 
 +To answer the first question, let's step back to explain the World Wide 
 +Web (WWW).  This explanation is not designed to replace more thorough 
 +treatments of the subject.  In 1991, while working as a researcher at 
 +the CERN laboratory in Switzerland, Tim Berners-Lee developed a 
 +hypertext information retrieval system that allowed researchers at the 
 +lab to design informative online "presentations" of their work.  In each 
 +presentation, a researcher could reference a document or presentation 
 +located elsewhere on the lab-wide network of computers.  This reference 
 +was "live", meaning that a person could select it from the document and 
 +immediately view the referenced document. Thus, a matrix of related 
 +documents were created to interconnect the researchers' work. 
 + 
 +In an effort to offer the researchers great latitude in presenting their 
 +works while retaining some standard in layout, Berners-Lee found simple 
 +ASCII text an inadequate presentation method.  Clearly, a document 
 +formatting procedure, or "markup language" was needed.  However, 
 +Berners-Lee found that popular document markup languages did not support 
 +the concept of referencing, or "linking" between documents in a standard 
 +and non-proprietary way.  After looking past popular approaches like 
 +Windows help files, troff, TeX, and Rich Text Format, Berners-Lee found 
 +a standardized markup language that would support links and provide 
 +flexibility in creating documents, yet retain some semblance of 
 +commonality.  The language was the Standard Generalized Markup Language 
 +(SGML). 
 + 
 +SGML in itself was derived from an IBM specific markup language called 
 +Generalized Markup Language (GML).  After some minor changes, the IBM 
 +GML specification became standardized.  SGML, though, represents more 
 +than a simple formatting schema.  SGML allows one to create multiple 
 +derived markup languages off the SGML base, and a suitable program can 
 +interpret each derived language independently.  Thus, HTML functions as 
 +a derivation of SGML. 
 + 
 +Berners-Lee created the original specification for HTML while working on 
 +the WWW framework.   Since mid 1993, when the first graphical HTML 
 +viewer arrived from the University of Illinois, the HTML specification 
 +has been revised and updated at least 4 times, but remains an SGML 
 +derived language. 
 + 
 +@(A): The Basics of HTML 
 + 
 +HTML, like most formatting or document markup languages, allows the 
 +document creator to insert special labels, or "tags" into the document, 
 +which the language processor can parse.  The language processor then 
 +converts these tags into the special formatting options they represent.  
 +In a simplistic markup language, one might place an asterisk "*" next to 
 +any word to be highlighted.  As the "marked up" document is read and 
 +parse by the language processor, the resulting output would highlight 
 +each word preceded by an asterisk.  The asterisk itself would be 
 +stripped from the resulting display, as it does not form part of the 
 +document itself.  In much the same way, HTML allows creators to insert 
 +HTML tags into the document being formatted.  An HTML display system 
 +(commonly called an HTML viewer if the document is local or an HTML 
 +browser if the document can be accessed from a remote location) then 
 +parses the tags and renders the presentation of the document on a 
 +suitable display. 
 + 
 +HTML tags come in pairs.  For each "open" tag, there is a corresponding 
 +"close" tag.  All tags are simple ASCII words or letters preceded by a 
 +less-than "<" character, and followed by a greater-than ">" character.  
 +A simple tag is "HTML", which tells the browser that the document to 
 +follow is marked up in HTML.  This tag takes the form: 
 + 
 +<HTML> 
 + 
 +Since tags are not case sensitive, <html> can be used as well.  This tag 
 +is the HTML open tag, and it has a corresponding close tag.  In HTML, a 
 +close tag is formed by inserting a slash "/" character after the less-
 +than character and before the tag name.  Thus, </HTML> would form the 
 +close HTML tag. 
 + 
 +Some tags require optional information.  This information is included 
 +after the tag name and before the greater-than character.  Such tags 
 +include IMG, which instructs the HTML display system to load and display 
 +a graphics element at the present location.  Since the location and name 
 +of the graphics element is needed, it is included as an "attribute" in 
 +the tag.  To display a photo called jim.gif, I would include: 
 + 
 +<IMG SRC=jim.gif> 
 + 
 +in my document.  Notice the space between the tag name and the attribute 
 +name.  That space is necessary. 
 + 
 +IMG does indeed have a corresponding close tag, but since IMG doesn'
 +turn something on that must be turned off, the closing tag is seldom 
 +used.  That forms the basis for using closing tags.  Opening tags that 
 +"turn-on" a formatting style require closing tags.  For opening tags 
 +that do not "turn-on" a formatting style, closing them off is optional.  
 +Of course, exceptions exist, but you'll rarely go wrong marking up with 
 +this rule in mind. 
 + 
 +@(A):  The BASIC HTML Tags 
 + 
 +The following tags are considered basic since they implement either the 
 +essential or often used formatting options available in HTML.  Each 
 +opening tag is listed in its HTML form, and a description of the tag is 
 +given: 
 + 
 +Tag       Description 
 +------------------------------------------------------------------------ 
 +<html>    begins an HTML document 
 +<head>    specifies the heading information (title, etc.) 
 +<body>    specifies the body of the document (information) 
 +<p>       Inserts a paragraph.   
 +<hX>      Renders the following text in heading size X.  1 <= X <= 6. 
 +          H1 is largest, while H6 is smallest 
 +<br>      Line break 
 +<title>   Specifies the title of the document 
 +<hr>      horizontal rule (line across document) 
 +<strong>  Emphasize text strongly (typically rendered as bold text) 
 +<em>      Emphasize text (typically rendered as italics) 
 + 
 +Remember, this is but a few of the possible tags. 
 + 
 +@(A): Creating an HTML Document 
 + 
 +In HTML, HTML documents are referred to as "pages", and each page is 
 +constructed as a simple ASCII or ISO 8859-1 (superset of ASCII) text 
 +file. No preprocessing is necessary.  This makes creating documents as 
 +easy as editing a text document.  HTML files are typically given the 
 +file extension ".html", and IBM PC computers running MS-DOS typically 
 +shorten this to ".htm" due to DOS limitations.  However, the former 
 +extension is most correct.  Although fancy HTML generation applications 
 +exist, most people on all platforms simply create pages using a text 
 +editor.  Since Commodore owners can usually find a text editor, 
 +Commodore enthusiasts can create pages just as easily as anyone.  
 +Additionally, the WWW and HTML encourage writers to create small pages, 
 +and break up large documents into linked pages of smaller sizes.  
 +Typically, HTML documents are less than 10 kilobytes in length.  At that 
 +size, even an expanded VIC-20 can create full size HTML pages. 
 + 
 +Let's create our first document.  Edit a file called template.html and 
 +place the following text inside it: 
 + 
 +<html> 
 +<head> 
 +<title>This is an HTML title</title> 
 +</head> 
 +<body> 
 +<h1>This is an example of Heading 1</h1> 
 +This is a paragraph. 
 +<p> 
 +This is another paragraph. 
 +I want you to see this next sentence.  <strong>Therefore, I am strongly 
 +emphasizing it</strong>
 +Now we are back to normal. 
 +This sentence is below the last in the source, but will appear following 
 +it when displayed. 
 +</body> 
 +</html> 
 + 
 +Notice which tags require closing.  Also, notice how <HEAD> and <BODY> 
 +are used in the document.  Notice the two final sentences in the above 
 +example.  The sentences appear on different lines in the document, but 
 +HTML specifies that all carriage returns will be translated into spaces.  
 +It further specifies that if multiple spaces exist in a file, they will 
 +be reduced to a single space.  Thus, using spaces as alignment helps 
 +will not work in HTML.  Likewise, using linefeeds and carriage returns 
 +to specify alignment will also fail.  If a new line is necessary, use 
 +<p>, which will leave a blank line, or <br>, which start a new line. 
 + 
 +@(A): What's in it for Commodore Enthusiasts? 
 + 
 +This is an interesting question, and I hope you agree with my answer.  
 +Many claim that HTML is useless to the Commodore owner since the 
 +Commodore can't display HTML.  While I am not even sure that is true, 
 +(I've heard of simple HTML viewer programs for the 128), it doesn'
 +matter.  Commodore owners who access the Internet from a "shell" account 
 +can access the World Wide Web via the "Lynx" text browser.  Since the 
 +WWW is constructed of HTML pages, those Commodore owners can indeed view 
 +HTML files while online.  Many Commodore enthusiasts possess useful 
 +information.  Putting that information on the Internet via HTML and WWW 
 +makes it widely available to other Commodore and non-Commodore computer 
 +owners.  Why worry about the latter?  You'd be surprised how many former 
 +Commodore owners are coming back into the fold after viewing some 
 +Commodore HTML pages.  The information on those pages triggers fond 
 +memories.  Many fire off messages inquiring about purchasing a new or 
 +used CBM machine after seeing these pages. 
 + 
 +To the naysayers, I submit that there is nothing PC-centric in the HTML 
 +standard.  If an HTML viewer doesn't yet exist, it has nothing to do 
 +with the computer system.   As HTML was created to allow successful 
 +operation over many different computer systems and graphics 
 +capabilities, HTML encourages usage on computer systems like the 
 +Commodore, where there are limitations in display size and resolution.   
 + 
 +In fact, the Commodore community should embrace HTML as a markup 
 +language, for it represents a standard way to effectively mark up 
 +documentation for viewing on a variety of computer systems.  Using HTML 
 +opens up a whole set of possibilities for easily created, standardized 
 +documentation publication. 
 + 
 +Disk magazines, like _LOADSTAR_, _DRIVEN_, _VISION_, and _COMMODORE 
 +CEE_, could produce issues that contain more layout information than now 
 +offered.  Since the viewer would now be standardized, these publications 
 +could possibly forego the distribution of the viewer software and offer 
 +more content in the extra space on disk.  A side benefit is the ability 
 +for Commodore users to read each issue on any platform.  Possibly you'll 
 +never need to read LOADSTAR 128 Quarterly on an IBM PC, but what about 
 +reading it on a 64, while your sole 128 does something else?  Moving to 
 +HTML would shift a disk magazine's focus and concern from the 
 +presentation, which would become standard, to content, which is why 
 +Commodore owners read such magazine anyway.  How many times has 
 +otherwise great information been presented badly in a disk magazine?  
 +Use of HTML could help alleviate that problem.  Publishing a disk 
 +magazine is time consuming because not only must editors work on the 
 +articles themselves, they must also write the software that presents the 
 +articles to the viewer.  Using HTML and a pre-written browser would 
 +allow editors to spend more time on laying out and editing articles. 
 + 
 +Disk magazines aren't the only winners here.  Have you ever wanted to 
 +create a small publication?  The use of HTML and a third-party HTML 
 +viewer makes it easy for you to do so.  Just like the editors of bigger 
 +publications, HTML allows you to concentrate on presenting your 
 +information without worrying about writing the presenter software.  Now, 
 +obviously not everyone should publish their own magazine, but how about 
 +help files, information disks, software documentation, club newsletters, 
 +etc.?  These publications can all benefit from this technology. 
 + 
 +These are but a few of the benefits of switching to HTML for document 
 +layout.  Other uses include upward compatible support.  Using HTML 
 +allows the Commodore 128 user to view documents created for the 64 in 80 
 +columns by 50 rows.  C128D owners can take advantage of their 64kB video 
 +RAM even when viewing documents created on 16kB video RAM C128s.  
 +Publishers would no longer be constrained by lowest common denominator 
 +support.  They can now include whatever they want and be assured that 
 +the presentation will look fine on all platforms.  When a user upgrades 
 +his machine, he or she can immediate utilize those new features without 
 +requesting a new version of the publication.  Also, for software, even 
 +though the software itself might differ by machine, the online 
 +documentation need be written only once.  As well, never forget that 
 +marking up in HTML makes migrating your documents to the Internet and 
 +the WWW a snap! 
 + 
 +@(A): Creating an HTML viewer on the Commodore  
 + 
 +Obviously, before Commodore users can reap the benefits of HTML, we must 
 +create both a HTML generator and a viewer.  The generator is easy, as 
 +HTML is simply ASCII text files.  So, we are left to design and 
 +implement an HTML viewer.  The following conditions should be met: 
 + 
 +o  ability to utilize all Commodore peripherals within reason 
 +o  ability to work on a stock machine 
 +o  ability to recognize and display valid HTML 3.0 or lower files 
 + 
 +At first, we're going to concentrate on developing our viewer for the 
 +Commodore 64, although we should strive to offer versions for the 128, 
 +C65, Plus/4, C16, B series, PET, and VIC-20.  I am reasonably confident 
 +on all but the last one.   
 + 
 +Although we intend to develop a viewer that supports the above, our 
 +initial development will operate on a much smaller scale. The first 
 +revision of this viewer will operate on the stock machine and will 
 +contain support for the basic HTML tags as outlined above.  Our design 
 +will allow us to extend the capabilities to encompass our goals. 
 + 
 +@(A): The Viewer Execution Flow 
 + 
 +I am not very good at drawing execution flows, and the native format of 
 +this magazine doesn't lend itself well to them, anyway.  Therefore, I 
 +will simply describe the execution flow. 
 + 
 +The viewer will start by asking the user for a document to access.  If 
 +the file does not exist, an error is printed and the user is asked 
 +again.  If the file exists, the viewer will begin reading it.  If a tag 
 +is found, the tag should be acted upon.  If text is loaded, it should be 
 +displayed on the screen using the current markup controls unless the 
 +control information is incomplete.  In this case, the text should be 
 +stored for later display.  The file should be parsed in this way, until 
 +the end is found.  Then, the system will wait for either the user to 
 +select a link or type in a new document to view. 
 + 
 +Most of the time, text can be displayed as soon as it is received.  
 +However, there are exceptions.  Some tags, like the <TABLE> tag, which 
 +creates a table on the screen, require that all the data in the table be 
 +known before the table cell information can be calculated.  In cases 
 +like these, we must store the data and wait for the </table> tag. 
 + 
 +The above flow explanation ignores some subtleties like carriage return 
 +stripping and multiple space reduction.  Those are left out because at 
 +least one tag, the <PRE> tag (preformatted text) overrides those rules.  
 +<PRE> text is displayed in a monospaced font exactly as it is prepared 
 +in the document.  Text is not wrapped, and spaces are not reduced.  So, 
 +we will make those formatting options that are normally turned on. 
 + 
 +@(A): Conclusion 
 + 
 +I regret that we haven't gotten very far in the development process with 
 +this installment, but we'll make up for lost time in the next 
 +installment.  One thing that I would like to encourage from readers is 
 +comments and suggestions.  Do you see a problem with some of the above 
 +information?  Do you have a better way to parse some of the information?  
 +Do you see limitations in the data structures? Since we haven't delved 
 +into some of these aspects yet, do you have some ideas of your own? I 
 +can guarantee that I'm ready to discuss them with you; however, I can'
 +read your mind.  I think it's important that this project be completed, 
 +as it forms the core of a successful WWW browser, and I see everyone 
 +wanting to know when one will be available.  I am less concerned that my 
 +name appear on the finished product.  In fact, I think a product that 
 +draws on the talent of the entire Commodore community would most likely 
 +exceed the quality a single individual can afford a piece of software.  
 +So, fire up those assemblers and put on those thinking caps.   
 + 
 +=========================================================================
 +</code>
 +====== Creating 3-D Dungeon Crawls ======
 +<code>
 +by Todd S. Elliott (telliott@ubmail.ubalt.edu)
 +http://ubmail.ubalt.edu/~telliott/commodore.html
 +      
 +@(A): Introduction
 +
 +What? Another article in C=Hacking that deals with the subject of 3-D? 
 +Well, not in the same vein as Mr. Judd's study in 3 Dimensions for 
 +rendering shaded 3-D polygons in real time. (See Polygonomy in C=Hacking 
 +12.) No, this article only deals with the aspect of the 3-D look and 
 +feel in those dungeon crawls you see for the c64. Some titles spring to 
 +mind, like the gold box series by SSI in collaboration with TSR, i.e., 
 +Pool of Radiance, Curse of the Azure Bonds, or other popular titles such 
 +as the Bard's Tale Trilogy.
 +
 +With the techniques described, the aspiring Dungeon Master (DM) can 
 +create a rich world to torture his players at the local terminal of the 
 +beloved c64! That, and some generous helpings from the local pizza 
 +delivery company. "Hey! Look out for the grease! Arrrgh! Now the `A' key 
 +is stained!" ;)
 +
 +@(A): Nuts and Bolts
 +     
 +Let's begin with the 3-D screen. It is comprised of a 12x12 square of 
 +custom characters, which never change position. The 12x12 square looks 
 +like this:
 +
 +characters 01,02,24,25,48,49,..,96,97,120,121
 +           03,04,26,27,50,51,..,98,99,122,123
 +           ..
 +           ..
 +           22,23,46,47,70,71,..,118,119,142,143
 +
 +The 144 characters are positioned in an unusual way: they flow in two 
 +character columns, run down for 24 characters, then go back up for the 
 +next two-character columns. Think of these two-character columns as 
 +SEAMS in the 3-D window. Right now, there are six such SEAMS in the 3-D 
 +window for the dungeon. Of course, these are not the actual characters 
 +(screen codes), (I forget what they are right now), but they are in a 
 +continuous sequence, i.e., no broken or interrupted series of screen 
 +codes. (If memory serves me correctly, they are the last 144 screen 
 +codes in the 256 screen code table.) The corresponding color codes never 
 +change, for the sake of speed.
 +
 +Next, we deal with the concept of CELLS in the 3-D window. There are a 
 +total of 13 CELLS which we can utilize individually to show an object, 
 +which in turn, is displayed in the 3-D window in the correct 
 +perspective. By objects, I mean walls or doors. The perspective is from 
 +the user's standpoint. This creates the illusion of the 3-D look and 
 +feel, but does not simulate true 3-D rendering on the fly such as 
 +Polygonamy by Mr. Judd. (See Polygonomy, C=Hacking 12.)  Let's take a 
 +look at all 13 cells, to give us an idea of what each one does:
 +
 +Cell 01 - Farthest left side object.
 +Cell 02 - Middle left side object.
 +Cell 03 - Immediate left side object.
 +Cell 04 - Farthest right side object.
 +Cell 05 - Middle right side object.
 +Cell 06 - Immediate right side object.
 +Cell 07 - Farthest front object.
 +Cell 08 - Middle front object.
 +Cell 09 - Immediate front object . (Currently used for backdrop only; 
 +          fills the entire 12x12 screen.)
 +Cell 10 - Farthest left side object situated in front.
 +Cell 11 - Middle left side object situated in front.
 +Cell 12 - Farthest right side object situated in front.
 +Cell 13 - Middle right side object situated in front.
 +
 +The 3-D engine, before it starts to redraw the 12x12 screen, checks the 
 +user's (you!) orientation. If you are facing north, the engine will know 
 +this and configure the 3-D window accordingly. Let's assume that the 
 +user is facing north, and the 3-D engine now looks in the dungeon map 
 +for relevant objects to place on the screen. The 3-D engine will look 
 +for doors or walls only. In future revisions, this is expected to 
 +change. Currently, the map value for a wall is 128 and for a door is 7.
 +
 +First of all, the 3-D engine looks in Cell 3. If it finds an object 
 +there, it will paint a wall or door and will skip the search in Cell 11. 
 +The reason why Cell 11 was skipped is because an object was found in 
 +Cell 3, which would overwrite Cell 11. We don't want the 3-D engine 
 +accidentally overwriting Cell 3 with Cell 11 on top. Next, it searches 
 +for an object in Cell 6, and if it finds an object there, it will skip 
 +Cell 13. Last, it will search in Cell 8, and if an object is found, it 
 +will skip all remaining cells except for Cells 10 & 12. This is to 
 +ensure that there are no overlapping cells which result in a less-than 
 +harmonious 3-D look and feel. This hunt and eliminate approach employed 
 +by the 3-D engine can be referred to as a first-last approach. There are 
 +three layers of information for the 3-D engine to process, and it starts 
 +from the 1st layer to the 3rd layer, minimizing conflicts and results in 
 +a natural 3-D look.
 +
 +Here's the sample code for the direction of north:
 +
 +   ;paint the north surroundings
 +   ; Note: the .Y register refers to the location in the map for the 3-D
 +   ; engine to search.
 +   ; position the paint location
 +   npaint  =*
 +           lda #101
 +           sta subtract+1
 +           sta addition+1
 +           jsr minus
 +   ;first block module
 +           ldy #100:jsr cell3
 +   ;second block module
 +           bne +:ldy #74:jsr cell11
 +         ldy #102:jsr cell6
 +           bne +:ldy #78:jsr cell13
 +   ;third block module
 +         ldy #76:jsr cell8:bne +
 +   ;fourth block module
 +           ldy #50:jsr cell2
 +   ;fifth block module
 +           ldy #52:jsr cell5
 +   ;sixth block module
 +           ldy #26:jsr cell7:bne +
 +   ;seventh block module
 +           ldy #0:jsr cell1
 +   ;eighth block module
 +           ldy #2:jsr cell4
 +         ldy #24:jsr cell10
 +           ldy #28:jsr cell12
 +   ;position the party
 +           jmp plus
 +   
 +@(A): Drawing the Screen
 +
 +Now, on to the actual drawing of the 12x12 3-D screen! First, the 3-D 
 +engine immediately draws a backdrop to Cell 9. This is the floor and the 
 +sky you see in the 3-D world. (This step may be unnecessary in the 
 +future.) Then, the 3-D engine takes the object found in a particular 
 +cell and draws the object on the SEAM in the 12x12 window. Remember the 
 +SEAM's, eh? Depending on the size of the object, the 3-D engine may 
 +encompass two or more SEAM's in one sitting. First, it takes the pointer 
 +values from the graphic tables, extracts the raw graphics data, and 
 +stashes the same raw data on to the character dot data area. Please note 
 +that the 3-D engine does not stash the data to the screen; only to the 
 +character dot data area. Remember that the 12x12 had a character grid- 
 +the VIC-II chip continuously updates the characters with its 
 +corresponding dot data. Hence the reason why the characters never change 
 +in the 12x12 3-D window. This is needed for two reasons: One, the 12x12 
 +grid uses only 144 of the 256 available characters, leaving some left 
 +over for regular character. Two, it allows the 3-D engine to `unroll' 
 +the graphics updating loop using self-modifying code , resulting in 
 +speed increases.
 +
 +Here's a sample code for the grunt screen updating routine:
 +
 +   ;to paint the 3d surroundings
 +   paint   =*
 +           lda #59:ldy #128; This is the lo-hi byte representation of
 +                           ; the character
 +           sta dummy+2:sty dummy+1; dot data area.
 +           lda <milleu:ldy >milleu; the pointer to where the backdrop
 +                                  ; can be found.
 +           sta dumb+1:sty dumb+2
 +           ldx #$03
 +         lda #$00
 +           sta disflag,x; this flag is used for hidden objects.
 +           tay
 +   dumb    lda $ffff,y
 +   dummy   sta $ffff,y; This is the self-modifying code to draw the
 +                      ; backdrop.
 +           dey    
 +           bne dumb
 +           inc dummy+2
 +           inc dumb+2
 +           dex
 +           bpl -  
 +           ldy #127
 +         lda 22016,y
 +           sta 16256,y; The remaining part of the backdrop is drawn.
 +           dey
 +           bpl -
 +           jmp direction
 +
 +   ; routine for printing two char wide column on the dungeon window
 +   table   =*
 +           lda cassette,y; retrieves the pointer values from a table.
 +           sta twain+1; The table is stored in the cassette buffer at
 +                      ; 820.
 +           iny
 +           lda cassette,y
 +           sta twain+2
 +           lda chartable,x
 +           sta seam+1; This retrieves the pointer values from a table
 +                     ; for
 +           inx       ; the character dot data area.
 +           lda chartable,x
 +           sta seam+2
 +           ldy #192; to output enough bytes to fill 24 characters.
 +           twain lda $ffff,y; Self-modifying code used here to draw the
 +                            ; 3-D screen.
 +   seam    sta $ffff,y
 +           dey
 +           bne twain
 +           dey
 +           rts
 +
 +@(A): Conclusions
 +
 +Whew! The 3-D engine has finally done its work and waits for the user to 
 +press a key for a new facing. The 3-D engine by itself is quite small 
 +and flexible enough to handle as much as the programmer wants to throw 
 +at it! The power is in the tables and the 3-D hunt/eliminate routines.
 +
 +The 3-D Dungeon Demo can be found in this issue of Commodore Hacking
 +(Reference: code, SubRef: gfxcode), on the Commodore Hacking MAILSERV
 +server (Reference: code), at http://www.msen.com/~brain/pub/dungeon.sda
 +or in the file DUNGEON.SDA available at my site.  There may be a c128 
 +version in the offing, but in 40 col. mode. Of course, there are no 
 +planned versions for the c65. ;) Please note that it does not contain 
 +the source code. However, upon request, I will be happy to send you the 
 +source code in Buddy format. (Right now, I'm trying to make the source 
 +code assembler neutral to work in either ACEsembler or the Buddy assembler.
 +    
 +Right now, I have already done work in producing a Dungeon Master'
 +environment- with a 12x12 screen grabber routine and a Retouch Studio. 
 +The 3-D engine will be overhauled completely to create a 3-D environment 
 +in the hi-res multi-color screen, as opposed to using custom characters. 
 +In the future, I hope to have a complete environment, where the user can 
 +design dungeons, comment them, add a bestiary, add custom doors and 
 +walls, and map editors for the purpose of playing pen & paper dungeon 
 +games. This way, the program only shows the visual aspects of the pen & 
 +paper genre; it will not have combat or character interaction. I expect 
 +a version to be ready by the end of summer '96. I'm not sure how I will 
 +release the software, but I will choose an appropriate medium for mass 
 +distribution that is accessible to C= users.
 +
 +That's it! Feel free to drop me a line regarding this article. I'd be 
 +happy and will try my best to answer any questions or comments about 
 +this article. Until then, Happy 8-Bit computing!
 +
 +=========================================================================
 +</code>
 +====== Commodore Trivia ======
 +<code>
 +by Jim Brain (j.brain@ieee.org)
 +            
 +@(A): Introduction
 +
 +As some may know, these questions are part of a contest held each month on
 +the Internet, in which the winner receives a donated prize.  I encourage
 +those who can received the newest editions of trivia to enter the contest.
 +
 +This article contains the questions and answers for trivia editions #27-28,
 +with questions for edition #29 and the current contest, #30.  Why two sets
 +of questions?  Well, as some may know.  I have recently moved, and that
 +has put me behind in posting answers.  At present, my reference books
 +are still packed in storage, so I can't finish the answers.
 +     
 +If you wish, you can subscribe to the trivia mailing list and receive the
 +newest editions of the trivia via Internet email.  To add your name to the
 +list, please mail a message:
 +   
 +To: brain@mail.msen.com
 +Subject: MAILSERV
 +Body:
 +subscribe trivia Firstname Lastname
 +help
 +quit
 +   
 +@(A): Trivia Questions
 +
 +Q $1A0) Commodore produced an assembler for the 128 called HCD65.  What
 +        does HCD stand for?
 +        
 +A $1A0) Hedly C. Davis, the writer of the assembler.
 +
 +Q $1A1) Who wrote most of RAM DOS?
 +
 +A $1A1) Although many assume Fred Bowen wrote RAMDOS, Hedly Davis actually
 +        wrote the bulk of it.
 +
 +Q $1A2) What is the name of the first C64 disk copy program?  (hint: it
 +        sported a "gas gauge".)
 +
 +A $1A2) 1541 Backup.
 +
 +Q $1A3) What was the case color of the original Commodore 64s?
 +
 +A $1A3) Ivory, just like the case color of the VIC-20.  In fact, early
 +        cases WERE VIC-20 cases.
 +
 +Q $1A4) There are at least two ways to enter 64 mode from 128 mode on a C128:
 +        go 64 and sys 65357.  They produce the same result (64 mode), but
 +        they differ in at least one noticeable way.  How?
 +
 +A $1A4) sys 65357 doesn't ask the "Are You Sure?" question.
 +
 +Q $1A5) What CPU powers the B-128 computer system?
 +
 +A $1A5) The 6509 CPU.
 +
 +Q $1A6) What type of drive mechanisms are in the D series hard drives from
 +        Commodore? 
 +
 +A $1A6) The D9060 and D9090 drives used "Winchester" hard drive mechanisms.
 +
 +Q $1A7) Commodore produced a 16kB RAM expander for the Commodore VIC-20.
 +        What is its model number?
 +
 +A $1A7) The VIC-1111.
 +
 +Q $1A8) Commodore produced at least one disk drive with an optical track
 +        one sensor.  Which drive?
 +
 +A $1A8) Certain early versions of the 1541C drive had a functional track
 +        1 sensor.  Later, due to compatibility problems, it was disabled, 
 +        and then later, the sensor was removed from the mechanism.  In 
 +        addition, 1571 drives and 1581 units have optical track sensors.
 +
 +Q $1A9) The Commodore PET series used the IEEE bus to communicate with
 +        peripherals.  Each peripheral had a unique ID.  What range of IDs
 +        are supported by the PET?
 +
 +A $1A9) IDs 4-15 are supported, although you cannot connect all 12 devices
 +        up at one time.
 +
 +Q $1AA) Many people have developed Commodore software with the PAL assembler.
 +        What does PAL stand for?
 +
 +A $1AA) Personal Assembly Language (PAL).
 +
 +Q $1AB) Many people remember Compute's Gazette.  This magazine is best known
 +        for the word processor program it shared with thousands of
 +        subscribers.  Name the program?
 +
 +A $1AB) SpeedScript.
 +
 +Q $1AC) In some 6502 assemblers, the opcode "bge" is available.  It stands 
 +        for "branch if greater than or equal to" What more common opcode 
 +        is this opcode referring to?
 +
 +A $1AC) bcs (Branch Carry Set)
 +
 +Q $1AD) If I wanted to do a "blt" (branch if result less than), what 6502 
 +        opcode would I use?
 +
 +A $1AD) bcc (Branch Carry Clear)
 +
 +Q $1AE) Each Commodore peripheral has a device number, which is associated
 +        with a type of device.  8-15 implied disk drive, 4-5 implies
 +        printer.  These have remained constant from the PET to the C128.
 +        However, one peripheral in the PET was phased out and its device
 +        number was reused.  What device number was reused?
 +
 +A $1AE) Device #2.  The PET systems used #2 as a second tape drive, but in
 +        the newer computers, #2 refers to the RS-232 port.
 +
 +Q $1AF) What is the maximum amount of general purpose RAM can one utilize
 +        in a stock C64?  (I need an exact number here)
 +
 +A $1AF) In the Ultimax memory configuration, if you guarantee no interrupts
 +        can occur, one can utilize all but the first two memory locations
 +        for general purpose RAM, giving 65534 bytes of RAM.  If you can't
 +        guarantee you'll never receive an NMI, you lose 2 more bytes for that
 +        vector, giving 65532 bytes available.
 +
 +Q $1B0) What was COMPUTE!'s original sub title?
 +   
 +A $1B0) "The Journal for Progressive Computing".
 +
 +Q $1B1) After COMPUTE! was absorbed by General Media, how did the name
 +        change?
 +   
 +A $1B0) The name, having gained an exclamation point and lost a period many
 +         years before, reverted back to the period as the ending punctuation.
 +
 +Q $1B2) What Commodore content magazine was named after a nautical term?
 +   
 +A $1B0) "Ahoy!"
 +
 +Q $1B3) What Commodore content magazine was named after a BASIC keyword?
 +   
 +A $1B0) "RUN"
 +
 +Q $1B4) What CPU gets control first when a Commodore 128 is booted?
 +   
 +A $1B0) The Z80 CPU has control first.
 +
 +Q $1B5) What CPU powered the Commodore C900?
 +   
 +A $1B0) The Zilog Z8000, from the company who brought us the popular Z80.
 +
 +Q $1B6) How large is the monitor installed in the SX64?
 +   
 +A $1B0) 5" diagonal.
 +
 +Q $1B7) What color scheme does the SX64 boot up into?
 +   
 +A $1B0) White screen with cyan border and blue text.
 +
 +Q $1B8) What is printed as the stock SX64 boot up screen?
 +   
 +A $1B0)      *****  SX-64 BASIC V2.0  *****
 +         64K RAM SYSTEM  38911 BASIC BYTES FREE
 + 
 +        READY.
 +        _
 +
 +Q $1B9) The SX64 has a reset switch behind the door that holds the
 +        monitor controls.  What is strange about the rest switch?
 +   
 +A $1B0) The reset switch only resets the disk drive.  Most people assume it
 +        resets the entire computer system.
 +
 +Q $1BA) What common port is not included on the SX64?
 +   
 +A $1B0) The Cassette Port.
 +
 +Q $1BB) In the mid 1980's, a company called Berkeley Softworks created
 +        a graphical user environment for the Commodore 64.  What was it
 +        called?
 +   
 +A $1B0) Graphical Environment Operating System (GEOS).
 +
 +Q $1BC) Berkeley Softworks eventually changed their name to what?
 +   
 +A $1B0) GEOWorks.  They now develop the GEOS OS for Personal Digital 
 +        Assistants (PDA).
 +
 +Q $1BD) Most everyone is familiar with MSD disk drives.  What does MSD
 +        stand for?
 +   
 +A $1B0) Micro Systems Development, Inc.
 +
 +Q $1BE) On the NMOS 6502, what two addressing modes have but one opcode
 +        each that can operate in that mode?
 +       
 +A $1B0) Actually, there is only one such mode, indirect.  jmp (xxxx) is
 +        the only opcode that can utilize that addressing mode.
 +
 +Q $1BF) How many transfer register opcodes are there on the NMOS 6502?
 +          
 +A $1B0) 6 (TAX, TAY, TSX, TXA, TXS, TYA).
 +
 +Q $1C0) What are the two configurations for the LORAM, HIRAM, GAME, and EXROM
 +        pins that will allow the use of a full 64kB of RAM in the C64?
 +   
 +Q $1C1) What is the first thing that the C64 (and VIC) KERNAL does upon
 +        powerup?
 +   
 +Q $1C2) What KERNAL routine is used to set a DOS channel to input?  
 +   
 +Q $1C3) What KERNAL routine is used to set a DOS channel to output?  
 +   
 +Q $1C4) Before calling the routines in $1C2 and $1C3, what register must
 +        you load?
 +   
 +Q $1C5) What 3 devices can the KERNAL NOT load from?
 +   
 +Q $1C6) In the Commodore KERNAL, there are "high" and "low" level routines.
 +        To which class of routines does "SECOND" belong?
 +   
 +Q $1C7) If a programmer calls the KERNAL routine "STOP" and the RUN/STOP
 +        key is NOT pressed, what is returned in the .A register?
 +   
 +Q $1C8) The Commodore KERNAL routines are all accessed via a jump table.
 +        What routine is used to change the values in the KERNAL jump table?
 +   
 +Q $1C9) A call is made to a KERNAL routine, the call returns with the C
 +        bit set and the .A register holds $02.  What error does this 
 +        indicate?
 +   
 +Q $1CA) If a call to READST is made, and a $40 is returned in .A, what 
 +        does this indicate?
 +   
 +Q $1CB) What routine can be called to determine the physical format of the
 +        Commodore 64 screen in characters?
 +   
 +Q $1CC) The Commodore 64 starts a non-destructive RAM test at what location?
 +   
 +Q $1CD) Which way does the RAM test proceed: up or down?
 +   
 +Q $1CE) Which KERNAL routine is used ONLY in conjunction with a Commodore
 +        IEEE card? 
 +       
 +Q $1CF) Many hybrid BASIC/ML programs use SYS to transfer control from BASIC
 +        to ML.  However, a few use USR(X).  When using the latter function,
 +        where does BASIC fetch the ML routine's starting address from?
 +
 +Q $1D0) To load a program from the current location on a cassette tape, what
 +        two key combination must a user press on a VIC-20 or C64.
 +   
 +Q $1D1) If I issue the BASIC statement OPEN "JIM,S,W", What type of file
 +        am I opening?
 +   
 +Q $1D2) Is BASIC in the Commodore computer systems an "interpreted" or 
 +        "compiled" language
 +   
 +Q $1D3) What type of variable is A%?
 +   
 +Q $1D4) If I issue the BASIC line PRINT:PRINT "A","B" what column does
 +        the "B" show up on when run on a C64?
 +   
 +Q $1D5) What column does "B" show up on if I run the BASIC line in $1D4 on
 +        a VIC-20?
 +   
 +Q $1D6) Alphabetically, what is the first BASIC 2.0 to have a 3 letter
 +        abbreviation?
 +   
 +Q $1D7) How many times does the statement FOR T=1TO0 execute?
 +   
 +Q $1D8) What base does the BASIC LOG command use for its logarithm 
 +        function?
 +   
 +Q $1D9) A = NOT B can be written as which expression:
 +         
 +        a) A = -B
 +        b) A = -(B+1)
 +        
 +Q $1DA) What does INT(-15.43) return?
 +   
 +Q $1DB) What does ASC$("JIM") return?
 +      
 +Q $1DC) What is the abbreviation for GET#?
 +   
 +Q $1DD) What is the largest integer value that Commodore BASIC can handle?
 +   
 +Q $1DE) What is the ONLY Commodore Editor key not affected by "quote mode"
 +          
 +Q $1DF) What is the range of RND?
 +          
 +=========================================================================
 +</code>
 +====== ? DS, DS$: rem The Error Channel ======
 +<code>
 +We here at Hacking Headquarters are actually perfect, but the online
 +networks occasionally globally alter the issue after it leaves our hands.
 +The printed version is similarly changed by the print shop.  We think
 +it's an attempt to discredit us, but we will thwart them again by simply
 +printing the corrections to the mistakes THEY introduced below.  
 +     
 +@(e)dbldma: Speed up RAMLink transfers with the Double-DMA Technique
 +
 +Brett Tabke wrote in to correct some misinformation contained in this 
 +article in Issue #11.  In the article's discussion of RAMDOS, it was
 +written that "RAMDOS continually pages its code in and out of main
 +memory" during transfers.  Mr. Tabke, who has researched the RAMDOS code
 +extensively, notes that the above is incorrect.  RAMDOS pages the main
 +code in to initiate the transfer, but the bulk of transfers are handled
 +by the 256 byte interface that remains in memory at all times.  
 +
 +@(e)mags: Hacking the Mags
 +
 +We reprinted Jeff Jones' electronic mail address as printed in LOADSTAR
 +LETTER #31, but Jeff sent us a note mentioning the address had changed,
 +and the correct email address is jeff@loadstar.com.
 +   
 +@(e)cmdcpu: Underneath the Hood of the SuperCPU
 +
 +In this article in version 1.0 of Issue #12, there were two references to 
 +"Exploiting the 65C816S CPU", an article pulled from the issue for space 
 +reasons.  We regret the error.  The full article on the 65C816S appears in 
 +this issue (Reference: cpu).
 +
 +@(e)gfx: Taking to TED: The MOS 7360/8360 Display ICs
 +
 +In early versions of Issue #12, the TED IC article was incorrectly
 +attributed to Harsfalvi Levente.  Hungarians customarily sign names with
 +the last name first, opposite English notation (implying that the other
 +way must be Hungarian notation :-).  The article should be attributed to
 +Levente Harsfalvi.  Version 1.3 of the issue fixes this problem.
 +
 +@(e)polygon: Polygonamy: A Study in 3 Dimensions
 +
 +After the publication of this article in Issue 12, Stephen Judd noted that
 +the following information was not included in the article:
 +
 +Memory map:
 +
 + $0800-$1BFF  Tables
 + $1C00-$1FFF  Color info for bitmap #1
 + $2000-$3FFF  Bitmap 1
 + $4000-$58FF  Fill routine for bitmap #1
 + $5900-$5BFF  Tables
 + $5C00-$5FFF  Color info for bitmap #2
 + $6000-$7FFF  Bitmap #2
 + $8000-$A6FF  Code
 + $A700-$BFFF  Fill routine for bitmap #2
 + $C000-$C5FF  Yet more tables
 + $C600-$C6FF  List of points for plotting routine
 + $C700-$C7FF  Fill patterns
 + $C800-$CDFF  A few more tables
 +
 +The fill pattern table may be broken down further.  Each fill pattern
 +is eight bytes, so to get the address in the fill table multiply the
 +pattern number by eight:
 +
 + 0 - Empty (clear)
 + 1 - $FF (solid)
 + 2 - Brick
 + 3 - CrossSmall
 + 4 - Inverse of 3
 + 5 - Dither 1
 + 6 - Dither 2 (inverse of 5)
 + 7 - Zigs
 + 8 - Zags
 + 9 - Zigzag
 + 10- Holes
 + 11- Smiley
 + 12-15 Not used
 + 16-23 Shockwave    \ Animated patterns, eight frames each
 + 24-31 Squaredance  /
 +
 +If you have a freezer cartridge you might want to try changing the
 +patterns.  You might also turn on the multicolor bit (bit 4 of $D016)
 +to see what a multicolor Polygonamy might look like, and change the
 +patterns (not to mention the color info) to be more multicolor-friendly.
 +
 +@(e)trivia: Commodore Trivia
 +
 +In early versions of Issue 12, question $186 in the Commodore Trivia 
 +article was incorrect.  The correct answer appears below:
 +
 +
 +Q $186) What is the maximum size of RAM available for use for program
 +        storage on an expanded VIC-20
 +
 +A $186) If you discount the screen area (512 bytes) and Color RAM
 +        (512 bytes), up to 28159 bytes can used for BASIC programs
 +        and variables (original 3583 bytes and 3 banks of 8192 bytes each),
 +        and up to 40448 bytes can be used for ML programs.  (0-32767 minus
 +        512 bytes for screen and 40960-49151).  
 +
 +=========================================================================
 +</code>
 +====== The Next Hack ======
 +<code>
 +  
 +Hacking Headquarters>look
 +       
 +You are in a room where editors and authors are busily preparing issue
 +#14.  You scan along the room and note the following paragraphs hastily
 +left on the various desks:      
 +    
 +o  In part 2 of "Using HTML on the Commodore", Jim Brain will delve
 +   more deeply into HTML parsing engine design and relate some of the
 +   tricky cases the parsere engine will have to deal with.
 +   
 +o  In another part 2, Alan Jones continues on in his discussion of
 +   complex computations on Commodore systems.  In this installment,
 +   Alan will jump into Linear Programming.  Equations and algorithms
 +   will be presented, as well as sample code implementations.
 +
 +o  Attention all VIC-20 enthusiasts!  If you need some good technical
 +   information on your beloved machine, look no further than our next
 +   issue.  Pinout diagrams, cartridge tricks, and important memory
 +   locations will be presented.
 +   
 +o  In a new column, "Twiddle the Bits", Todd Elliott will show how to 
 +   modify a C128D to include a CMD HD and a FD4000.  Todd will detail
 +   how he created his "Tower of Power".
 +   
 +o  Although we didn't have room this time, Commodore Hacking will
 +   begin reviewing new software titles, starting with the recently
 +   introduced "Novaterm 9.6", "The Compleat Lee O 128", and "The 
 +   Compleat Crossword".
 +   
 +o  And, of course, C=Hacking's regular goodies.
 +
 +So, fire up that label program and print off one for your copy of
 +Commodore Hacking #14.
 +
 +=========================================================================
 +</code>
 +====== Hacking the Code ======
 +<code>
 +
 +Being a technical, developer oriented magazine, some articles featured
 +in C=H include executables or other binary files as part of the article. 
 +All such binary files are included on the soft copy of this issue in this
 +section.  In an effort to retain the integrity of such binary files through
 +distribution over various computer networks, the binaries in this section 
 +have been encoded using the UUcode format, a popular Internet 
 +binary-to-readable text encoding method. In order to execute or otherwise
 +utilize these binary files, one must feed this section of the magazine
 +to a UUdecoding application.  Typical examples include UUXFER for the 64,
 +uudecode on the ACE OS for the 64 and 128, and uudecode on most UNIX OS 
 +machines.  Some encoders can decode multiple files, while others will
 +require the user to manually split this section into individual pieces
 +prior to decoding.
 +
 +In addition to this section, there are other ways to retrieve the
 +binary files featured in this issue.  For those with World Wide Web
 +access, the files are available at http://www.msen.com/~brain/pub/
 +To retrieve "dim4.lnx", simply access the URL: 
 +
 +http://www.msen.com/~brain/pub/dim4.lnx
 +
 +For those with electronic mail access only, the Commodore Hacking
 +MAILSERV server also contains a copy of these files.  To retrieve a 
 +copy of "dim4.lnx", send the following email message:
 +
 +To: brain@mail.msen.com
 +Subject: MAILSERV
 +Body of Message:
 +
 +send dim4.lnx
 +help
 +quit
 +
 +For some articles published in Commodore, the author or authors may also
 +have other methods for accessing files mentioned in the article.  These
 +methods are described in the respective article.
 +
 +Commodore Hacking always attempts to provide the reader with as many
 +options as possible to retrieve uncorrupted binary files.  Although none
 +of these above methods is foolproof, the added redundancy helps overcome
 +any shortcomings.
 +        
 +WARNING:  The UUCode format translates files from binary to ASCII, not
 +PETSCII.  Therefore, either decode this section before downloading this
 +section to a PETSCII mode computer system, or download this section without
 +translation to PETSCII.  Some decoder programs can handle PETSCII converted
 +UUCode files, but the practice is not recommended because conversion is
 +typically done in a telecommunications program and accuracy in
 +translation cannot be guaranteed.
 +
 +@(A)democode: Binary for Dim4
 +     
 +begin 600 dim4.lnx
 +M`0A;"`H`ES4S,C@P+#`ZES4S,C@Q+#`ZES8T-BS"*#$V,BDZF2*3$1$1$1$1
 +M$1$B.IDB("`@("!54T4@3%E.6"!43R!$25-33TQ612!42$E3($9)3$4B.HDQ
 +M,`````T@,B`@*DQ93E@@6%9)22`@(%=)3$P@0T]23$59#2`X(`U$24TTH*"@
 +MH*"@H*"@H*"@#2`Q-R`-4`T@,S0@#41)331254Y-12U214%$344-(#4@#5`-
 +M(#$P,2`-1$E--"Y.04U%4Z"@H*"@H`T@,2`-4PT@,S@@#4U!24XT+E.@H*"@
 +MH*"@H*`-(#<T(`U0#2`Q,#`@#4=205!(24-3+E.@H*"@H*`-(#4P(`U0#2`V
 +M,B`-3T)*14-44RY3H*"@H*"@H`T@,3`Q(`U0#2`Q-3,@#4U54TE#+E.@H*"@
 +MH*"@H*`-(#8P(`U0#2`S,R`-1$E--"Y415A4H*"@H*"@H`T@-S0@#5`-(#(W
 +M(`T`````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M``````````````````$(#`C)!Y[_K#8U-@"@`'CN,-!.$=#F`;D*%IE``\C0
 +M]TQ``Q8\"Z(%TX)JP;4@6UN@VUL@7)S<G`#IZNSN\/+T]OC\_@`#!PD-#Q,5
 +M&1TA)2DM,S<]0TE/5UUE;W>!BSD`M"$JT'PAVN'X,_//M*D'9'\'`QH/)+0#
 +M:[!#4Y5!X`R`:$5EU,"W_4:0R(6PJ'%TU:H4//,?SNHQ4_"%2=(OTR&D'2(Y
 +M=28B\2DM%4G+E)&CM4$_8B:9@`^(0MP=D&)6LZOYGU_5-55PI<!<E;=404/M
 +M2'(!'@H'"L(^$8(8B*C@E),([%6_TEY`Y%:H&C?',N8R)4$'CR$@4Q-F[@A&
 +M^RI",9,)L!Q+!R^:V/M!$4*/<+M)_Q&*"OLGKMB-$TVK$!V9`X:PH3*`IS)J
 +M2A5AO_@4RP"W0@CH;]*`!T!G#"@#=B@#.13!/?2%*(IBRH$`YL%7!%#-!;Z)
 +M#ABL#-&>J@\R.T'`1#R(0[MB=.BPFVOQM8;-&LCG?^GRL!?:",W^5D(03`KZ
 +M#,T'F^I0[O$O#)0$=$/,_UB)YIND"MW02L@L)94VDP(*987\4S8(;^.4(54R
 +MS]`1)QNB-+1M.I94U``U4F"[=-^<-`BN:"--A<A8N(U$%2)DX3%258B<<;O[
 +MK%+^8IN54L$W&0MJI<LM1S6U(!(613RD8_C[=+G2[(!GD)P)F4]'42UT!>F?
 +M2+$@`&*K>8$T/4YZAC`EC'-A"'*%H14BR/PUOQ1QLEKNODBV/&#SF2U&X)T1
 +MF)@RWY"\ILVT+$4\*XU&O2DKMX*'UAR+@H4RT^",/=NZ$$YC3W=K$<LP0I)0
 +M7ZQ2UNNTT"H)`9F#?*Z)N<9HLXWPUZHYGH1:?[*ECLU>(AL_$,$L2$F0A9R;
 +MV%2$;RI*R"BE0E2A(>`M5..R)`_`&`B%,=K>C7-;'YX\)'8%R`]%JX`HJ8S#
 +M*.,0BA)?`2:Q".$I?6LIXO18):.C5")+1<A4W"WK(>YZTRFI=4-J!F(Y,:"D
 +MS_;DJ(;4,3#0@8@25!K!4U4"$^\-U)$$`!IG[(Y+$6"Q7R&T$T*@%%6`V#&Z
 +M<=S&!5\"+!""*^O5S^(TR$2LK%;V"B.N2QA9;!9._!88TH`*Y$C*$4%,@DC_
 +MIPZ^,01:5)!H"1$D5)"002=`4'3H^)@'3;D\0W)1L7!5R`Z@!4S=%X*<"B"*
 +MH&8F`CDP((HDK=6#155A](X+HF"2BA&]D=+[98F5T*H15=;2S#2;PE:P82`J
 +ME?6`H%J5@6C3,CP0=[O=[J(GH(-?_9)AX(/B)"K"**L;*G78ZH9*(;:ZH5*)
 +MK6XH4\KJAIJJ$V0,8&-"C3%`C`DZQ@`L)GR:5#?(!!)#6)VPJ>(R!G@QP<48
 +M0,6$&6.`$A-PC$%[4\755-W`INI$(@58,$J%L&@=I4)XM)!2(4Q:2:D0+BVE
 +MM+B,1'76-&1EB&)!:SE@C`%L3*@Q!H@Q0<<8@,6$SQ.&`"<FD!C"G`G")QPI
 +MQ@`O)K@8`ZB8,&,,4&("CC%H?W+1>P0YF^6<^.!,;!]$&('"/56`@9ZD"C;+
 +M08*@@8D61%`H$B3DH5ES`]4<1@NG#L\C*F!TA?B,3/O<`*G4+X"15B#02FP5
 +M&B)_2U[.=)1$#!;>F%2HZZ((RDJ0`AF*F`G$+B=8'/8G!3$1A!U9]EM7[21M
 +M$D;4\,J;_9GI?A3>"@;O$$V-S@N17/9!)L17FF:]@,K!,H$X*4X25LX/02"(
 +M2@LH1"L>?FZ`J>JB=+CP`JFJ24/!8D.X$M>XD1>L54KA`)):J@'(E<RTN)_5
 +MC=+P$_$%21.AU=>PFC(A@&63.$+J?W"U_J6A&/6H;@G*T4*C(TJ*N>PL-.XN
 +MZKYU1Y3Z1^G,_ML&KA<`.8CZHF)A/[$_+(]@T0.06P0",&W"9R3W2CA(F"6Q
 +M@H_K$-`0R\\@%00J6R\-CBA&YL'::$:I.-#O2&;]I5%E`W$>[3`.*1H.K/<`
 +MM@AP8LR`RODMB());EF_C[@/$33?TJBCQADFGVLA2?"^:3@I?^B/%)>+A$-#
 +M+EL<?)Q\?#]?Z])0$MT*T^=_?#-/7..JVV&L%"XY&)9`H$F@E\$$4V'2()BS
 +MN=WM4C-R-'EJ=KMHI&(-P9[:>OOJ:@2ZN1ET9.:`8^AYL,*!BJD:JU:R+V@1
 +M.H82MT5XMPS$.<:C#B'6(BWR[F@W4(`,[5_54FP7K!16,,0^(S8@0TPWD@6@
 +MAZ35:N3PZC!"Y3,0Y7-@Z>[FG2A"YX-PPW%5M:N0=^><D1L.BM1@IJ21$F<B
 +M56021VXD&SN+8WHEPV0DPUQT:CUS$9A6QH4HZ#/T$(#%^35\0B*9>5GJP("2
 +MS107T`TQ_YM4H`$1IY(Q,J%5*O!@G[CJ^JH39NZO.C'W77_?+[C<90JZ)\(<
 +M0O2ES25D7^*<0@`U"^DW_CQ7T*]S!OV#?OM&_9IYVYQ"=:$:YQB2#<7TB;&%
 +M2(]GM)I2(K6:L:1(?CV+B\RM\E_(2/R:T4U1R9(&"`F*D->-DMQ[I;K_1%),
 +MHG:,D)P(U]?A('(N.CF<4@\WNG@470@29D8G[%2K*F3$==9'9R!20[57:$YT
 +MUIR(;Q;57![?AGOHGZ/JZZ[ONKO^O^*#@/=2TW$1L:X>@>P-NER;O71/A$](
 +MNR<PB.72ZHGNB78AB"M`",G%N<,#1(30+:(,&]&)&M)I1^)%@R/B)2.1"W06
 +M`3`Y`3`(`3`.`3`D`3`&J?:=!P,`QU%5ID("G=Y&`)A/\0E0+"1``2)$?10Q
 +M`V^C(,:BP`,I\%I#2L:`CA!M$!056HF+6ND!6!R@-F!`P%$0(&`(&(13Y:[C
 +M(W+7\Y-XCW<?YA[O.DP]#A3?.!0!W?&-0R&0WK6[>`QWYW@2-$>#B&Y\QW=\
 +M$;IC.\;CF=`<3X7FR+#0$%,EZA`%*>D!(R22(*(B&J$Q;V0C5"(*4E++"RF)
 +M(BKB$5K1,?(A0("N3G$FO%[F:1.D6=K4:)HF\0HC11E2\3L_!!N#U@<-NH9Q
 +MI,BX']614,>%@H=^!]D98H^1&Z($P$P`9V1@).AY4'K1`\,"Q".#B0%+L=&^
 +MH!D@`S`[607W_'6G,9*T*=6D9)L2>O*6.!(GV9A;'+.FJ5;E*%P#94G]9W+#
 +M*#IZ:HJ:,L#D47'QT14?/S='3\_'4W/STU=<?'34W/ST%!PT/$1,4'#$S-#P
 +M:`#B.]Y%`'`0$:&X4'P#NN,]WF,O8)#8C@?%=:`\G@3-$:$@(>)IT!P5#A8B
 +M_@`<B7]`1^(NT!_7@?[X$VPD[@7UL<,@??P/VN./D)&HD;`1T4/A(^*ZT*^?
 +M@2/Q;^A(W!WZX_K0'W^(C<0]HCYVY'/C/]$>,?(918V*C1@ZBX]$CFA'\1W?
 +M$8)A(B)%\:+X-G3'>[S'WD$BL1TGBNM#>3Q7WD@141'QE&B.%A,7$?_Q']],
 +M-_[C/YK4<V,_HA1?D>Y8CRG%=:0]GB3-T:3D).*)TAQ54E9B.D59P.#$!-I"
 +M)F<F4!>T.#6!OK#-N0D4)HPN5,64V9T)5":M+F3-M-V]"94&3FXN;J@U8F9G
 +M8T.U`4-+"QOJ#9W=7=U0<=3<WM:&FD/&UE8V"$UT(78F6Q1UHDX\(HHJD3&5
 +M96PJ9>OM9FBJI32<TKLH1:^$1^<@XI23]U6(TNX\=I-.(6H1T4*T(R*&5A(/
 +MX?-.V%KO_"A$"'J4_"6Z>A7A)%=FW.67@1"NU,B1Z#)HL!@&"FH,(B2C@`"`
 +MJ+1Z8"SZZ1NPSIL_XKL88#M:?H:>[46F#G?O-Q3H(VI1%0VH51!JS`@U)3".
 +M"LU>FE`X(!`O38VY)L,AD_&0J8;B[H:J"!"39!Q$,A`BQ5!>*"]A4*OE(H!J
 +M+N!P7%RBA50N+55HQ*!&)S>`R00M@"<%<90-&,=`CCNBM5$'IA`2FBUIP6Q9
 +M4V:%IDB9L$0`2H+'2$XG`E0B#LF&4><5N%J0)4A-JQ2Y7&MJ``X!WS58&>>5
 +MM%<29*7-*UEH%11-5@3GE;17$F6ES2MA("F`P!ATD@R0BY!2BG^4H*N-(,*E
 +MPDP(B&U`QL0H&V)A'E+`'$%TH$P_'E%;K$,$)#204$%(9\00B)1!A4%08<35
 +M(2(2FDBH(J2+$$,BN5I4D6-#&RE"10]2`2I"2/96RTX,866(>'0FHX_"`G1N
 +MI@3U*-(,42+E01P5*>]$0:J3L)7#4B1V8C5V4N:Z*)B4;#J;TI!0X#G&UD(H
 +MUWVYI$13R9"Z0#RY]YFY-\,2S/Y:,$HB7^6F6LLOZ">),A0"45:M5\10>M9*
 +MK??-">5:IWCGW*250@FQU$Q)"ZE=I+U'@Y.D*Z*^DA*KZ?B"6))?LC8EM2V%
 +MB(8P]MX4(I)LSBD1&$&'T+@'@8@G3XMG8AIL-V3J]A&^I%3@"W0/R46Q\TZ:
 +M1M6LP,2HF3QOM,D6&K>6-_L2<%9:`@]J!O%!E&>14'H+3Z'@@Y!Y):Z@&&FI
 +M0=:AMRL5V[.P#=#0$+%5'L:E0XN*>'*P0T+=H:9/^]`0`=7$SH?@M'1H45/.
 +M4RSL?&N:-^V9AH:()J(<A$N'%BD%+85]$/XO0U'^T**F7O6'%BU5DD-KCE)*
 +M<NBHBA0EJHFL+"Y#,QE:]-/>9!KBR?&)DOT4AFX2N13FLS>C44(,X_$!BIVL
 +M-2(9)282X5H8`HK,$F4A5A@OGFZE6U5!A%#L'(&J(U$X(VB.!?'Y"0I$$%08
 +M1,-DA=4O*2RC/,FAT:>YTU-N&"J2GKPBS(@GH_1,6IR0VCDA5#0P-1%?\H$*
 +MAH(+`RV2XDJQ,`DC`T!(,T2=&QP>H>DF:BXTCYH,2$,Q&X)\`AL81NE1HD!&
 +M()Z;`3```!*Y`!>9(P?(T/?&`2D%C2#0Y@&((!P$\`NB""#*`R`-!(C0]:`?
 +M(!P$H@2(A/OP,\K``K`&RB#*`Q`&(,H#&&D$J+EC!ZH@R@,8>7`'JJ7]>7T'
 +MA?W0#\`$D`O@$-`'J0S0WB#*`XH8;0X$JJ7];0\$J(HXY?N%_)CI`(7]I/O(
 +ML?P@#02(T/A,20.I`(7\A?V*\">I!-`6K>@#T`/.Z0/.Z`.I"(W4`ZT)%HV*
 +M!PZ*!R;\)OW.U`/*T-FE_*I@J3>%`<XPT*D;C1'03``0C58BK0X$T`/.#P3.
 +M#@1@R*(!(,H#\/B8*1#0U;DC!ZH@R@,8>3,'J&```````0$!`@(#!```````
 +M``$"`P0&"`H.$AH```````````$!`0(#!`4````````!`@,$!@@*#A8F````
 +M````!`4'"`0%!@<("@L+```0,+``$#!P\/#P\/`````````````!!0TM,`$`
 +M@(:,DIB@IJRPMKS"R,S2UMK>XN;J%L#%Q2[WBVMQ`0$,_OGU\>WIX=W5S<6]
 +MM:VEF9&%>6UA64U!,249#0'U4`"N^<"TJ*"4B'QP:%Q43$0\-"PD(!@D@+_?
 +M<Z,!_0@#:AM!@0%"PH(@WQ85%QH<'R(E*"HM,`7\\ND)P`&V`H0K0+H"Q"N@
 +MKX#``@H+2"PX%A!9L"QH3DI2ZNZJG-NFJ5+:E6;J2FZ5-:E6DINE36FV5.TG
 +M>;35?6I*;I4UIOFZE7UK3Z]OF_572^O>J55JE.RI6_*6KJE7UE3>J[Z2FZ5-
 +M.EIMU7E.UK3Z]MU55.TE.II\^NTOJW*?94I+Z]TZNVIVNK9*5U3DIZJJ7-=E
 +M4]94I+ZM2^O4ZJJ5]94[JEVUWR53ZI4V^]E4V^\E4]94E/>N5/75979/4Z5=
 +M7DZ5>5JME:O6^ZY4VZZKN=/JW6K*UF=TO4MOIJZK65[3U:^J<U2EJ3U]I2UU
 +M7E.ZI4V^56^E*4H!""@("@"9(I,1!30MGBI+*@4@0T].5$535#\B.H%)LC&D
 +M,34P,#J"`%8(%`"9(A%))TT@4T]24EDL($D@5$A/54=(5"!93U4@4T%)1"`T
 +M+9XJ1"H%(@!T"!D`F2)#3TY415-4+BXN(CJ!2;(QI#$P,#`Z@@"I"!X`F2(1
 +M$2`>$D1)3322!2`M+2!!($U)3D0@15A004Y$24Y'($584$52245.0T4@0EDB
 +M`-@(*`"9(A&;("`@4U1%4$A%3B!,+B!*541$(($M+2"94TI51$1`3E=5+D5$
 +M52(`!@DR`)DBGR`@2%144#HO+U!50E=%0BY!0TY3+DY752Y%1%4O)3=%2E5$
 +M1"\B`#0)/`"9(A$%5U))5%1%3B!$55))3D<@1D]54B!7145+4RP@1D]54B!$
 +M05E3(@!C"48`F2)!1E1%4B!02$0@455!3$E&64E.1R!%6$%-4RP@4U1!4E1)
 +M3D<@3TXB`'()4`"9(DI53D4@-"XB`*()6@"9(A%"12!355)%(%1/(%1262!4
 +M2$5312`25$]0(%-%0U)%5)(@2T594SHB`-$)9`"9(A&;("!;-%T@(%M&-%T@
 +M(%M$72`@6RY=("!;4B]372`@6U-004-%72(``PIE`)DB!1$H0E54(%E/52!$
 +M241.)U0@2$5!4B!!0D]55"!42$5-($923TT@344I(@`-"F8`B2`Q-#``/@IG
 +M`)DBFR`@(%M$72`%*$9/55)42"!,151415(@3T8@5$A%($%,4$A!0D54(2DB
 +M`&L*:`"9(IL@("!;+ET@!2A)1$5.5$E&2452(#0T(2!.3U1%(%1(050@250B
 +M`)D*:0"9(B`@("`@("!$3T53($Y/5"!!3%=!65,@2$%612!!3B!%1D9%0U0I
 +M(@#)"FL`F2*;("`@6U(O4UT%("A42$4@-C142"`H/31>,RD@241%3E1)1DE%
 +M4B$I(@#?"HP`F2(1*%!215-3($$@2T59*2(`]@J6`*$@020ZBR!!)+(B(B"G
 +M(#$U,``B"S`"F2(1!5-014-)04P@5$A!3DM3(%1/(($25U)/3D=705F2!2!&
 +M3U(B`%`+.@*9(E-51T=%4U1)3D<@04)#4E5.0TA%4BP@5TA)0T@@34%$12!4
 +M2$E3(@!]"T0"F2)!5"!,14%35"!03U-324),12$@*$%,0D5)5"!004E.1E5,
 +M(#HI(@"M"TX"F2(104Q33R!34$5#24%,(%1(04Y+4R!43R`>$EM&54Y'55-=
 +MD@4@1D]2(@#8"U@"F2)(14Q01E5,($-254Y#2$E.1R!354='15-424].4RP@
 +M159%3B(`_PMB`IDB5$A/54=((%1(15D@1$E$3B=4(%=/4DL@3U54(#HI+B(`
 +M+PQL`IDB$5=!5$-(($9/4B!!($953$P@1$E35%))0E5424].($E.0TQ51$E.
 +M1R(`60QV`IDB0T]-4$Q%5$4@4T]54D-%($%.1"!$3T-5345.5$%424].+B(`
 +M``"<MS7W<M^7SDIR7+?9SY*<MWI*<]UG6<]TWNEF4E*;E6K;4K.92SN2I*DI
 +M^WRE5\W]4^2I)>YR7/DJ=IN>YR9*DF?9N?Z<Y9DIV7.<]WGN=EUG9<]\I+EF
 +M4E*[56DM4K.926N27J?)SWS?.2G+DIVW/?F6924JME:S92M+DIRY.GI.Y*<N
 +M3MRE*4I*U>2IKF^:E*E)6YJ\E2E*;6%I;C0N;PUG<F%P:&EC<RYO#6]B:F5C
 +M=',N;PUM=7-I8RYO#4E"551)3TX@24Y#3%5$24Y'(@!9#'8"F2)#3TU03$54
 +M12!33U520T4@04Y$($1/0U5-14Y4051)3TXN(@```)RW-?=RWY?.2G)<M]G/
 +MDIRW>DISW6=9SW3>Z6924IN5:MM2LYE+.Y*DJ2G[?*57S?U3Y*DE[G)<^2IV
 +MFY[G)DJ29]FY_ISEF2G9<YSW>>YV76=ESWRDN6924KM5:2U2LYE):Y)>I\G/
 +M?-\Y*<N2G;<]^99E)2JV5K-E*TN2G+DZ>D[DIRY.W*4I2DK5Y*FN;YJ4J4E;
 +MFKR5*4H`<"HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!-
 +M04E.-"Y3#2H-*J!T2$E3H$E3H%1(1:!-04E.H%!!4E2@3T:@5$A%H$-/1$6@
 +M1D]2H%1(1:`T2Z!$14U/H$-/3E1%4U0N#2J@:52@24Y)5$E!3$E:15.@5$A%
 +MH%9!4DE/55.@5$%"3$53H$%.1*!#3TY404E.4Z!42$6@34%)3@TJH$Q/3U`L
 +MH$%3H%=%3$R@05.@5$A%H%)/5$%424].H$%.1*!04D]*14-424].H%)/551)
 +M3D53+@TJ#2J@<U1%4$A%3J!L+J!J541$H#8O-"\Y-@TJH'=2251414Z@24Z@
 +M0:!015))3T2@3T:@0T]/3$E.1Z!/1D:@1E)/3:!P2&2@<55!3$E&24524PTJ
 +MH$9/55*@1$%94Z!!1E1%4J!42$6@455!3%,LH$].H&I53D6@-"Z@H&9/55*@
 +M1$%94Z!/1@TJH$-/1$E.1RX-#2!D<VL@(DU!24XT(@T-(')E;`T-9')A=R!E
 +M>'0@.V585$523D%,H%!23T-%1%5215,-9FEL;"!E>'0-<W!L870@97AT#7-Y
 +M;6T@97AT#61E9F]B<R!E>'0-;75S:6YI="!E>'0-#2J@=T521:!IH$Y/5*!3
 +M3Z!,05I9H%!%4DA!4%.@04Q,H%9!4DE!0DQ%4Z!#3U5,1*!"1:!0550-*J!)
 +M3E1/H$%.H$E.0TQ51$6@1DE,12X-#2J@8T].4U1!3E13#0UB=69F,2!E<74@
 +M)#,P,#`@.V9)4E-4H$-(05)!0U1%4J!3150-8G5F9C(@97%U("0S.#`P(#MS
 +M14-/3D2@0TA!4D%#5$52H%-%5`T-<VEN=&%B(&5Q=2`D,&8P,"`[=$%"3$6@
 +M3T:@4TE.15,LH%))1TA4H$)%3$]7H%53#6AI<VEN(&5Q=2`D-C`@.W-)3J!4
 +M04),1:!#55)214Y43%F@4U1!4E13H$%4H"0V,#`P#7!A='1E<FXQ(&5Q=2`D
 +M8S$P,"`[=$%"3$6@3T:@4$%45$523E.@5$^@1DE,3*!7251(#7!A='1E<FXR
 +M(&5Q=2`D8S$X,`UM=7-T86)S(&5Q=2`D8S(P,"`[;55324.@4D]55$E.1:!5
 +M4T53H"1C,C`P+21C,V9F#6]B;&ES='<@97%U("1C-#`P(#MT2$6@04-454%,
 +MH$]"2D5#5*!03TE.5%,-;V)L:7-T>"!E<74@)&,T.#`-;V)L:7-T>2!E<74@
 +M)&,U,#`-;V)L:7-T>B!E<74@)&,U.#`-<&QI<W1W(&5Q=2`D8S8P,"`[;$E3
 +M5*!/1J!23U1!5$5$*U!23TI%0U1%1*!03TE.5%,-<&QI<W1X(&5Q=2`D8S8X
 +M,`UP;&ES='D@97%U("1C-S`P#7!L:7-T>B!E<74@)&,W.#`-8FET<"!E<74@
 +M)&,X,#`@.V))5*!404),1:!&3U*@3$E.1:!23U5424Y%#6QO-#`@97%U("1C
 +M.3`P(#MT04),15.@3T:@-#`J6"\X#6AI-#`@97%U("1C.3@P(#MT3Z!,3T-!
 +M5$6@3T9&4T54H$E.5$^@0E5&1D52#6QO.38@97%U("1C83`P(#M&3U*@0:!'
 +M259%3J!#3TQ534X-:&DY-B!E<74@)&-A.#`-<F5V;&ES="!E<74@)&-B,#`@
 +M.W53142@0EF@4UE-34544EF@4D]55$E.10UC;VYL:7-T,2!E<74@)&-C,#`@
 +M.V9)4E-4H%!/24Y4H$E.H$-/3DY%0U1)3TZ@3$E35`UC;VYL:7-T,B!E<74@
 +M)&-D,#`@.W-%0T].1*!03TE.5*!)3J!#3TY.14-424].H$Q)4U0-9')A=V-O
 +M;B!E<74@)&-E,#`@.VQ)4U2@3T:@0T].3D5#5$E/3J!)3D1)0T53#6-O;F9L
 +M86<@97%U("1C9C`P(#MF3$%'4Z!43Z!+1450H$923TV@4D5$4D%724Y'H%-4
 +M549&#0US8W)N;&]C(&5Q=2`Q,#(T(#MW2$521:!)4Z!42$6@4T-2145.H$Q/
 +M0T%4140_#0TJH'9I8PT-=FUC<V(@97%U("1D,#$X#6)K9VYD(&5Q=2`D9#`R
 +M,`UB;W)D97(@97%U("1D,#(Q#0TJH&M%4DY!3`T-8VEN="!E<74@)&9F.#$-
 +M:6]I;FET(&5Q=2`D9F8X-`UC:')O=70@97%U("1F9F0R#7-C;FME>2!E<74@
 +M)&9F.68-9V5T:6X@97%U("1F9F4T#0TJH'-/346@5D%224%"3$53#0UM=7-V
 +M87)S(&5Q=2`D,#,@.VQ/0T%424].4Z`D,#,M)#!DH$%21:!54T5$H$)9#2`[
 +M5$A%H$U54TE#H%)/551)3D4N#0US:6XQ(&5Q=2`D-3<@.W!/24Y415)3H%1/
 +MH%-)3D6@04Y$H$-/4TE.10UC;W,Q(&5Q=2`D-3D@.U1!0DQ%4RX-<VEN,B!E
 +M<74@)#5B#6-O<S(@97%U("0U9`UP<F]J=&%B(&5Q=2`D-68@.W!/24Y415*@
 +M5$^@4%)/2D5#5$E/3J!404),15,-#6-O;'-T97`@/2`D-3$@.VQ)3D53.J!H
 +M3U>@34%.6:!"651%4Z!015*@0T],#6-O=6YT<'1S(#T@)#4R#7=X:6YC(#T@
 +M)#4S#7AY:6YC(#T@)#4T#7EZ:6YC(#T@)#4U#7AZ:6YC(#T@)#4V#7-W>"`]
 +M("0V,PUS>'D@/2`D-C0@.W1(15-%H$%21:!42$6@04Y'3$53H%53142@0ED-
 +M<WEZ(#T@)#8U(#MR;W1P<F]J#7-X>B`]("0V-@T-9'@@97%U("0V-PUD>2!E
 +M<74@)#8X#0UN=6UT;W)O="!E<74@)#8Y(#MN54U"15*@3T:@4$])3E13H%1/
 +MH%)/5$%41:!)3J!R;W1P<F]J#0UP;VEN=#$@97%U("0V82`[<T]-1:!34$%2
 +M1:!03TE.5$524PUP;VEN=#(@97%U("0V8PUS8W)E96YP(&5Q=2`D-F4@.W!/
 +M24Y415*@55-%1*!"6:!30U)%14Z@4$Q/5%1%4@UC;VQO<G`@97%U("0W,"`[
 +M4$])3E1%4J!)3E1/H$-/3$]2H')A;0UC;VQO<B!E<74@)#<R(#MC3TQ/4J!4
 +M3Z!35$]21:!)3J!#3TQ/4J!R86T-#6YU;7-I9&4@97%U("0X8B`[(Z!/1J!#
 +M2$%24Z!015*@4TE$1:!/1J!3455!4D4-#6)U9F9E<B!E<74@)&$S(#MP3TE.
 +M5$52H%1/H$1205=)3D>@0E5&1D52#0UN=6UO8C$@97%U("1A-2`[;E5-0D52
 +MH$]&H%!/24Y44Z!)3J!/0DI%0U2@,0UN=6UO8C$R(&5Q=2`D838-=&]T;G5M
 +M(&5Q=2`D83<@.W1/5$%,H$Y534)%4J!/1J!03TE.5%.@24Z@3$E35`UO9F9S
 +M970@97%U("1A."`[;T9&4T54H$E.5$^@1U))1`UN=6UC;VYS(&5Q=2`D83D@
 +M.W1/5$%,H$Y534)%4J!/1J!#3TY.14-424].4PT-8V]U;G0@97%U("1A82`[
 +M8:!#3U5.5$52#7-T87)C:&%R(&5Q=2`D86(@.V)!4TE#04Q,6:!-14%355)%
 +M4Z!72$E#2*!/0DI%0U0-(#M71:!!4D6@3TX-<F%N9&]M(&5Q=2`D86,@.W53
 +M142@0EF@9V5T<F%N9*`H5%=/H$)95$53*0UO;&1C;VP@97%U("1A90UC;W5N
 +M=#-D(&5Q=2`D868@.V%.3U1(15*@0T]53E1%4@UI;6]N;V(@97%U("1B,"`[
 +M:2=-H$].H$]"2D5#5*!.54U"15(N+BX-#61O='1E9"!E<74@)&(Q(#MF3$%'
 +MH$9/4J!$3U14142@3$E.15,N#61O=&9L86<@97%U("1B,B`[9DQ!1Z!43Z!$
 +M4D%7H$]2H$Y/5*!$4D%7#2`[1$]45$5$H$Q)3D53+@T->#$@97%U("1F8B`[
 +M<$])3E13H$9/4J!$4D%724Y'H$&@3$E.10UY,2!E<74@)&9C(#MT2$531:!:
 +M15)/H%!!1T6@041$4D534T53#7@R(&5Q=2`D9F0@.T1/3B=4H$-/3D9,24-4
 +MH%=)5$B@8F%S:6,->3(@97%U("1F90UO;&1X(&5Q=2`D9F0-8VAU;FL@97%U
 +M("1F90UT96UP,2!E<74@)&9B(#MO1J!#3U524T4LH$-/54Q$H$-/3D9,24-4
 +MH%=)5$B@6#$-=&5M<#(@97%U("1F8R`[=$5-4$]205)9H%9!4DE!0DQ%4PUZ
 +M=&5M<"!E<74@)#`R(#MU4T5$H$9/4J!"549&15*@4U=!4"Z@H&1/3B=4H%1/
 +M54-(+@UA8V,@97%U("0R,B`[=5-%1*!"6:!-051(H%)/551)3D4-875X(&5Q
 +M=2`D,C0-97AT(&5Q=2`D,C8-#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM#2H-*J!T2$6@3T)315)6051)3TZ@25.@5$A!5*!!1E1%4J!!H')S
 +M+W)E<W1O<F6@04Y$H'-Y<PTJH%1(1:!04D]'4D%-H%=/4DM3H$9)3D4NH*!T
 +M2$E3H%!!4E2@5$A%4D5&3U)%H%)%1$E214-44PTJH%1(1:!B87-I8Z!614-4
 +M3U*@5$^@5$A%H%!23T=204V@04Y$H$-!3$Q3H%1(1:!B<FN@4D]55$E.12X-
 +M#2!L9&$@(SQS=&%R=`T@<W1A("0P,S`R#2!L9&$@(SYS=&%R=`T@<W1A("0P
 +M,S`S#2!J;7`@)&9E-C8@.W=!4DV@4U1!4E2@4D]55$E.12X-#7-T87)T(&5N
 +M="`[<U1!4E1)3D>@041$4D534Z!/1J!04D]'4D%-#2!L9&$@(R0S-@T@<W1A
 +M("0P,2`[8F%S:6.@1T]%4Z!/550-#2J@;&1AH'9M8W-B#2J@86YDH",E,#`P
 +M,#$Q,3&@.W-#4D5%3J!-14U/4EF@5$^@,3`R-`TJH&]R8:`C)3`P,#$P,#`P
 +M#2J@;&1AH'9M8W-B#2J@86YDH",E,3$Q,3`P,#&@.W-405)4H$A%4D6@4T^@
 +M5$A!5*!35T%0H$)51D9%4E,-*J!O<F&@(R4P,#`P,3$Q,*`[5TE,3*!73U)+
 +MH%))1TA4#2J@<W1AH'9M8W-B#0T@;&1A(",E,#`P,3$Q,3`@.V1/4DL-('-T
 +M82!V;6-S8@T-('-E:0T@:G-R(&UU<VEN:70@.VE.251)04Q)6D6@355324,-
 +M(&-L:2`[<U1!4E2@55"@355324,-#2HJ*BJ@8TQ%05*@4T-2145.H$%.1*!3
 +M152@55"@(D))5$U!4"(-<V5T=7`-#2J@;&1AH",\8G5F9C$-*J!S=&&@8G5F
 +M9F5R#2J@;&1AH",^8G5F9C$-*J!S=&&@8G5F9F5R*S$-*J!L9'F@(R0P,`TJ
 +MH&QD>*`C,3:@.V%34U5-24Y'H$)/5$B@0E5&1D524Z!!4D4-*J!L9&&@(R0P
 +M,*`[0D%#2RU43RU"04-+#2HZ8FQO;W"@<W1AH"AB=69F97(I+'D-*J!I;GD-
 +M*J!B;F6@.F)L;V]P#2J@:6YCH&)U9F9E<BLQ#2J@9&5X#2J@8FYEH#IB;&]O
 +M<`T-*BHJ*J!C3$5!4J!&4D].5*!"549&15*@1D]2H$-)4D-,1:!03$]45$52
 +MH%1(24Y'+@TJ#2J@;&1AH",^8G5F9C(-*J!S=&&@>G1E;7`-*J!J<W*@8VQR
 +M8G5F9@T-#2HJ*BJ@<T54H%50H$)51D9%4E,-#2J@;&1AH",\8G5F9C$-*J!S
 +M=&&@8G5F9F5R#2!L9&$@(SYB=69F,0TJH'-T8:!B=69F97(K,0T@<W1A('IT
 +M96UP(#M:5$5-4*!724Q,H$U!2T6@3$E&1:!324U03$6@1D]2H%53#0T@;&1A
 +M(",V#2!S=&$@8V]U;G0-#2!L9&$@(S`P#2!L9'@@(R0Q-0TZ;#$@<W1A("0U
 +M,2QX#2!D97@-(&)P;"`Z;#$-*J!S=&&@=WAI;F,-*J!S=&&@>'EI;F,-*J!S
 +M=&&@>7II;F,-*J!S=&&@>'II;F,-*J!S=&&@<W=X#2J@<W1AH'-X>0TJH'-T
 +M8:!S>7H-*J!S=&&@<WAZ#2!S=&$@)&0P,C`-('-T82!I;6]N;V(-#2J@;&1A
 +MH",P,*`[=5-%H%1(25.@0TA!4D%#5$52H%1/+BXN#2J@:G-RH&-L96%R<V5T
 +MH#MC3$5!4J!!3D2@4T54H%50H%-#4D5%3@T-#2HM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM#2J@<T54H%50H%1!0DQ%4PTJ#2J@=$A%H%!23T=2
 +M04V@15A014-44Z!!H%-)3D=,1:!324Y%H%1!0DQ%H$%4H"1C,#`P#2J@3T:@
 +M1BA8*3TV-"I324XH6"DK-C0LH%@],"XN,3(W#2H-*J!F25)35*!42$6@5$%"
 +M3$6@25.@15A414Y$142@0EF@,S*@0EE415.@5$^@1T5.15)!5$4-*J!!H%-)
 +M35!,1:!#3U-)3D6@5$%"3$6@*$-/4RA8*:`]H%-)3BA8*U!)+S(I*2X-*J!F
 +M4D]-H%1(25.@5$%"3$6@0:!315))15.@3T:@5$%"3$53H$E3H$-214%4140L
 +M#2J@1RA2+%@IH#V@4BI324XH6"DLH%9)0:!42$6@4D5,051)3TX-*J"@H*"@
 +MH*!'*%(L6"F@/:!2*D8H6"DO-C2@+:!2#2H-*J!M3U)%3U9%4BR@0:!04D]*
 +M14-424].H%1!0DQ%H$]&H$@H4BQ8*3U2*D0O*%HM6C`I#2J@25.@4U150TN@
 +M24Z@5$A%H%-!346@,C4V+4)95$6@0TA53DLN#0UT86)L97,-*J!S152@55"@
 +M8FET<*!404),1:!&3U*@3$E.1:!$4D%724Y'H%)/551)3D4N#6)I='!T86(-
 +M*J!L9'F@(S`P#2!T87D@.V&@0T].5$%)3E.@6D523PT@;&1A(",D9F8@.WE%
 +M4RR@::!214%,3%F@3D5%1*!42$%4H$)95$4A#3IL;V]P,R!S=&$@8FET<"QY
 +M#2!L<W(-(&)N92`Z8V]N=`T@;&1A(",D9F8-.F-O;G0@:6YY#2!B;F4@.FQO
 +M;W`S#0TJH'-%5*!54*!#3TQ534Z@24Y$15B@5$%"3$53H$9/4J!D<F%W#61R
 +M87=T86(-.FQO;W`@='EA#2!A;F0@(R1F.`T@<W1A(&%U>`T@;&1A(",U(#LT
 +M,"I8H$1)5J`X/34J6*!!3D2@)&8X#2!S=&$@86-C#2!J<W(@;75L=`T@<W1A
 +M(&AI-#`L>0T@;&1A(&%C8PT@<W1A(&QO-#`L>0T@;&1A(",Q,B`[;D]7H#DV
 +M*EB@1$E6H#@-('-T82!A8V,-(&IS<B!M=6QT#2!S=&$@:&DY-BQY#2!L9&$@
 +M86-C#2!S=&$@;&\Y-BQY#2!I;GD-(&)P;"`Z;&]O<`T-*J!S152@55"@5%))
 +M1Z!404),15,-#2!L9'D@(S,Q(#MF25)35*!%6%1%3D2@5$A%H%1!0DQ%#3IE
 +M>'1E;F0@;&1A('-I;G1A8BQY#2!S=&$@<VEN=&%B*S$R."QY#2!D97D-(&)P
 +M;"`Z97AT96YD#0T@;&1A(",S,@T@<W1A(&-O<S$-('-T82!C;W,R#2!L9&$@
 +M(S$R."LS,B`[.3:@14Y44DE%4Z!&3U*@6E1!0@T@<W1A('!R;VIT86(-(&QD
 +M82`C)#DP(#MS5$%25*!)3J!42$6@34E$1$Q%H$%.1`T@<W1A('-I;C$K,2`[
 +M34]61:!/551705)$4PT@<W1A('-I;C(K,0T@;&1A(",D,#`-('-T82!S:6XQ
 +M#2!S=&$@<VEN,@T-('1A>`TZ;&]O<#$@;&1Y(",P,`T@<W1X(&%U>`TZ;&]O
 +M<#(@;&1A('-I;G1A8BQY#2!S=&$@86-C#2!J<W(@;75L="`[84-#54U53$%4
 +M3U*@0T].5$%)3E.@2$DLH&%C8Z!,3PT@87-L(&%C8R`[;D585"R@1$E6241%
 +MH$)9H#8T#2!R;VP-(&%S;"!A8V,-(')O;`T@<V5C#2!S8F,@875X(#MA3D2@
 +M4U5"5%)!0U2@3T9&H%(-('-T82`H<VEN,2DL>2`[<U1/4D6@4$]3251)5D6@
 +M4J!)3J!43U"@2$%,1@T@96]R(",D9F8-(&-L8PT@861C(",D,#$-('-T82`H
 +M<VEN,BDL>2`[,B=3H$-/35!,14U%3E2@24Z@0D]45$]-H$A!3$8-(&EN>0T@
 +M8FYE(#IL;V]P,@T-*CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-
 +M*@TJH'1(25.@4T]-15=(052@3D5!5*!42$E.1Z!-55-4H$)%H$-(3U!0142@
 +M3U54H%1/H$=%5`TJH%1(1:!42$E.1Z!43Z!#4E5.0TB@86YDH%)53J`Z*`TJ
 +M#2!D;R`P#0TZ=&5S="!L9&$@<VEN,2LQ(#MT15-4H%1(3U-%H%1!0DQ%4R$-
 +M('-T82!C;W,Q*S$@.V=%5*!!H%1!0DQ%H$]&H$-/4TE.15.@5$]/#3IC:7)C
 +M;&4-*J!L9&&@(S`P#2J@<W1AH&)U9F9E<@T@;&1A("AC;W,Q*2QY(#M8/5)#
 +M3U,H5"D-(&-L8PT@861C(",T."`[8T5.5$52H$E.H$&@.398.3:@1U))1`T@
 +M=&%X#2!L9&$@;&\Y-BQX(#MT15-4H$]55*!42$6@0T],54U.H$E.1$E#15,-
 +M('-T82!B=69F97(-(&QD82!H:3DV+'@-(&-L8PT@861C(",^8G5F9C(-('-T
 +M82!B=69F97(K,2`[;D]7H%=%)U)%H$E.H%1(1:!224=(5*!#3TQ534X-(&QD
 +M82`H<VEN,2DL>0T@8VQC#2!A9&,@(S0X#2!S='D@=&5M<#$-('1A>2`[63U2
 +M*E-)3BA4*0T@;&1A(&)I='`L>`T@;'-R(#MO3DQ9H%=!3E2@5$A%H$))5`T@
 +M96]R(&)I='`L>`T@;W)A("AB=69F97(I+'D-('-T82`H8G5F9F5R*2QY#2!L
 +M9'D@=&5M<#$-(&EN>0T@8G!L(#IC:7)C;&4-(&9I;@TJ/3T]/3T]/3T]/3T]
 +M/3T]/3T]/3T]/3T]/3T]/3T]/0T-(&EN8R!S:6XQ*S$@.VU/5D6@5$^@5$A%
 +MH$Y%6%2@4$%'10T@9&5C('-I;C(K,0T@;&1X(&%U>`T@:6YX#2!C<'@@(S0Y
 +M(#MN3U1%H%1(052@5$A)4Z!/5D525U))5$53H$]224=)3D%,#2!B;F4@.FQO
 +M;W`Q(#M404),12$-#0TJ#2J@=%)9H%1(25.@2$521:!43Z!3146@24:@86)#
 +M4E5.0TB@5TE,3*!42$5.H%=/4DN@4DE'2%0N#2H-*J!S96D-*J!J<W*@;75S
 +M:6YI=*`[<U1!4E2@55"@355324,-*J!C;&D-#2H-*J!S152@55"@4D5615)3
 +M1:!404),12Z@H'1(25.@4T544Z!54*!!H%1!0DQ%H$]&H%)%5D524T5$#2J@
 +M0DE4H%!/4TE424].4RR@1D]2H%531:!)3J!2149,14-424Y'H$%.H$]"2D5#
 +M5*!42%)/54=(#2J@6#TP+@UR979S970-*J!YH$E3H%-%5*!43Z!:15)/H$%"
 +M3U9%#2J@;&1YH",P,`TZ8W)O=R!S='D@=&5M<#$-(&QD>"`C.`TZ<V5R=F\@
 +M;'-R('1E;7`Q#2!R;VP-(&1E>`T@8FYE(#IS97)V;PT@<W1A(')E=FQI<W0L
 +M>0T@:6YY#2!B;F4@.F-R;W<-#2H-*J!S152@55"@0U535$]-H$-(05)!0U1%
 +M4J!$051!#2H-(&QD>"`C,S$@.S2@0TA!4E.@*J`X#3IJ;V5L(&QD82!C:&%R
 +M9&%T+'@-('-T82`X*C(T-RMB=69F,2QX(#MC2$%24Z`R-#<M,C4PH$%21:!#
 +M55-43TT-('-T82`X*C(T-RMB=69F,BQX#2!E;W(@(R1F9@T@<W1A(#@J,C4Q
 +M*V)U9F8Q+'@@.U=)5$B@,C4Q+3(U-*!2159%4E-%1`T@<W1A(#@J,C4Q*V)U
 +M9F8R+'@-(&1E>"`[,C4UH$E3H$-,14%2H$-(05)!0U1%4@T@8G!L(#IJ;V5L
 +M#0TJ#2J@<T]25"U/1J!3145$H%1(1:!204Y$3TV@3E5-0D52H$=%3D52051/
 +M4@TJ#2J@;&1AH"1D8S`YH#MT;V2@4T5#3TY$4Z!214<-*J!S=&&@<F%N9&]M
 +M#0TJ#2J@:4Y)5$E!3$E:051)3TZ@1T])3D>@24Y43Z!42$6@34%)3J!,3T]0
 +M#2H-:6YI=&UA:6X-(&1E8R!I;6]N;V(-(&QD>"!I;6]N;V(-(&)P;"`Z8V]N
 +M=#`-(&QD>"`C,R`[=T6@05)%H$].H$]"2D5#5*`SH$Y/5PT@<W1X(&EM;VYO
 +M8@TJH'-%5*!54*!42$6@4$%45$523J!&24Q,H%1!0DQ%#2!L9'@@(S0P#3IC
 +M86UB;W0@='AA#2!A;F0@(R0P-R`[34]$54Q/+3@-('1A>0T@;&1A(#(U,BHX
 +M*V)U9F8Q+'D-('-T82!P871T97)N,2QX#2!L9&$@,C4T*C@K8G5F9C$L>0T@
 +M<W1A('!A='1E<FXR+'@-(&1E>`T@8G!L(#IC86UB;W0-(&QD82`C,C4Q(#MF
 +M24Q,H$-(05(-(&)N92`Z9&]N90T-.F-O;G0P(#MC<'B@(S`PH#MO0DI%0U2@
 +M,#\-(&)N92`Z8V]N=#$-(&QD>"`C-#`-.F9R86YK('1X80T@86YD(",D,#<@
 +M.TU/1%5,3RTX#2!T87D-(&QD82`R-#<J."MB=69F,2QY#2!S=&$@<&%T=&5R
 +M;C$L>`T@;&1A(#(T."HX*V)U9F8Q+'D-('-T82!P871T97)N,BQX#2!D97@-
 +M(&)P;"`Z9G)A;FL-(&QD82`C,C4S(#MF24Q,H$-(05(-(&)N92`Z9&]N90T-
 +M.F-O;G0Q(&-P>"`C,#$@.V]"2D5#5*`Q/PT@8FYE(#IC;VYT,@T@;&1X(",T
 +M,`TZ8VQA>71O;B!T>&$-(&%N9"`C)#`W(#M-3T153$\M.`T@=&%Y#2!L9&$@
 +M,C4Q*C@K8G5F9C$L>0T@<W1A('!A='1E<FXQ+'@-(&QD82`R-#DJ."MB=69F
 +M,2QY#2!S=&$@<&%T=&5R;C(L>`T@9&5X#2!B<&P@.F-L87ET;VX-(&QD82`C
 +M,C0W(#MF24Q,H$-(05(-(&)N92`Z9&]N90T-.F-O;G0R(&QD>"`C-#`-.FUI
 +M:V4@='AA#2!A;F0@(R0P-R`[34]$54Q/+3@-('1A>0T@;&1A(#(U-"HX*V)U
 +M9F8Q+'D-('-T82!P871T97)N,2QX#2!L9&$@,C0X*C@K8G5F9C$L>0T@<W1A
 +M('!A='1E<FXR+'@-(&1E>`T@8G!L(#IM:6ME#2!L9&$@(S(U,"`[9DE,3*!#
 +M2$%2#3ID;VYE(&IS<B!C;&5A<G-E=`T-*@TJH'1(25.@1U59H$-,14%24Z!4
 +M2$6@3T)*14-4H$Q)4U13+@TJ#2!L9'@@(S`P#2!T>&$-.FQO<"!S=&$@;V)L
 +M:7-T=RQX#2!S=&$@;V)L:7-T>2QX#2!I;G@-(&)N92`Z;&]P#2!S=&$@;VQD
 +M8V]L#2!S=&$@8V]U;G0S9`T@<W1A(&1O=&9L86<@.V1205>@1$]45$5$H$Q)
 +M3D53#2!B97$@9&]N96ME>2`[<TM)4*!+15E04D534Z!214%$H%1(1:!&25)3
 +M5*!424U%#2`[5$A23U5'2"R@4T^@5T6@1$].)U2@1T54H$1/54),10T@.TM%
 +M65!215-315.@0EF@04-#241%3E0N#0TJ+2TM+2TM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+0TJH&U!24Z@3$]/4`T-*BHJ*J!F25)35"R@5$A%H'-U<&5R
 +MH'-E8W)E=*!#2$%204-415)3#6UA:6X-:W!R97-S(&IS<B!S8VYK97D-(&QD
 +M82`D8V(-(&-M<"`C,3$@.S2@1T]%4Z!)3E1/H%154D)/H$U/1$4-(&)N92`Z
 +M9C0-(&QD>"`C)&9D#2!S='@@>'EI;F,-(&QD>"`C)#`T#2!S='@@>'II;F,-
 +M.F8T(&-M<"`C-2`[9C2@*$]2H&8S*:!'3T53H$E.5$^@-&2@34]$10T@8FYE
 +M(#ID#2!L9&$@(S`R#2!S=&$@=WAI;F,-(&QD82`C,#`-('-T82!X>6EN8PT@
 +M<W1A('EZ:6YC#2!S=&$@>'II;F,-.F0@8VUP(",Q."`[9*!'3T53H$E.5$^@
 +M3D]234%,H$U/1$4-(&)N92`Z9&]T#2!L9'@@(R1F9@T@<W1X('AY:6YC#2!L
 +M9'@@(S`Q#2!S='@@=WAI;F,-('-T>"!Y>FEN8PT@:6YX#2!S='@@>'II;F,-
 +M.F1O="!C;7`@(S0T(#LT-"R@5$A%H$1/5"R@5$]'1TQ%4Z!$3U14142@3$E.
 +M15,-(&)N92`Z,V0-(&QD82!D;W1F;&%G#2!E;W(@(R0P,0T@<W1A(&1O=&9L
 +M86<-.C-D(&-M<"`C-C,@.W)U;B]S=&]PH$=/15.@24Y43Z`S9*!-3T1%#2!B
 +M;F4@.G-P86-E#2!L9'@@(S`P#2!S='@@=WAI;F,-('-T>"!X>6EN8R`[=$A)
 +M4Z!43Z!&4D5%6D6@4U!,051424Y'#2J@<W1XH'EZ:6YC#2J@<W1XH'AZ:6YC
 +M#3IS<&%C92!C;7`@(S8P(#MS4$%#1:!!1%9!3D-%4Z!43Z!42$6@3D585*!/
 +M0DI%0U0-(&)N92`Z8V]N=`T@:FUP(&EN:71M86EN#3IC;VYT#61O;F5K97D-
 +M#2HJ*BJ@8TQ%05*@0E5&1D52#6-L<F)U9F8-(&QD82!Z=&5M<"`[:$E'2*!"
 +M651%#2!S=&$@8G5F9F5R*S$-(&QD82`C,#`-('-T82!B=69F97(-#6-L<F1R
 +M87<@;&1X(",P-B`[9$].)U2@3D5%1*!43Z!#3$5!4J!72$],1:!42$E.1PTJ
 +MH&QD8:`C,#`-.F9O;VP@;&1Y(",P,`TZ9&]P92!S=&$@*&)U9F9E<BDL>0T@
 +M:6YY#2!B;F4@.F1O<&4-(&EN8R!B=69F97(K,0T@9&5X#2!B;F4@.F9O;VP-
 +M#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!U4$1!5$6@
 +M04Y'3$53#0UU<&1A=&4@;&1A('-W>`T@8VQC#2!A9&,@=WAI;F,-(&%N9"`C
 +M)#=F#2!S=&$@<W=X#2!L9&$@<WAY#2!C;&,-(&%D8R!X>6EN8PT@86YD(",D
 +M-V8-('-T82!S>'D-(&QD82!S>7H-(&-L8PT@861C('EZ:6YC#2!A;F0@(R0W
 +M9@T@<W1A('-Y>@T@;&1A('-X>@T@8VQC#2!A9&,@>'II;F,-(&%N9"`C)#=F
 +M#2!S=&$@<WAZ#0T@;&1A('AY:6YC(#MM05E"1:!IH$1/3B=4H%=!3E2@5$^@
 +M4U!,050-(&)E<2`Z8V]N=`T@9&5C(&-O=6YT(#MI4Z!)5*!424U%H%1/H%-0
 +M3$%4H$%.H$]"2D5#5`T@8FYE(#IC;VYT(#M/3J!42$5213\-(&QD82`C.`T@
 +M<W1A(&-O=6YT#2!L9&$@(S4-('-T82!N=6US:61E#3IO;W!S(&IS<B!G971R
 +M86YD(#MG152@0:!204Y$3TU)4TB@3E5-0D52#2!A;F0@(R0P9@T@8VUP(",V
 +M(#MD3TXG5*!704Y4H$)!0TM'4D]53D2@0T],3U(A#2!B97$@.F]O<',-('-T
 +M82!C;VQO<@T@;&1A(&]L9&-O;"`[841604Y#1:!#3TQ534X-(&-L8PT@861C
 +M(",P-@T@8VUP(",T,`T@8F-C(#IO:PT@<V)C(",T,`TZ;VL@=&%X#2!S=&$@
 +M;VQD8V]L#2!J<W(@9V5T<F%N9`T@86YD(",R,@T@=&%Y(#MR3U<-(&QD82!S
 +M=&%R8VAA<@T@8FYE(#IO;G=A<F1S#2!L9&$@(S(T-"`[,C0T+3(U/3(Q.0TZ
 +M;VYW87)D<R!S96,-('-B8R`C,C4-(&)M:2`Z<F5A9'D@.VA)5*`Q,3F@04Y$
 +MH%=%)U)%H$1/3D4-(&1E8R!C;W5N=#-D(#MIH%=!3E2@-Z`S9*!/0DI%0U13
 +MH$9/4J!%5D5260T@8FUI(#IN;W<T9"`[-&2@3T)*14-4H"@XH%1/5$%,+*!,
 +M3T]+4Z!"151415(I#2!L9&$@(S$Y-`T@8FYE(#IR96%D>0TZ;F]W-&0-(&EN
 +M8R!C;W5N=#-D#2!I;F,@8V]U;G0S9`T@;&1A(",Q,@T@<W1A(&YU;7-I9&4-
 +M(&QD82`C,#`-.G)E861Y('-T82!S=&%R8VAA<@T@:G-R('-P;&%T#3IC;VYT
 +M#2!L9&$@;V)L:7-T=PT@8VUP(",R-"`[8TA%0TN@24:@3T)*14-4H$E3H$%,
 +M3*!3152@55`-(&)C<R!R;W1A=&4-(&IS<B!D969O8G,@.W-%5*!54*!/0DI%
 +M0U13#0TJ+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJ#2J@<D]4
 +M051%H$%.1*!04D]*14-4H%!/24Y44PTJ#2J@=$A%4D6@25.@2E535*!/3D6@
 +M3$].1Z!,25-4H$]&H%!/24Y44RR@0E54H&F@5T%.5`TJH%1/H$)%H$%"3$6@
 +M5$^@4D]4051%H$]"2D5#5%.@24Y$259)1%5!3$Q9+*!33Z!71:!.145$#2J@
 +M5$^@0D6@0T%214953"X-*@TJH'1(1:!23U1!5$E/3J!354)23U5424Y%H%=)
 +M3$R@3D5%1*!!H%!/24Y415*@24Z@>*!!3D2@00TJH$-/54Y415*@4T54H%50
 +MH$)9H%1(1:!#04Q,24Y'H%)/551)3D4LH%1(1:!03TE.5$52H'@-*J!)4Z!!
 +M3J!)3D1%6*!43Z!42$6@3$E35*!/1J!03TE.5%.@5$^@0D6@4D]4051%1"R@
 +M04Y$H%1(10TJH$-/54Y415*@5$5,3%.@252@2$]7H$U!3EF@4$])3E13H%1/
 +MH%)/5$%41:!54TE.1PTJH%1(1:!!3D=,15.@4U=8+%-862Q365HL4UA:+$54
 +M0Z!72$E#2*!-05F@5$A54Z!"1:!#2$%.1T5$#2J@24Y$15!%3D1%3E1,62Z@
 +MH"AIH$1/H$Y/5*!!3E1)0TE0051%H$A!5DE.1Z!-3U)%H%1(04X-*J`R-3:@
 +M4$])3E13(2D-#7)O=&%T90T-(&QD82!N=6UO8C$@.VY534)%4J!/1J!03TE.
 +M5%.@24Z@4%))34%260T@<W1A(&YU;71O<F]T#2!L9&$@(S0X#2!S=&$@;V9F
 +M<V5T#2!L9'@@(S`P#0T@:G-R(')O='!R;VH-#2!L9&$@;G5M;V(Q,B`[;E5-
 +M0D52H$]&H%!/24Y44Z!)3J!314-/3D1!4ED-('-T82!N=6UT;W)O=`T@;&1A
 +M(",R,`T@<W1A(&]F9G-E=`T@;&1A('-W>"`[>D523Z!/552@5$A%H%@TH%)/
 +M5$%424].4PT@<&AA#2!L9&$@(S`P#2!S=&$@<W=X#2!J<W(@<F]T<')O:B`[
 +M:T5%4*!XH%=(15)%H$E4H$E3#2!P;&$-('-T82!S=W@-#2!L9'@@;G5M8V]N
 +M<R`[;E5-0D52H$]&H$-/3DY%0U1)3TY3#2!L9&$@(S`P#3IC;"!S=&$@8V]N
 +M9FQA9RQX(#MR15-%5*!42$6@1%)!5Z!&3$%'4PT@9&5X#2!B;F4@.F-L#2!S
 +M=&$@8V]N9FQA9PT-(&QD82`C.38-('-T82!C;VQS=&5P(#MN54U"15*@3T:@
 +M0EE415.@4$52H$-/3%5-3@T-*J!T2$6@1%)!5TE.1Z!23U5424Y%H%=/4DM3
 +MH$%3H$9/3$Q/5U,ZH$-/3DY%0U1)3TY3#2J@1E)/3:!42$6@0T].3D5#5$E/
 +M3J!,25-4H$%21:!354-#15-3259%3%F@4D5!1*!)3J!!3D0-*J!*3TE.140L
 +MH%5.5$E,H$&@6D523Z!)4Z!(250NH*!T2$6@3D585*!03TE.5*!)4Z!42$5.
 +M#2J@4D5!1*!)3J!!4Z!!H$Y/4DU!3*!)3D1%6"Z@H&E&H%I%4D\LH%1(14Z@
 +M5T6@05)%H$1/3D4L#2J@3U1(15)725-%H%1(25.@3D]234%,H$E3H$-(14-+
 +M142@5$^@4T5%H$E&H%1(1:!&04-%#2J@25.@5DE324),12Z@H&E&H$Y/5*!4
 +M2$5.H$E4H%-+25!3H%1/H%1(1:!.15A4H%!/24Y4+`TJH$]42$525TE31:!)
 +M5*!$3T53H%1(1:!$4D%724Y'H%1(24Y'H$%"3U9%+@TJ#2J@85.@14%#2*!#
 +M3TY.14-424].H$E3H$1205=.H$&@0T]24D534$].1$E.1Z!&3$%'H$E3#2J@
 +M4T54H$E.H$&@4TE-24Q!4J!#3TY.14-424].H$Q)4U0NH*!T2$E3H%=!62R@
 +M0T].3D5#5$E/3E,-*J!32$%2142@0D545T5%3J!625-)0DQ%H$9!0T53H$1/
 +MH$Y/5*!.145$H%1/H$)%H$1205=.H%1724-%+@T-.F-H87)G92!L9'D@(S`P
 +M#2!L9&$@9')A=V-O;B`[94E42$52H#"@3U*@0T]53$2@0D6@)#@P#2!S=&$@
 +M9&]T=&5D(#MZ15)/H$]55*!$3U14142@1DQ!1PTZ;&]O<#(@<W1Y(&%U>"`[
 +M;D5%1*!43Z!S='F@04Y95T%94PT@87-L(#MP24-+H$]&1J!42$6@9&]T=&5D
 +MH$9,04<-(')O;"!D;W1T960@.V1O='1E9*!724Q,H$)%H#`PH$]2H#`Q#2!L
 +M<W(@.W)%4U1/4D6@5$^@04-454%,H$E.1$58#2!T87D-(&QD82!C;VYF;&%G
 +M+'D@.VA!5D6@5T6@04Q214%$6:!$4D%73J!42$E3H$-/3DY%0U1)3TX_#2!B
 +M;F4@.FYO9')A=R`[:4:@4T\LH%1(14Z@1$].)U2@1%)!5Z!)5*!!1T%)3B$-
 +M(&]R82`C,#$-('-T82!C;VYF;&%G+'D-(&QD82!C;VYL:7-T,2QY("`[9DE2
 +M4U2@4$])3E2@5$^@0T].3D5#5`T@=&%X#2!L9&$@<&QI<W1X+'@-('-T82!X
 +M,0T@;&1A('!L:7-T>2QX#2!S=&$@>3$-(&QD82!C;VYL:7-T,BQY(#MP3TE.
 +M5*!43Z!#3TY.14-4H$E4H%1/#2!T87@-(&QD82!P;&ES='@L>`T@<W1A('@R
 +M#2!L9&$@<&QI<W1Y+'@-('-T82!Y,@T@;&1A(&1O='1E9`T@86YD(&1O=&9L
 +M86<@.V%21:!71:!$4D%724Y'H$1/5%1%1*!,24Y%4S\-(&)N92`Z;F]D<F%W
 +M(#MD;W1F;&%G/3&@345!3E.@1$].)U2@1%)!5PT@:G-R(&1R87<-.FYO9')A
 +M=R!L9'D@875X#2!I;GD-(&QD82`C,#`-('-T82!D;W1T960@.VU!2T6@252@
 +M6D523Z!)3J!#05-%H$E4H%=!4TXG5`T@;&1A(&1R87=C;VXL>2`[;$E35*!/
 +M1J!#3TY.14-424].H$E.1$E#15,-(&)N92`Z;&]O<#(-.F1O;F4-(&QD82`C
 +M-#`@.W-(2494H%1/H#58-:!'55D-('-T82!C;VQS=&5P#2!L<W(-('-T82!O
 +M9F9S970-#3IN97AT(&EN>0T@;&1A(&1R87=C;VXL>2`[9U)!0J!.15A4H$Y/
 +M4DU!3`T@8F5Q(#IA;&QD;VYE(#MI1J!:15)/+*!42$5.H$%,3*!$3TY%#2!T
 +M87@-(&QD82!P;&ES='HL>"`[;U1(15)725-%+*!#2$5#2Z!)1J!625-)0DQ%
 +M#2!C;7`@(S`S(#M%6%!%4DE-14Y404Q,6:!/0E1!24Y%1`T@8FUI(#IS:VEP
 +M(#MI1J!.3U0LH%1(14Z@1T^@5$^@3D585*!03TE.5`T@:6YY#2!L9&$@9')A
 +M=V-O;BQY(#MI1J!33RR@5$A%3J!$4D%7H$E4(0T@8FYE(#IL;V]P,@T-.G-K
 +M:7`@:6YY#2!L9&$@9')A=V-O;BQY#2!B;F4@.G-K:7`-(&)E<2`Z;F5X=`T-
 +M.F%L;&1O;F4-#2!J<W(@9FEL;"`[9DE,3*!)3J!42$6@-5@UH#-DH$]"2D5#
 +M5`T@.T%4H&)U9F9E<BLD,#0X,`T@:G-R('-Y;6T@.V9)3$R@3U54H%1(1:!3
 +M64U-151262U214Q!5$5$H$]"2E,-#0UO8FID;VYE#2HJH'=!252@1D]2H%)!
 +M4U1%4J!2149215-(#2HZ=V%I=*!L9&&@)&0P,3(-*J!B;F6@.G=A:70-#2HJ
 +M*BJ@<U=!4*!"549&15)3#0US=V%P8G5F(&QD82!V;6-S8@T@96]R(",D,#(@
 +M.W!215146:!44DE#2UDLH$5(/PT@<W1A('9M8W-B#2!L9&$@(R0P.`T@96]R
 +M('IT96UP(#M:5$5-4#U(24=(H$)95$6@2E535*!&3$E04PT@<W1A('IT96UP
 +M(#M"1517145.H"0S,*!!3D2@)#,X#0T@:FUP(&UA:6X@.V%23U5.1*!!3D2@
 +M05)/54Y$H%=%H$=/+BXN#0TJ+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+0TJ*J!R3U1!5$4LH%!23TI%0U0LH$%.1*!35$]21:!42$6@4$])3E13
 +M#2H-*J!T2$E3H$=56:!324U03%F@1T]%4Z!$3U=.H%1(1:!03TE.5*!,25-4
 +M+*!23U1!5$E.1Z!!3D0-*J!04D]*14-424Y'H%!/24Y44RZ@H&E4H$Y%1413
 +MH'B@4$%34T5$H$E.H$%3H$%.H$E.251)04P-*J!)3D1%6*!)3E1/H%1(1:!,
 +M25-4H$]&H%!/24Y44RR@04Y$H$E4H$%,4T^@3D5%1%.@00TJH$-/54Y415*@
 +M;G5M=&]R;W2@4T54H%50H$%(14%$H$]&H%1)344NH*!I5*!/3DQ9H%!23TI%
 +M0U13#2J@0:!#15)404E.H$Y534)%4J!/1J!03TE.5%.@4T^@5$A!5*!$249&
 +M15)%3E2@3T)*14-44PTJH$U!6:!"1:!-04Y)4%5,051%1*!$249&15)%3E1,
 +M62X-*@TJH&E4H$9)4E-4H%)/5$%415.@*#)D*:!)3J!42$6@5RU8H%!,04Y%
 +M+*!42$5.H%@M62R@5$A%3@TJH%DM6BR@04Y$H$9)3D%,3%F@6"U:+@TJH&E4
 +MH%1(14Z@4%)/2D5#5%.@5$A23U5'2*!42$6@3U))1TE.+*!&25)35*!)3E1/
 +MH%1(10TJH$A94$524$Q!3D6@5SU#3TY35"R@5$A%3J!)3E1/H%1(1:!03$%.
 +M1:!:/4-/3E-4+@TJH'1(14Z@5$A%H%!/24Y44Z!!4D6@4U1/4D5$H$%3H$%.
 +MH%@M6:!,25-4H$]&H$-/3U)$4RP-*J!7251(H$%.H$E.5$52345$24%41:!,
 +M25-4H$]&H%@M62U:H$-/3U)$4RR@4T^@00TJH$A)1$1%3J!&04-%H$Y/4DU!
 +M3*!#04Z@0D6@14%324Q9H$E-4$Q%345.5$5$+@TJ#2J@;D]41:!42$%4H&F@
 +M1$].)U2@5T]24EF@04)/552@1T545$E.1Z!324=.4Z!224=(5*!/4@TJH%1(
 +M24Y'H$Q)2T6@5$A!5*`M+:!IH$1/3B=4H$U)3D2@0:!2149,14-4142@4T],
 +M551)3TXN#2H-*J!N3U1%H%1(052@4$])3E13H$]224=)3D%41:!)3J!O8FQI
 +M<W2@04Y$H$5.1*!54*!)3@TJH'!L:7-T+@TJ#2J@;4E.2:!354)23U5424Y%
 +M.J!43Z!3059%H%-/346@4U!!0T4LH%1(1:!23U1!5$E/3@TJH%!!4E2@25.@
 +M4U5"0T].5%)!0U1%1*!/552@5$^@04Y/5$A%4J!,25143$6@4D]55$E.12P-
 +M*J!R;W0N#0UR;W1P<F]J#2!L9&$@;V)L:7-T=RQX#2!S=&$@=&5M<#$-(&QD
 +M82!O8FQI<W1X+'@-(&QD>2!S=W@-(&IS<B!R;W0@.V&@0T].5$%)3E.@=RR@
 +M5$5-4#&@>`T@<W1A('!L:7-T=RQX#2!L9&$@;V)L:7-T>2QX(#MN15A4+*!8
 +M60T@;&1Y('-X>0T@:G-R(')O=`T@<W1A('!L:7-T>"QX#2!L9&$@;V)L:7-T
 +M>BQX(#MU3D2@5DA9+5I%10T@;&1Y('-Y>@T@:G-R(')O=`T@<W1A('!L:7-T
 +M>2QX#2!L9'D@=&5M<#$@.U1%35`QH$A!4Z!23U1!5$5$H%H-(&QD82!P;&ES
 +M='@L>"`[;D5%1*!23U1!5$5$H%B@3D]7#2!S=&$@=&5M<#$-('1Y82`[8T]/
 +M4D1)3D%415.@1$^@3D]4H$-/34U55$4A#2!L9'D@<WAZ#2!J<W(@<F]T(#MN
 +M3U>@6%H-('-T82!P;&ES='@L>`T@;&1A('1E;7`Q#2!S=&$@<&QI<W1Z+'@@
 +M.VY/5Z!%5D5264].1:!32$]53$2@0D6@4D]4051%1`T-(&QD82!P;&ES='<L
 +M>"`[<T\LH$Q%5"=3H$=%5*!04D]*14-424Y'(0T@8VQC#2!A9&,@(S0X(#MD
 +M3TXG5*!&3U)'152@5$^@4TA)1E2@6B$-('1A>0T@;&1A('!L:7-T>"QX(#MF
 +M25)35*!)3E1/H%<]0T].4U0-(&-L8PT@861C("-H:7-I;BLT.`T@<W1A('!R
 +M;VIT86(K,0T@;&1A("AP<F]J=&%B*2QY#2!S=&$@<&QI<W1X+'@-(&QD82!P
 +M;&ES='DL>`T@8VQC#2!A9&,@(VAI<VEN*S0X#2!S=&$@<')O:G1A8BLQ#2!L
 +M9&$@*'!R;VIT86(I+'D-('-T82!P;&ES='DL>`T@;&1A('!L:7-T>BQX#2!C
 +M;&,-(&%D8R`C:&ES:6XK-#@-('-T82!P<F]J=&%B*S$-(&QD82`H<')O:G1A
 +M8BDL>0T@<W1A('!L:7-T>BQX#0T@8VQC#2!A9&,@(S0X#2!T87D@.VY/5Z!)
 +M3E1/H%H]0T].4U0-(&QD82!P;&ES='@L>`T@8VQC#2!A9&,@(VAI<VEN*S0X
 +M#2!S=&$@<')O:G1A8BLQ#2!L9&$@*'!R;VIT86(I+'D-(&-L8PT@861C(&]F
 +M9G-E=`T@8G!L(#IO:S(@.V=505)$H$%'04E.4U2@8V]M<&QE=&5L>:!44D%3
 +M2$E.1Z!-14T-(&QD82!O9F9S970@.V1/3B=4H$=)5D6@252@0:!#2$%.0T4-
 +M.F]K,B!S=&$@<&QI<W1X+'@-(&QD82!P;&ES='DL>`T@8VQC#2!A9&,@(VAI
 +M<VEN*S0X#2!S=&$@<')O:G1A8BLQ#2!L9&$@*'!R;VIT86(I+'D-(&-L8PT@
 +M861C(&]F9G-E=`T@8G!L(#IO:S,-(&QD82!O9F9S970@.WI!4*!)5*!43Z!4
 +M2$6@3U))1TE.#3IO:S,@<W1A('!L:7-T>2QX#0T@:6YX#2!D96,@;G5M=&]R
 +M;W0-(&)E<2`Z9&]N90T@:FUP(')O='!R;VH-.F1O;F4@<G1S#0TJ+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJH'-554)23U5424Y%H')O=`TJ
 +M#2J@=$A)4Z!,25143$6@1U59H$Y%1413H$%3H%-%5"U54*!414U0,3U8,:!!
 +M3D2@83U8,@TJH$%.1*!42$6@05!04D]04DE!5$6@04Y'3$6@3D5%1%.@5$^@
 +M0D6@4T54H%50H$E.H'DN#2J@=5!/3J!215154DXLH%)/5$%4142@6#*@25.@
 +M4U1/4D5$H$E.H%1%35`Q#2J@04Y$H%)/5$%4142@6#&@25.@24Z@80T-<F]T
 +M#2!C;&,@(#MN15A4+*!860T@861C("-H:7-I;BLT.`T@<W1A('-I;C(K,0T@
 +M<W1A(&-O<S(K,0T@;&1A('1E;7`Q#2!C;&,-(&%D8R`C:&ES:6XK-#@-('-T
 +M82!S:6XQ*S$-('-T82!C;W,Q*S$-(&QD82`H<VEN,2DL>0T@8VQC#2!A9&,@
 +M*&-O<S(I+'D-('-T82!T96UP,0T@;&1A("AC;W,Q*2QY#2!S96,-('-B8R`H
 +M<VEN,BDL>0T@<G1S#0TJ#2J@8VQE87)S970-*@TJH'1(25.@3$E45$Q%H%-5
 +M0E)/551)3D6@1DE,3%.@5$A%H%-#4D5%3J!7251(H%1(1:!#3TY414Y44PTJ
 +MH$]&H&&@04Y$H%!,04-%4Z!!H#$R6#$RH$-(05)!0U1%4J!"3$]#2Z!)3J!4
 +M2$6@34E$1$Q%#2J@3T:@5$A%H%-#4D5%3BR@24Z@041$251)3TZ@5$^@0TQ%
 +M05))3D>@5$A%H%-#4D5%3J!!3D0-*J!3151424Y'H%1(1:!"04-+1U)/54Y$
 +MH$-/3$]24RR@151#+@TJ#6-L96%R<V5T#2!P:&$-(&QD82`C)#`R(#MR140-
 +M('-T82`D9#`R,2`[=$A)4Z!)4Z!$3TY%H%-/H%1(052@3TQ$15(-(&QD82`C
 +M,C@-(&IS<B!C:')O=70@.RA.3U2@5$^@345.5$E/3J!.15=%4BD-(&QD82`C
 +M,30W(#M-04-(24Y%4Z!724Q,H%-%5*!54`T@:G-R(&-H<F]U=`T@;&1A(",V
 +M(#M#3U)214-43%D-('-T82`D9#`R,2`[*$%.1*!42$6@1DQ!4TB@3$]/2U.@
 +M0T]/3*!43T\I#0T@;&1X(",P,`T@<&QA(#MC55-43TV@0TA!4D%#5$52#3IG
 +M>7!S>2!S=&$@<V-R;FQO8RQX#2!S=&$@<V-R;FQO8RLR-38L>`T@<W1A('-C
 +M<FYL;V,K-3$R+'@-('-T82!S8W)N;&]C*S<V."QX#2!I;G@-(&)N92`Z9WEP
 +M<WD-#2!L9&$@(S<@.WE%3$Q/5PT@<W1A(&-O;&]R(#MT4EF@3U54H%1(052@
 +M4TY!6EI9H$Y%5Z!23U5424Y%#2!L9&$@(S$R#2!S=&$@;G5M<VED92`[,3*@
 +M0TA!4E.@4$52H%-)1$4-*J!L9&&@(S`PH#M35$%25*!#2$%2#2!T>&$-('-T
 +M82!S=&%R8VAA<@T@;&1X(",Q-"`[0T],#2!L9'D@(S4@.U)/5PT@:FUP('-P
 +M;&%T(#MS<&QA=*!724Q,H%)%5%523J!&3U*@55,-#2HM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!AH$1%4U1254-4259%H#A8.*`M/J`Q
 +M-J!"252@355,5$E03%F@4D]55$E.10TJ#2J@86-C*F%U>*`M/J!;86-C+$%#
 +M0U5-54Q!5$]27:`H3$]7+$A)*:`Q-J!"252@4D5354Q4#2J@875XH%)%34%)
 +M3E.@54Y#2$%.1T5$#0UM=6QT(&-L8PT@;&1A(",P,`T@;&1X(",D,#@-.FQO
 +M;W`@<F]R#2!R;W(@86-C#2!B8V,@.F-O;G0-(&-L8PT@861C(&%U>`TZ8V]N
 +M="!D97@-(&)P;"`Z;&]O<`TJH'-T8:!A=7@-(')T<PT-*BTM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2T-*@TJH&=E=')A;F0-*@TJH&=%3D52051%
 +MH$&@4T]-15=(052@4D%.1$]-H%)%4$5!5$E.1Z!315%514Y#12Z@H&F@55-%
 +M#2J@0:!465!)0T%,H$Q)3D5!4J!#3TY'4E5%3E1)04R@04Q'3U))5$A-#2J@
 +MH*"@H*!I*$XK,2F@/:`H:2A.*2I!H"N@0RF@34]$H$T-*J!7251(H$T]-C4U
 +M,S8LH$$]-2R@04Y$H$,],3,X-#&@*"0S-C$Q*2Z@H$.@5T%3H$-(3U-%3@TJ
 +MH%1/H$)%H$&@4%))346@3E5-0D52H$Y%05*@*#$O,J`MH#$O-J!345)4*#,I
 +M*2I-+@TJ#2J@;D]41:!42$%4H$E.H$=%3D5204R@5$A%H$A)1TA%4J!"2513
 +MH$%21:`B34]21:!204Y$3TTB#2J@5$A!3J!42$6@3$]715*@0DE44RR@4T^@
 +M1D]2H$E.4U1!3D-%H$E.H%1(25.@4%)/1U)!30TJH%-)3D-%H$].3%F@4TU!
 +M3$R@24Y414=%4E.@*#`N+C$U+*`P+BXS.2R@151#+BF@05)%H$1%4TE2140L
 +M#2J@5$A%6:!32$]53$2@0D6@5$%+14Z@1E)/3:!42$6@2$E'2*!"651%H')A
 +M;F1O;2LQ+*!72$E#2`TJH$E3H%)%5%523D5$H$E.H&$N#2H-9V5T<F%N9`T@
 +M;&1A(')A;F1O;2LQ#2!S=&$@=&5M<#$-(&QD82!R86YD;VT-(&%S;`T@<F]L
 +M('1E;7`Q#2!A<VP-(')O;"!T96UP,0TJH&%S;`TJH')O;*!T96UP,0TJH&%S
 +M;`TJH')O;*!T96UP,0T@8VQC#2!A9&,@<F%N9&]M#2!P:&$-(&QD82!T96UP
 +M,0T@861C(')A;F1O;2LQ#2!S=&$@<F%N9&]M*S$-('!L80T@861C(",D,3$-
 +M('-T82!R86YD;VT-(&QD82!R86YD;VTK,0T@861C(",D,S8-('-T82!R86YD
 +M;VTK,0T@<G1S#0TJ+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJ
 +M#2J@=$A)4Z!)4Z!33TU%H$-54U1/3:!#2$%204-415*@1$%403N@5$A%4T4-
 +M*J!715)%H%-43TQ%3J!&4D]-H'!/3%E'3TY!35DN#2H-8VAA<F1A=`UC<F]S
 +M<W-M(&AE>"`U-65E-35B8C4U964U-6)B#61I=&AE<C$@:&5X(&%A-35A834U
 +M86$U-6%A-34->FEG<R!H97@@965D9&)B-S=E961D8F(W-PUZ86=S(&AE>"`W
 +M-V)B9&1E93<W8F)D9&5E#6TK,2R@5TA)0T@-*J!)4Z!215154DY%1*!)3J!A
 +M+@TJ#6=E=')A;F0-(&QD82!R86YD;VTK,0T@<W1A('1E;7`Q#2!L9&$@<F%N
 +M9&]M#2!A<VP-(')O;"!T96UP,0T@87-L#2!R;VP@=&5M<#$-*J!A<VP-*J!R
 +M;VR@=&5M<#$-*J!A<VP-*J!R;VR@=&5M<#$-(&-L8PT@861C`'`J+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJ#2J@1U)!4$A)0U,N4PTJ#2J@
 +M=$A)4Z!)4Z!!H%-%5*!/1J!'4D%02$E#4Z!23U5424Y%4Z!&3U*@1$E--"R@
 +M1D]2H%5310TJH%=)5$B@;4523$E.H#$R."=3H$Q)3DM%4BX-*@TJH&-54E)%
 +M3E1,6:!)5*!#3TY404E.4Z!42$6@3$E.1:!$4D%724Y'H%)/551)3D4LH%1(
 +M10TJH$9)3$R@4D]55$E.12R@04Y$H$&@4D]55$E.1:!43Z!03$%#1:!"3$]#
 +M2U.@3T8-*J!'4D%02$E#4Z!#2$%204-415)3H$].H%1(1:!30U)%14XN#2H-
 +M*J!H25-43U)9.@TJH*!S;&J@H*"@-B\Y+SDVH*`M<U!,252@24Y43Z!214Q/
 +M0T%404),1:!,24Y+15*@1DE,10TJH*"@H*"@H*"@H*"@H*"@H*`M:4U03$5-
 +M14Y4142@34]$249)142@1DE,3*!23U5424Y%#2J@H*"@H*"@H*`V+S$PH*"@
 +MH"UP552@3TQ$H%)/551)3D6@0D%#2Z!)3J`Z*0TJH*"@H*"@H*"@H*"@H*"@
 +MH*`M<U150TN@24Z@34]$54Q%H%1/H$=%3D52051%H%-934U%5%))0Z!/0E,-
 +M*J"@H*"@H*"@H#8O,36@H*"@+69)6$5$H%50H%-934U%5%)9H%-/H%1(052@
 +M2$6@55-%4PTJH*"@H*"@H*"@H*"@H*"@H*"@4$%45$523E.@04Y$H%-50T@N
 +M#2J@H*"@H*"@H*`V+S$WH*"@H"UF25A%1*!54*!S<&QA="R@14Y(04Y#142@
 +M<WEM;:!0051415).4PTJH*"@H*"@H*"@-B\R,:"@H*`M9DE8142@55"@<W!L
 +M872@5$^@2T5%4*!&4D]-H%=2251)3D>@5$^@8VEA(0TJH*"@H*"@H*"@-B\R
 +M,J"@H*`M841$142@1$]45$5$H$Q)3D6@0T%004))3$E460T-(&1S:R`B1U)!
 +M4$A)0U,BH#MA4U-%34),1:!43Z!$25-+#0T@<F5L(#MR96Q/0T%404),10T-
 +M*J!C3TY35$%.5%,-#6)U9F8Q(&5Q=2`D,S`P,"`[;$]#051)3TY3H$]&H$12
 +M05=)3D>@0E5&1D524PUB=69F,B!E<74@)#,X,#`-8G5F9F5R,2!E<74@8G5F
 +M9C$K)#`T.#`@.V]&1E-%5*!43Z!314-/3D1!4EF@3T)*14-44PUB=69F97(R
 +M(&5Q=2!B=69F,BLD,#0X,`T-<&%T=&5R;C$@97%U("1C,3`P(#ML25-4H$]&
 +MH$9)3$R@4$%45$523@UP871T97)N,B!E<74@)&,Q.#`@.RA3152@55"@0EF@
 +M0T%,3$E.1Z!23U5424Y%*0UB:71P(&5Q=2`D8S@P,"`[8DE4H%1!0DQ%H$9/
 +M4J!,24Y%H%)/551)3D4-;&\T,"!E<74@)&,Y,#`@.W1!0DQ%4Z!/1J`T,"I8
 +M+S@-:&DT,"!E<74@)&,Y.#`@.W1/H$Q/0T%41:!/1D93152@24Y43Z!"549&
 +M15(-;&\Y-B!E<74@)&-A,#`@.T9/4J!!H$=)5D5.H$-/3%5-3@UH:3DV(&5Q
 +M=2`D8V$X,`UR979L:7-T(&5Q=2`D8V(P,"`[;$E35*!/1J!2149,14-4142@
 +M6`T-<V-R;FQO8R!E<74@,3`R-"`[=TA%4D6@25.@5$A%H%-#4D5%3J!,3T-!
 +M5$5$/PT-*J!S3TU%H%9!4DE!0DQ%4PT-8V]L<W1E<"`]("0U,2`[;$E.15,Z
 +MH&A/5Z!-04Y9H$)95$53H%!%4J!#3TP-8V]U;G1P=',@/2`D-3(-#6YU;6]B
 +M,2!E<74@)&$U(#MN54U"15*@3T:@4$])3E13H$E.H$]"2D5#5*`Q#6YU;6]B
 +M,3(@97%U("1A-@UT;W1N=6T@97%U("1A-R`[=$]404R@3E5-0D52H$]&H%!/
 +M24Y44Z!)3J!,25-4#6]F9G-E="!E<74@)&$X(#MO1D93152@24Y43Z!'4DE$
 +M#0UD;W1T960@97%U("1B,2`[9DQ!1Z!&3U*@1$]45$5$H$Q)3D6@*#$]1$]4
 +M5$5$*0T-<&]I;G0Q(&5Q=2`D-F$@.W-/346@4U!!4D6@4$])3E1%4E,-<&]I
 +M;G0R(&5Q=2`D-F,-<V-R965N<"!E<74@)#9E(#MP3TE.5$52H%53142@0EF@
 +M4T-2145.H%!,3U1415(-8V]L;W)P(&5Q=2`D-S`@.U!/24Y415*@24Y43Z!#
 +M3TQ/4J!R86T-8V]L;W(@97%U("0W,B`[8T],3U*@5$^@4U1/4D6@24Z@0T],
 +M3U*@<F%M#6YU;7-I9&4@97%U("0X8B`[(Z!/1J!#2$%24Z!015*@4TE$1:!/
 +M1J!3455!4D4-#6YU;71O<F]T(&5Q=2`D-CD@.VY534)%4J!/1J!03TE.5%.@
 +M5$^@4D]4051%H$E.H')O='!R;VH-#6)U9F9E<B!E<74@)&$S(#MP3TE.5$52
 +MH%1/H$1205=)3D>@0E5&1D52#7@Q(&5Q=2`D9F(@.W!/24Y44Z!&3U*@1%)!
 +M5TE.1Z!!H$Q)3D4->3$@97%U("1F8R`[=$A%4T6@6D523Z!004=%H$%$1%)%
 +M4U-%4PUX,B!E<74@)&9D(#M$3TXG5*!#3TY&3$E#5*!7251(H&)A<VEC#7DR
 +M(&5Q=2`D9F4-;VQD>"!E<74@)&9D#6-H=6YK(&5Q=2`D9F4-9'@@97%U("0V
 +M-PUD>2!E<74@)#8X#71E;7`Q(&5Q=2`D9F(@.V]&H$-/55)312R@0T]53$2@
 +M0T].1DQ)0U2@5TE42*!8,0UT96UP,B!E<74@)&9C(#MT14U03U)!4EF@5D%2
 +M24%"3$53#7IT96UP(&5Q=2`D,#(@.W53142@1D]2H$)51D9%4J!35T%0+J"@
 +M9$].)U2@5$]50T@N#6%C8R!E<74@)#(R(#MU4T5$H$)9H$U!5$B@4D]55$E.
 +M10UA=7@@97%U("0R-`UE>'0@97%U("0R-@T-*BTM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2T-*@TJH'-934U415)9H%)/551)3D4-*@TJH'1(25.@
 +M4D]55$E.1:!&24Q,4Z!/552@5$A%H%1/4*!&3U52H$]"2D5#5%.@0EF@0U)%
 +M051)3D<-*J!42$6@9#2@4UE-34544EDM4D5,051%1*!/0DI%0U13H$923TV@
 +M5$A%H%-%0T].1$%26:!/0DI%0U0L#2J@1D]2H$&@5$]404R@3T:@1D]54J!/
 +M0DI%0U13+@T-<WEM;2!E;G0-#2!L9'@@(S,Y#2!L9'D@(S`P#2!L9&$@>G1E
 +M;7`-(&-M<"`C/F)U9F8Q#2!B97$@.F)U9C$-(&IM<"`Z8G5F,@T-.F)U9C$@
 +M.V9)4E-4H$&@4D5&3$5#5$E/3J!42%)/54=(H%D],`T@;&1A(&)U9F9E<C$L
 +M>2`[9U)!0J!#3TQ534Y3+*!/3D6@052@0:!424U%#2!E;W(@(R1F9@T@;W)A
 +M('!A='1E<FXQ+'D-('-T82!B=69F97(Q*S(P,"QX#2!L9&$@8G5F9F5R,2LT
 +M,"QY(#MC3TR@,@T@96]R(",D9F8-(&]R82!P871T97)N,2QY#2!S=&$@8G5F
 +M9F5R,2LR-#`L>`T@;&1A(&)U9F9E<C$K.#`L>2`[8T],H#,-(&5O<B`C)&9F
 +M#2!O<F$@<&%T=&5R;C$L>0T@<W1A(&)U9F9E<C$K,C@P+'@-(&QD82!B=69F
 +M97(Q*S$R,"QY(#MY3U6@1T54H%1(1:!024-455)%#2!E;W(@(R1F9@T@;W)A
 +M('!A='1E<FXQ+'D-('-T82!B=69F97(Q*S,R,"QX#2!L9&$@8G5F9F5R,2LQ
 +M-C`L>0T@96]R(",D9F8-(&]R82!P871T97)N,2QY#2!S=&$@8G5F9F5R,2LS
 +M-C`L>`T@:6YY#2!D97@-(&)P;"`Z8G5F,0T-(&QD>2`C,SD@.VY/5Z!$3Z!2
 +M149,14-424].4Z!42%)/54=(H%@],`TZ;#$@;&1A(&)U9F9E<C$L>0T@=&%X
 +M#2!L9&$@<F5V;&ES="QX#2!A;F0@<&%T=&5R;C$L>0T@<W1A(&)U9F9E<C$K
 +M-38P+'D@.V-/3%5-3C&@+3Z@0T],54U.H#$P#2!L9&$@8G5F9F5R,2LT,"QY
 +M#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N,2QY#2!S=&$@8G5F
 +M9F5R,2LU,C`L>2`[,J`M/J`Y#2!L9&$@8G5F9F5R,2LX,"QY#2!T87@-(&QD
 +M82!R979L:7-T+'@-(&%N9"!P871T97)N,2QY#2!S=&$@8G5F9F5R,2LT.#`L
 +M>0T@;&1A(&)U9F9E<C$K,3(P+'D-('1A>`T@;&1A(')E=FQI<W0L>`T@86YD
 +M('!A='1E<FXQ+'D-('-T82!B=69F97(Q*S0T,"QY#2!L9&$@8G5F9F5R,2LQ
 +M-C`L>2`[-:`M/J`Q#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N
 +M,2QY#2!S=&$@8G5F9F5R,2LT,#`L>0T-(&QD82!B=69F97(Q*S(P,"QY(#MN
 +M3U>@1$^@252@1D]2H%D],*!2149,14-424].#2!T87@-(&QD82!R979L:7-T
 +M+'@-(&%N9"!P871T97)N,BQY#2!S=&$@8G5F9F5R,2LW-C`L>2`[8T],54U.
 +M,:`M/J!#3TQ534Z@,3`-(&QD82!B=69F97(Q*S(T,"QY#2!T87@-(&QD82!R
 +M979L:7-T+'@-(&%N9"!P871T97)N,BQY#2!S=&$@8G5F9F5R,2LW,C`L>2`[
 +M,J`M/J`Y#2!L9&$@8G5F9F5R,2LR.#`L>0T@=&%X#2!L9&$@<F5V;&ES="QX
 +M#2!A;F0@<&%T=&5R;C(L>0T@<W1A(&)U9F9E<C$K-C@P+'D-(&QD82!B=69F
 +M97(Q*S,R,"QY#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N,BQY
 +M#2!S=&$@8G5F9F5R,2LV-#`L>0T@;&1A(&)U9F9E<C$K,S8P+'D@.S6@+3Z@
 +M,0T@=&%X#2!L9&$@<F5V;&ES="QX#2!A;F0@<&%T=&5R;C(L>0T@<W1A(&)U
 +M9F9E<C$K-C`P+'D-#2!D97D-(&)M:2`Z9&]N93$-(&IM<"`Z;#$-.F1O;F4Q
 +M(')T<PT-.F)U9C(@.W-!346@5$A)3D<LH$9/4J!"549&15*@,@T@;&1A(&)U
 +M9F9E<C(L>2`[9U)!0J!#3TQ534Y3+*!/3D6@052@0:!424U%#2!E;W(@(R1F
 +M9@T@;W)A('!A='1E<FXQ+'D-('-T82!B=69F97(R*S(P,"QX#2!L9&$@8G5F
 +M9F5R,BLT,"QY(#MC3TR@,@T@96]R(",D9F8-(&]R82!P871T97)N,2QY#2!S
 +M=&$@8G5F9F5R,BLR-#`L>`T@;&1A(&)U9F9E<C(K.#`L>2`[8T],H#,-(&5O
 +M<B`C)&9F#2!O<F$@<&%T=&5R;C$L>0T@<W1A(&)U9F9E<C(K,C@P+'@-(&QD
 +M82!B=69F97(R*S$R,"QY(#MY3U6@1T54H%1(1:!024-455)%#2!E;W(@(R1F
 +M9@T@;W)A('!A='1E<FXQ+'D-('-T82!B=69F97(R*S,R,"QX#2!L9&$@8G5F
 +M9F5R,BLQ-C`L>0T@96]R(",D9F8-(&]R82!P871T97)N,2QY#2!S=&$@8G5F
 +M9F5R,BLS-C`L>`T@:6YY#2!D97@-(&)P;"`Z8G5F,@T-(&QD>2`C,SD@.VY/
 +M5Z!$3Z!2149,14-424].4Z!42%)/54=(H%@],`TZ;#(@;&1A(&)U9F9E<C(L
 +M>0T@=&%X#2!L9&$@<F5V;&ES="QX#2!A;F0@<&%T=&5R;C$L>0T@<W1A(&)U
 +M9F9E<C(K-38P+'D@.V-/3%5-3C&@+3Z@0T],54U.H#$P#2!L9&$@8G5F9F5R
 +M,BLT,"QY#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N,2QY#2!S
 +M=&$@8G5F9F5R,BLU,C`L>2`[,J`M/J`Y#2!L9&$@8G5F9F5R,BLX,"QY#2!T
 +M87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N,2QY#2!S=&$@8G5F9F5R
 +M,BLT.#`L>0T@;&1A(&)U9F9E<C(K,3(P+'D-('1A>`T@;&1A(')E=FQI<W0L
 +M>`T@86YD('!A='1E<FXQ+'D-('-T82!B=69F97(R*S0T,"QY#2!L9&$@8G5F
 +M9F5R,BLQ-C`L>2`[-:`M/J`Q#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P
 +M871T97)N,2QY#2!S=&$@8G5F9F5R,BLT,#`L>0T-(&QD82!B=69F97(R*S(P
 +M,"QY(#MN3U>@1$^@252@1D]2H%D],*!2149,14-424].#2!T87@-(&QD82!R
 +M979L:7-T+'@-(&%N9"!P871T97)N,BQY#2!S=&$@8G5F9F5R,BLW-C`L>2`[
 +M8T],54U.,:`M/J!#3TQ534Z@,3`-(&QD82!B=69F97(R*S(T,"QY#2!T87@-
 +M(&QD82!R979L:7-T+'@-(&%N9"!P871T97)N,BQY#2!S=&$@8G5F9F5R,BLW
 +M,C`L>2`[,J`M/J`Y#2!L9&$@8G5F9F5R,BLR.#`L>0T@=&%X#2!L9&$@<F5V
 +M;&ES="QX#2!A;F0@<&%T=&5R;C(L>0T@<W1A(&)U9F9E<C(K-C@P+'D-(&QD
 +M82!B=69F97(R*S,R,"QY#2!T87@-(&QD82!R979L:7-T+'@-(&%N9"!P871T
 +M97)N,BQY#2!S=&$@8G5F9F5R,BLV-#`L>0T@;&1A(&)U9F9E<C(K,S8P+'D@
 +M.S6@+3Z@,0T@=&%X#2!L9&$@<F5V;&ES="QX#2!A;F0@<&%T=&5R;C(L>0T@
 +M<W1A(&)U9F9E<C(K-C`P+'D-#2!D97D-(&)M:2`Z9&]N93(-(&IM<"`Z;#(-
 +M.F1O;F4R(')T<PT-#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
 +M#2H-*J!F24Q,H%)/551)3D4-*@TJH'1(25.@25.@5$A%H$],1*!#3T]+244M
 +M0U545$52+*!34$E&1D5$H%50H$%.1*!!H$))5`TJH$]05$E-25I%1"R@4TE.
 +M0T6@252@25.@3TY,6:!54T5$H$].H%1(1:!&25)35*`U6#6@1U))1`TJ#2J@
 +M9FEL;&QI<W2@+2V@0:!(04Y$6:!404),1:!43Z!414Q,H%=(24-(H%)/5U.@
 +M2$%61:!"145.#2J@H*"@H*"@H*"@H*"@1DE,3$5$+@T-9FEL;"!E;G0-#2J@
 +M;&1YH",S.0TJH&QD8:`C,#`-*CIL,:!S=&&@9FEL;&QI<W0L>0TJH&1E>0TJ
 +MH&)P;*`Z;#$-#2!L9'D@(S,Y#3IL;V]P,2!L9&$@(R0X,"`[;D5%1*!43Z!!
 +M1$2@)#`T.#"@5$^@1T54H%1/#2!S=&$@8G5F9F5R(#M&25)35*`U6#6@1U))
 +M1`T@;&1A('IT96UP#2!C;&,-(&%D8R`C)#`T#2!S=&$@8G5F9F5R*S$-#2J@
 +M=$A%H$],1*!705DN#2J@;$]44Z!/1J!!1$13H$%.1*!354-(+*!"552@4T5%
 +M35.@5$^@0D6@0:!"252@1D%35$52#0T@;&1X(",P-0TZ;&]O<#(@;&1A("AB
 +M=69F97(I+'D-(&)N92`Z9V]T8VAA#2!L9&$@(R1F9B`[9DE,3*!&3$%4+*!0
 +M051415).4Z!,051%4@T@<W1A("AB=69F97(I+'D-(&QD82!B=69F97(-(&%D
 +M8R`C-#`-('-T82!B=69F97(-(&)C8R`Z8V]N=`T@:6YC(&)U9F9E<BLQ#2!C
 +M;&,-.F-O;G0@9&5X#2!B;F4@.FQO;W`R#2!B97$@.FYO=&AI;F<-#3IG;W1C
 +M:&$@;&1X(",D9F8-.FPQ(&EN>`T@87-L(#MB250LH$))5"R@5TA/)U.@1T]4
 +MH%1(1:!"250_#2!B8V,@.FPQ#0T@;&1A(&)I='`L>`T@96]R(",D9F8-(&]R
 +M82`H8G5F9F5R*2QY#2!S=&$@*&)U9F9E<BDL>0T-*J!N3U>@5T]22Z!"04-+
 +M5T%21%,N#2J@<D5-14U"15(ZH"0P-#@PH"N@,38PH#V@)#`U,C`-(&QD82`C
 +M)#(P#2!S=&$@8G5F9F5R#2!L9&$@>G1E;7`-(&-L8PT@861C(",D,#4-('-T
 +M82!B=69F97(K,0T-.FPT('-E8PTZ;&]O<#,@;&1A("AB=69F97(I+'D-(&)N
 +M92`Z9&EN9PT@;&1A(",D9F:@.V9)3$R@1DQ!5"R@4$%45$523E.@3$%415(-
 +M('-T82`H8G5F9F5R*2QY#2!L9&&@(&)U9F9E<@T@<V)C(",T,`T@<W1A(&)U
 +M9F9E<@T@8F-S(#IL;V]P,Z`[8D]53D2@5$^@2$E4H%-/34542$E.1Z!33T].
 +M15(-(&1E8R!B=69F97(K,:`[3U*@3$%415(N#2!B8V,@.FPT#0TZ9&EN9R!L
 +M9'@@(R0P.*`[=T6@2$%61:!!H%=)3DY%4B$-.FPR(&1E>`T@;'-R#2!B8V,@
 +M.FPR#2!L9&&@(&)I='`L>`T@;W)A("AB=69F97(I+'D-('-T82`H8G5F9F5R
 +M*2QY#0TZ;F]T:&EN9Z!D97D-(&)P;"`Z;&]O<#&@.VM%15"@1T])3D>@54Y4
 +M24R@>:!(2513H%I%4D\-#2J@=T5,3"R@04Y/5$A%4J!03U-324))3$E462R@
 +M0E54H$U!64)%H$Y/5*!!4Z!'3T]$#2H-*J!I5*!'3T53H%1(4D]51TB@5$A%
 +MH$Q)4U2@5D525$E#04Q,62R@5$A54Z!32TE04$E.1PTJH$%,3*!42$]31:!#
 +M3TQ534XM041$4RZ@H'1(1:!$3U=.4TE$1:!)4Z!!3$R@5$A%#2J@0T]-4$%2
 +M25-/3E,NH*!I5*!!4U-53453H%1(052@052@3$5!4U2@3TY%H$Q)3D4-*J`H
 +M12Y'+J!9/3(P*:!724Q,H$Y%142@5$^@0D6@0T]-4$Q%5$5,6:!&24Q,142@
 +M1T])3D<-*J!&3U)705)$4RX-*@TJ.FQO;W`RH&QD>:"@(S,YH#MF3U)705)$
 +M4Z!005)4#2HZ;&]O<#&@;&1AH&9I;&QL:7-T+'D-*J!B;F6@.G-K:7`-*J!L
 +M9&&@*&)U9F9E<BDL>0TJH&)E<:`Z;F]T>65T#2J@<W1AH&9I;&QL:7-T+'F@
 +M.VY/3EI%4D^@24U03$E%4Z!&24Q,140-*J!T87B@.V]/4%,LH%1)346@5$^@
 +M1DE,3`TJH&QD8:"@8FET<"QX#2HZ;F]T>65TH&5O<J`C)&9F#2J@<W1AH"AB
 +M=69F97(I+'D-*CIS:VEPH&1E>0TJH&)P;*`Z;&]O<#$-*J!L9&&@8G5F9F5R
 +M#2J@8G!LH#IB86-KH#LD6%@X,*`KH#$V,*`]H%A8,#"@*Z`S,@TJH&-L8PTJ
 +MH&%D8Z`C-#`-*J!S=&&@8G5F9F5R#2J@8F-CH#IL;V]P,@TJH&EN8Z!B=69F
 +M97(K,0TJH&)C<Z`Z;&]O<#(-*@TJ.F)A8VN@.VY/5Z!73U)+H$)!0TM705)$
 +M4PTJ.FQO;W`SH'-E8Z`[=$A)4Z!,1513H%53H%%5252@14%23%DLH$].0T4-
 +M*J`[159%4EE/3D6@25.@1DE,3$5$+@TJH&QD>:`C,SF@.V9/4E=!4D13H%!!
 +M4E0-*CIL;V]P-*!L9&&@9FEL;&QI<W0L>0TJH&)E<:`Z<VMI<#(-*J!C;&.@
 +M.V9,04>@24:@04Y9H$5.5%)9H$Y/3EI%4D\-*J!L9&&@*&)U9F9E<BDL>0TJ
 +MH&)E<:`Z;F]T979E;@TJH'1A>*`[;T]04RR@5$E-1:!43Z!&24Q,#2J@;&1A
 +MH*`C,#`-*J!S=&&@9FEL;&QI<W0L>:`[>D523Z!/552@1DE,3*!&3$%'4PTJ
 +MH'-E8PTJH&QD8:!B:71P+'@-*CIN;W1E=F5N#2J@<W1AH"AB=69F97(I+'D-
 +M*CIS:VEP,J!D97D-*J!B<&R@.FQO;W`T#2J@8F-SH#ID;VYEH#MW1:!#04Z@
 +M1DE.25-(H$5!4DQ9#2J@;&1AH&)U9F9E<@TJH'-E8PTJH'-B8Z`C-#`-*J!S
 +M=&&@8G5F9F5R#2J@8G!LH#ID;VYEH#LD6%@X,*!)4Z!!4Z!,3U>@05.@252@
 +M1T]%4RX-*J!B8W.@.FQO;W`S#2J@9&5CH&)U9F9E<BLQ#2J@8F-CH#IL;V]P
 +M,PTJ.F1O;F4-(')T<PT-#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
 +M+2TM#2J@9%)!5TE.)Z!!H$Q)3D4NH*!AH$9!2$Z@3$%(3BX-#2HJ*J!S3TU%
 +MH%5314953*!-04-23U,-#6-I;FET(&UA8R`@.VU!0U)/H%1/H$E.251)04Q)
 +M6D6@5$A%H$-/54Y415(-(&QD82!=,2`[1%B@3U*@1%D-(&QS<@T@/#P\("`[
 +M=$A%H$18+S*@34%+15.@0:!.24-%4J!,3T]+24Y'H$Q)3D4-#2HJ*BHJH&U!
 +M0U)/H%1/H%1!2T6@0:!35$50H$E.H'@-#7AS=&5P(&UA8PT@;&1X(&1X(#MN
 +M54U"15*@3T:@3$]/4*!)5$52051)3TY3#2`^/CX@8VEN:70L9'@->&QO;W`@
 +M;'-R(&-H=6YK#2!B97$@9FEX8R`[=5!$051%H$-/3%5-3@T@<V)C(&1Y#2!B
 +M8V,@9FEX>2`[=$E-1:!43Z!35$50H$E.H'D-8V]N="!D97@-(&)N92!X;&]O
 +M<`UD;VYE(&QD82!C:'5N:R`[<$Q/5*!42$6@3$%35*!#2%5.2PT@;'-R(#MM
 +M04M%H%-54D6@5$^@1T54H$%4H$Q%05-4H#&@4$E814P-(&5O<B!O;&1X#2!A
 +M;F0@9&]T=&5D#2!O<F$@*&)U9F9E<BDL>0T@<W1A("AB=69F97(I+'D-(')T
 +M<PT-9FEX8R!P:&$-(&QD82!O;&1X#2!A;F0@9&]T=&5D(#M$3U14142@3$E.
 +M1:!-05-+#2!O<F$@*&)U9F9E<BDL>2`[<$Q/5`T@<W1A("AB=69F97(I+'D-
 +M(&QD82`C)&9F(#MU4$1!5$6@0TA53DL-('-T82!O;&1X#2!S=&$@8VAU;FL-
 +M(&QD82!B=69F97(@.VE.0U)%05-%H%1(1:!#3TQ534X-(&-L8PT@861C(&-O
 +M;'-T97`-('-T82!B=69F97(-(&)C8R!C,@T@:6YC(&)U9F9E<BLQ#6,R#2!P
 +M;&$-('-E8PT@<V)C(&1Y#2!B8W,@8V]N="`[=5"@04)/5D4-(&%D8R!D>`T@
 +M:68@:2Q=,2`[9$^@5T6@55-%H&EN>:!/4J!D97D_#2!I;GD-(&5L<V4-(&1E
 +M>0T@9FEN#2!B8W,@8V]N="`[84Q705E3H$)204Y#2$53#2IC;VYTH&1E>`TJ
 +MH&)N9:!X;&]O<`TJH&IM<*!D;VYE#0UF:7AY(&%D8R!D>`T@<&AA#2!L9&$@
 +M;VQD>`T@96]R(&-H=6YK#2!A;F0@9&]T=&5D#2!O<F$@*&)U9F9E<BDL>0T@
 +M<W1A("AB=69F97(I+'D-(&QD82!C:'5N:PT@<W1A(&]L9'@-('!L80T@:68@
 +M:2Q=,2`[=5!$051%H'D-(&EN>0T@96QS90T@9&5Y#2!F:6X-(&)C<R!C;VYT
 +M(#MA9&.@4T544Z!42$6@0T%24EF@04)/5D4-(#P\/"`@.V5.1*!/1J!M04-2
 +M3Z!84U1%4`T-*BHJ*BJ@=$%+1:!!H%-415"@24Z@>0T->7-T97`@;6%C#2!L
 +M9'@@9'D@.VY534)%4J!/1J!,3T]0H$E415)!5$E/3E,-(&)E<2!D;VYE(#MI
 +M1J!$63TPH$E4)U.@2E535*!!H%!/24Y4#2`^/CX@8VEN:70L9'D-('-E8PUY
 +M;&]O<"!P:&$-('1Y82`[;TY,6:!03$]4H$].H$5614Z@3$E.15.@248-(&%N
 +M9"!D;W1T960@.T1/24Y'H%1(1:!$3U14142@5$A)3D<N#2!B;F4@<VMI<&ET
 +M(#LH1$]45$5$/3`QH$E&H%=%H$%21:!$3U1424Y'*0T@;&1A(&]L9'@-(&]R
 +M82`H8G5F9F5R*2QY#2!S=&$@*&)U9F9E<BDL>0US:VEP:70@<&QA#2!I9B!I
 +M+%TQ#2!I;GD-(&5L<V4-(&1E>0T@9FEN#2!S8F,@9'@-(&)C8R!F:7AX#6-O
 +M;G0@9&5X#2!B;F4@>6QO;W`-9&]N92!L9&$@;VQD>`T@;W)A("AB=69F97(I
 +M+'D-('-T82`H8G5F9F5R*2QY#2!R=',-#69I>'@@861C(&1Y#2!L<W(@;VQD
 +M>`T@<V5C("`[:4U03U)404Y4(0T@8FYE(&-O;G0@.U50#2J@8F5QH&9I>&,-
 +M*J!D97@-*J!B;F6@>6QO;W`-*J!J;7"@9&]N90T-9FEX8R!P:&$-(')O<B!O
 +M;&1X(#MC05)26:!)4Z!3152@*%1224-+62$I#2!L9&$@8V]L<W1E<`T@861C
 +M(&)U9F9E<@T@<W1A(&)U9F9E<@T@8F-C(&,R#2!I;F,@8G5F9F5R*S$-8S(@
 +M<&QA#2!S96,@(#MC05)26:!.145$4Z!43Z!"1:!3150-(&)C<R!C;VYT#2J@
 +M9&5X#2J@8FYEH'EL;V]P#2J@:FUPH&1O;F4-(#P\/"`@.V5.1*!/1J!M04-2
 +M3Z!94U1%4`T-*BHJ*J!I3DE424%,H$Q)3D6@4T5455`-#2J@8V]L<W1E<*`M
 +M+:!H3U>@34%.6:!"651%4Z!015*@0T],54U.+*!%251(15*@-#"@3U*@.38-
 +M*J!L;S0P+*!H:30P+*!%5$,NH"TMH'1!0DQ%4Z!/1J`T,"I8+S@-*J!X,2QX
 +M,BQY,2QY,J`M+:!03TE.5%.@5$^@1%)!5Z!,24Y%H$)%5%=%14X-*J!B=69F
 +M97*@+2V@>G"@4$])3E1%4J!43Z!"549&15*@5$^@1%)!5Z!)3E1/#2J@>G1E
 +M;7"@+2V@8T].5$%)3E.@2$E'2*!"651%H$]&H$)51D9%4J!"05-%#2J@9&]T
 +M=&5DH"TMH'-%5*!43Z`D,#&@24:@1$])3D>@1$]45$5$H$1205=3H"A$24Q)
 +M1T5.5$Q9*0T-9')A=R!E;G0-#3IS971U<"!S96,@(#MM04M%H%-54D6@6#$\
 +M6#(-(&QD82!X,@T@<V)C('@Q#2!B<&P@.F-O;G0-(&QD82!Y,B`[:4:@3D]4
 +M+*!35T%0H'`QH$%.1*!P,@T@;&1Y('DQ#2!S=&$@>3$-('-T>2!Y,@T@;&1A
 +M('@Q#2!L9'D@>#(-('-T>2!X,0T@<W1A('@R#0T@<V5C#2!S8F,@>#$@.VY/
 +M5Z!A/418#3IC;VYT('-T82!D>`T@;&1X('@Q(#MP552@6#&@24Y43Z!X+*!.
 +M3U>@5T6@0T%.H%1205-(H'@Q#0UC;VQU;6X@;&1A(&-O;'-T97`@.V9)3D2@
 +M5$A%H$9)4E-4H$-/3%5-3J!&3U*@>`T@8VUP(",Y-B`[84Y$H%-%5*!54*!4
 +M2$6@1%)!5TE.1Z!"549&15)3#2!B97$@.F-O;G0Y-@T@;&1A(&QO-#`L>"`[
 +M:4:@-#`LH%1(14Z@5T6@3D5%1*!43Z!/1D93152@24Y43PTJH&-L8PT@861C
 +M(",D.#`@.U1(1:!"549&15*@0EF@."HQ,BHQ,CTD-#@P#2!S=&$@8G5F9F5R
 +M#2!L9&$@:&DT,"QX#2!A9&,@(R0P-"`[8T]53$2@159%3J!)3D-/4E!/4D%4
 +M1:!)3E1/H%1!0DQ%#2!B8V,@.F1O;F4-#3IC;VYT.38@;&1A(&QO.38L>"`[
 +M;U1(15)725-%H%=%H%-405)4H$%4H$)%1TE.3DE.1PT@<W1A(&)U9F9E<B`[
 +M3T:@0E5&1D52#2!L9&$@:&DY-BQX#2!C;&,-.F1O;F4@861C('IT96UP#2!S
 +M=&$@8G5F9F5R*S$-#2!S96,-(&QD82!Y,B`[8T%,0U5,051%H$19#2!S8F,@
 +M>3$-(&)P;"`Z8V]N=#(@.VE3H%DR/EDQ/PT@96]R(",D9F8@.V]42$525TE3
 +M1:!$63U9,2U9,@T@861C(",D,#$@.V-!4E)9H'-H;W5L9*!"1:!#3$5!4@TZ
 +M8V]N=#(@<W1A(&1Y#2!C;7`@9'@@.W=(3R=3H$))1T=%4CJ@1%F@3U*@1%@_
 +M#2!B8V,@<W1E<&EN>"`[:4:@1%@LH%1(14XN+BX-(&IM<"!S=&5P:6YY#0US
 +M=&5P:6YX(&QD82!D;W1T960-(&)E<2`Z8V]N=`T@;&1A(",E,3`Q,#$P,3`@
 +M.V1/5%1%1*!,24Y%H$U!4TL-.F-O;G0@96]R(",D9F8-('-T82!D;W1T960-
 +M(&QD>2!Y,0T@8W!Y('DR(#M9,2Q9,BQ/3$18+$-(54Y+H%-(05)%H%-!346@
 +M345-#2!L9&$@8FET<"QX(#MXH$-54E)%3E1,6:!#3TY404E.4Z!8,0T@<W1A
 +M(&]L9'@-('-T82!C:'5N:PT@8F-S('AD96-Y(#MD3Z!71:!35$50H$9/4E=!
 +M4D13H$]2H$)!0TM705)$4Z!)3J!Y/PT->&EN8WD@/CX^('AS=&5P+&EN>0T-
 +M>&1E8WD@/CX^('AS=&5P+&1E>0T-<W1E<&EN>2!L9'D@>3$@.VY/5$6@::!!
 +M4U-5346@9&]T=&5DH#V@,#"@3U*@,#$-(&QD82!B:71P+'@@.W@]6#$-('-T
 +M82!O;&1X#2!L<W(@(#MYH$1/15-.)U2@55-%H$-(54Y+4PT@96]R(&]L9'@@
 +M.W-/H%=%H$I54U2@5T%.5*!42$6@0DE4#2!S=&$@;VQD>`T@8W!Y('DR#2!B
 +M8W,@>61E8WD-#7EI;F-Y(#X^/B!Y<W1E<"QI;GD-#7ED96-Y(#X^/B!Y<W1E
 +M<"QD97D-#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!T
 +M2$E3H%)/551)3D6@5TE,3*!03$%#1:!!H%-154%21:!#2%5.2Z!/1J!#2$%2
 +M04-415)3#2J@052@0:!34$5#249)142@4$Q!0T6@24Z@345-3U)9+*!!3D2@
 +M4U1/4D4-*J!#3TQ/4J!)3J!42$6@0T]24D534$].1$E.1Z!#3TQ/4J!-14U/
 +M4EDN#2H-*J!O3J!%3E1263J@>3U23U<LH'@]0T],54U.+*!A/7-405)424Y'
 +MH$-(05)!0U1%4@TJH*"@H*"@H*"@H*!C;VQO<CU#3TQ/4J"@;G5M<VED93TC
 +MH$]&H$-(05)!0U1%4E.@4$52#2J@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@
 +MH*"@H*"@H%-)1$6@3T:@4U%505)%#0US<&QA="!E;G0-('-T82!T96UP,0T@
 +M;&1A(",P,`T@<W1A('-C<F5E;G`K,0T@='EA(#MN3U>@5T6@3D5%1*!43Z`J
 +M-#`-(&%S;"`[5TA)0TB@25.@*C,RH"N@*C@-(&%S;`T@87-L#2!S=&$@=&5M
 +M<#(@.U1)3453H#B@*$Y/H%=/4E-%H%1(04Z@,3DV*0T@87-L#2!R;VP@<V-R
 +M965N<"LQ#3IC;VYT,2!A<VP-(')O;"!S8W)E96YP*S$-.F-O;G0R(&%D8R!T
 +M96UP,@T@<W1A('-C<F5E;G`-('-T82!C;VQO<G`-(&QD82!S8W)E96YP*S$-
 +M(&%D8R`C,#0@.W-#4D5%3J!35$%25%.@052@)#`T,#`-('-T82!S8W)E96YP
 +M*S$-(&%D8R`C)&0T(#M#3TQ/4J!!5*`D9#@P,`T@<W1A(&-O;&]R<"LQ(#MW
 +M3U<LH$Q/5%.@3T:@0T]$1:!42$521:`Z*`T-('-T>"!T96UP,@T@;&1A(&YU
 +M;7-I9&4-('-T82!A=7@@.VY%142@5$A)4Z!'55F@5$]/H#HH#3IL,B!L9&$@
 +M=&5M<#$-(&QD>"!N=6US:61E#2!L9'D@=&5M<#(-.FPQ('-T82`H<V-R965N
 +M<"DL>0T@<&AA#2!L9&$@8V]L;W(-('-T82`H8V]L;W)P*2QY#2!P;&$-(&EN
 +M>0T@861C(&YU;7-I9&4@.V-(05)!0U1%4E.@05)%H$]21$52142@5D525$E#
 +M04Q,60T@9&5X#2!B;F4@.FPQ#2!I;F,@=&5M<#$-(&QD82!S8W)E96YP#2!C
 +M;&,-(&%D8R`C-#`-('-T82!S8W)E96YP#2!S=&$@8V]L;W)P#2!B8V,@.F-O
 +M;G0T#2!I;F,@<V-R965N<"LQ#2!I;F,@8V]L;W)P*S$-.F-O;G0T(&QD82!C
 +M;VQO<G`K,0T@8VUP(",D9&(@.V1/3B=4H$=%5*!43T^@0DE'(2$A#2!B8V,@
 +M.F-O;G0U#2!L9&$@8V]L;W)P#2!C;7`@(R1C,2`[=T4G4D6@4$%35*!42$6@
 +M3$%35*!23U<LH$%.1`T@8F-S(#ID;VYE(#MIH$1/3B=4H$9%14R@3$E+1:!7
 +M4DE424Y'H%1/H&-I80TZ8V]N=#4@9&5C(&%U>`T@8FYE(#IL,@T-.F1O;F4@
 +M<G1S(#MG3T]$H&Q/4D2@::!(3U!%H%1(050G4Z!)5"X-ZSU=DJS;.OF2KNL^
 +MW;JG)79ZLV:Y*O.[K+DJ2;SM.\K/L^WKJEF3;Y5V2KJLFRU=DJS;.LN2K3M6
 +MS;5O)79*O.[K+DJ2;3M6S;5O*ZI9DV^5=DJZK-LM79*MFWKY5V2K+LZTY*MZ
 +M[[=O.V;.L^2I[M-R7+?)RW3>YSWR?/2G+?)S]*=5\G.<]\G/<[2GV<]\GN=E
 +MTW+<US7Y5V2K.L^Z5=DJTK>L^2IZLV:U=DJV;>M.2KNL^W;JFM79*LVSMZ4I
 +M2@!P*BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-*@TJH$]"2D5#
 +M5%,N4PTJ#2J@=$A%4T6@05)%H%1(1:!23U5424Y%4Z!72$E#2*!3152@55"@
 +M5$A%H$]"2D5#5%.@1D]2#2J@5$A%H$U!24Z@4%)/1U)!32Z@H&E4H$E3H$%,
 +M5T%94Z!!4U-5345$H%1(052@5$A%#2J@5RU#3T]21$E.051%H$]&H%1(1:!&
 +M25)35*!03TE.5*!/1J!!3EF@3T)*14-4#2J@5TE,3*!%5D5.5%5!3$Q9H$)%
 +MH$].1:`H,C2@04-454%,3%DI+*!33Z!42$6@0T%,3$E.1PTJH%)/551)3D6@
 +M5TE,3*!+3D]7H%=(14Z@5$A%H$]"2D5#5*!(05.@0D5%3J!#3TU03$5414Q9
 +M#2J@1$5&24Y%1*`H04Y$H%-50E-%455%3E1,6:!32TE0H%1(15-%H%)/551)
 +M3D53*2X-*@TJH'1/H")'4D]7(J!!3J!/0DI%0U2@5$A%4T6@1U594Z!324U0
 +M3%F@4U1!4E2@0:!#3T]21$E.051%#2J@052@6D523Z!!3D2@1U)!1%5!3$Q9
 +MH%)!35"@252@55"@5$^@,C0N#2H-*J!S5$502$5.H&PNH&I51$0-*J`V+S$U
 +M+SDV#2H-*J!H25-43U)9.@TJH*"@H*"@H*`V+S$UH"US4$Q)5*!)3E1/H$]"
 +M2D5#5*!&24Q%+*!#3$5!3D5$H%50H$&@1D57H%1(24Y'4PTJH*"@H*"@H*`V
 +M+S(QH"UA1$1%1*!/0DI%0U13H$%.1*!33D5!2UDM4$541:!$149)3DE424].
 +MH$%,1UD-*J"@H*"@H*"@-B\R,J`M841$142@1$]45$5$H$Q)3D6@0T%004))
 +M3$E462Z@H'1/H$U!2T6@5$A)3D=3#2J@H*"@H*"@H*"@H*"@H$U/4D6@0T]-
 +M4%)%2$5.4TE"3$4LH$Q)3D53H$-/3DY%0U1)3D>@(DE.3D52(@TJH*"@H*"@
 +MH*"@H*"@H*!!3D2@(D]55$52(J!03U)424].4RR@12Y'+J!03TE.5%.@5TE4
 +M2*!7/3$-*J"@H*"@H*"@H*"@H*"@5$^@4$])3E13H%=)5$B@5STM,2R@05)%
 +MH$1205=.H$1/5%1%1"Z@H'-%10TJH*"@H*"@H*"@H*"@H*!/0DI%0U2@,Z!$
 +M149)3DE424].H$Q)4U2@1D]2H$U/4D6@24Y&3RX-*J"@H*"@H*"@-B\R,Z`M
 +M841$142@5$A%H%)%34%)3DE.1Z!/0DI%0U13#0T@9'-K(")/0DI%0U13(@T-
 +M(')E;`T-*J!C3TY35$%.5%,-#6)U9F8Q(&5Q=2`D,S`P,"`[9DE24U2@0TA!
 +M4D%#5$52H%-%5`UB=69F,B!E<74@)#,X,#`@.W-%0T].1*!#2$%204-415*@
 +M4T54#0US:6YT86(@97%U("1C,#`P(#MT04),1:!/1J!324Y%4PUH:7-I;B!E
 +M<74@)#8P(#MS24Z@5$%"3$6@0U524D5.5$Q9H%-405)44Z!!5*`D-C`P,`UO
 +M8FQI<W1W(&5Q=2`D8S0P,"`[=$A%H$%#5%5!3*!/0DI%0U2@4$])3E13#6]B
 +M;&ES='@@97%U("1C-#@P#6]B;&ES='D@97%U("1C-3`P#6]B;&ES='H@97%U
 +M("1C-3@P#7!L:7-T=R!E<74@)&,V,#`@.VQ)4U2@3T:@4D]4051%1"M04D]*
 +M14-4142@4$])3E13#7!L:7-T>"!E<74@)&,V.#`-<&QI<W1Y(&5Q=2`D8S<P
 +M,`UP;&ES='H@97%U("1C-S@P#6)I='`@97%U("1C.#`P(#MB252@5$%"3$6@
 +M1D]2H$Q)3D6@4D]55$E.10UL;S0P(&5Q=2`D8SDP,"`[=$%"3$53H$]&H#0P
 +M*E@O.`UH:30P(&5Q=2`D8SDX,"`[=$^@3$]#051%H$]&1E-%5*!)3E1/H$)5
 +M1D9%4@UL;SDV(&5Q=2`D8V$P,"`[1D]2H$&@1TE614Z@0T],54U.#6AI.38@
 +M97%U("1C83@P#7)E=FQI<W0@97%U("1C8C`P(#MU4T5$H$)9H%-934U%5%)9
 +MH%)/551)3D4-8V]N;&ES=#$@97%U("1C8S`P(#MF25)35*!03TE.5*!)3J!#
 +M3TY.14-424].H$Q)4U0-8V]N;&ES=#(@97%U("1C9#`P(#MS14-/3D2@4$])
 +M3E2@24Z@0T].3D5#5$E/3J!,25-4#61R87=C;VX@97%U("1C93`P(#ML25-4
 +MH$]&H$-/3DY%0U1)3TZ@24Y$24-%4PUC;VYF;&%G(&5Q=2`D8V8P,"`[9DQ!
 +M1U.@5$^@2T5%4*!&4D]-H%)%1%)!5TE.1Z!35%5&1@T-<V-R;FQO8R!E<74@
 +M,3`R-"`[=TA%4D6@25.@5$A%H%-#4D5%3J!,3T-!5$5$/PT-*J!S3TU%H%9!
 +M4DE!0DQ%4PT-8V]L<W1E<"`]("0U,2`[;$E.15,ZH&A/5Z!-04Y9H$)95$53
 +MH%!%4J!#3TP-8V]U;G1P=',@/2`D-3(-=WAI;F,@/2`D-3,->'EI;F,@/2`D
 +M-30->7II;F,@/2`D-34->'II;F,@/2`D-38-<W=X(#T@)#8S#7-X>2`]("0V
 +M-"`[=$A%4T6@05)%H%1(1:!!3D=,15.@55-%1*!"60US>7H@/2`D-C4@.W)O
 +M='!R;VH-<WAZ(#T@)#8V#0UN=6UO8C$@97%U("1A-2`[;E5-0D52H$]&H%!/
 +M24Y44Z!)3J!/0DI%0U2@,0UN=6UO8C$R(&5Q=2`D838-=&]T;G5M(&5Q=2`D
 +M83<@.W1/5$%,H$Y534)%4J!/1J!03TE.5%.@24Z@3$E35`UO9F9S970@97%U
 +M("1A."`[;T9&4T54H$E.5$^@1U))1`UN=6UC;VYS(&5Q=2`D83D@.W1/5$%,
 +MH$Y534)%4J!/1J!#3TY.14-424].4PT-:6UO;F]B(&5Q=2`D8C`@.W=(24-(
 +MH$]"2D5#5*!!3:!IH$]./PT-<VEN,2!E<74@)#4W(#MP3TE.5$524Z!43Z!3
 +M24Y%H$%.1*!#3U-)3D4-8V]S,2!E<74@)#4Y(#M404),15,N#7-I;C(@97%U
 +M("0U8@UC;W,R(&5Q=2`D-60-<')O:G1A8B!E<74@)#5F(#MP3TE.5$52H%1/
 +MH%!23TI%0U1)3TZ@5$%"3$53#7!O:6YT,2!E<74@)#9A(#MS3TU%H%-005)%
 +MH%!/24Y415)3#7!O:6YT,B!E<74@)#9C#7-C<F5E;G`@97%U("0V92`[<$])
 +M3E1%4J!54T5$H$)9H%-#4D5%3J!03$]45$52#6-O;&]R<"!E<74@)#<P(#M0
 +M3TE.5$52H$E.5$^@0T],3U*@<F%M#6-O;&]R(&5Q=2`D-S(@.V-/3$]2H%1/
 +MH%-43U)%H$E.H$-/3$]2H')A;0UN=6US:61E(&5Q=2`D.&(@.R.@3T:@0TA!
 +M4E.@4$52H%-)1$6@3T:@4U%505)%#0UN=6UT;W)O="!E<74@)#8Y(#MN54U"
 +M15*@3T:@4$])3E13H%1/H%)/5$%41:!)3J!R;W1P<F]J#0UB=69F97(@97%U
 +M("1A,R`[<$])3E1%4J!43Z!$4D%724Y'H$)51D9%4@UX,2!E<74@)&9B(#MP
 +M3TE.5%.@1D]2H$1205=)3D>@0:!,24Y%#7DQ(&5Q=2`D9F,@.W1(15-%H%I%
 +M4D^@4$%'1:!!1$1215-315,->#(@97%U("1F9"`[1$].)U2@0T].1DQ)0U2@
 +M5TE42*!B87-I8PUY,B!E<74@)&9E#6]L9'@@97%U("1F9`UC:'5N:R!E<74@
 +M)&9E#61X(&5Q=2`D-C<-9'D@97%U("0V.`UT96UP,2!E<74@)&9B(#MO1J!#
 +M3U524T4LH$-/54Q$H$-/3D9,24-4H%=)5$B@6#$-=&5M<#(@97%U("1F8R`[
 +M=$5-4$]205)9H%9!4DE!0DQ%4PUZ=&5M<"!E<74@)#`R(#MU4T5$H$9/4J!"
 +M549&15*@4U=!4"Z@H&1/3B=4H%1/54-(+@UA8V,@97%U("0R,B`[=5-%1*!"
 +M6:!-051(H%)/551)3D4-875X(&5Q=2`D,C0-97AT(&5Q=2`D,C8-#2HM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!S971C;VYS#2H-*J!T
 +M2$E3H%!23T-%1%521:!31513H%50H$-/3DY%0U1)3TZ@3$E35%,-*@TJH&E.
 +M4%544SH-*J"@H*!N=6UC;VYSH$-/3E1!24Y3H%1/5$%,H$Y534)%4J!/1J!#
 +M3TY.14-424].4PTJH*"@H'!L:7-T=Z!#3TY404E.4Z!42$6@0T].3D5#5$E/
 +M3J!,25-4+*!%+D<NH&]B,6-O;@TJH*"@H'!L:7-T>:!#3TY404E.4Z!42$6@
 +M3D]234%,+4-/3DY%0U1)3TZ@3$E35*!%+D<NH&YO<FTQ#2H-*J!I5*!214%,
 +M3%F@25.@1D%35$52H$%.1*!32$]25$52H%1/H$I54U2@0T]06:!42$6@3$E3
 +M5%,N#2J@;TZ@15A)5"R@8V]N;&ES=#$LH&-O;FQI<W0R+*!!3D2@9')A=V-O
 +M;J!!4D6@4T54H%50+@TJ#0US971C;VYS#2!L9'@@(S`P(#MN3U>@4T54H%50
 +MH$-/3DY%0U1)3TY3#2!L9'D@(S`P#3IL,R!L9&$@<&QI<W1W+'D@.V9)4E-4
 +MH%!/24Y4#2!S=&$@8V]N;&ES=#$L>`T@:6YY#2!L9&$@<&QI<W1W+'D@.W-%
 +M0T].1*!03TE.5`T@<W1A(&-O;FQI<W0R+'@-(&EN>0T@:6YX#2!C<'@@;G5M
 +M8V]N<R`[=$]404R@3E5-0D52H$]&H$-/3DY%0U1)3TY3#2!B;F4@.FPS#2`[
 +M9DE.04Q,62R@4T54H%50H%1(1:!.3U)-04R@0T].3D5#5$E/3E,-(&QD>"`C
 +M,#`-.FPT('1X82`[*'-405)4H%=)5$B@0:!,25-4H$]&H%1(1:`T9*!#3TY3
 +M*0T@<W1A(&1R87=C;VXL>`T@:6YX#2!C<'@@<&QI<W1Y(#MN54U"15*@3T:@
 +M-&2@0T].3D5#5$E/3E,-(&)N92`Z;#0-(&QD>2`C,#`@.VY/5Z!&24Y)4TB@
 +M55"@5$A%H$Q)4U0-.FPU(&QD82!P;&ES='DK,BQY#2!S=&$@9')A=V-O;BQX
 +M#2!I;G@-(&EN>0T@8W!Y('!L:7-T>2LQ(#MT2$6@3E5-0D52H$]&H%!/24Y4
 +M4Z!)3J!42$6@3$E35`T@8FYE(#IL-0T@<G1S#0TJ+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+0TJ#2J@9W)O=PTJ#2J@=$A)4Z!354)23U5424Y%
 +MH")'4D]74R*@5$A%H%!/24Y44RR@0EF@4D%-4$E.1Z!42$5-#2J@3U545T%2
 +M1%.@1E)/3:!42$6@3U))1TE.+J"@8EF@55-%H$]&H$&@34%32Z!)5*!)4PTJ
 +MH%!/4U-)0DQ%H%1/H$=23U>@4U5"4T544Z!/1J!03TE.5%.@052@0:!424U%
 +M+@TJ#2J@;TZ@14Y44EDLH'F@0T].5$%)3E.@5$A%H$Y534)%4J!/1J!03TE.
 +M5%.@5$^@1U)/5RTQH"@P+BYY*2P-*J!P;VEN=#&@25.@4T54H%50H$%3H$&@
 +M4$])3E1%4J!43Z!42$6@4$])3E2@3$E35"P-*J!!3D2@8:!#3TY404E.4Z!!
 +MH$U!4TLN#2H-*J!T2$6@4$])3E2@3$E35*!73U)+4Z!!4Z!&3TQ,3U=3.J!4
 +M2$521:!!4D6@0:!43U1!3*!/1@TJH$9/55*@0T]/4D1)3D%415.@1D]2H$5!
 +M0TB@5D525$58+*!!3D2@14%#2*!#3T]21$E.051%H$E3#2J@14E42$52H#`L
 +MH#$LH$]2H"TQ+J"@=$A54Z!71:!#04Z@4D504D5314Y4H$5!0TB@0T]/4D1)
 +M3D%410TJH$)9H%173Z!"2513+*!!3D2@5$A%H$953$R@5D5#5$]2H$U!6:!"
 +M1:!215!215-%3E1%1*!"6:!!#2J@4TE.1TQ%H$)95$4NH*!L152@,#`],"R@
 +M,#$],2R@04Y$H#$Q/2TQ+*!42$5.H$%.H$5.5%)9#2J@3$E+10TJH*"@H*"@
 +MH#`Q,3`P,#`PH*`]H"0V,`TJH%=/54Q$H$-/4E)%4U!/3D2@5$^@0:!615)4
 +M15B@052@*%<L6"Q9+%HI/2@Q+"TQ+#`L,"DN#2H-*J!T2$6@4U5"4D]55$E.
 +M1:!404M%4Z!42$E3H$Y534)%4BR@86YD4Z!)5*!7251(H%1(1:!-05-+#2J@
 +M4U1/4D5$H$E.H'1E;7`Q+*!!3D2@4$%24T53H%1(1:!215-53%1)3D>@5D%,
 +M544NH*!I1@TJH$&@0T]/4D1)3D%41:!)4Z`Q+*!42$5.H%1(1:!#3U)215-0
 +M3TY$24Y'H$-/3U)$24Y!5$6@24X-*J!42$6@4$])3E2@3$E35*`H;V)L:7-T
 +M=RR@151#+BF@25.@24Y#4D5-14Y4140NH*!I1@TJH$&@0T]/4D1)3D%41:!)
 +M4Z`M,2R@;V)L:7-T=Z!)4Z!$14-214U%3E1%1"Z@H&E&H#`LH%1(14X-*J!)
 +M5*!)4Z!)1TY/4D5$+J"@:4Z@5$A)4Z!705DLH$E.1$E6241504R@4$])3E13
 +MH$U!6:!"10TJH$=23U=.H$]55%=!4D13+*!&4D]-H#"@5$^@,C0NH*!B6:!5
 +M4TE.1Z!42$6@34%32Z!)5*!)4PTJH%!/4U-)0DQ%H%1/H$=23U<LH%-!62R@
 +M3TY,6:!42$6@6"U#3T]21$E.051%4RR@3U*@3TY,60TJH%!/4TE4259%H$-/
 +M3U)$24Y!5$53+@TJ#6=R;W<-('-T82!T96UP,0TZ;&]O<"!T>6$-('1A>`T@
 +M;&1A("AP;VEN=#$I+'D-(&%N9"!T96UP,0TZ8VAE8VMW(&%S;`T@8F-C(#IP
 +M;W-W#2!A<VP@.VI54U2@05-354U%H$Y%1T%4259%#2!D96,@;V)L:7-T=RQX
 +M#2!B;F4@.F-H96-K>`TZ<&]S=R!A<VP-(&)C8R`Z8VAE8VMX#2!I;F,@;V)L
 +M:7-T=RQX#3IC:&5C:W@@87-L#2!B8V,@.G!O<W@-(&%S;`T@9&5C(&]B;&ES
 +M='@L>`T@8FYE(#IC:&5C:WD-.G!O<W@@87-L#2!B8V,@.F-H96-K>0T@:6YC
 +M(&]B;&ES='@L>`TZ8VAE8VMY(&%S;`T@8F-C(#IP;W-Y#2!A<VP-(&1E8R!O
 +M8FQI<W1Y+'@-(&)N92`Z8VAE8VMZ#3IP;W-Y(&%S;`T@8F-C(#IC:&5C:WH-
 +M(&EN8R!O8FQI<W1Y+'@-.F-H96-K>B!A<VP-(&)C8R`Z<&]S>@T@87-L#2!D
 +M96,@;V)L:7-T>BQX#2!B;F4@.F1O;F4-.G!O<WH@87-L#2!B8V,@.F1O;F4-
 +M(&EN8R!O8FQI<W1Z+'@-#3ID;VYE(&1E>0T@8G!L(#IL;V]P#2!R=',-#0TJ
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJ#2J@9$5&24Y%H$]"
 +M2D5#5%,-*@TJH'1(25.@3D585*!04D]#14154D6@25.@5$A%H%!23U1/5%E0
 +M24-!3*!04D]#14154D4-*J!&3U*@4T545$E.1Z!54*!!3D2@1$5&24Y)3D>@
 +M0:!005)424-53$%2H$]"2D5#5*!'4D]54"X-*J!I5*!$3T53H%-/H$)9H")'
 +M4D]724Y'(J!42$6@4$])3E13H$%.1*!3151424Y'H$%.1TQ%4PTJH$%04%)/
 +M4%))051%3%DNH*!W2$5.H$1/3D4LH%1(15)%H$E3H$&@0T]-4$Q%5$6@4$])
 +M3E0-*J!,25-4H%1/H$)%H%)/5$%4140LH$540RX-#2J@;G5M;V(QH*"@+2V@
 +M;E5-0D52H$]&H%!/24Y44Z!)3J!/0DI%0U2@3TY%#2J@=&]T;G5MH*"@+2V@
 +M=$]404R@3E5-0D52H$]&H%!/24Y44Z!43Z!"1:!23U104D]*)T0-#61E9F]B
 +M<R!E;G0-(&QD82!I;6]N;V(-(&)N92`Z8VAE8VLQ#2!J;7`@9&5F;V(P#3IC
 +M:&5C:S$@8VUP(",Q#2!B;F4@.F-H96-K,@T@:FUP(&1E9F]B,0TZ8VAE8VLR
 +M(&-M<"`C,@T@8FYE(#IC:&5C:S,-(&IM<"!D969O8C(-.F-H96-K,PT-*@TJ
 +MH&1E9F]B,Z`M+:!S152@55"@3T)*14-4H",S+*!!H$-50D4-*@UD969O8C,-
 +M.FEN:70-#2!L9&$@(S,P(#MS25A4145.H#1D+*!%24=(5*`S9"M325B@3D]2
 +M34%,4PT@8VUP('1O=&YU;0T@8F5Q(#IG<F]W(#MO3DQ9H%)53J!42$6@24Y)
 +M5*!23U5424Y%H$].0T4-#2!S=&$@=&]T;G5M#2!L9&$@(S$V#2!S=&$@;G5M
 +M;V(Q(#MP4DE-05)9H"@T9"D-(&QD82`C,30-('-T82!N=6UO8C$R(#MS14-/
 +M3D1!4EF@*#-D*:`KH$Y/4DU!3%,-(&QD82`C-#0-('-T82!N=6UC;VYS(#LT
 +M-*!#3TY.14-424].4Z`H,"XN-#,I#0T@;&1A(",D9C@@.W1(25.@2T5%4%.@
 +M5$A%H#-DH$]"2D5#5*!&4D]-#2!L9'@@(S@@.T=%5%1)3D>@5$]/H$))1Z`H
 +M4TY%04M9+*!%2"D-.FPQ('-T82!O8FQI<W1W*S$U+'@-(&1E>`T@8FYE(#IL
 +M,0T-*J!S152@55"@5$A%H$-/3DY%0U1)3TZ@3$E35%,-*F]B,6-O;J`M/J!P
 +M;&ES='<LH#0TH%!44PTJ;F]R;3&@+3Z@<&QI<W1Y+*`T,*!05%.@5$]404P-
 +M(&QD>2`C.#<@.S0T*C*@4$])3E13H%!%4J!#3TY.14-424].#3IL;V]P(&QD
 +M82!O8C-C;VXL>0T@<W1A('!L:7-T=RQY#2!L9&$@;F]R;3,L>2`[>45!2"R@
 +M4T^@5T6@0T]06:!!H$)53D-(H$]&#2!S=&$@<&QI<W1Y+'D@.T585%)!H$I5
 +M3DLLH$))1Z!72$]/4"X-(&1E>0T@8G!L(#IL;V]P#0T@:G-R('-E=&-O;G,-
 +M*@TJH&F@05-354U%H$Y/4DU!3%.@2$%61:!"145.H$-,14%2142@3U54H$)9
 +MH$-!3$Q)3D>@4D]55$E.10TJ#2!L9&$@(S(T(#MN3U>@4T54H%50H%1(1:!.
 +M3U)-04Q3#2!S=&$@;V)L:7-T>"LR-"`[*R\MH#$L,"PPH$540RZ@1D]2H$&@
 +M0U5"10T@<W1A(&]B;&ES='DK,C8-('-T82!O8FQI<W1Z*S(X#2!L9&$@(S(U
 +M-BTR-`T@<W1A(&]B;&ES='@K,C4-('-T82!O8FQI<W1Y*S(W#2!S=&$@;V)L
 +M:7-T>BLR.0T-.F=R;W<-(&QD82`C/'9E<G0S#2!S=&$@<&]I;G0Q#2!L9&$@
 +M(SYV97)T,PT@<W1A('!O:6YT,2LQ#2!L9'D@(S(S(#MN54U"15*@3T:@4$])
 +M3E13H%1/H$=23U>@,"XN>0T-*J!G4D]7H%1(1:!8+4-/3U)$4Z!&25)35"X-
 +M#3IX8V]O<F1S(&QD82!O8FQI<W1X#2!C;7`@(S(T#2!B97$@.GEC;V]R9',-
 +M(&QD82`C)3`P,3$P,#`P(#MM05-+#2!J;7`@9W)O=R`[9W)O=Z!724Q,H')T
 +M<Z!&3U*@55,N#0TZ>6-O;W)D<R!L9&$@;V)L:7-T>0T@8VUP(",R-`T@8F5Q
 +M(#IZ8V]O<F1S#2!L9&$@(R4P,#`P,3$P,`T@:FUP(&=R;W<-#3IZ8V]O<F1S
 +M(&QD82!O8FQI<W1Z(#MH059%H&F@2$E4H#(TH"A-05B@5D%,544IH%E%5#\-
 +M(&-M<"`C,C0-(&)E<2`Z=V-O;W)D<PT@:6YC('-X>2`[;4%+1:!42$6@3T)*
 +M14-4H$&@3$E45$Q%#2!I;F,@<WEZ(#M.24-%4J!,3T]+24Y'+@T@;&1A(",E
 +M,#`P,#`P,3$-(&IM<"!G<F]W#0TZ=V-O;W)D<R!L9&$@;V)L:7-T=PT@8VUP
 +M(",R,PT@8FYE(#IC;VYT#2!L9'D@(R1F9@T@<W1Y('AY:6YC#2!L9'D@(S`Q
 +M(#MS5$%25*!42$6@04Y'3$53H$=/24Y'#2!S='D@=WAI;F,-('-T>2!Y>FEN
 +M8PT@:6YY#2!S='D@>'II;F,-.F-O;G0-(&QD82`C)3$Q,#`P,#`P#2!J;7`@
 +M9W)O=PT-*@TJH'1(25.@25.@5$A%H$Q)4U2@3T:@5D525$E#15,LH$%3H$1%
 +M4T-224)%1*!)3J!G<F]WH$%"3U9%+@TJH#`PH#V@,"R@,#&@/:`Q+*`Q,:`]
 +MH"TQ#2H-=F5R=#,@9&9B("4P,3`Q,#$P,2`[,2PQ+#$L,0T@9&9B("4P,3`Q
 +M,#$Q,2`[,2PQ+#$L+3$-(&1F8B`E,#$P,3$Q,#$-(&1F8B`E,#$P,3$Q,3$-
 +M(&1F8B`E,#$Q,3`Q,#$-(&1F8B`E,#$Q,3`Q,3$-(&1F8B`E,#$Q,3$Q,#$-
 +M(&1F8B`E,#$Q,3$Q,3$-(&1F8B`E,3$P,3`Q,#$@.RTQ+#$L,2PQ#2!D9F(@
 +M)3$Q,#$P,3$Q#2!D9F(@)3$Q,#$Q,3`Q#2!D9F(@)3$Q,#$Q,3$Q#2!D9F(@
 +M)3$Q,3$P,3`Q#2!D9F(@)3$Q,3$P,3$Q#2!D9F(@)3$Q,3$Q,3`Q#2!D9F(@
 +M)3$Q,3$Q,3$Q(#LM,2PM,2PM,2PM,:"@14Y$H$]&H#1DH$-50D6@3$E35`T@
 +M9&9B("4P,#`Q,#$P,2`[,"PQ+#$L,:"@,V2@0U5"10T@9&9B("4P,#`Q,#$Q
 +M,0T@9&9B("4P,#`Q,3$P,0T@9&9B("4P,#`Q,3$Q,0T@9&9B("4P,#$Q,#$P
 +M,0T@9&9B("4P,#$Q,#$Q,0T@9&9B("4P,#$Q,3$P,0T@9&9B("4P,#$Q,3$Q
 +M,2`[14Y$H$]&H#-DH$-50D6@3$E35"R@,C2@4$])3E13H%1/5$%,#0TJ#2J@
 +M=$A%4T6@05)%H%1(1:!#3TY.14-424].4Z!"1517145.H%!/24Y44PTJ#2J@
 +M<D5-14U"15*@5$A!5*!42$531:!!4D6@:6YD:6-E<Z!)3E1/H%1(1:!W:&]L
 +M9:!03TE.5`TJH$Q)4U0LH$Y/5*!*55-4H$&@3$]#04R@4$])3E0A(2$-*@TJ
 +MH'1(15-%H$-/3DY%0U1)3TY3H$%21:!!3$R@4$Q!0T5$H$E.5$^@0:!,25-4
 +MH%=(24-(H$U!60TJH$)%H$%#0T534T5$H$)9H%1(1:!-04E.H$1205=)3D>@
 +M4D]55$E.12Z@H'1(14Z@5$A%#2J@3D]234%,4Z!!4D6@4$Q!0T5$H$E.H%1(
 +M14E2H$]73J!,25-4+*!!3$].1Z!7251(#2J@24Y$24-%4Z!)3E1/H%1(1:!#
 +M3TY.14-424].H$Q)4U0NH*!T2$6@3D]234%,H$Q)4U2@5T]22U,-*J!!4Z!&
 +M3TQ,3U=3.@TJ#2J@=$A%H$9)4E-4H%-%5*!/1J!.54U"15)3H$E.1$5815.@
 +M1$E214-43%F@24Y43Z!42$4-*J!04DE-05)9H$]"2D5#5*!#3TY.14-424].
 +M4Z`M+:!42$521:!!4D6@3D^@3D]234%,4PTJH%1/H%=/4E)9H$%"3U54+*!!
 +M3D2@5$A)4Z!!3$Q/5U.@5$A%H$]"2D5#5%.@5$^@0D4-*J!44D%.4U!!4D5.
 +M5$Q9H$A!3D1,142@0EF@5$A%H$1205=)3D>@4D]55$E.12Z@H&]42$525TE3
 +M10TJH$5!0TB@1D%#1:!/1J!42$6@4T5#3TY$05)9H$E3H$A!3D1,142@5$A%
 +MH%-!344Z#2J@=$A%H$9)4E-4H$Y534)%4J!)4Z!42$6@24Y$15B@5$^@5$A%
 +MH$Y/4DU!3*!)3J!42$6@4$])3E0-*J!,25-4H"AP;&ES="DNH*!F3TQ,3U=)
 +M3D>@5$A)4Z!)3D1%6*!)4Z!!H$Q)4U2@3T:@24Y$24-%4PTJH$E.5$^@5$A%
 +MH$-/3DY%0U1)3TZ@3$E35*`M+:!42$531:!#3TY.14-424].4Z!-04M%H%50
 +MH%1(10TJH$9!0T6@5TA)0TB@0D5,3TY'4Z!43Z!42$6@3D]234%,+J"@=$A)
 +M4Z!#3TY.14-424].H$Q)4U0-*J!)4Z!415)-24Y!5$5$H$)9H$&@6D523RR@
 +M04Y$H$9/3$Q/5T5$H$)9H$]42$52H$Y/4DU!3`TJH$Q)4U13+J"@=$A%H%=(
 +M3TQ%H%1(24Y'H$E3H%1%4DU)3D%4142@5TE42*!!H%-%0T].1*!:15)/+@TJ
 +M#2J@=$A54Z!42$6@1%)!5TE.1Z!23U5424Y%H%=/4DM3H$%3H$9/3$Q/5U,Z
 +MH$-/3DY%0U1)3TY3#2J@1E)/3:!42$6@0T].3D5#5$E/3J!,25-4H$%21:!3
 +M54-#15-3259%3%F@4D5!1*!)3J!!3D0-*J!*3TE.140LH%5.5$E,H$&@6D52
 +M3Z!)4Z!(250NH*!T2$6@3D585*!03TE.5*!)4Z!42$5.#2J@4D5!1*!)3J!!
 +M4Z!!H$Y/4DU!3*!)3D1%6"Z@H&E&H%I%4D\LH%1(14Z@5T6@05)%H$1/3D4L
 +M#2J@3U1(15)725-%H%1(25.@3D]234%,H$E3H$-(14-+142@5$^@4T5%H$E&
 +MH%1(1:!&04-%#2J@25.@5DE324),12Z@H&E&H$Y/5*!42$5.H$E4H%-+25!3
 +MH%1/H%1(1:!.15A4H%!/24Y4+`TJH$]42$525TE31:!)5*!$3T53H%1(1:!$
 +M4D%724Y'H%1(24Y'H$%"3U9%+@TJ#2J@85.@14%#2*!#3TY.14-424].H$E3
 +MH$1205=.H$&@0T]24D534$].1$E.1Z!&3$%'H$E3#2J@4T54H$E.H$&@4TE-
 +M24Q!4J!#3TY.14-424].H$Q)4U0NH*!T2$E3H%=!62R@0T].3D5#5$E/3E,-
 +M*J!32$%2142@0D545T5%3J!625-)0DQ%H$9!0T53H$1/H$Y/5*!.145$H%1/
 +MH$)%H$1205=.H%1724-%+@TJ#2J@;D57H$9%05154D4ZH$Y/5Z!#3TY.14-4
 +M24].4Z!-05F@0D6@1%)!5TZ@55-)3D>@14E42$52#2J@4T],242@3U*@1$]4
 +M5$5$H$Q)3D53+J"@=$A%H$-50D6@1$]%4Z!.3U2@3D5%1*!)5"R@0E54#2J@
 +M252@2$5,4%.@24U-14Y314Q9H%=)5$B@5$A%H$]42$524Z!43Z!$4D%7H$Q)
 +M3D53H$-/3DY%0U1)3D<-*J`B24Y.15(BH$%.1*`B3U5415(BH$]"2D5#5%.@
 +M5TE42*!$3U14142@3$E.15,LH%1/H%-%1:!(3U<-*J!42$E.1U.@0TA!3D=%
 +MH%=(14Z@5$A%6:!35$%25*!43Z!455).H$E.4TE$12U/550NH*!S24Y#1:!4
 +M2$5210TJH$%21:!.3U2@1T])3D>@5$^@0D6@34]21:!42$%.H#$R-Z!#3TY.
 +M14-424].4RR@5$A%H$A)1T@-*J!"252@3T:@5$A%H$-/3DY%0U1)3TZ@24Y$
 +M15B@4T525D53H$%3H$&@1$]45$5$H$Q)3D6@1DQ!1SH-*J!)1J!42$6@2$E'
 +M2*!"252@3T:@5$A%H$E.1$58H$E3H%-%5"R@5$A%3J!$4D%7H%1(1:!#3TY.
 +M14-424Y'#2J@3$E.1:!!4Z!$3U14140NH*!H14Y#1:!42$6@1%)!5TE.1Z!2
 +M3U5424Y%H$].3%F@3D5%1%.@5$\-*J!35%))4*!/1D:@5$A)4Z!"252@04Y$
 +MH%-%5*!42$6@1DQ!1Z!D;W1T962@04-#3U)$24Y'3%DN#0UO8C-C;VX@:&5X
 +M(#`P,#$P,#`R,#`P-#`P,#@@.S`M,:`P+3*@,"TTH#`M.`T@:&5X(#`Q,#,P
 +M,3`U,#$P.2`[,2TSH#$M-:`Q+3D-(&AE>"`P,C`S,#(P-C`R,&$@.S(M,Z`R
 +M+3:@,BUA#2!H97@@,#,P-S`S,&(@("`[,RTWH#,M8@T@:&5X(#`T,#4P-#`V
 +M,#0P8R`[-"TUH#0M-J`T+6,-(&AE>"`P-3`W,#4P9"`@(#LU+3>@-2UD#2!H
 +M97@@,#8P-S`V,&4@("`[-BTWH#8M90T@:&5X(#`W,&8@("`[-RUF#2!H97@@
 +M,#@P.3`X,&$P.#!C(#LX+3F@."UAH#@M8PT@:&5X(#`Y,&(P.3!D("`@.SDM
 +M8J`Y+60-(&AE>"`P83!B,&$P92`@(#M!+4*@02U%#2!H97@@,&(P9B`@(#M"
 +M+48-(&AE>"`P8S!D,&,P92`@(#M#+42@0RU%#2!H97@@,&0P9@T@:&5X(#!E
 +M,&8-;V(S,F-O;B`[,V2@0U5"10T@:&5X(#$P,3$Q,#$R,3`Q-"`[,38M,3>@
 +M,38M,3B@,38M,C`-(&AE>"`Q,3$S,3$Q-2`[,3<M,3F@,3<M,C&@H"@S-2D-
 +M(&AE>"`Q,C$S,3(Q-B`[,3@M,3F@,3@M,C(-(&AE>"`Q,S$W(#LQ.2TR,Z"@
 +MH*"@H*"@*#,Y*0T@:&5X(#$T,34Q-#$V(#LR,"TR,:`R,"TR,@T@:&5X(#$U
 +M,3<@.S(Q+3(SH*"@H*"@H*`H-#(I#2!H97@@,38Q-R`[,C(M,C,-*J`T9#J@
 +M,S*@0T].3D5#5$E/3E,LH#-D.J`Q,J!#3TY.14-424].4PUN;W)M,R`[;$E3
 +M5*!/1J!.3U)-04Q3H"N@0T].3D5#5$E/3E,-(&AE>"`R,"`[9DE24U2@3E5-
 +M0D52H$E3H$Y534)%4J!/1J`T9*!#3TY3#2!D9F(@,S@@.W-%0T].1*!.54U"
 +M15*@25.@3E5-0D52H$]&H%!/24Y44PT[24Z@3$E35"R@0D5,3U<-(&AE>"`P
 +M,#$X(#MN3U)-04R@,:!!5*!)3D1%6*`R-*`]H#$L,"PP#2!D9F(@,S(@.S$V
 +M+3$W#2!D9F(@,S,@.S$V+3$X#2!D9F(@,S4@.S$W+3$Y#2!D9F(@,S<@.S$X
 +M+3$Y#2!H97@@,#`Q.2`[;D]234%,H",RH#V@+3$L,"PP#2!D9F(@-#`@.S(P
 +M+3(Q#2!D9F(@-#$@.S(P+3(R#2!D9F(@-#(@.S(Q+3(S#2!D9F(@-#,@.S(R
 +M+3(S#2!H97@@,#`Q82`[;D]234%,H",S/:`P+#$L,`T@9&9B(#,R#2!D9F(@
 +M,S8-(&1F8B`T,`T@9&9B(#,T#2!H97@@,#`Q8B`[;D]234%,H#0]H#`L+3$L
 +M,`T@9&9B(#,W#2!D9F(@,S@-(&1F8B`S.0T@9&9B(#0S#2!H97@@,#`Q8R`[
 +M;D]234%,H#4]H#`L,"PQ#2!D9F(@,S,-(&1F8B`S-`T@9&9B(#0Q#2!D9F(@
 +M,S@-(&AE>"`P,#%D(#MN3U)-04R@-CV@,"PP+"TQ#2!D9F(@,S4-(&1F8B`S
 +M-@T@9&9B(#,Y#2!D9F(@-#(-(&AE>"`P,#`P(#ME3D2@3R>@5$A%H$Q)4U0-
 +M#0TJ+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0TJ#2J@9&5F;V(P
 +MH"TMH'-%5*!54*!/0DI%0U2@(S`LH$&@5$544D%(14123TX-*@TJH'1(25.@
 +M25.@3TY%H$]&H%1(1:!/0DI%0U13H&F@1$52259%H$923TV@5$A%H$-50D4-
 +M*J!615)424-%4RX-*@TJH'9%4E1)0T53H$%21:!!3$R@(E173Z!!5T%9(J!&
 +M4D]-H$5!0TB@3U1(15*@3TZ@5$A%H$-50D4N#2J@<U1!4E1)3D>@1E)/3:!!
 +MH#-DH$-50D4LH$].1:!354-(H%-%5*!/1J!03TE.5%.@25,-*J`H,2PQ+#$I
 +MH"@Q+"TQ+"TQ*:`H+3$L,2PM,2F@04Y$H"@M,2PM,2PQ*:`M+:!43Z!'150-
 +M*J!&4D]-H$].1:!03TE.5*!43Z!42$6@3D585*!215%525)%4Z!44D%615)3
 +M24Y'H%173PTJH$Q)3D6@4T5'345.5%.@3TZ@5$A%H$-50D4NH*!G14Y%4D%,
 +M25I)3D>@5$^@-&0LH&D-*J!!1T%)3J!54T6@0:!3152@3T:@4$])3E13H$].
 +MH%1(1:!#54)%H%=(24-(H$1)1D9%4@TJH$E.H%173Z!#3T]21$E.051%4Z!!
 +M3D2@24Z@-*!#3T]21$E.051%4RR@12Y'+J!35$%25$E.1PTJH$923TV@*#$L
 +M,2PQ+#$IH%1(1:!45T\M05=!6:!03TE.5%.@05)%H"@Q+#$L+3$L+3$IH$54
 +M0RX-*J!!3D2@5$A%H$9/55(M05=!6:!03TE.5*!)4Z`H+3$L+3$L+3$L+3$I
 +M+@TJ#2J@:4:@64]5H%=!3E2@5$^@0D6@34]21:!34$5#249)0RR@::!42$E.
 +M2Z!42$E3H$9/4DU3H$$-*J!#3TU03$541:!3152@3T:@4$])3E13H$5154E6
 +M05))04Y4H%5.1$52H%1(1:!!0U1)3TZ@3T8-*J!42$6@4D5,159!3E2@4UE-
 +M34544EF@1U)/55"@*$%#5$E.1Z!/3J!/3D6@4$])3E2@5TE42`TJH$&@4UE-
 +M34544EF@3U!%4D%43U*@1T5.15)!5$53H$%.3U1(15*@4$])3E2@24Z@5$A%
 +MH%-%5"DN#2H-*J!A3D]42$52H%=!6:!/1J!,3T]+24Y'H$%4H$E4H$E3H%1(
 +M052@::!33$E#1:!/1D:@0T]23D524PTJH$]&H%1(1:!#54)%H%=(24-(H$%2
 +M14XG5*!!1$I!0T5.5*!43Z!%04-(H$]42$52+@TJ#2J@;D]41:!42$%4H$Y/
 +M4DU!3%.@0T]24D534$].1*!%6$%#5$Q9H%1/H%1(1:`S9*!03TE.5%,N#2J@
 +M=$A!5*!)4RR@3T:@04Y9H$9!0T6@1D]2345$H$)9H%1(4D5%H%!/24Y44RR@
 +M5$A%H$9/55)42`TJH$9/4DU3H$&@5D5#5$]2H$Y/4DU!3*!43Z!42$6@1D%#
 +M1:`H04Q"14E4H%!/24Y424Y'#2J@05=!6:!&4D]-H$E4*2X-*@T-9&5F;V(P
 +M#3II;FET#2!L9&$@(S$V(#LXH#1D+*`TH#-D*S2@3D]234%,4PT@8VUP('1O
 +M=&YU;0T@8F5Q(#IG<F]W(#MO3DQ9H%)53J!42$6@24Y)5*!23U5424Y%H$].
 +M0T4-#2!S=&$@=&]T;G5M#2!L<W(@.VF@3D5%1*!42$]31:!"651%4R$A(0TJ
 +MH&QD8:`C.`T@<W1A(&YU;6]B,2`[<%))34%26:`H-&0I#2J@;&1AH",X#2!S
 +M=&$@;G5M;V(Q,B`[<T5#3TY$05)9H"@S9"F@*Z`TH$Y/4DU!3%,-(&QD82`C
 +M,S`-('-T82!N=6UC;VYS(#LS,*!#3TY.14-424].4Z`H,"XN,CDI#0T@;&1X
 +M(",T#2!L9&$@(R1F."`[;4%+1:!/0DI%0U2@0:!,25143$6@4TU!3$Q%4@TZ
 +M;#$@<W1A(&]B;&ES='<K-RQX#2!D97@-(&)N92`Z;#$-#2J@<T54H%50H%1(
 +M1:!#3TY.14-424].H$Q)4U13#2IO8C!C;VZ@+3Z@<&QI<W1W+*`S,*!#3TY.
 +M14-424].4Z`H,J!05%.@4$52H$-/3BD-*FYO<FTPH"T^H'!L:7-T>2R@,C2@
 +M4%13H%1/5$%,#2!L9'D@(S4Y(#LS,"HR#3IL;V]P(&QD82!O8C!C;VXL>0T@
 +M<W1A('!L:7-T=RQY#2!L9&$@;F]R;3`L>0T@<W1A('!L:7-T>2QY#2!D97D-
 +M(&)P;"`Z;&]O<`T-(&IS<B!S971C;VYS#0TJ#2J@<T54H%=(24-(H$-/3DY%
 +M0U1)3TY3H%=)3$R@55-%H$1/5%1%1*!,24Y%4PTJH&1/5%1%1*!#3TY3H$%2
 +M13J@,"TTH#`M-:`P+3:@,2TTH#$M-:`Q+3>@,BTTH#(M-J`R+3<-*J"@H*"@
 +MH*"@H*"@H*"@H*"@H#,M-:`S+3:@,RTW#2!L9'D@(S$Q#3IL,B!L9&$@9&]T
 +M8V]N,"QY#2!T87@-(&QD82!D<F%W8V]N+'@-(&]R82`C)#@P#2!S=&$@9')A
 +M=V-O;BQX#2!D97D-(&)P;"`Z;#(-#3IG<F]W#2!L9&$@(SQV97)T,`T@<W1A
 +M('!O:6YT,0T@;&1A(",^=F5R=#`-('-T82!P;VEN=#$K,0T@;&1Y(",Q-2`[
 +M;E5-0D52H$]&H%!/24Y44Z!43Z!'4D]7H#`N+GD-(&QD82`C)&9F(#MG4D]7
 +MH$%,3*!#3T]21%.@15%504Q,60T@:FUP(&=R;W<-#2H-*J!N15A4H%1(1:!6
 +M15)415B@3$E35`TJ#79E<G0P(&1F8B`E,#$P,3`Q,#$@.S$L,2PQ+#$-(&1F
 +M8B`E,#$P,3$Q,3$-(&1F8B`E,#$Q,3`Q,3$-(&1F8B`E,#$Q,3$Q,#$-(&1F
 +M8B`E,3$P,3`Q,3$-(&1F8B`E,3$P,3$Q,#$-(&1F8B`E,3$Q,3`Q,#$-(&1F
 +M8B`E,3$Q,3$Q,3$@.V5.1*!/1J`T9*!03TE.5%,-(&1F8B`E,#`P,3`Q,#$-
 +M(&1F8B`E,#`P,3$Q,3$-(&1F8B`E,#`Q,3`Q,3$-(&1F8B`E,#`Q,3$Q,#$@
 +M.S$RH%!/24Y44Z!43U1!3`T@9&9B("4P,#$Q,3$Q,0T@9&9B("4P,#$Q,#$P
 +M,0T@9&9B("4P,#`Q,3$P,0T@9&9B("4P,#`Q,#$Q,2`[<$Q54Z!&3U52H$Y/
 +M4DU!3%,-#6]B,&-O;B!H97@@,#`P,3`P,#(P,#`S,#`P-#`P,#4P,#`V(#LP
 +M+3&@,"TRH#`M,Z`P+32@,"TUH#`M-@T@:&5X(#`Q,#(P,3`S,#$P-#`Q,#4P
 +M,3`W(#LQ+3*@,2TSH#$M-*`Q+36@,2TW#2!H97@@,#(P,S`R,#0P,C`V,#(P
 +M-R`[,BTSH#(M-*`R+3:@,BTW#2!H97@@,#,P-3`S,#8P,S`W(#LS+36@,RTV
 +MH#,M-PT@:&5X(#`T,#4P-#`V,#0P-PT@:&5X(#`U,#8P-3`W#2!H97@@,#8P
 +M-R`[-&2@0T].3D5#5$E/3E.@*#(T*0T-;V(P,F-O;B!H97@@,#@P.3`X,&$P
 +M.#!B(#LX+3F@."TQ,*`X+3$Q#2!H97@@,#DP83`Y,&(-(&AE>"`P83!B(#LS
 +M9*!#3TY.14-424].4Z`H-BD-#61O=&-O;C`@:&5X(#`S,#0P-2`[=$A%4T6@
 +M0T].3D5#5$E/3E.@5TE,3*!"1:!$3U14140-(&AE>"`P.#`Y,&$@.U1(15F@
 +M0T].3D5#5*!03TE.5%.@5TE42*!7/3&@5$\-(&AE>"`P8S!D,&4@.U!/24Y4
 +M4Z!7251(H%<]+3$-(&AE>"`P9C$P,3$@.S$RH%1/5$%,#0UN;W)M,"`[;D]2
 +M34%,4RM#3U)215-03TY$24Y'H$-/3DY%0U1)3TY3#2!D9F(@,C0@.VY534)%
 +M4J!/1J`T9*!#3TY.14-424].4PT@9&9B(#(R(#MN54U"15*@3T:@4$])3E13
 +MH$)%3$]7#2!H97@@,#`P8R`[;D]234%,H$%4H$E.1$58H#$RH#V@,2PQ+#$-
 +M(&1F8B`R-R`[.2TQ,`T@9&9B(#(X(#LY+3$Q#2!D9F(@,CD@.S$P+3$Q#2!H
 +M97@@,#`P9"`[;D]234%,H#$L+3$L+3$-(&1F8B`R-0T@9&9B(#(V#2!D9F(@
 +M,CD-(&AE>"`P,#!E(#MN3U)-04R@+3$L,2PM,0T@9&9B(#(T(#LX+3$Y#2!D
 +M9F(@,C8@.S@M,3$-(&1F8B`R."`[.2TQ,0T@:&5X(#`P,&8@.VY/4DU!3*`M
 +M,2PM,2PQ#2!D9F(@,C0@.S@M.0T@9&9B(#(U(#LY+3$P#2!D9F(@,C<@.SDM
 +M,3`-(&AE>"`P,#`P(#LR,J!03TE.5%.@24Z@3$E35`T-*BTM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2T-*@TJH&1E9F]B,@TJ#2J@<T54H%50H$]"
 +M2D5#5*`C,BR@04Z@3T-404A%1%)/3BX-*@TJH'=(052@24Z@5$A%H%=/4DQ$
 +MH$E3H%1(1:`T9*!!3D%,3TY'H$]&H$%.H$]#5$%(14123TX_#2H-*J!T2$52
 +M1:!!4D6@5%=/H%=!65.@3T:@3$]/2TE.1Z!!5*!42$E3+J"@8:`S9*!/0U1!
 +M2$5$4D].#2J@2$%3H$-/3U)$24Y!5$53H"@K+RTQ+#`L,"F@*#`L*R\M,2PP
 +M*:`H,"PP+"LO+3$I+*!33PTJH$].1:!03U-324))3$E46:!43Z!%6%1%3D2@
 +M5$A)4Z!)4Z!!3J!/0DI%0U2@5TE42`TJH$-/3U)$24Y!5$53H$%4H"@K+RTQ
 +M+#`L,"PP*:`H,"PK+RTQ+#`L,"F@151#+@TJ#2J@;TZ@5$A%H$]42$52H$A!
 +M3D0LH%1(1:!/0U1!2$5$4D].H$E3H$5!4TE,6:!$15))5D5$#2J@1E)/3:!4
 +M2$6@0U5"12R@0EF@2D])3DE.1Z!42$6@0T5.5$524Z!/1J!%04-(H$9!0T4-
 +M*J!/1J!42$6@0U5"1:`H0U545$E.1Z!/1D:@5$A%H$-/4DY%4E,LH$E&H%E/
 +M5:!,24M%*2X-*J!T2%53H$E4H$E3H$5!4UF@14Y/54=(H%1/H$585$5.1*!4
 +M2$E3H$E.5$^@-&2@0EF@2D])3DE.1PTJH%1(1:!#14Y415)3H$]&H$5!0TB@
 +M,F2@1D%#1:!/1J!42$6@-&2@0U5"12R@5TA)0TB@3$5!1%,-*J!43Z!03TE.
 +M5%.@3$E+1:`H*R\M,2PK+RTQ+#`L,"F@*"LO+3$L,"PK+RTQ+#`IH$540RX-
 +M*@TJH'1(1:!&25)35*!-151(3T2@25.@04Y!3$]'3U53H%1/H$I/24Y)3D>@
 +M5$A%H$-%3E1%4J!/1@TJH$5!0TB@,V2@0U)/4U,M4T5#5$E/3J!/1J!42$6@
 +M-&2@0U5"12R@5TA%4D5!4Z!42$6@4T5#3TY$#2J@34542$]$H$E3+*!!4Z!7
 +M05.@4U1!5$5$+*!*3TE.24Y'H%1(1:!#14Y415)3H$]&H$5!0T@-*J`R9*!#
 +M4D]34RU314-424].H"TMH%1(1:!#14Y415)3H$]&H$-50D53H%9%4E-54Z!4
 +M2$6@0T5.5$524PTJH$]&H%!,04Y%4RX-*@TJH'=(24-(H$U%5$A/1*!43Z!5
 +M4T4_H*!T2$6@4T5#3TY$H$U%5$A/1*!'14Y%4D%415.@,C2@5D525$E#15,-
 +M*J!7251(H#DVH$Q)3D6@4T5'345.5%.@2D])3DE.1Z!42$5-H$%,3"Z@H&F@
 +M0T%.H%-%1:!72$%4H$E4#2J@3$]/2U.@3$E+1:!)3J!-6:!(14%$+*!IH$A!
 +M5D6@1%)!5TZ@0:!024-455)%+*!!3D2@::!(059%#2J@5U))5%1%3J!$3U=.
 +MH$%,3*!42$6@4$])3E13H$%.1*!,24Y%H$-/3DY%0U1)3TY3+J"@84Q42$]5
 +M1T@-*J!)5*!214%,3%F@25.@4%)%5%19H%-44D%)1TA41D]25T%21*!43Z!6
 +M25-504Q)6D4LH$E4H%-%14U3#2J@3T)624]54Z!43Z!-1:!42$%4H$].H%1(
 +M1:!#3TU0551%4J!)5*!724Q,H$Q/3TN@3$E+1:!!H%)%04P-*J!-15-3+*!%
 +M4U!%0TE!3$Q9H$].H$I54U2@0:`Y-E@Y-J!'4DE$+*!%5D5.H%=)5$B@1$]4
 +M5$5$H$Q)3D53+@TJH&U/4D5/5D52+*!IH"I$3RJ@3TY,6:!(059%H#1+H%1/
 +MH%=/4DN@5TE42"R@04Y$H%1(1:`Q,BU3241%1`TJH$]"2D5#5*!724Q,H$)%
 +MH$&@1$]/6EF@5TE42*`Y-J!#3TY.14-424].4Z!!3D2@4U5#2"R@4T\-*J!I
 +MH$I54U2@55-%H%1(1:!/0DI%0U2@1E)/3:!42$6@1DE24U2@34542$]$+@TJ
 +M#2J@*'1(1:!314-/3D2@34542$]$H$E3H$%71E5,3%F@0T]/3*!43Z!42$E.
 +M2Z!!0D]55"R@5$A/54=(+`TJH$Y/5*!43Z!-14Y424].H$Y%050M3Z!+145.
 +MH%1/H$Q/3TN@050A*0TJ#61E9F]B,@TZ:6YI=`T@;&1A(",R,B`[.*`T9"R@
 +M-J`S9*`KH#B@3D]234%,4PT@8VUP('1O=&YU;0T@8F5Q(#IG<F]W(#MO3DQ9
 +MH%)53J!42$6@24Y)5*!23U5424Y%H$].0T4-#2!S=&$@=&]T;G5M#2!L9&$@
 +M(S@-('-T82!N=6UO8C$@.W!224U!4EF@*#1D*0T@;&1A(",Q-`T@<W1A(&YU
 +M;6]B,3(@.W-%0T].1$%26:`H,V0IH"N@3D]234%,4PT@;&1A(",R-"LQ,@T@
 +M<W1A(&YU;6-O;G,@.S,VH$-/3DY%0U1)3TY3#0T@;&1X(",V#2!L9&$@(R1F
 +M-B`[;4%+1:`S9*!/0DI%0U2@0:!,25143$6@4TU!3$Q%4@TZ;#$@<W1A(&]B
 +M;&ES='<K-RQX#2!D97@-(&)N92`Z;#$-#2J@<T54H%50H%1(1:!#3TY.14-4
 +M24].H$Q)4U13#2IO8C)C;VZ@+3Z@<&QI<W1W+*`S-J!#3TY.14-424].4Z`H
 +M,J!05%.@4$52H$-/3BD-*FYO<FTRH"T^H'!L:7-T>2R@H#0TH%!44Z!43U1!
 +M3`T@;&1Y(",W,2`[,S8J,@TZ;&]O<"!L9&$@;V(R8V]N+'D-('-T82!P;&ES
 +M='<L>0T@;&1A(&YO<FTR+'D-('-T82!P;&ES='DL>0T@9&5Y#2!B<&P@.FQO
 +M;W`-#2!J<W(@<V5T8V]N<PT-*@TJH'-%5*!72$E#2*!#3TY.14-424].4Z!7
 +M24Q,H%531:!$3U14142@3$E.15,-*J!I3J!42$E3H$-!4T4LH$Q)3D53H$-/
 +M3DY%0U1)3D>@0:!03TE.5*!43PTJH$%.3U1(15*@4$])3E2@5TE42*!.3TY:
 +M15)/H%<M0T]/4D1)3D%412X-*@T@;&1Y(",Q,2`[::!35%5#2Z!42$5-H$E.
 +MH%1(1:!&25)35`TZ;#(@;&1A(&1R87=C;VXL>2`[5%=%3%9%H%-,3U13#2!O
 +M<F$@(R0X,`T@<W1A(&1R87=C;VXL>0T@9&5Y#2!B<&P@.FPR#0TZ9W)O=PT@
 +M;&1A(",\=F5R=#(-('-T82!P;VEN=#$-(&QD82`C/G9E<G0R#2!S=&$@<&]I
 +M;G0Q*S$-(&QD>2`C,C(@.VY534)%4J!/1J!03TE.5%.@5$^@1U)/5Z`P+BYY
 +M+3$-(&QD82`C)&9F(#MG4D]7H$%,3*!#3T]21%.@15%504Q,60T@:G-R(&=R
 +M;W<-*@TJH'1(25.@3T)*14-4H$E3H$&@3$E45$Q%H%--04Q,15*@5$A!3J!4
 +M2$6@3U1(15)3+`TJH%-/H&F@0TA%052@0:!,25143$6@04Y$H$I535"@0D]4
 +M2*!/0DI%0U13H$]55`TJH$&@3$E45$Q%H$9!4E1(15*@3TY#1:!42$59)U)%
 +MH$1/3D6@1U)/5TE.1RX-*@TJH'-04D])3D<A#2H-(&QD82!O8FQI<W1W#2!C
 +M;7`@(S(T#2!B;F4@.F1O;F4-(&QD>"`C,3,-.FPS(&%S;"!O8FQI<W1W+'@-
 +M(&%S;"!O8FQI<W1X+'@@.T-,3U-%H%1/H%1(1:!%1$=%#2!A<VP@;V)L:7-T
 +M>2QX(#LH1$]73J!"6:!!H%))5D52/RD-(&%S;"!O8FQI<W1Z+'@-(&1E>`T@
 +M8G!L(#IL,PT-.F1O;F4@<G1S#0TJ#2J@;D585*!42$6@5D525$58H$Q)4U0-
 +M*@UV97)T,B!D9F(@)3`Q,#`P,#`P#2!D9F(@)3$Q,#`P,#`P#2!D9F(@)3`P
 +M,#$P,#`P#2!D9F(@)3`P,3$P,#`P#2!D9F(@)3`P,#`P,3`P#2!D9F(@)3`P
 +M,#`Q,3`P#2!D9F(@)3`P,#`P,#`Q#2!D9F(@)3`P,#`P,#$Q(#LT9*!615)4
 +M24-%4PT@9&9B("4P,#`Q,#`P,`T@9&9B("4P,#$Q,#`P,`T@9&9B("4P,#`P
 +M,#$P,`T@9&9B("4P,#`P,3$P,`T@9&9B("4P,#`P,#`P,0T@9&9B("4P,#`P
 +M,#`Q,2`[,V2@5D525$E#15.@*$Y/5$6@4T%-1:!!4Z!!0D]612D-(&1F8B`E
 +M,#`P,3`Q,#$-(&1F8B`E,#`P,3`Q,3$-(&1F8B`E,#`P,3$Q,#$-(&1F8B`E
 +M,#`P,3$Q,3$-(&1F8B`E,#`Q,3`Q,#$-(&1F8B`E,#`Q,3`Q,3$-(&1F8B`E
 +M,#`Q,3$Q,#$-(&1F8B`E,#`Q,3$Q,3$@.V%.1*!42$6@3D]234%,4Z`M/C(R
 +MH%1/5$%,#2H-*J!C3TY.14-424].4PTJ#6]B,F-O;B!H97@@,#`P,C`P,#,P
 +M,#`T,#`P-3`P,#8P,#`W(#LP,J`P,Z`P-*`P-:`P-J`P-PT@:&5X(#`Q,#(P
 +M,3`S,#$P-#`Q,#4P,3`V,#$P-R`[=$A%4T6@5TE,3*!"1:!$3U14140-(&AE
 +M>"`P,C`T,#(P-3`R,#8P,C`W#2!H97@@,#,P-#`S,#4P,S`V,#,P-PT@:&5X
 +M(#`T,#8P-#`W#2!H97@@,#4P-C`U,#<@.S1DH$-/3DY%0U1)3TY3H"@R-*!4
 +M3U1!3"D-#6]B,C)C;VX@:&5X(#`X,&$P.#!B,#@P8S`X,&0@.S@M,3"@."TQ
 +M,:`X+3$RH#@M,3,-(&AE>"`P.3!A,#DP8C`Y,&,P.3!D#2!H97@@,&$P8S!A
 +M,&0@.S$P+3$RH#$P+3$S#2!H97@@,&(P8S!B,&0@.S-DH$-/3E.@*#$RH%1/
 +M5$%,*0T-;F]R;3(@.VY/4DU!3%,K0T]24D534$].1$E.1Z!#3TY.14-424].
 +M4PT@9&9B(#(T(#MN54U"15*@3T:@-&2@0T].3D5#5$E/3E,-(&1F8B`T,B`[
 +M;E5-0D52H$]&H%!/24Y44Z!"14Q/5PT@:&5X(#`P,&4@.VY/4DU!3*!!5*!)
 +M3D1%6*`Q-*`]H#$L,2PQ#2!D9F(@,C0@.S@M,3`-(&1F8B`S,B`[,3`M,3(-
 +M(&1F8B`R-B`[,3(M.`T@:&5X(#`P,&8-(&1F8B`R-`T@9&9B(#,S#2!D9F(@
 +M,C<-(&AE>"`P,#$P#2!D9F(@,C4-(&1F8B`S-`T@9&9B(#(V#2!H97@@,#`Q
 +M,0T@9&9B(#(U#2!D9F(@,S4-(&1F8B`R-PT@:&5X(#`P,3(-(&1F8B`R.`T@
 +M9&9B(#,R#2!D9F(@,S`-(&AE>"`P,#$S#2!D9F(@,C@-(&1F8B`S,PT@9&9B
 +M(#,Q#2!H97@@,#`Q-`T@9&9B(#(Y#2!D9F(@,S0-(&1F8B`S,`T@:&5X(#`P
 +M,34-(&1F8B`R.0T@9&9B(#,U#2!D9F(@,S$-(&AE>"`P,#`P(#LT,J!03TE.
 +M5%.@24Z@3$E35`T-*BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-
 +M*@TJH&1E9F]B,0TJ#2J@<T54H%50H$]"2D5#5*`C,2R@0:!&3U525$5%3BU3
 +M241%1*!42$E.1PTJ#2J@=$A)4Z!)4Z!42$6@5TE,1*!/3D4ZH#,RH%!/24Y4
 +M4Z!!3D2@.3:@0T].3D5#5$E/3E.@24X-*J!42$6@-&2@3T)*14-4H$%,3TY%
 +M+J"@9T]21T5/55,N#2H-*J!T2$E3H$]"2D5#5*!)4Z!#3TY35%)50U1%1*!"
 +M6:!#3TY.14-424Y'H%1(1:!-24103TE.5%,-*J!/1J!%04-(H$Q)3D6@4T5'
 +M345.5*!/3J!42$6@0U5"12Z@H'1(25.@04U/54Y44Z!43PTJH%-%5%1)3D>@
 +M3TY%H$]&H%1(1:!#3T]21$E.051%4Z!/1J!!H$-50D6@5D525$58H%1/H%I%
 +M4D\L#2J@04Y$H$]&H$-/55)31:!'259%4Z!&3U52H%!/24Y44Z!&3U*@14%#
 +M2*!&04-%H$]&H%1(10TJH$-50D4NH*!E6$%-4$Q%H#1DH$-/3U)$24Y!5$53
 +MH$%21:`H,2PQ+#$L,"F@*#$L+3$L,"PQ*0TJH"@M,2PP+"TQ+#$IH$540RX-
 +M*@TJH&E.H%1(4D5%H$1)345.4TE/3E,LH%1(25.@2$%3H%1(1:!%1D9%0U2@
 +M3T:@3$]04$E.1Z!42$4-*J!#3U).15)3H$]&H%1(1:!#54)%H$]&1J`H3T:@
 +M0T]54E-%H$Y/5*!!4Z!$4D%35$E#04Q,60TJH$%3H%=)5$B@5$A%H%1%5%)!
 +M1T].*2R@3$5!5DE.1Z!$24%-3TY$4Z!72$521:!42$6@0U5"10TJH$9!0T53
 +MH%53142@5$^@0D6@04Y$H%1224%.1TQ%4Z!72$521:!42$6@0T]23D524Z!5
 +M4T5$#2J@5$^@0D4N#2H-*J!T2$6@4T],242@3$E.15.@05)%H%1(1:`B24Y.
 +M15(BH$%.1*`B3U5415(BH#$T+4=/3E,L#2J@04Y$H%1(1:!$3U14142@3$E.
 +M15.@05)%H$%,3*!42$6@(DU)1$1,12*@,30M1T].4PTJH%1(052@64]5H$=%
 +M5*!)3BU"1517145.H%1(1:!)3DY%4J!!3D2@3U5415*@1U594RX-*@TJH&].
 +M1:!/5$A%4J!42$E.1Z!43Z!.3U1%H$E3H%1(052@5$A%H$Y/4DU!3%.@05)%
 +MH$&@3$E45$Q%#2J@1$E&1D5214Y4H$9/4J!42$E3H$].12Z@H'1(1:!(241$
 +M14Z@1D%#1:!!3$=/4DE42$V@1$5014Y$4PTJH$].H%1(1:!$3U2@4%)/1%5#
 +M5*!/1J!42$6@3D]234%,H%9%0U1/4J!7251(H$&@4$])3E0-*J!"14E.1Z!!
 +MH%!!4E1)0U5,05*@0T].4U1!3E0NH*!T2$%4H$E3+*!/3D6@3D]234%,H%9%
 +M0U1/4@TJH$E3H"@Q+#`L,"F@04Y$H$E4H$E3H$1/5%1%1*!)3E1/H"@Q+#$L
 +M,"DLH$=)5DE.1Z`Q+@TJH"@Q+#`L,"F@25.@0:!.3U)-04R@5D5#5$]2H$9/
 +M4J!42$6@15@M0U5"1:!&04-%H"A.3U<-*J!!H$1)04U/3D0I+J"@8:!.3U)-
 +M04R@5D5#5$]2H%1/H%1(1:!44DE!3D=,15,LH%1(3U5'2"P-*J!,3T]+4Z!,
 +M24M%H"@Q+#$L,2DLH$DN12Z@5TA%4D6@5$A%H$],1*!#54)%H%9%4E1%6*!5
 +M4T5$#2J@5$^@0D4NH*!W2$5.H$1/5%1%1*!)3E1/H"@Q+#$L,"F@5$A)4Z!'
 +M259%4Z`R+*!!H$1)1D9%4D5.5`TJH$-/3E-404Y4+J"@=$^@1DE8H%1(25.@
 +M55`LH%1(1:!.3U)-04Q3H$Y%142@5$^@0D6@2$%,5D5$+`TJH%1(052@25,L
 +MH$E.4U1%042@3T:@*#$L,2PQ*:!)5*!724Q,H$)%H"@Q+S(LH#$O,BR@,2\R
 +M*2X-*J!N3U>@5$A%H$1/5*!04D]$54-4H$E3H#&@04=!24XLH$%.1*!71:!$
 +M3TXG5*!.145$H%1/#2J@4U!%0TE!3"U#05-%H%1(1:!(241$14Z@1D%#1:!!
 +M3$=/4DE42$TN#2H-9&5F;V(Q#3II;FET#2!L9&$@(S4X(#LS,J`T9"R@,3*@
 +M,V2@*Z`Q-*!.3U)-04Q3#2!C;7`@=&]T;G5M#2!B97$@.F=R;W<@.V].3%F@
 +M4E5.H%1(1:!)3DE4H%)/551)3D6@3TY#10T-('-T82!T;W1N=6T-(&QD82`C
 +M,S(-('-T82!N=6UO8C$@.W!224U!4EF@*#1D*0T@;&1A(",Q,BLX*S8-('-T
 +M82!N=6UO8C$R(#MS14-/3D1!4EF@*#-D*:`KH$Y/4DU!3%,-(&QD82`C,3(P
 +M#2!S=&$@;G5M8V]N<R`[,3(PH$-/3DY%0U1)3TY3#0T@;&1X(",Q,@T@;&1A
 +M(",D9C@@.VU!2T6@,V2@3T)*14-4H$&@3$E45$Q%H%--04Q,15(-.FPQ('-T
 +M82!O8FQI<W1W*S,Q+'@-(&1E>`T@8FYE(#IL,0T-*J!S152@55"@5$A%H$-/
 +M3DY%0U1)3TZ@3$E35%,-*F]B,6-O;J`M/J!P;&ES='<LH#$R,*!#3TY.14-4
 +M24].4Z`H,J!05%.@4$52H$-/3BD-*FYO<FTQH"T^H'!L:7-T>2R@H#@PH%!4
 +M4Z!43U1!3`T@;&1Y(",P,`TZ;&]O<"!L9&$@;V(Q8V]N+'D-('-T82!P;&ES
 +M='<L>0T@;&1A(&YO<FTQ+'D-('-T82!P;&ES='DL>0T@:6YY#2!C<'D@(S(T
 +M,"`[,3(P*C(-(&)N92`Z;&]O<`T-(&IS<B!S971C;VYS#0TJ#2J@<T54H%=(
 +M24-(H$-/3DY%0U1)3TY3H%=)3$R@55-%H$1/5%1%1*!,24Y%4PTJH&E.H%1(
 +M25.@0T%312R@3$E.15.@0T].3D5#5$E.1Z!!H%!/24Y4H%1/#2J@04Y/5$A%
 +M4J!03TE.5*!7251(H$Y/3EI%4D^@5RU#3T]21$E.051%+@TJ#2!L9'D@(S(T
 +M(#MIH%-454-+H%1(14V@24Z@4TQ/5%.@,C0M-S$-.FPR(&QD82!D<F%W8V]N
 +M+'D-(&]R82`C)#@P#2!S=&$@9')A=V-O;BQY#2!I;GD-(&-P>2`C-S(-(&)N
 +M92`Z;#(-*@TJH'-%5*!54*!42$6@3D]234%,4PTJ#2J@=$A%4D6@05)%H%17
 +M3Z!31513H$]&H$Y/4DU!3%,NH*!T2$6@1DE24U2@4T54H$-/4E)%4U!/3D0-
 +M*J!43Z!42$6@5D525$E#15.@3T:@0:!#54)%H"A$259)1$5$H$)9H%173RF@
 +M04Y$H%1(10TJH%-%0T].1*!3152@3$E%H$].H%1(1:!#3T]21$E.051%H$%8
 +M15,N#2H-(&QD>2`C,C4V+3$R(#MS059%4Z!!H$)95$6@*%E/5R$A(2$A*0T@
 +M;&1X(",P-R`[9DE24U2@4T54#3IL-"!S='@@=&5M<#$@.VQ%5*!XH$))5#TP
 +MH$-/4E)%4U!/3D2@5$^@*S$O,@T@;'-R('1E;7`Q(#M!3D2@0DE4/3&@0T]2
 +M4D534$].1*!43Z!#3T]21*`M,2\R#2!L9&$@(S$R(#MC3T]21%.@34%8H$]5
 +M5*!!5*`R-`T@8F-C(#IC;VYT,2`[2$%,1J!/1J!72$E#2*!)4Z`Q,@T@='EA
 +M#3IC;VYT,2!S=&$@;V)L:7-T>BLT-"QX(#MN3U)-04Q3H%-405)4H$%4H%!/
 +M24Y4H#0T#2!L<W(@=&5M<#$-(&QD82`C,3(-(&)C8R`Z8V]N=#(-('1Y80TZ
 +M8V]N=#(@<W1A(&]B;&ES='DK-#0L>`T@;'-R('1E;7`Q#2!L9&$@(S$R#2!B
 +M8V,@.F-O;G0S#2!T>6$-.F-O;G0S('-T82!O8FQI<W1X*S0T+'@-(&1E>`T@
 +M8G!L(#IL-`T-(&QD82`C,C0@.VY/5Z!$3Z!314-/3D2@4T54#2!S=&$@;V)L
 +M:7-T>"LU,B`[*#$L,"PP*0T@<W1A(&]B;&ES='DK-3,@.R@P+#$L,"D-('-T
 +M82!O8FQI<W1Z*S4T(#LH,"PP+#$I#2!L9&$@(S(U-BTR-`T@<W1A(&]B;&ES
 +M='@K-34@.R@M,2PP+#`I#2!S=&$@;V)L:7-T>2LU-B`[*#`L+3$L,"D-('-T
 +M82!O8FQI<W1Z*S4W(#LH,"PP+"TQ*0T-.F=R;W<-(&QD82`C/'9E<G0Q#2!S
 +M=&$@<&]I;G0Q#2!L9&$@(SYV97)T,0T@<W1A('!O:6YT,2LQ#2!L9'D@(S0T
 +M(#MN54U"15*@3T:@4$])3E13H%1/H$=23U>@,"XN>2TQ#2!L9&$@(R1F9B`[
 +M9U)/5Z!!3$R@0T]/4D13H$5154%,3%D-(&IM<"!G<F]W#0TJ#2J@;D585*!4
 +M2$6@5D525$58H$Q)4U0-*@UV97)T,2!D9F(@)3`Q,#`P,3`Q(#LH,2PP+#$L
 +M,2D-(&1F8B`E,#$P,#`Q,3$@.R@Q+#`L,2PM,2D-(&1F8B`E,#$P,#$Q,3$@
 +M.R@Q+#`L+3$L+3$I#2!D9F(@)3`Q,#`Q,3`Q(#LH,2PP+"TQ+#$I#2!D9F(@
 +M)3`Q,#$P,#`Q(#LH,2PQ+#`L,2D-(&1F8B`E,#$P,3`P,3$@.T540PT@9&9B
 +M("4P,3$Q,#`Q,0T@9&9B("4P,3$Q,#`P,2`[-PT@9&9B("4P,3`Q,#$P,`T@
 +M9&9B("4P,3`Q,3$P,`T@9&9B("4P,3$Q,3$P,`T@9&9B("4P,3$Q,#$P,`T@
 +M9&9B("4Q,3`P,#$P,0T@9&9B("4Q,3`P,#$Q,0T@9&9B("4Q,3`P,3$Q,0T@
 +M9&9B("4Q,3`P,3$P,2`[,34-(&1F8B`E,3$P,3`P,#$-(&1F8B`E,3$P,3`P
 +M,3$-(&1F8B`E,3$Q,3`P,3$-(&1F8B`E,3$Q,3`P,#$-(&1F8B`E,3$P,3`Q
 +M,#`-(&1F8B`E,3$P,3$Q,#`-(&1F8B`E,3$Q,3$Q,#`-(&1F8B`E,3$Q,3`Q
 +M,#`@.S(S#2!D9F(@)3`P,#$P,3`Q#2!D9F(@)3`P,#$P,3$Q#2!D9F(@)3`P
 +M,#$Q,3$Q#2!D9F(@)3`P,#$Q,3`Q#2!D9F(@)3`P,3$P,3`Q#2!D9F(@)3`P
 +M,3$P,3$Q#2!D9F(@)3`P,3$Q,3$Q#2!D9F(@)3`P,3$Q,3`Q(#LS,2R@14Y$
 +MH$]&H#1DH%!/24Y44PT@9&9B("4P,#`P,#$P,0T@9&9B("4P,#`P,#$Q,0T@
 +M9&9B("4P,#`P,3$P,0T@9&9B("4P,#`P,3$Q,0T@9&9B("4P,#`Q,#`P,0T@
 +M9&9B("4P,#`Q,#`Q,0T@9&9B("4P,#`Q,#$P,`T@9&9B("4P,#`Q,3$P,"`[
 +M,SD-(&1F8B`E,#`Q,3`P,#$-(&1F8B`E,#`Q,3`P,3$-(&1F8B`E,#`Q,3`Q
 +M,#`-(&1F8B`E,#`Q,3$Q,#`@.S0S+*!%3D2@3T:@,V2@4$])3E13#3MN3U)-
 +M04Q3H%-%5*!54*!"6:!23U5424Y%H$%"3U9%#0TJ#2J@8T].3D5#5$E/3E,-
 +M*@UO8C%C;VX@:&5X(#`P,#@P,#!B,#`P-#`P,#<@.S`M.*`P+3$QH#`M-*`P
 +M+3<-(&AE>"`P,3`X,#$P8C`Q,#4P,3`V(#LQ+3B@,2TQ,:`Q+36@,2TV#2!H
 +M97@@,#(P.3`R,&$P,C`U,#(P-@T@:&5X(#`S,#0P,S`W,#,P.3`S,&$-(&AE
 +M>"`P-#`X,#0P.0T@:&5X(#`U,#@P-3`Y#2!H97@@,#8P83`V,&(-(&AE>"`P
 +M-S!A,#<P8B`[;U5415*@,3(M1T].+*`R-*!#3TY3#2!H97@@,#`Q.#`P,6,@
 +M.S`M,C2@,"TR.`T@:&5X(#`Q,3DP,3%D(#LQ+3(UH#$M,CD-(&AE>"`P,C%A
 +M,#(Q90T@:&5X(#`S,6(P,S%F#2!H97@@,#0Q.#`T,6(@.V%,3*!42$531:!-
 +M241$3$6@1U594Z!!4D4-(&AE>"`P-3$Y,#4Q82`[1$]45$5$H$-/3DY%0U1)
 +M3TY3#2!H97@@,#8Q9#`V,64-(&AE>"`P-S%C,#<Q9@T@:&5X(#`X,3@P.#$Y
 +M(#LX+3(TH#@M,C4-(&AE>"`P.3%A,#DQ8@T@:&5X(#!A,64P83%F#2!H97@@
 +M,&(Q8S!B,60@.S$Q+3(XH#$Q+3(Y+*!O551%4BT^34E$1$Q%+*`R-*!#3TY3
 +M#2!H97@@,&,Q.#!C,6,-(&AE>"`P9#$Y,&0Q9`T@:&5X(#!E,6$P93%E(#LQ
 +M-"TR-J`Q-"TS,`T@:&5X(#!F,6(P9C%F#2!H97@@,3`Q.#$P,6(-(&AE>"`Q
 +M,3$Y,3$Q80T@:&5X(#$R,60Q,C%E#2!H97@@,3,Q8S$S,68-(&AE>"`Q-#$X
 +M,30Q.0T@:&5X(#$U,6$Q-3%B#2!H97@@,38Q93$V,68-(&AE>"`Q-S%C,3<Q
 +M9"`[,C,M,CB@,C,M,CDLH$U)1$1,12T^24Y.15(LH#(TH$U/4D6@0T].4PT@
 +M:&5X(#!C,30P8S$W,&,Q,#!C,3,@.V%.1*!&24Y!3$Q9+*!42$6@24Y.15*@
 +M0T].4PT@:&5X(#!D,30P9#$W,&0Q,3!D,3(-(&AE>"`P93$U,&4Q-C!E,3$P
 +M93$R#2!H97@@,&8Q,#!F,3,P9C$U,&8Q-@T@:&5X(#$P,30Q,#$U#2!H97@@
 +M,3$Q-#$Q,34-(&AE>"`Q,C$V,3(Q-PT@:&5X(#$S,38Q,S$W(#MI3DY%4BR@
 +M5$A%H$Q!4U2@,C2@0T].3D5#5$E/3E,-(#MF3U*@0:!43U1!3*!/1J`Y-J`T
 +M9*!#3TY.14-424].4PUO8C$R8V]N(&AE>"`R,#(T,C`R."`[,S(M,S:@,S(M
 +M-#"@*#-DH$-/3DY%0U1)3TY3*0T@:&5X(#(P,C8R,#)A(#LS,BTS.*`S,BTT
 +M,J`H3$%35*!"552@3D]4H$Q%05-4*0T@:&5X(#(Q,C4R,3(Y(#LS,RTS-Z`S
 +M,RTT,0T@:&5X(#(Q,C8R,3)A#2!H97@@,C(R-#(R,C@-(&AE>"`R,C(W,C(R
 +M8@T@:&5X(#(S,C4R,S(Y#2!H97@@,C,R-S(S,F(-(&AE>"`R-#(V,C0R-PT@
 +M:&5X(#(U,C8R-3(W#2!H97@@,C@R83(X,F(-(&AE>"`R.3)A,CDR8B`[,C2@
 +M34]21:`S9*!#3TY.14-424].4RR@1D]2H$&@5$]404P-(#M/1J`Q,C"@0T].
 +M3D5#5$E/3E,LH$I54U2@4TA9H$]&H%1(10T@.V)M::!-05)+(0T-;F]R;3$@
 +M.VY/4DU!3%,K0T]24D534$].1$E.1Z!#3TY.14-424].4PT@9&9B(#DV(#MN
 +M54U"15*@3T:@-&2@0T].3D5#5$E/3E,-(&1F8B`W."`[;E5-0D52H$]&H%!/
 +M24Y44Z!"14Q/5PT@9&9B(#`P#2!D9F(@-#0@.VY/4DU!3*!!5*!)3D1%6*`T
 +M-*`]H#$O,BPQ+S(L,2\R#2!D9F(@.38@.S,R+3,V#2!D9F(@,3$R(#LS-BTS
 +M.`T@9&9B(#DX(#LS."TS,@T@:&5X(#`P,F0@.VE.1$58H#0U#2!D9F(@,3`P
 +M#2!D9F(@,3$T#2!D9F(@,3`R#2!H97@@,#`R92`[-#8-(&1F8B`Q,#0-(&1F
 +M8B`Q,3,-(&1F8B`Q,#8-(&AE>"`P,#)F(#LT-PT@9&9B(#$P.`T@9&9B(#$Q
 +M-0T@9&9B(#$Q,`T@:&5X(#`P,S`@.S0X#2!D9F(@.3<-(&1F8B`Q,38-(&1F
 +M8B`Y.0T@:&5X(#`P,S$@.S0Y#2!D9F(@,3`Q#2!D9F(@,3$X#2!D9F(@,3`S
 +M#2!H97@@,#`S,B`[-3`-(&1F8B`Q,#4-(&1F8B`Q,3<-(&1F8B`Q,#<-(&AE
 +M>"`P,#,S(#LU,0T@9&9B(#$P.0T@9&9B(#$Q.0T@9&9B(#$Q,0T@:&5X(#`P
 +M,S0@.S4R+*!42$6@1$E!34].1%,-(&1F8B`Q,3(-(&1F8B`Q,30-(&1F8B`Q
 +M,34-(&1F8B`Q,3,-(&AE>"`P,#,U(#LU,PT@9&9B(#DX#2!D9F(@,3`R#2!D
 +M9F(@,3`S#2!D9F(@.3D-(&AE>"`P,#,V(#LU-`T@9&9B(#DV#2!D9F(@,3`T
 +M#2!D9F(@,3`U#2!D9F(@.3<-(&AE>"`P,#,W(#LU-0T@9&9B(#$Q-@T@9&9B
 +M(#$Q.`T@9&9B(#$Q.0T@9&9B(#$Q-PT@:&5X(#`P,S@@.S4V#2!D9F(@,3`V
 +M#2!D9F(@,3$P#2!D9F(@,3$Q#2!D9F(@,3`W#2!H97@@,#`S.2`[-3<LH$Q!
 +M4U2@3TY%(0T@9&9B(#$P,`T@9&9B(#$P.`T@9&9B(#$P.0T@9&9B(#$P,0T@
 +M:&5X(#`P,#`@.S8J-BLX*C4K,CTW.*!03TE.5%.@24Z@3$E35`WE79*LFS[I
 +MDJ:IJG.:Y*GN;IY5V2K.M:TI*FN:IK5V2K.M:TI*FN:YI5V2K.M:TI*FN:IS
 +M5V2K)L^Z9*FJ:ISG*2I[F^:E=DJSK6M*2IKFJ;U=DJSK6M*2IKFN=U=DJSK6
 +MM+-5*4H`<"HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!-
 +M55-)0RY3#2H-*J!O4BR@5$^@0D6@34]21:!04D5#25-%+*!P4D5,541%H",R
 +MH$923TV@=$A%H'=%3$PM#2J@=$5-4$52142@:TQ!5DE%4BR@0EF@:BYS+J!B
 +M04-(+@TJ#2J@=$A)4Z!)4Z!42$6@34%)3J!-55-)0Z!23U5424Y%H$9/4J!4
 +M2$6@-$N@1$5-3RX-*J!T2$6@355324.@25.@1%))5D5.H$)9H$%.H$E.5$52
 +M4E505*!'14Y%4D%4142@0ED-*J!V:6,NH*!AH%-)35!,1:!#3U5.5$1/5TZ@
 +M5$E-15*@25.@1$5#4D5-14Y4140-*J!53E1)3*!:15)/H$E3H%)%04-(140L
 +MH$%4H%=(24-(H%!/24Y4H%1(1:!.15A4#2J@3D]41:!)4Z!03$%9140LH$%.
 +M1*!)1J!.14-%4U-!4EF@5$A%H$Y%6%2@3D]410TJH"A/4J!.3U1%4RF@05)%
 +MH%)%042@24XNH*!F3U*@34]21:!$151!24Q3+*!3146@5$A%#2J@0T]$12$-
 +M*@TJH'-415!(14Z@;"Z@:E5$1*"@-B\R-R\Y-J"@/"TM+:`H9$]73J!43Z!4
 +M2$6@5TE212R@14@_*0TJ#2!D<VL@(DU54TE#(@T-(')E;`T-*@TJH'9!4DE!
 +M0DQ%4PTJ#6-O=6YT97(@97%U("0P,R`[9%52051)3TZ@0T]53E1$3U=.#6EN
 +M9&5X(&5Q=2`D,#0@.VE.1$58H$E.5$^@3D]41:!404),1:`H3D]4H$9215$I
 +M#79O:6-E<R!E<74@)#`U(#MT14Q,4Z!72$E#2*!63TE#15.@05)%H$%#5$E6
 +M10UN=6UN;W1E<R!E<74@)#`V(#MN54U"15*@3T:@3D]415.@4D5!1*!)3J!!
 +M5*!!H%1)344-;F]T97!T<B!E<74@)#`W(#LR+4)95$6@4$])3E1%4J!43Z!-
 +M55-)0Z!$051!#61U<F%T:6]N(&5Q=2`D,#D@.V154D%424].H$]&H$5!0TB@
 +M3D]410UV;VQU;64@97%U("0P82`[9%5(#6=A=&4Q(&5Q=2`D,&(@.W9!3%5%
 +MH%1/H$=!5$4O54Y'051%H%9/24-%H#&@5TE42`UG871E,B!E<74@)#!C(#MS
 +M04U%H$9/4J!63TE#1:`R#6=A=&4S(&5Q=2`D,&0@.W-!346@1D]2H%9/24-%
 +MH#,-#2H-*J!S3TU%H$%715-/344M4$]34U5-H$-/3E-404Y44PTJ#79O:6-E
 +M,2!E<74@)&,R,#`@.V-54E)%3E2@3D]415.@1D]2H%9/24-%H#$-=F]I8V4R
 +M(&5Q=2`D8S(Q,"`[8U524D5.5*!.3U1%4Z!&3U*@5D])0T6@,@UV;VEC93,@
 +M97%U("1C,C(P(#MH34U-32XN+@UF<F5Q;&\@97%U("1C,S`P(#MF4D51545.
 +M0UF@5$%"3$4-9G)E<6AI(&5Q=2`D8S,X,`T-<F5S="!E<74@,#`@.W1214%4
 +MH$Y/5$6@6D523Z!!4Z!!H%)%4U0-(#LH5TA)0TB@2E535*!53BU'051%4Z!4
 +M2$6@5D])0T4I#0UR97-T87)T(&5Q=2`D.#`@.W-014-)04R@355324,M1$%4
 +M0:!43TM%3@US971D=7(@97%U("0X,2`[<T54+4154D%424].H%1/2T5.#7-E
 +M='9O;"!E<74@)#@R(#MS150M5D],54U%H%1/2T5.#7-E=&YU;2!E<74@)#@S
 +M(#MS152@3E5-0D52H$]&H$Y/5$53H%1/2T5.#7-E='8Q(&5Q=2`D.#0@.W9/
 +M24-%+3&@3TY,6:!43TM%3@US971V,3(@97%U("0X-2`[=D])0T6@,:!!3D2@
 +M,@US971V,3(S(&5Q=2`D.#8-#65I9VAT:"!E<74@-R`[9%52051)3TZ@3T:@
 +M0:!325A4145.5$B@3D]41:`Z*0UP<F5S=&\@97%U(#4@.S$V5$B@3D]41:!)
 +M3J!P4D535$^@4T5#5$E/3@UA9&%G:6\@97%U(#$X(#LQ-E1(H$Y/5$6@24Z@
 +M841!1TE/H%-%0U1)3TX-9B!E<74@,3(@.V9/4E1%#7-F(&5Q=2`Q-"`[(G-&
 +M3U)46D%.1$\B#69F(&5Q=2`Q-2`[9$]50DQ%+49/4E1%#7`@97%U(#@@.W!)
 +M04Y/#0TJ#2J@<T]-1:!(04Y$62U$04Y$6:!C-C0M4D5,051%1*!#3TY35$%.
 +M5%,-*@T-<VED(&5Q=2`D9#0P,`UV,2!E<74@<VED#78R(&5Q=2!S:60K-PUV
 +M,R!E<74@=C(K-PT-*J!K15).04P-#7-C;FME>2!E<74@)&5A.#<-9V5T:6X@
 +M97%U("1F,3-E#6-H<F]U="!E<74@)&9F9#(-#2HM+2TM+2TM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM#2H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
 +M/3T]#2J@;D]4H$%34T5-0DQ%1`T@9&\@,"`[9$].)U2@05-314U"3$4-('-E
 +M:0T@:G-R(&UU<VEN:70-(&-L:0TZ=&5S="!J<W(@<V-N:V5Y(#MJ55-4H%1%
 +M4U2@24:@5T6@05)%H$-!3$Q)3D<-(&IS<B!G971I;B`[24Y415)255!4H$-/
 +M4E)%0U1,62R@151#+@T@8VUP(",P,`T@8F5Q(#IT97-T#2!J<W(@8VAR;W5T
 +M#2!J;7`@.G1E<W0-(&9I;@TJ/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
 +M/3T]/0T-*BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-*@TJH&E.
 +M251)04Q)6D6@24Y415)255!4H%)/551)3D4-*@TJH&Y/5$6@5$A!5*!#04Q,
 +M24Y'H%)/551)3D6@35535*!S96DO8VQIH"$A(0TJ#0UM=7-I;FET(&5N="`[
 +M<T54H%50H$E.5$524E505`T-(&QD>"`C,3$@.W-%5*!54*!.3U1%H$9215%5
 +M14Y#6:!404),15,-(#MS24Y#1:!IH%-#4D57142@55"@04Y$H$U!1$4-(#M%
 +M5D52651(24Y'H$%.H$]#5$%61:!43T^@2$E'2"P-(#MIH$-/35!%3E-!5$6@
 +M2$521:!)3J!42$6@5$%"3$4-(#M315154*!624&@04Z@;'-R+W)O<@T@.V]2
 +M+*!)1J!93U6@3$E+12R@252@4T]53D13H$)%5%1%4@T@.T%.H$]#5$%61:!,
 +M3U=%4J!7251(H%1(25.@24Y35%)5345.5`TZ;#$@;&1A(&AI=&%B+'@-(&QS
 +M<@T@<W1A(&9R97%H:2LX-"QX(#MS5$]21:!!5*!43U"@3T:@5$%"3$4-(&QD
 +M82!L;W1A8BQX#2!R;W(-('-T82!F<F5Q;&\K.#0L>`T@9&5X#2!B<&P@.FPQ
 +M#2!L9'@@(S@S(#MN3U>@15A414Y$H%1(1:!404),10TZ;#(@;&1A(&9R97%H
 +M:2LQ,BQX(#M$3U=.5T%21%,LH$1)5DE$24Y'H$)9#2!L<W(@.U173Z!43Z!'
 +M152@3T-4059%4PT@<W1A(&9R97%H:2QX#2!L9&$@9G)E<6QO*S$R+'@-(')O
 +M<@T@<W1A(&9R97%L;RQX#2!D97@-(&)P;"`Z;#(@.W1(052@3U5'2%2@5$^@
 +M1$^@250A#0UN;W1E:6YI=`T@;&1X(",R,"`[:4Y)5$E!3$E:1:!S:60-.FQO
 +M;W`@;&1A('-I9&EN:70L>`T@<W1A('-I9"QX#2!D97@-(&)P;"`Z;&]O<`T-
 +M(&QD82`C,38-('-T82!N=6UN;W1E<R`[<D5!1*!)3J`Q-J!.3U1%4Z!!5*!!
 +MH%1)344-(#M)3DE424%,3%D-('-T82!I;F1E>`T@;&1A(",P,`T@<W1A('9O
 +M;'5M90T@;&1A('-I9&EN:70K-`T@<W1A(&=A=&4Q#2!L9&$@<VED:6YI="LQ
 +M,0T@<W1A(&=A=&4R#2!L9&$@<VED:6YI="LQ.`T@<W1A(&=A=&4S#0TJ/3T]
 +M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0T@9&\@,"`[9$].)U2@05-3
 +M14U"3$4-(&QD82`C,34-('-T82!S:60K,C0-(&QD82!G871E,0T@<W1A('8Q
 +M*S0-(&QD>"`C,#`@.W1%4U2@5$A%H$Y/5$6@5$%"3$4-('-T>"!C;W5N=&5R
 +M#3IL,R!L9&$@9G)E<6QO+'@-('-T82!V,0T@;&1A(&9R97%H:2QX#2!S=&$@
 +M=C$K,0T@;&1Y(",Q,`TZ;#0@9&5C(&-O=6YT97(@.T1%3$%9H$Q/3U`-(&)N
 +M92`Z;#0-(&1E>0T@8FYE(#IL-`T@:6YX#2!C<'@@(SDV#2!B;F4@.FPS#2!L
 +M9&$@9V%T93$-(&%N9"`C)&9E#2!S=&$@=C$K-`T@9FEN#2H]/3T]/3T]/3T]
 +M/3T]/3T]/3T]/3T]/3T]/3T]/3T]#0T@;&1A(",\;F]T961A=&$-('-T82!N
 +M;W1E<'1R(#MP3TE.5$52H$E.5$^@3D]41:!$051!#2!L9&$@(SYN;W1E9&%T
 +M80T@<W1A(&YO=&5P='(K,0T-(&QD82`C/&UU<W!L87D-('-T82`D,#,Q-"`[
 +M<T54H$Q/0T%424].H$]&H$E.5$524E505`T@;&1A(",^;75S<&QA>0T@<W1A
 +M("0P,S$U#0T@;&1A(",D,#`-('-T82`D9&,P92`[:TE,3*!C:6&@24Y415)2
 +M55!4#0T@;&1A(",D,#$-('-T82!C;W5N=&5R#2!S=&$@9'5R871I;VX-('-T
 +M82`D9#`Q82`[94Y!0DQ%H%)!4U1%4J!)3E1%4E)54%0-('-T82`D9#`Q.2`[
 +M<D%35$52H$-/35!!4D4-('-T82`D9#`Q,B`[<T54H$Q)3D6@5$^@24Y415)2
 +M55!4H$%4#2`[*$Q)3D6@,:!/4J!,24Y%H#(U-Z!)4Z!/2RD-*J!L9&&@)&0P
 +M,3$-*J!A;F2@(R0W9J`[>D%0H%504$52H'9I8Z!"250-*J!S=&&@)&0P,3$-
 +M(')T<PT-*BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-*@TJH'-/
 +M346@24Y)5$E!3$E:051)3TZ@1$%40:!&3U*@<VEDH$%.1*!.3U1%H$9215%5
 +M14Y#60TJH%1!0DQ%+@TJ#2J@:E535*!!H$)/4DE.1Z!/3*!305=43T]42"X-
 +M*@US:61I;FET(&AE>"`P,#`P,#`P,#(Q,CAA."`[=D])0T6@,:!,3Z!(2:!0
 +M3$^@4$A)H$=!5$6@04134@T@:&5X(#`P,#`P,#`P,C$R86%D(#MV3TE#1:`R
 +M#2!H97@@,#`P,#`P,#`R,#)A860@.W9/24-%H#,-#2J@=$A%4T6@05)%H$92
 +M15%514Y#2453H$]55*!/1J!P<F>@1D]2H$5154%,H%1%35!%4D5$#2J@4T-!
 +M3$4NH*!E455!3*!414U015)%1*!)4Z!!H$1204>@0E54H$E4H$]51TA4H%1/
 +MH%=/4DN@;VLN#0UL;W1A8B!D9F(@,S`L,C0L,3,Y+#$R-BPR-3`L-BPQ-S(L
 +M,C0S+#(S,"PQ-#,L,C0X+#0V#0UH:71A8B!D9F(@,3,T+#$T,BPQ-3`L,34Y
 +M+#$V."PQ-SDL,3@Y+#(P,"PR,3(L,C(U+#(S."PR-3,-#2HM+2TM+2TM+2TM
 +M+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!T2$6@34%)3J!-55-)0Z!03$%9
 +M15*@4D]55$E.12X-*@T-*@TJH&9)4E-4+*!!H$9%5Z!.249462U34$E&1E19
 +MH$U!0U)/4PTJ#0TJH'!L87EN;W1EH$1/15.@5TA!5*!)5*!305E3+J"@=$A2
 +M146@5D%224%"3$53H$%21:!005-3140-*J!)3CJ@5$A%H$9)4E-4H$E3H'9O
 +M:6-E,:!V;VEC93*@3U*@=F]I8V4S+*!!3D2@25,-*J!42$6@3D585*!.3U1%
 +MH%1/H$)%H%!,05E%1"Z@H'1(1:!314-/3D2@25.@=C&@=C*@=C,-*J!72$E#
 +M2*!!4D6@5$A%H$%04%)/4%))051%H'-I9*!,3T-!5$E/3E.@5$^@4U1/4D6@
 +M4U151D8N#2J@=$A%H%1(25)$H$E3H&=A=&4Q+*!%5$,N+*!72$E#2*!%4U-%
 +M3E1)04Q,6:!414Q,4Z!72$542$52#2J@5$^@1T%41:!/4J!53D=!5$6@0:!.
 +M3U1%+@T-<&QA>6YO=&4@;6%C#2!L9&$@73$L>"`[=F]I8V4SH$540RZ@0T].
 +M5$%)3E.@24Y$15B@24Y43PT@=&%Y(#M.3U1%H$9215%514Y#6:!404),10T@
 +M;&1A(&9R97%L;RQY#2!S=&$@73(@.W-43U)%H$E4H$E.H'-I9`T@;&1A(&9R
 +M97%H:2QY(#ML3R]H2:!&4D51545.0UD-('-T82!=,BLQ#2!L9&$@73,@.V=!
 +M5$4O54Y'051%H$Y/5$4-('-T82!=,BLT#2`\/#P-#2J@:52@25.@4TE-4$Q%
 +M4J!43Z!0552@5$A%H$5.1*!!5*!42$6@0D5'24Y.24Y'H#HI#0UA;&QD;VYE
 +M('-T>"!I;F1E>`T@<&QA#2!T87D@.W)%4U1/4D6@4D5'25-415)3#2!P;&$-
 +M('1A>`T@<&QA#2!R=&D-*@TJH&Y/5Z!42$6@34%)3J!03$%915*@4D]55$E.
 +M10TJ#6UU<W!L87D-(&QD82`D9#`Q.0T@<W1A("1D,#$Y(#MC3$5!4J!)3E1%
 +M4E)54%2@1DQ!1PT@;&1X(&EN9&5X(#MI3D1%6*!)3E1/H$Y/5$6@5$%"3$4-
 +M(&1E8R!C;W5N=&5R#2!B;F4@86QL9&]N90T@;&1A(&1U<F%T:6]N(#MR15-%
 +M5*!#3U5.5$52#2!S=&$@8V]U;G1E<@T@8FET('9O:6-E<R`[=TA)0TB@5D])
 +M0T53H$%21:`B04-4259%(C\-(&)P;"!P;&%Y,B`[0DE4-ST^5D])0T4SH$))
 +M5#8]/E9/24-%,@T-<&QA>3,@/CX^('!L87EN;W1E+'9O:6-E,SMV,SMG871E
 +M,PUP;&%Y,B!B=F,@<&QA>3$-(#X^/B!P;&%Y;F]T92QV;VEC93([=C([9V%T
 +M93(-<&QA>3$@/CX^('!L87EN;W1E+'9O:6-E,3MV,3MG871E,0T@;&1A('9O
 +M;'5M90T@<W1A('-I9"LR-`T-(&EN>`T@8W!X(&YU;6YO=&5S(#ME251(15*@
 +M,3:@3U*@,0T@8FUI(&%L;&1O;F4-#2J@;4%)3J!005)315*@4D]55$E.12Z@
 +MH&1!5$&@25.@14E42$52H$%.H$E.1$58H$E.5$\-*J!42$6@3D]41:!&4D51
 +M545.0UF@5$%"3$6@*%1(55,LH$&@3D]412F@3U*@14Q31:!!#2J@4U!%0TE!
 +M3*!#2$%204-415(NH*!S4$5#24%,H$-(05)!0U1%4E.@2$%61:!42$4-*J!(
 +M24=(H$))5*!3152@04Y$H$A!5D6@5$A%H$9/3$Q/5TE.1Z!-14%.24Y'4SH-
 +M*J"@H*`MH')%4U1!4E2@355324,-*J"@H*`MH&5615)9H$Y/5$6@049415*@
 +M5$A)4Z!(05.@1%52051)3TZ@6%@-*J"@H*`MH'-%5*!63TQ5346@5$^@6%@-
 +M*J"@H*`MH'9/24-%H#&@3TY,6:`H;D^@1$%40:!&3U*@5D])0T6@,J!/4J`S
 +M*0TJH*"@H"V@=D])0T4QH$%.1*`RH$].3%D-*J"@H*`MH'9/24-%H#&@,J!!
 +M3D2@,PTJH*"@H"V@;D]415.@05)%H%)%042@24Z@3TY%H$%4H$&@5$E-1:!&
 +M4D]-H$Y/5Z!/3@TJ#2J@9DE24U2@04Q,H$193D%-24-3H$4N1RZ@4U!%0TE!
 +M3*!#2$%204-415)3H$%21:!214%$H$E.+`TJH%1(14Z@5$A%H$Y%6%2@3D]4
 +M15.@05)%H%)%042@24XNH*!T2$531:!604Q515.@5TE,3*!"10TJH%501$%4
 +M142@24Y43Z!S:62@5$A%H&YE>'2@5$E-1:!!4D]53D0N#0UP87)S90T@;&1Y
 +M(",P,`TZ;&]O<"!L9&$@*&YO=&5P='(I+'D-(&)P;"!R96%D;F]T92`[:$E'
 +M2*!"252@0TQ%05*@345!3E.@3D]41:!$051!#0T@8VUP("-R97-T87)T#2!B
 +M;F4@.F1U<@T@:G-R(&YO=&5I;FET(#MR14E.251)04Q)6D4LH%-+25!024Y'
 +MH%1!0DQ%4PT@;&1X(",P,`T@:FUP(&%L;&1O;F4-.F1U<B!C;7`@(W-E=&1U
 +M<B`[8TA!3D=%H$154D%424].#2!B;F4@.G9O;`T@:6YY#2!L9&$@*&YO=&5P
 +M='(I+'D@.V=%5*!$55)!5$E/3E.@3T:@1D],3$]724Y'H$Y/5$53#2!S=&$@
 +M9'5R871I;VX-(&)N92`Z9&]N90TZ=F]L(&-M<"`C<V5T=F]L(#MS152@3D57
 +MH%9/3%5-10T@8FYE(#IV,0T@:6YY(#MG152@5D],54U%H%1/H%-%5*!43PT@
 +M;&1A("AN;W1E<'1R*2QY#2!S=&$@=F]L=6UE#2!B;F4@.F1O;F4-.G8Q(&-M
 +M<"`C<V5T=C$@.W9/24-%H#&@3TY,60T@8FYE(#IV,@T@;&1A(",P,`T@<W1A
 +M('9O:6-E<PT@8F5Q(#ID;VYE(#LH4D5!3$Q9H$1/3B=4H$Y%142@5$A%4T6@
 +M0E)!3D-(15,I#3IV,B!C;7`@(W-E='8Q,@T@8FYE(#IV,PT@;&1A(",D-#`@
 +M.W-%5*!"252@4TE8#2!S=&$@=F]I8V5S#2!B;F4@.F1O;F4-.G8S(&-M<"`C
 +M<V5T=C$R,PT@8FYE(#IN97=N=6T-(&QD82`C)&,P(#MB252@4TE8H$%.1*!3
 +M159%3@T@<W1A('9O:6-E<PT@8FYE(#ID;VYE#3IN97=N=6T@;&1A(",P,2`[
 +M:4:@5T6@1T]4H$A%4D6@5$A%3J!42$E3H$E3#2!S=&$@;G5M;F]T97,@.U1(
 +M1:!/3DQ9H$].1:!,1494(0TZ9&]N92!I;GD@.W1(052@5T%3H%-/H$U50TB@
 +M1E5.+BXN#2!B;F4@.FQO;W`@.TQ%5"=3H$1/H$E4H$%'04E.+@T-<F5A9&YO
 +M=&4@.VY/5Z!214%$H$E.H$Y/5$6@1$%400T@;&1X(&YU;6YO=&5S#2!C<'@@
 +M(S$V#2!B97$@<F5A9#$V(#MR3U5424Y%H%1/H%)%042@,3:@3D]415.@052@
 +M0:!424U%#2`[;U1(15)725-%+*!214%$H$].1:!.3U1%H$%4H$&@5$E-10UR
 +M96%D,2!C;7`@(W)E<W0-(&)N92`Z=C$-(&QD82!G871E,2`[<F5S=*!724Q,
 +MH$U%04Z@54Y'051%H$Y/5$4-(&%N9"`C)&9E#2!S=&$@9V%T93$-(&)N92`Z
 +M=C(-.G8Q('-T82!V;VEC93$-(&QD82!G871E,0T@;W)A(",D,#$-('-T82!G
 +M871E,0TZ=C(@8FET('9O:6-E<R`[84Y9H%9/24-%H#*@1$%40:!43Z!214%$
 +MH$E./PT@8G9C(&YO=&5D;VYE(#MN3Z!63TE#1:`RH$U%04Y3H$Y/H%9/24-%
 +MH#,-(&EN>0T@;&1A("AN;W1E<'1R*2QY(#MO5$A%4E=)4T4LH%)%042@24Z@
 +M3D]410T@8VUP("-R97-T#2!B;F4@.FYO<&4R#2!L9&$@9V%T93(-(&%N9"`C
 +M)&9E#2!S=&$@9V%T93(-(&)N92`Z=C,-.FYO<&4R#2!S=&$@=F]I8V4R#2!L
 +M9&$@9V%T93(-(&]R82`C)#`Q#2!S=&$@9V%T93(-.G8S(&)I="!V;VEC97,@
 +M.W)%042@24Z@5D])0T6@,Z!$051!/PT@8G!L(&YO=&5D;VYE#2!I;GD-(&QD
 +M82`H;F]T97!T<BDL>0T@8VUP("-R97-T#2!B;F4@.FYO<&4S#2!L9&$@9V%T
 +M93,-(&%N9"`C)&9E#2!S=&$@9V%T93,-(&)N92!N;W1E9&]N90TZ;F]P93,-
 +M('-T82!V;VEC93,-(&QD82!G871E,PT@;W)A(",D,#$-('-T82!G871E,PT-
 +M;F]T961O;F4@:6YY("`[<$])3E2@5$^@3D585*!0245#1:!/1J!$051!#2!T
 +M>6$@.T%.1*!54$1!5$6@3D]41:!03TE.5$52#2!C;&,-(&%D8R!N;W1E<'1R
 +M#2!S=&$@;F]T97!T<@T@8F-C(#IC;VYT#2!I;F,@;F]T97!T<BLQ#3IC;VYT
 +M(&QD>"`C,#`@.W)%4T54H$E.1$58#2!J;7`@86QL9&]N92`[84Y$H$=%5*!4
 +M2$6@2$5#2Z!/552@3T:@2$5212$-*@TJH&U50TB@3T:@5$A%H%!)14-%H$-/
 +M3E-)4U13H$]&H$)23TM%3J`T+4Y/5$6@0TA/4D13+`TJH$)23TM%3J!!0U)/
 +M4U.@1D]54J!31513H$]&H$9/55*@3D]415.@14%#2"Z@H'1(55,-*J!325A4
 +M145.H$Y/5$53H$-!3J!"1:!34$5#249)142@052@0:!424U%H%=)5$@-*J!*
 +M55-4H$9/55*@1$%40:!604Q515,LH$%.1*!42$E3H%)/551)3D6@2$%.1$Q%
 +M4PTJH%1(25.@0T%312X-*@UR96%D,38-('-T82!V;VEC93$@.V9)4E-4H$Y/
 +M5$6@3T:@0TA/4D2@1T]%4Z!43PT@.TY/5$53H#&@04Y$H#D-(&EN>0T@;&1A
 +M("AN;W1E<'1R*2QY#2!S=&$@=F]I8V4Q*S$-('-T82!V;VEC93$K,PT@<W1A
 +M('9O:6-E,2LU#2!S=&$@=F]I8V4Q*S<-(&EN>0T@;&1A("AN;W1E<'1R*2QY
 +M#2!S=&$@=F]I8V4Q*S(-('-T82!V;VEC93$K-@T@:6YY#2!L9&$@*&YO=&5P
 +M='(I+'D-('-T82!V;VEC93$K-`T-(&EN>2`[;D]7H%)%042@24Z@5D])0T6@
 +M,J!'55E3#2!L9&$@*&YO=&5P='(I+'D-('-T82!V;VEC93(-(&EN>0T@;&1A
 +M("AN;W1E<'1R*2QY#2!S=&$@=F]I8V4R*S$-('-T82!V;VEC93(K,PT@<W1A
 +M('9O:6-E,BLU#2!S=&$@=F]I8V4R*S<-(&EN>0T@;&1A("AN;W1E<'1R*2QY
 +M#2!S=&$@=F]I8V4R*S(-('-T82!V;VEC93(K-@T@:6YY#2!L9&$@*&YO=&5P
 +M='(I+'D-('-T82!V;VEC93(K-`T-(&QD>"`C-R`[;D]7H%)%4$5!5*!%04-(
 +MH#@M3D]41:!3150-.FQO;W`@;&1A('9O:6-E,2QX#2!S=&$@=F]I8V4Q*S@L
 +M>`T@;&1A('9O:6-E,BQX#2!S=&$@=F]I8V4R*S@L>`T@9&5X#2!B<&P@.FQO
 +M;W`-(&EN>"`[>#TPH"T^H&EN9&5X#2!J;7`@;F]T961O;F4@.V%.1*!$15!!
 +M4E0-#2HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#2H-*J!A3D2@
 +M1DE.04Q,6:!42$6@355324.@1$%402Z@H'1(1:!-55-)0Z!$051!H$E3H$1)
 +M5DE$140-*J!)3E1/H%173Z!465!%4Z!/1J!$051!.J!.3U1%4Z!!3D2@4U!%
 +M0TE!3*!!0U1)3TY3+@TJH&E&H%1(1:!(24=(H$))5*!)4Z!3150LH%1(14Z@
 +M5T6@54Y$15)404M%H$&@4U!%0TE!3`TJH$%#5$E/3BR@3U1(15)725-%H%1(
 +M1:!$051!H$E3H$&@3D]412X-*@TJH&5!0TB@(DY/5$4BH$E3H$%.H$E.1$58
 +MH$E.5$^@0:!404),1:!/1J!&4D51545.0UF@5D%,5453#2J@4T54H%50H$)9
 +MH%1(1:!)3DE424%,25I!5$E/3J!23U5424Y%+@TJ#2J@<U!%0TE!3*!!0U1)
 +M3TY3H$%21:!$15-#4DE"142@55"@04)/5D6@24Z@5$A%H%!!4E-%4@TJH%)/
 +M551)3D4LH$%.1*!!4D6@5$A)3D=3H$Q)2T6@0TA!3D=%H%9/3%5-12R@1%52
 +M051)3TXLH$540RX-*J!T2$6@0D%324.@4E5,1:!)4Z!42$%4H$E&H$%.6:!!
 +M0U1)3TY3H"A%+D<NH%9/3%5-1:!#2$%.1T53*0TJH$%21:!43Z!404M%H%!,
 +M04-%H$E.H$&@345!4U5212]/3J!!H$Y/5$4LH%1(14Z@5$A%H$1!5$$-*J!#
 +M3U)215-03TY$24Y'H%1/H%1(3U-%H$%#5$E/3E.@3D5%1%.@5$^@05!014%2
 +MH$)%1D]21:!42$4-*J!.3U1%H$1!5$$N#2H-*J!T2$6@4$E%0T6@25.@15-3
 +M14Y424%,3%F@0:!315))15.@3T:@0E)/2T5.H$-(3U)$4RR@04Y$#2J@5$A%
 +MH$9)4E-4H#(TH$U%05-54D53H$%21:!&3U52+4Y/5$6@0TA/4D13H$)23TM%
 +M3J!)3E1/#2J@0:!215!%051%1*!3152@3T:@14E'2%2@3D]415,LH%-03$E4
 +MH$E.5$^@5%=/H$=23U504Z!/1@TJH$9/55*@14%#2"Z@H'1(15)%H$E3H$].
 +M1:!3152@1D]2H$5!0TB@2$%.1"R@5$A54Z!63TE#1:`Q#2J@04Y$H%9/24-%
 +MH#*@0D5(059%H%-)34E,05),62Z@H'1(15-%H$%21:!42$6@(C$V+4Y/5$4B
 +M#2J@345!4U5215.@4D5!1*!)3J!"6:!R96%D,3:@04)/5D4LH$%.1*!42$59
 +MH$%21:!$149)3D5$#2J@0EF@4U!%0TE&64E.1Z!&25)35*!42$6@1D]54J!.
 +M3U1%4Z!&3U*@5$A%H%))1TA4H$A!3D0L#2J@5$A%3J!42$6@1D]54J!.3U1%
 +M4Z!&3U*@5$A%H$Q%1E2@2$%.1"X-*@UN;W1E9&%T80T@9&9B('-E='8Q,B`[
 +M=D])0T53H#&@04Y$H#(-(&1F8B!S971D=7(-(&1F8B!E:6=H=&@@.VY/5$6@
 +M1%52051)3TX-(&1F8B!S971V;VPL9@T@.VY/5Z!63TE#12TQH$9/55*@3D]4
 +M1:!#2$]21`T@.VU%05-54D6@,0T@9&9B(#<R(#MC+38-(&1F8B`V,R`[94(-
 +M(&1F8B`V,B`[9`T@9&9B(#8P(#MC+34-(#MA3D2@5D])0T4M,J!#2$]21`T@
 +M9&9B(#0X(#MC+30-(&1F8B`U-2`[9RTT#2!D9F(@-3,@.V8-(&1F8B`U,2`[
 +M94(-#2`[;45!4U521:`R#2!D9F(@-C@L-C4L-C0L-C`@.V%"H&:@9:!C#2!D
 +M9F(@-#@L-38L-34L-3,@.V.@84*@9Z!F#0T@.VU%05-54D6@,PT@9&9B(#<Q
 +M+#8U+#8S+#8R(#MBH&:@94*@9`T@9&9B(#0X+#4V+#4U+#4S(#MCH&%"H&>@
 +M9@T-(&1F8B`W,BPV-RPV-2PV,R`[8Z!GH&:@94(-(&1F8B`T."PU,2PU,"PU
 +M-2`[8Z!E0J!DH&<-#2!D9F(@<V5T=F]L+'-F#2!D9F(@-S4L-C@L-C<L-C,@
 +M.V5"H&%"H&>@94(-(&1F8B`T."PV,"PU."PU-B`[8Z!CH&)"H&%"#0T@9&9B
 +M('-E='9O;"QP(#MP24%.3PT@9&9B(#<T+#8V+#8T+#8R(#MDH&8CH&6@9`T@
 +M9&9B(#0X+#4W+#4U+#4T(#MCH&&@9Z!F(PT-(&1F8B!S971V;VPL<V8-(&1F
 +M8B`W-"PV-RPV-BPV,B`[9*!GH&8CH&0-(&1F8B`T-BPU."PU-RPU-2`[8D*@
 +M8D*@8:!G#0T@9&9B('-E='9O;"QP(#MM14%355)%H#@-(&1F8B`W,BPV-"PV
 +M,BPV,"`[8Z!EH&2@8PT@9&9B(#0V+#4U+#4S+#4R(#MB0J!GH&:@90T-(&1F
 +M8B!S971V;VPL9@T@9&9B(#<R+#8U+#8T+#8P(#MCH&:@9:!C#2!D9F(@-#0L
 +M-38L-34L-3,@.V%"H&%"H&>@9@T-(&1F8B`W,"PV-2PV,RPV,B`[8D*@9J!E
 +M0J!D#2!D9F(@-#0L-3`L-#@L-3,@.V%"H&2@8Z!F#0T@9&9B('-E='9O;"QF
 +M+3$@.W-405)4H$1%0U)%4T-%3D1/#2!D9F(@-S`L-C<L-C4L-C,@.V)"H&>@
 +M9J!E0@T@9&9B(#0S+#4Q+#4P+#4U(#MGH&5"H&2@9PT-(&1F8B!S971V;VPL
 +M9BTR#2!D9F(@-C@L-C<L-C4L-C,@.V%"H&>@9J!E0@T@9&9B(#0X+#4Q+#4P
 +M+#4V(#MCH&5"H&2@84(-#2!D9F(@<V5T=F]L+'`@.VU%05-54D6@,3,-(&1F
 +M8B`V."PV,BPV,"PU."`[84*@9*!CH&)"#2!D9F(@-3`L-3,L-3$L-38@.V2@
 +M9J!E0J!A0@T-(&1F8B`V-RPU."PU-2PV,R`[9Z!B0J!A0J!E0@T@9&9B(#4Q
 +M+#4U+#4S+#4V(#ME0J!GH&:@84(-#2!D9F(@<V5T=F]L+'`K,2`[0U)%4T,N
 +M#2!D9F(@-C4L-C`L-3@L-3<@.V:@8Z!B0J!A#2!D9F(@-3$L-3<L-34L-3,@
 +M.V5"H&&@9Z!F#0T@9&9B('-E='9O;"QP*S(-(&1F8B`V-2PV,BPV,"PU.2`[
 +M9J!DH&.@8@T@9&9B(#4P+#4S+#4Q+#4V(#MDH&:@94*@84(-#2!D9F(@<V5T
 +M=F]L+'`K,PT@9&9B(#8U+#8R+#8P+#4Y(#MFH&2@8Z!B#2!D9F(@-#@L-3,L
 +M-3(L-38@.V.@9J!EH&%"#0T@9&9B('-E='9O;"QP*S0-(&1F8B`V,RPV,"PU
 +M.2PU-2`[94*@8Z!BH&<-(&1F8B`T."PU,2PU,"PU,R`[8Z!E0J!DH&8-#2!D
 +M9F(@<V5T=F]L+&8-(&1F8B`U,RPV,RPV,BPV-2`[9J!E0J!DH&8-(&1F8B`T
 +M-"PT."PT-RPU,"`[84*@8Z!BH&0-#2!D9F(@-30L-C`L-3DL-C,@.V8CH&.@
 +M8J!E0@T@9&9B(#0U+#4Q+#4P+#0X(#MAH&5"H&2@8PT-(&1F8B!S971V;VPL
 +M9BLQ#2!D9F(@-C,L-C`L-3DL-34@.V5"H&.@8J!G#2!D9F(@-#,L-3$L-3`L
 +M-3,@.V>@94*@9*!F#0T@9&9B(#8V+#8P+#4Y+#4W(#MF(Z!CH&*@80T@9&9B
 +M(#0S+#4Q+#4P+#0X(#MGH&5"H&2@8PT-(&1F8B!S971V;VPL9BLR#2!D9F(@
 +M-C<L-C`L-3DL-C(@.V>@8Z!BH&0-(&1F8B`T,RPU,2PU,"PU,R`[9Z!E0J!D
 +MH&8-#2!D9F(@-C@L-C`L-3DL-C(@.V%"H&.@8J!D#2!D9F(@-#,L-3$L-3`L
 +M-3,@.V>@94*@9*!F#0T@9&9B('-E=&YU;2`[<D5!1*!/3D6@052@0:!424U%
 +MH$923TV@3D]7H$].#2!D9F(@<V5T=F]L+&8K,2`[1EJ@24:@64]5H%=)3$P-
 +M(&1F8B!S971D=7(L96EG:'1H*S(@.V&@4T5,1BU)3D153$=%3E2@2$53251!
 +M5$E/3@T@9&9B(#0S#2!D9F(@<F5S="`[=4Y'051%H%9/24-%H#(-(&1F8B!S
 +M971V,2`[=D])0T6@,:!/3DQ9#2!D9F(@-#<-(&1F8B!S971D=7(L96EG:'1H
 +M#2!D9F(@-3`L-3,-(&1F8B!S971V;VPL9B`[<TQ)1TA4H$1%0U)%4T-%3D1/
 +M#2!D9F(@-38L-3,L-3(L-3,-(&1F8B`U.2PU,RPV,BPU.2PU-BPU,RPU,@T@
 +M9&9B('-E=&1U<BQE:6=H=&@K,@T@9&9B(#4S#0TJH&1F8J!S971D=7(L96EG
 +M:'1H*S(-(&1F8B`T,RPT.`T@9&9B('-E=&1U<BQE:6=H=&@-(&1F8B`U,2PU
 +M-0T@9&9B(#8P+#4U+#4T+#4U#2!D9F(@-C,L-C`L-C<L-C,-(&1F8B`V,"PU
 +M-BPU-0T@9&9B('-E=&1U<BQE:6=H=&@K,@T@9&9B(#4V#0TJH&1F8J!S971D
 +M=7(L96EG:'1H*S(-(&1F8B`T,RPT-0T@9&9B('-E=&1U<BQE:6=H=&@-(&1F
 +M8B`U,RPV,`T@9&9B(#8S+#8P+#8R+#8P#2!D9F(@-C8L-C`L-CDL-C8-(&1F
 +M8B`V,RPV,"PV,BPV,`T-(&1F8B!S971V,3(-(&1F8B!S971V;VPL9F8@.V9/
 +M4E1)4U-)34\A#2!D9F(@<F5S=`T@9&9B(#0S(#MV3TE#1:`RH%!%1$%,H%1/
 +M3D4-(&1F8B!S971V,0T@9&9B('-E=&1U<BQP<F5S=&\@.W!215-43R$-(&1F
 +M8B`W-"PW,BPW-`T@9&9B(#<U+#<R+#<Q+#<R#2!D9F(@-CDL-S(L-S$L-S(-
 +M(&1F8B`W-"PW,2PV.2PW,0T-(&1F8B!S971V,3(-(&1F8B`V-RQR97-T("`[
 +M=D])0T6@,2R@=D])0T6@,@T@9&9B(#<Q+#8R#2!D9F(@-CDL-C`-(&1F8B`W
 +M,2PV,@T-(&1F8B`W,BPV,R`[8RQE0@T@9&9B(#8Y+#8P(#MA+&,-(&1F8B`V
 +M-RPU.2`[9RQB#2!D9F(@-CDL-C`@.V$L8PT-(&1F8B`V-BPU-R`[9B,L80T@
 +M9&9B(#8Y+#8P#2!D9F(@-C<L-3D-(&1F8B`V.2PV,`T-(&1F8B`W,2PV,B`[
 +M8BQD#2!D9F(@-C<L-3D-(&1F8B`V-BPU-PT@9&9B(#8W+#4Y#0T@9&9B(#8R
 +M+#4U(#MP4D535$\LH$U%05-54D6@,PT@9&9B(#<Y+#4Y#2!D9F(@-S<L-3<-
 +M(&1F8B`W.2PU.0T-(&1F8B`X,"PV,`T@9&9B(#<W+#4V#2!D9F(@-S4L-34-
 +M(&1F8B`W-RPU-@T-(&1F8B`W-"PU,PT@9&9B(#<W+#4W#2!D9F(@-S4L-34-
 +M(&1F8B`W-RPU-PT-(&1F8B`W.2PU.0T@9&9B(#<U+#4U#2!D9F(@-S0L-3,-
 +M(&1F8B`W-2PU-0T-(&1F8B`W,BPU,2`[<%)%4U1/H"LT#2!D9F(@-S4L-C<-
 +M(&1F8B`W-"PV-0T@9&9B(#<U+#8W#0T@9&9B(#<W+#8X#2!D9F(@-S0L-C4-
 +M(&1F8B`W,BPV,PT@9&9B(#<T+#8U#0T@9&9B(#<Q+#8R#2!D9F(@-S0L-C4-
 +M(&1F8B`W,BPV,PT@9&9B(#<T+#8U#0T@9&9B(#<U+#8W#2!D9F(@-S(L-C,-
 +M(&1F8B`W,2PV,@T@9&9B(#<R+#8S#0T@9&9B(#8W+#8P(#MP4D535$^@*S4-
 +M(&1F8B`W,BPV,PT@9&9B(#<Q+#8R#2!D9F(@-S(L-C,-#2!D9F(@-CDL-C4-
 +M(&1F8B`W-RPV,@T@9&9B(#<U+#8P#2!D9F(@-S<L-C(-#2!D9F(@-C<L-C,-
 +M(&1F8B`W-2PV,`T@9&9B(#<T+#4Y#2!D9F(@-S4L-C`-#2!D9F(@-C4L-C(-
 +M(&1F8B`W-"PU.0T@9&9B(#<R+#4W#2!D9F(@-S0L-3D-#2!D9F(@-C,L-C`@
 +M.W!215-43Z`K-@T@9&9B(#<R+#8S#2!D9F(@-S$L-C(-(&1F8B`W,BPV,PT-
 +M(&1F8B`V."PU,PT@9&9B(#8U+#8R#2!D9F(@-C,L-C`-(&1F8B`V-2PV,@T-
 +M(&1F8B`V-RPU,0T@9&9B(#8S+#8P#2!D9F(@-C(L-3D-(&1F8B`V,RPV,`T-
 +M(&1F8B`V-2PU,`T@9&9B(#8R+#4Y#2!D9F(@-C`L-3<-(&1F8B`V,BPU.0T-
 +M(&1F8B!S971V,3(S(#MF3U)-051!H"^@0TA/4D0-(&1F8B!S971D=7(L<')E
 +M<W1O*S,@.V&@3$E45$Q%H%-,3U=%4@T@9&9B('-E='9O;"QF(#MA3D2@0:!,
 +M25143$6@4T]&5$52#2!D9F(@<F5S="QR97-T+#0X#2!D9F(@-34L<F5S="QR
 +M97-T#2!D9F(@<V5T=C$R#2!D9F(@-34L-3@-(&1F8B`V,"QR97-T#2!D9F(@
 +M<V5T=C$-(&1F8B!S971D=7(L96EG:'1H*C$S(#MH3TQ$H$E4H$]55*!!H$Q)
 +M5%1,1:!72$E,10T@9&9B(#8T#0T@9&9B('-E=&1U<BQA9&%G:6\O,B`[;D]7
 +MH%1(1:!!1$%'24^@4E5.#2!D9F(@<V5T=F]L+'`K,B`[<T]&5$52#2!D9F(@
 +M-C`L-C(L-C0-(&1F8B!S971D=7(L861A9VEO+S0@.S$O-C2@3D]415,-(&1F
 +M8B`V-2PV-RPV."PW,"PW,BPW,"PV."PV-PT@9&9B('-E=&1U<BQA9&%G:6\-
 +M(&1F8B`V-0T@9&9B('-E=&1U<BQA9&%G:6\O,BLR#2!D9F(@-C<L-C0-#2!D
 +M9F(@<V5T=C$R,R`[<T5#3TY$H$9/4DU!5$$O0TA/4D0-(&1F8B!R97-T+')E
 +M<W0L-#@-(&1F8B`U,RQR97-T+')E<W0-(&1F8B!S971V,3(-(&1F8B`U,RPU
 +M-@T@9&9B(#8P+')E<W0-(&1F8B!S971V,0T@9&9B('-E=&1U<BQE:6=H=&@J
 +M,3,-(&1F8B`V-0T-(&1F8B!S971V;VPL<"`[<T]&5$52H%E%5`T@9&9B('-E
 +M=&1U<BQA9&%G:6\O,B`[<T5#3TY$H&%$04=)3Z!254X-(&1F8B`V-RPV-2PV
 +M-"PV-2PV-RPV."PV-PT@9&9B('-E=&1U<BQA9&%G:6\O-"`[;4]21:`Q+S8T
 +MH$Y/5$53#2!D9F(@-C4L-C,L-C(L-C,L-C4L-C(L-C,L-C4-#2!D9F(@<V5T
 +M9'5R+&5I9VAT:"LQ(#MT2$6@1DE.04R@84Q,14=23Z!314-424].#2!D9F(@
 +M<V5T=F]L+'`K,B`[8:!,25143$6@3$]51$52+*!IH%1(24Y+#2!D9F(@-3D-
 +M(&1F8B!S971V,3(S#2!D9F(@-3DL<F5S="PS-@T@9&9B(#4Y+#0W+')E<W0-
 +M(&1F8B!S971V,3(-(&1F8B`U,"QR97-T#2!D9F(@<V5T=C$-(&1F8B`U,RPU
 +M-BPU-2PU,RPU.2PU,RPV,BPU,RPU.2PU-BPU-2PU,PT@9&9B('-E='8Q,C,-
 +M(&1F8B`U,BPT."PS-@T@9&9B(#8Q+')E<W0L<F5S=`T@9&9B('-E='8Q#2!D
 +M9F(@-3@L-34L-C`L-38L-3,L-38-(&1F8B`U-2PU."PU-2PU,@T@9&9B(#4V
 +M+#4S+#4P+#4S#2!D9F(@<V5T9'5R+&5I9VAT:"LR#2!D9F(@-3(L-34L-3(L
 +M-#@-(&1F8B`U,RPU,"PT-RPU,`T-(&1F8B!S971D=7(L96EG:'1H*S,@.VQ%
 +M3E1/#2!D9F(@<V5T=C$R,PT@9&9B('-E='9O;"QP*S,-(&1F8B!R97-T+')E
 +M<W0L,S8-(&1F8B!R97-T+#0S+')E<W0-(&1F8B!S971V,3(-(&1F8B!R97-T
 +M+#0X#2!D9F(@-3`L<F5S=`T@9&9B('-E='8Q#2!D9F(@-3(L-34L-3@L-34-
 +M(&1F8B`U-BPV,"PV-2PV,@T@9&9B(#8U+#8X#2!D9F(@<V5T9'5R+&5I9VAT
 +M:"LT(#M2251!4D0-(&1F8B`W,BPW,0T@9&9B('-E=&1U<BQE:6=H=&@K-2`[
 +M4DE405)$#2!D9F(@-S(L-C<-(&1F8B!S971D=7(L96EG:'1H*S8-(&1F8B`V
 +M-2PV,@T-(&1F8B!S971D=7(L<')E<W1O*S$-(&1F8B!S971V,3(S#2!D9F(@
 +M<F5S="QR97-T+#4U#2!D9F(@<F5S="PV,"PU-0T@9&9B('-E=&1U<BPQ-#`-
 +M(&1F8B`V-"PV,"PU-0T-(&1F8B!R97-T+')E<W0L<F5S=`T@9&9B(')E<W0L
 +M<F5S="QR97-T#0T@9&9B(')E<W1A<G0@.V%$H$E.1DE.251530T^[K.N^\I-
 +ML^V;7LF[K)EN<Y*GNS7/=Y[G55V2K.M:TI*O.S[NO::YRG-79*LZUK2DJ\[/
 +MNZ]K5LV3;JEN<U=DJSK6M*2KRL^\[NDV\K/O.[I-G.=E=DJSK6M*2KRL^\[N
 +MDV;ISDV\K/O.[E=DJSK6M*2KSL^[KVFN<E=DJSK6M*2KRL^\[NDV;II5V2K.
 +MM:TI*F^:I-O*S[SNY79*LZUK2DJ\[/NZ]IK5V2K.M:TI*F^<I-F^;Y-F^:9-
 +MF^;U=DJSK6M*2IOG:39VFJ39VF^39VG)79*LZUK2DI25*4I.&@`````@("TM
 +M#0`````@1$E--`T@("`@("`@("`@("`@("`@("`@("`@P2#-24Y$(,584$%.
 +M1$E.1R#%6%!%4DE%3D-%#0`````@($)9#0```"`@(--415!(14X@S"X@RE5$
 +M1`T````@("`@4TI51$1`3E=5+D5$50T`````("`M+0T`````RE5,62`Q#0``
 +M`,E.(-1(12#914%2(,]&(,]54B#,3U)$#0`````@,3DY-@T`````("`M+0T@
 +M#0`BUTA!5"!)3B!42$4@5T]23$0@5T%3(,D@3$]/2TE.1R!!5#\@(-=(050@
 +M5$A%($A%0TL@25,@64]54@U#3T1%($1/24Y'/R`@R$]7($1/(,D@345%5"!3
 +M34%25"!!3D0@1D523T-)3U533%D@1T]21T5/55,@5T]-14X@3$E+10U93U4@
 +M1$\_(@T`U$A%($Q!4U0@455%4U1)3TX@R2!#04Y.3U0@04Y35T52+"!"550@
 +M5$A)4R!,25143$4@5U))5$554"P-04Q/3D<@5TE42"!33TU%(%!%1$%.5$E#
 +M04Q,62!714Q,+41/0U5-14Y4140@0T]$12P@0T%.($-,14%2(%50(%1(10U&
 +M25)35"!45T\@R2!42$E.2RX@(-1(25,@5TE,3"!.3U0@0D4@02!615)9($1%
 +M3E-%(%=2251%55`L($A/3D535"$-S$]/2R!43R!42$4@0T]$12!&3U(@34]2
 +M12!$151!24PL($%.1"!!3ED@15%5051)3TY3($)%3$]7($-!3B!"10U32TE0
 +M4$5$(%=)5$A/550@4%)/0DQ%32X-`,E.($-!4T4@64]5($1)1$XG5"!+3D]7
 +M+"!$24TT(%=!4R!-62!%3E1262!)3E1/(%1(12!214-%3E1,60U(14Q$(#1+
 +M($1%34\@0T].5$535"X@(,9/4B!-3U)%($E.1D\@3TX@5$A%($-/3E1%4U0L
 +M($%3(%=%3$P@05,@5$A%#4]42$52($5.5%))15,@*#$W($5.5%))15,@24X@
 +M04Q,*2P@4T5%2R!912!42$4@Q%))5D5.($A/344@4$%'12!!5`U(5%10.B\O
 +M4T](3RY)3U,N0T]-+R4W14-/3TQ(3D0O#2`-`,9)4E-4+"!615)9($)2245&
 +M3%DL(%1(12!+15E04D534T53($A!5D4@5$A%($9/3$Q/5TE.1R!!0U1)3TY3
 +M.@T-`#0@("`M+2#455)"3R!-3T1%#0#$("`@+2T@SD]234%,($U/1$4@*#3$
 +M("L@,\0@4D]4051)3TY3+"!!3D0@3DE#12!!3D0@0T%354%,*0T`QC0@("TM
 +M(#3$+4U/1$4N("#!3$P@(C/$(B!23U1!5$E/3E,@05)%($A!3%1%1`T`TB_3
 +M("TM(#/$+4U/1$4N("#!3$P@(C3$(B!23U1!5$E/3E,@05)%($A!3%1%1`T`
 +M+B`@("TM(,1/5%1%1"!,24Y%(%1/1T=,10T`TU!!0T4@041604Y#15,@5$\@
 +M5$A%($Y%6%0@3T)*14-4+@T-`-1(12!#3T1%($E3(#0P.34@0EE415,@3$].
 +M1RP@04Y$(%=!4R!!(%)/64%,(%!!24X@5$\@1T54#5=/4DM)3D<@049415(@
 +M0T]-4%)%4U-)3TXN("#42$4@355324,@25,@T%)%3%5$12`C,B!&4D]-(-1(
 +M12#714Q,+0W414U015)%1"#+3$%62452($)9(,HNTRX@PD%#2"X@(,D@0D]2
 +M4D]7140@*$%.1"!)35!23U9%1"D@5$A%($Q)3D4-1%)!5TE.1R!23U5424Y%
 +M($923TT@5$A%($-50D4S1"!04D]'4D%-4R!!3D0@4U1/3$4@5$A%(%!!5%1%
 +M4DY3($]55`U/1B#03TQ91T].04U9+"!/5$A%4E=)4T4@5$A%($-/1$4@25,@
 +M5U))5%1%3B!&4D]-(%-#4D%40T@L($E.0TQ51$E.1PU42$4@355324,@4D]5
 +M5$E.12X@(-1(050@0U)!6ED@5$A)4D0@3T)*14-4($A!4R!&3U525$5%3B!3
 +M241%4R!)3B`SQ"P-04Y$(%1(12`TQ"!/0DI%0U0@04Q/3D4@2$%3(#,R(%!/
 +M24Y44R!7251((#DV($Q)3D53($-/3DY%0U1)3D<@5$A%#5!/24Y44RP@4T\@
 +M5T5,3"!/5D52(#$P,"!,24Y%4R!!4D4@0D5)3D<@1%)!5TX@050@02!424U%
 +M+B`@R2!705,-4T]214Q9(%1%35!4140@5$\@4%54($$@1$]#2TE.1R!"05D@
 +M3TX@3TY%($]&(%1(12!3241%4R!/1B!42$4@,\0-1U59("A!($Q)5%1,12`B
 +MQ4Q)5$4B($A534]2(%1(15)%*2!"550@4D%.($]55"!/1B!424U%($%.1"!2
 +M3T]-+@W!1E1%4B!$14-/35!215-324].(%1(12!#3T1%($584$%.1%,@02!,
 +M25143$4@0DE4+"!!3D0@24X@5$A%($5.1"!)5`U,14%615,@5$A%(#A+($)%
 +M5%=%14X@)#0P,#`M)#8P,#`@1E)%12P@0E54(%5315,@4%)%5%19($U50T@@
 +M159%4EE42$E.1PU%3%-%+@T`U$A%($9)4E-4($]"2D5#5"!)4R!!(#3$($-5
 +M0D4L($]&5$5.($-!3$Q%1"!!($A94$520U5"12X@(-E/50U#04X@4T5%($$@
 +M4TU!3$P@0U5"12!)3E-)1$4@3T8@04Y$($-/3DY%0U1%1"!43R!!($Q!4D=%
 +M4B!#54)%+B`@R48@64]5#4Q/3TL@02!,25143$4@0TQ/4T52+"!93U4@34%9
 +M($Y/5$E#12!42$%4($E.+4)%5%=%14X@5$A%(%173R!#54)%4R!!4D4-4T]-
 +M12!-3U)%($-50D53+B`@*-=(14X@64]5(%-,24-%($$@,\0@0U5"12P@64]5
 +M($=%5"!!(#+$($-50D4@+2T@02`-4U%505)%+B`@UTA%3B!93U4@5$%+12!!
 +M(%-,24-%($]&(%1(12!(65!%4D-50D4L(%E/52!'150@02`SQ"!#54)%*2X@
 +M(,%3#4E4(%)/5$%415,@04Q/3D<@2513($9/55)42"!#3T]21$E.051%+"!4
 +M2$4@0U5"12!&3TQ$4R!)3B!54$].#4E44T5,1BX@(,].12!705D@5$\@3$]/
 +M2R!!5"!)5"!)4R!42$%4(%1(12!#54)%4R!35$%25"!43R!#2$%.1T4-4$]3
 +M251)3TY3("TM($%&5$52(#$X,"!$14=21453($]&(%)/5$%424].(%1(12!)
 +M3E-)1$4@0U5"12!)4R!/3B!42$4-3U544TE$12!!3D0@5$A%($]55%-)1$4@
 +M0U5"12!)4R!/3B!42$4@24Y3241%+B`@U$A%($A94$520U5"12!(05,-3$E4
 +M15)!3$Q9(%154DY%1"!)3E-)1$4M3U54+@T`U$A%(%!23T=204T@5T]22U,@
 +M1DE.12!)3B#0P<P@04Y$(,[4T\,L($%,5$A/54=((-#!S"!&3TQ+4PU724Q,
 +M($=%5"!42$4@5%5.12!03$%924Y'($%4(%1(12!74D].1R!34$5%1"!!3D0@
 +M5%)!3E-03U-%1"!)3E1/#4$@1$E&1D5214Y4($M%62X-`,]((%E%4RP@3TY%
 +M(%1(24Y'(,D@4D5!3$Q9($Q)2T4@25,@5$A%($)!0TM'4D]53D0@3TX@5$A%
 +M(%-%0T].1`U/0DI%0U0@+2T@3TX@35D@,3`X-"!)5"!,3T]+4R!,24M%(%)/
 +M4$4N("#42$E3($E3($$@0T].4T51545.0T4@3T8@5$A%#5=!62#6R<,@1T5.
 +M15)!5$53($-/3$]24R`M+2!%6%1202!#3TQ/4E,@3U544TE$12!/1B!42$4@
 +M3D]234%,(#$V($%210U"14E.1R!'14Y%4D%4140L($)%0T%54T4@5%=/($A)
 +M4D53($-/3$]24R!!4D4@0D5)3D<@4$Q!0T5$($Y%6%0@5$\-14%#2"!/5$A%
 +M4BX@(,E&(%E/52!,3T]+($%4($E4($].($$@0DQ!0TL@04Y$(%=(251%($U/
 +M3DE43U(L(%E/52!724Q,#4I54U0@4T5%(%1(24-+($1)04=/3D%,($Q)3D53
 +M+B`@U$A)4R!615)9($U50T@@4U524%))4T5$($U%(%=(14X@R2!&25)35`U3
 +M05<@250A("#&24Y$(%1(12#-05)#2"`Q.3@U(,G%Q<4@TU!%0U1254T@05)4
 +M24-,12!&3U(@34]212!)3D9/4DU!5$E/3@U/3B!72%D@ULG#($)%2$%615,@
 +M5$A)4R!705DN#0#&24Y!3$Q9+"!93U4@34%9($Y/5$E#12!33TU%($Q)5%1,
 +M12!'3$E40TA%4R!&4D]-(%1)344@5$\@5$E-10U)3B!$4D%724Y'(%1(12`T
 +MQ"!/0DI%0U13+B`@U$A!5"!)4R!-62!3049%5%D@5D%,5D4@04Y$($M%15!3
 +M(%1(12!04D]'4D%-#4923TT@3$E415)!3$Q9($1%4U123UE)3D<@251314Q&
 +M+"!)3B!33TU%5$E-15,@4U!%0U1!0U5,05(@1D%32$E/3BX@(,](#5=%3$PN
 +M#0W!(,A!3D19(,=,3U-305)9#2TM+2TM+2TM+2TM+2TM+2T-`-!/3%E'3TXZ
 +M(,$@4D5#5$E,24Y%05(@0TQ/4T5$(%!,04Y%($9)1U5212!/1B!!3ED@3E5-
 +M0D52($]&(%-)1$53+@T`+2TM+2TM+0T-`-9%0U1/4CH@P2!$25)%0U1%1"!,
 +M24Y%(%-%1TU%3E0@2$%624Y'($U!1TY)5%5$12!!3D0@1$E214-424].+@T@
 +M("`@("`@("TM+2TM+0T-`,D@1$\@3D]4($M.3U<@2$]7(%1(12!415)-(")&
 +M24Q,140@5D5#5$]2(B!#04U%($E.5$\@5D]'544L($)55`U)5"!)4R!-14%.
 +M24Y'3$534RP@3D]4(%1/($U%3E1)3TX@02!,25143$4@4TE,3%D@+2T@5TA!
 +M5"!73U5,1"!!3@TB54Y&24Q,140@5D5#5$]2(B!,3T]+($Q)2T4L(%173R!0
 +M3TE.5%,@5TE42"!!3B!!4E)/5R!!5"!/3D4@14Y$/R`@STY%#4U!62!!4R!7
 +M14Q,(%1!3$L@04)/550@1DE,3$5$($Q)3D53($%.1"!&24Q,140@4$])3E13
 +M+@T-`-1(55,L(,D@4$Q%040@5TE42"!42$4@0T]-355.2519(%1/($Y/5"!2
 +M149%4B!43R!03TQ91T].4R!!4PU614-43U)3($%.1"!&24Q,140@4$],64=/
 +M3E,@05,@1DE,3$5$(%9%0U1/4E,N("#03TQ91T].4R!.145$(%E/55(-2$5,
 +M4"P@04Y$($A!5D4@0D5%3B!$25-#4DE-24Y!5$5$($%'04E.4U0@1D]2(%1/
 +M3R!,3TY'($Y/5RX@(,I54U0@3TY%#5--04Q,($1/3D%424].($].(%E/55(@
 +M4$%25"!/1B!!($-/4E)%0U0@34%42$5-051)0T%,(%)%1D5214Y#12!#04X-
 +M2$5,4"!3059%(%1(12!,259%4R!/1B!/3D4L(%1%3BP@159%3B!(54Y$4D5$
 +M4R!/1B!03TQ91T].4RP@0D]42"!!0E)/040-04Y$($A%4D4@050@2$]-12X@
 +M(,E.1$E6241504Q3(%=!3E1)3D<@5$\@0T].5%))0E5412!-3U)%($U!62!3
 +M4$].4T]2#4E.1$E6241504P@4$],64=/3E,[($$@2TE4(%=)3$P@0D4@4T5.
 +M5"!43R!93U4@0T].5$%)3DE.1R!42$4@3D%-10U/1B!42$4@4$],64=/3B!!
 +M3D0@050@4D5'54Q!4B!)3E1%4E9!3%,@02!024-455)%($]&(%1(12!03TQ9
 +M1T].(%=)3$P@0D4-4T5.5"!43R!93U4L(%-/(%E/52!-05D@34].251/4B!4
 +M2$4@4%)/1U)%4U,@3T8@64]54B!005)424-53$%2(%!/3%E'3TXN#=-/344@
 +M4$],64=/3E,@05)%($-214%4140@54Y#3$]3140L($%.1"!33TU%($1/($Y/
 +M5"!'150@5$A%($Y%0T534T%260U)3DL@3U(@4%)/1U)!34U)3D<@4TM)3$P@
 +M5$\@4%)/4$523%D@1DE,3"!42$5-+"!"550@0D4@250@02!154%$3$E,051%
 +M4D%,#4]2($1%0T%'3TXL(%1205!%6DE532!/4B!005)!3$Q%3$]'4D%-+"!7
 +M251((%E/55(@2$5,4"!712!#04X@159%3E1504Q,60U-04M%($%,3"!03TQ9
 +M1T].4R!#3$]3140@04Y$($953$PL($9/4B!!($)%5%1%4BP@34]212!#259)
 +M3$E:140@5T]23$0N#=1(04Y+(%E/52!&3U(@64]54B!424U%+"!!3D0@QT]$
 +M($),15-3($%,3"!42$4@3$E45$Q%($=%3TU%5%))0T%,#4-/3E-44E5#5$E/
 +M3E,L($Y/($U!5%1%4B!42$5)4B!$24U%3E-)3TX@3U(@0T].1DE'55)!5$E/
 +M3BX-(`T@#=1(12#)1$5!#2TM+2TM+2TM(`T`U$A)4R!04D]'4D%-($1)4U!,
 +M05E3($$@4D504D5314Y4051)3TX@3T8@4T]-12!&3U52+41)345.4TE/3D%,
 +M#4]"2D5#5%,@+2T@1D]54B`TQ"!/0DI%0U13+"!!4R!!($U!5%1%4B!/1B!&
 +M04-4+"!%04-(($].12!/1B!42$5-#4$@-,0@04Y!3$]'($]&($$@5$A2144M
 +M1$E-14Y324].04P@3T)*14-4+B`@Q4%#2"!30U)%14X@0T].5$%)3E,@1D]5
 +M4@U364U-151262U214Q!5$5$(#/$($]"2D5#5%,@04Y$($].12`TQ"!!3D%,
 +M3T<@3T8@5$A%($]"2D5#5"P@4D]4051%1`U!3D0@4%)/2D5#5$5$($923TT@
 +M-,0@24Y43R`RQ"X-#0#43R!$15-#4DE"12!42$4@1D]54BU$24U%3E-)3TY!
 +M3"!/0DI%0U13($E3($Y/5"!33R!43U5'2"X-U$A%(#3$($-50D4@*%1(12!(
 +M65!%4D-50D4I($E3(%1(12!&25)35"!43R!"12!$25-03$%9140L($%.1"!)
 +M5"!)4PU42$4@4U1!4E1)3D<@4$])3E0@1D]2(%1(12!,051%4B!/0DI%0U13
 +M+"!!3D0@250@25,@04Q33R#)(%1(24Y+(%1(10U%05-)15-4(%1/(%-%12!7
 +M2$%4($E3($=/24Y'($].(%=)5$@N("#42$5212!)4R!.3U1(24Y'(%)%04Q,
 +M62!34$5#24%,#4%"3U54($9/55(@1$E-14Y324].4R`M+2!7251(($$@,\0@
 +M3T)*14-4($5!0T@@4$])3E0@25,@1$5&24Y%1"!"62!42%)%10U#3T]21$E.
 +M051%4RP@4T%9("A8+%DL6BDN("#!(#3$(%!/24Y4($A!4R!&3U52($-/3U)$
 +M24Y!5$53+"!305D-*%<L6"Q9+%HI+B`@U$A%(#/$($-50D4@2$%3($5)1TA4
 +M(%9%4E1)0T53($%4#0T`*"LO+3$L("LO+3$L("LO+3$I#0W42$52149/4D4@
 +M02!615)9($Y!5%5204P@15A414Y324].($E.5$\@1D]54B!$24U%3E-)3TY3
 +M(%=/54Q$($)%#0T`*"LO+3$L("LO+3$L("LO+3$L("LO+3$I#0W&3U(@02!4
 +M3U1!3"!/1B!325A4145.(%9%4E1)0T53+B`@U$\@3$]/2R!!5"!)5"!!3D]4
 +M2$52(%=!63H-#0`H,2P@*R\M,2P@*R\M,2P@*R\M,2D-`"@M,2PK+RTQ+"`K
 +M+RTQ+"`K+RTQ*0T-U$A!5"!)4RP@050@5STQ(%=%($=%5"!!($-50D4L($%.
 +M1"!!5"!7/2TQ(%=%($=%5"!!3D]42$52($-50D4N("#)3@U&04-4+"!)1B!7
 +M12!404M%($$@(E-,24-%(B!/1B!/55(@2%E015)#54)%+"!712!'150@02`S
 +MQ"!#54)%+@W#3TU!4$%212!43R!404M)3D<@02!33$E#12!/1B!!(#/$($-5
 +M0D4L(%=(15)%(%E/52!'150@02!3455!4D4-*$$@,L0@0U5"12P@248@64]5
 +M(%=)3$PI+@T`U$A)4R!)4R!$14U/3E-44D%4140@5TA%3B!42$4@0T]$12!&
 +M25)35"!35$%25%,@55`@+2T@5$A%(%!23T=204T-(D=23U=3(B!!($-50D4@
 +M1E)/32`PQ"`M/B`QQ"`M/B`RQ"`M/B`SQ"`M/B`TQ"X@(,%4(%1(12`TQ"!3
 +M5$%'10U42$5212!)4R!!(%--04Q,15(@0U5"12!)3E-)1$4@3T8@02!,05)'
 +M15(@0U5"12P@5TE42"!#54)%4R!)3BU"1517145.#51(12!45T\N("`HR48@
 +M64]5($%212!#55))3U53($%3(%1/($A/5R#)($1)1"!42$4@(D=23U=)3D<B
 +M+"!3144@5$A%#4-/1$4@1$530U))4%1)3TX@0D5,3U<@1D]2($$@1D57($1%
 +M5$%)3%,I+@T`SD585"P@05,@5$A%($-50D4@0D5'24Y3(%1/(%)/5$%412P@
 +M250@(D9/3$13($E.(B!/3B!)5%-%3$8-*$]2+"!)1B!93U4@3$E+12P@250@
 +M54Y&3TQ$4R$I+B`@TD]4051)3TY3($%212!.3R!$249&15)%3E0@5$A!3@U4
 +M2$59($A!5D4@04Q705E3($)%14XN("#43R!$3R!!(#/$(%)/5$%424].+"!2
 +M14-!3$P@5$A!5"!42$4@3T)*14-4($E3#5)/5$%4140@24X@5$A%(%@M62!0
 +M3$%.12P@5$A%(%DM6B!03$%.12P@04Y$(%1(12!8+5H@4$Q!3D4N("#43R!2
 +M3U1!5$4-24X@5$A%(%@M62!03$%.12!"62!!3B!!3D=,12!02$DZ#0T`6$Y%
 +M5R`](%@J0T]3*%!(22D@+2!9*E-)3BA02$DI#0!93D57(#T@6"I324XH4$A)
 +M*2`K(%DJ0T]3*%!(22D-#==%3$PL($%.62!45T\@0T]/4D1)3D%415,@1D]2
 +M32!!(%!,04Y%+"!33R!)3B!&3U52($1)345.4TE/3E,@5$A%4D4-05)%($I5
 +M4U0@5%=)0T4@05,@34%.62!03$%.15,@5$\@4D]4051%($E.+B`@R4X@4$%2
 +M5$E#54Q!4BP@5$A%#5!23T=204T@1$]%4R!23U1!5$E/3E,@24X@5$A%(%53
 +M54%,(%!,04Y%4R`H6"U9+"!9+5HL(%@M6BD@04Y$#4%,4T\@1$]%4R!!(%-)
 +M3D=,12!23U1!5$E/3B!)3B!42$4@5RU8(%!,04Y%+"!42$%4($E3+`T-`%=.
 +M15<@/2!7*D-/4RA02$DI("T@6"I324XH4$A)*0T`6$Y%5R`](%<J4TE.*%!(
 +M22D@*R!8*D-/4RA02$DI#0W)($1)1$XG5"!&145,($%.62!'4D5!5"!.145$
 +M(%1/(%)/5$%412!42%)/54=(($585%)!(%!,04Y%4R!)3E9/3%9)3D<-5$A%
 +M(%<M0T]/4D1)3D%412`H5$A%(%<M62!!3D0@5RU:(%!,04Y%4RDN("#72$5.
 +M(%!(23TY,"!$14=21453+`U/4B`Q.#`@1$5'4D5%4RP@3D]424-%(%1(050@
 +M5$A%($-/3U)$24Y!5$53(%12041%(%!,04-%4RP@5$A%3B!'3PU43R!42$5)
 +M4B!.14=!5$E615,N("#42$E3($U%04Y3(%1(050@05,@4$A)($E3($E.0U)%
 +M05-%1"P@24X@15-314Y#10U42$4@24Y.15(@04Y$($]55$52($-50D53($%2
 +M12!'3TE.1R!43R!#2$%.1T4@4$]3251)3TY3+"!!3D0@5$A)4PU42$5.($58
 +M4$Q!24Y3(%1(12!53D9/3$1)3D<@5$A!5"!)4R!3145.($].(%1(12!30U)%
 +M14XN#0#42$4@TB_3($M%62!'3T53($E.5$\@,\0@34]$12!"62!:15)/24Y'
 +M($]55"!42$4@04Y'3$4-24Y#4D5-14Y4($9/4B!42$4@5RU8(%!,04Y%+B`@
 +MR4X@149&14-4+"!42$4@-,0@4D]4051)3TX@25,@1E)/6D5.+@W42$4@QC0@
 +M2T59(%I%4D]3($]55"!42$4@6"U9+"!9+5HL($%.1"!8+5H@04Y'3$4@24Y#
 +M4D5-14Y44RP@3$5!5DE.1PU/3DQ9(%1(12!7+5@@4D]4051)3TXN("#&-"!&
 +M3TQ,3U=%1"!"62#2+],@5TE,3"!42$52149/4D4@1E)%15I%#51(12!)34%'
 +M12!#3TU03$5414Q9("TM(%5312#$($]2(#0@5$\@1T54($E4($=/24Y'($%'
 +M04E.+@T`U$A%4D4@25,@4U1)3$P@5$A%($E34U5%($]&(%9)4U5!3$E:24Y'
 +M($$@-,0@3T)*14-4+B`@U$A)4PU32$]53$0@3D]4($)%(%-54E!225-)3D<@
 +M+2T@049415(@04Q,+"!712!(059%($%,3"!3145.(#/$($]"2D5#5%,-1%)!
 +M5TX@3TX@02`RQ"!#3TU0551%4B!30U)%14X@*$]2($$@,L0@4$E%0T4@3T8@
 +M4$%015(I+B`@R48@5T4@0T%.#4=%5"!&4D]-(#/$(%1/(#+$(%1(14X@5T4@
 +M3U5'2%0@5$\@0D4@04),12!43R!'150@1E)/32`TQ"!43R`SQ`TH04Y$($92
 +M3TT@5$A%4D4@24Y43R`RQ"DN("#214-!3$P@5$A!5"!!(#/$(%!23TI%0U1)
 +M3TX@1%)!5U,@02!,24=(5`U205D@1E)/32!42$4@3T)*14-4+"!42%)/54=(
 +M($$@3$E45$Q%(%!)3DA/3$4@3$]#051%1"!!5"!42$4@3U))1TE.+`U!3D0@
 +M1DE.1%,@5$A%($E.5$524T5#5$E/3B!7251(($$@4$E%0T4@3T8@1DE,32!,
 +M3T-!5$5$($%4(%H]1"P@00U#3TY35$%.5#H-#0#,(#T@5"`J("A8,2Q9,2Q:
 +M,2D@25,@35D@3$E'2%0@4D%9+"!33R!4/40O6C$@1TE615,@5$A%#0```"`@
 +M($E.5$524T5#5$E/3B!7251((%1(12!&24Q-($]&($$@4D%9($923TT-````
 +M("`@5$A%(%!/24Y4("A8,2Q9,2Q:,2D@4$%34TE.1R!42%)/54=((%1(10T`
 +M```@("!/4DE'24XN#0W33R!42$E3($E3(%9%4ED@14%362!43R!%6%1%3D0@
 +M24Y43R`TQ"`M+2!324U03%D@4%)/2D5#5"!&4D]-(#3$(`U)3E1/(#/$(%1(
 +M4D]51T@@5$A%($]224=)3CH-#0#,(#T@5"`J("A7,2Q8,2Q9,2Q:,2D@($Q%
 +M5"!4/40O5S$-#0`M/B#,,R`]("A$+"!$+U<Q("H@6#$L($0O5S$@*B!9,2P@
 +M1"]7,2`J(%HQ*0T-U$A%(%@L62Q:($-/3U)$24Y!5$53($%212!42$5.(%!2
 +M3TI%0U1%1"!&4D]-(#/$($E.5$\@,L0L($%'04E.#51(4D]51T@@5$A%($]2
 +M24=)3BX@(-1(25,@1TE615,@02`B4$524U!%0U1)5D4B(%9)15<@3T8@5$A%
 +M(#3$#4]"2D5#5"X-`,Y/5RP@5TA!5"!)4R!42$4@-,0@04Y!3$]'($]&($$@
 +M5$544D%(14123TXL($]2($%.($]#5$%(14123TX_#<D@4D5!4T].140@5$A%
 +M32!/550@0ED@5%)924Y'(%1/(%1(24Y+($]&(%=(050@,\0@3T)*14-44R#)
 +M($-/54Q$#41%4DE612!35$%25$E.1R!&4D]-($$@0U5"12X@(-1(050@25,L
 +M(%1!2TE.1R!!($-50D4L($%.1"!#551424Y'#4%705D@4$E%0T53($]&($E4
 +M+B`@QD]2($E.4U1!3D-%+"!43R!$3R!42$4@,30M4TE$140@1U59+"!324U0
 +M3%D-5$%+12!42$4@34E$4$])3E0@3T8@14%#2"!,24Y%(%-%1TU%3E0@3TX@
 +M5$A%($-50D4@+2T@5$A)4R!(05,-5$A%($5&1D5#5"!/1B!#551424Y'($]&
 +M1B!42$4@0T]23D524R!/1B!42$4@0U5"12X@(,)9($1%1DE.24Y'#51(24Y'
 +M4R!)3B!42$E3(%=!62P@250@25,@1D%)4DQ9(%-44D%)1TA41D]25T%21"!4
 +M3R!%6%1%3D0@5$A%($]"2D5#5%,-24Y43R!&3U52($1)345.4TE/3E,N("`H
 +MR2!705,@2$%04$E%4U0@5$\@4D5!3$E:12!(3U<@5$\@1$\@02!4151204A%
 +M1%)/3BDN#=-%12!42$4@1DE,12!/0DI%0U13+E,@1D]2($U/4D4@1$5404E,
 +M4R!/3B!42$4@24Y$259)1%5!3"!/0DI%0U13+@W.05154D%,3%D@14%#2"!(
 +M05,@4T]-12!324U)3$%22519(%1/(%1(12!#54)%.B!42$5212!)4R!!3B!)
 +M3DY%4B!/0DI%0U0-*$4N1RX@02!4151204A%1%)/3BD@04Y$($%.($]55$52
 +M+B`@U$A%(%173R!!4D4@0T].3D5#5$5$+"!!3D0@14%#2`U3150@3T8@0T].
 +M3D5#5$E/3E,@1D]235,@04Y/5$A%4B!/0DI%0U0L(%-/(%1(050L($9/4B!)
 +M3E-404Y#12P@5$A%4D4-05)%(%1%5%)!2$5$4D].4R!)3BU"1517145.(%1(
 +M12!)3DY%4B!!3D0@3U5415(@5$544D%(14123TY3+@T`QDE.04Q,62P@5$\@
 +M2$5,4"!)3B!625-53$%)6DE.1R!42$4@3T)*14-44R#)(%-454-+($$@1$]4
 +M5$5$#4Q)3D4@0T%004))3$E462!)3BX@(-1(12!$3U14140@3$E.15,@24X@
 +M1T5.15)!3"!#3TY.14-4(%1(12`B24Y.15(B#4%.1"`B3U5415(B(#/$($]"
 +M2D5#5%,@+2T@5%523DE.1R!42$5-($]&1B!,1513(%E/52!42$5.(%-%12!4
 +M2$4-5%=/($]"2D5#5%,@24Y415)!0U0N("`HU$A%(%1(25)$($]"2D5#5"!7
 +M05,@34E'2%19($E-4%)%4U-)5D4M3$]/2TE.1PU"149/4D4@R2!!1$1%1"!4
 +M2$5312!'55E3(2`Z*0T@``W42$4@PT]$10TM+2TM+2TM+0T`SD]7+"!)5"!)
 +M4R!-62!#3TY3241%4D5$($]024Y)3TX@5$A!5"!42$4@0T]$12!)4R!!5T95
 +M3$Q9#5=%3$P@1$]#54U%3E1%1"P@4T\@5$A%4D4@25-.)U0@5$]/($U50T@@
 +M5$\@4T%9+"!"550@02!&15<@1T5.15)!3`U42$E.1U,@05)%(%=/4E1(($U%
 +M3E1)3TY)3D<N#0`BQU)/5TE.1R(@5$A%(%!/24Y44R!)4R!214%,3%D@14%3
 +M62`M+2!324U03%D@4U1!4E0-14%#2"!#3T]21$E.051%($%4(%I%4D\L($%.
 +M1"!'4D%$54%,3%D@24Y#4D5!4T4@250@3U54(%1/($E44R!&24Y!3`U604Q5
 +M12X@(,)9($1/24Y'(%1(25,@1DE24U0@5TE42"!42$4@6"U#3T]21$E.051%
 +M4RP@5$A%3B!42$4@62U#3T]21%,L#51(14X@6BP@5$A%3B!7+"!42$4@0U5"
 +M12!'4D]74R!!($1)345.4TE/3B!!5"!%04-((%-415`N("#)($1/3B=4#41/
 +M($%.651(24Y'($9!3D-9(%=)5$@@5$A%($]42$52($]"2D5#5%,@+2T@04Q,
 +M($-/3U)$24Y!5$53($%210U'4D]73B!%455!3$Q9+"!33R!42$4@3T)*14-4
 +M4R!'4D]7($]55%=!4D13($923TT@5$A%($]224=)3B`H05,@3U!03U-%1`U4
 +M3R!33TU%(%-/4E0@3T8@6D]/32!%1D9%0U0I+@T`Q4%#2"`TQ"!#2$%204-4
 +M15(@25,@02`Q,E@Q,B!#2$%204-415(@1U))1"P@5TA)0T@@1TE615,@02`Y
 +M-E@Y-@U025A%3"!$4D%724Y'($%214$L($%.1"!404M%4R!54"!42$4@1DE2
 +M4U0@,30T($-(05)!0U1%4E,N("#%04-(#3/$($-(05)!0U1%4B!54T53($$@
 +M-5@U($-(05)!0U1%4B!'4DE$+"!'259)3D<@-#!8-#`L($%.1"!404M)3D<-
 +M55`@5$A%($Y%6%0@-"HR-3TQ,#`@0TA!4D%#5$524RP@1D]2($$@5$]404P@
 +M3T8@,C0T(%-/($9!4BX@(,E.#45)1TA4($]&(%1(12!214U!24Y)3D<@,3(@
 +M0TA!4D%#5$524R!!4D4@1D]54B!0051415).4R!!3D0@5$A%25(-Q<_2(",D
 +MQL8@0T]-4$Q%345.5%,L(%=(24-(($%212!54T5$($E.(%1(12!"04-+1U)/
 +M54Y$(%1)3$E.1U,@04Y$#4%212!54T5$($E.1$E214-43%D@24X@5$A%(%!!
 +M5%1%4DX@1DE,3%,N#0#324Y#12!42$4@1DE.04P@6"U9($-/3U)$24Y!5$53
 +M($-!3B!204Y'12!&4D]-("TT."XN-#@L(%1(25,-4$Q!0T53($$@4D535%))
 +M0U1)3TX@3TX@5$A%($E.251)04P@5D%,5453($9/4B!42$4@0T]/4D1)3D%4
 +M15,N("#&3U(-4%524$]315,@3T8@04-#55)!0UD@04Y$(%-50T@@0T]/4D1)
 +M3D%415,@35535"!/1B!#3U524T4@0D4@4T-!3$5$+`U33R!42$%4(%=(24Q%
 +M($$@0T]/4D1)3D%412!,24M%("@Q+#$L,2PQ*2!)4R!#3TY614Y)14Y4($9/
 +M4B!42$E.2TE.1RP-02!#3T]21$E.051%($Q)2T4@*#$V+#$V+#$V+#$V*2!)
 +M4R!-54-(($)%5%1%4B!354E4140@5$\@5$A%#4E-4$Q%345.5$%424].("TM
 +M(%1(050@25,L(%1(12!/4DE'24Y!3"!#3T]21$E.051%(%-#04Q%1"!"62!!
 +M($9!0U1/4@U/1B!325A4145.($]2(%-/+B`@U$A%(%1!0DQ%(%)!3D=%(%)%
 +M4U1224-44R!42$E3(%-#04Q)3D<@1D%#5$]2.B!42$4--,0@0T]/4D1)3D%4
 +M12!7251(($Q!4D=%4U0@3$5.1U1((%1(050@R2!54T4@25,@*#$L,2PQ+#$I
 +M+"!72$E#2`U(05,@3$5.1U1((#(N("#42%53+"!!1E1%4B!23U1!5$E/3BP@
 +M250@25,@4$]34TE"3$4@5$A!5"!)5"!724Q,($Q)10U/3B!!3B!!6$E3(%=)
 +M5$@@0T]/4D1)3D%412P@4T%9("@R+#`L,"PP*2X@(--)3D-%($-/3U)$24Y!
 +M5$53($U54U0-3D]4($580T5%1"`T."!)3B!42$4@24U03$5-14Y4051)3TXL
 +M(%1(25,@4U5'1T535%,@02!30T%,24Y'($9!0U1/4@U/1B`R-"X-`,%3($$@
 +M4%)!0U1)0T%,(%!/24Y4+"!42$4@4$])3E13($Y%5D52(%)%04Q,62!(250@
 +M5$A)4PU-05A)355-+"!33R!)3B!04DE.0TE03$4@02!,05)'15(@4T-!3$E.
 +M1R!&04-43U(@0T]53$0@0D4@55-%1"X-P4Q415).051)5D5,62!42$4@4%)/
 +M2D5#5$E/3B!23U5424Y%($-!3B!024-+(%50(%1(12!33$%#2RP@5TA)0T@@
 +M25,-5TA!5"!$24TT(%5315,N#0#42$4@1DE24U0@4TU!4E0@5$A)3D<@R2!$
 +M240@5T%3(%1/($1)5$-((%1(12!/3$0@34542$]$#4]&($-/35!55$E.1R!2
 +M3U1!5$E/3E,N("#)3E-414%$($]&($-!3$-53$%424Y'($$@0DE'(%)/5$%4
 +M24].#4U!5%))6"P@R2!#04Q#54Q!5$4@4T]-12!"24<@5$%"3$53($]&($8@
 +M6"`H4RD@/2!8*E-)3BA3*2P@04Y$($Q%5`U42$4@04Y'3$4@4R!204Y'12!&
 +M4D]-(#`N+C$R-RX@(-1/($=%5"!!(%1!0DQ%($]&($-/4RA3*2#)(%-)35!,
 +M60U015))3T1)0T%,3%D@15A414Y$(%1(12!324Y%(%1!0DQ%($)9($-/4%E)
 +M3D<@5$A%($9)4E-4(#,R($)95$53($]&#51(12!404),12!)3E1/(%1(12`Q
 +M,C@M,34Y(%!/4TE424].4R`M+2!#3U,H4RD@25,@5$A54R!324XH4RLS,BDN
 +M#2C)(%1!2T4@041604Y404=%($]&(%1(12!&04-4(%1(050@4TE.*%,I($%.
 +M1"!#3U,H4RD@05)%(%)%3$%4140@0ED-02!&04-43U(@3T8@4$DO,BX@(-=%
 +M4D4@R2!334%25"#)(%=/54Q$($A!5D4@5$%+14X@041604Y404=%($]&(%1(
 +M10U2149,14-424].(%-934U415)9($]&(%-)3B]#3U,L($%.1"!3059%1"!!
 +M3D]42$52(#8T($)95$53+B`@ST@@5T5,3"XI#0#42$E3(%1(14X@3$5!5D53
 +M(#DV($)95$53($9/4B!!(%!23TI%0U1)3TX@5$%"3$4L(%=(24-(($E3#4I5
 +M4U0@5TA!5"#)($Y%140@1D]2(%1(12`TQ"!/0DI%0U0N("#42%53(,D@0T%.
 +M($U!4T@@5$%"3$53($]&#5@J4TE.*%,I+"!8*D-/4RA3*2P@04Y$($U9(%!2
 +M3TI%0U1)3TX@5$%"3$4@3T8@1B!8*%HI/40J*%HM6C`I("H@6"!)3E1/#4$@
 +M4TE.1TQ%(%!!1T4N("#42$E3(%!!1T4@25,@5$A%3B!%6%1%3D1%1"!&4D]-
 +M("0V,#`P(%1/("3#,#`P+`U)+D4N($=)5DE.1R`Y-B!404),15,L($9/4B!!
 +M(%1/5$%,($]&(#(T2RX@(,%#0T534TE.1R!42$4@5$%"3$53#4E3($Y/5R!4
 +M4DE624%,.B!35$]212!8*R0V,"!)3B!42$4@2$E'2"!"651%($]&($$@6D52
 +M3R!004=%(%!/24Y415(L#51(12!,3U<@0EE412!#3TY404E.4R!42$4@3T9&
 +M4T54($E.5$\@5$A%(%1!0DQ%("@P($9/4B!42$4@4TE.12!404),12P-,S(@
 +M1D]2(%1(12!#3U-)3D4@5$%"3$4L($%.1"`Q-C`@1D]2(%1(12!04D]*14-4
 +M24].(%1!0DQ%*2P@04Y$#41/($%.(,S$P2`HVM`I+-D@5$\@1T54(%1(12!2
 +M24=(5"!604Q512X-`-1(55,@4D]4051)3TY3($%.1"!04D]*14-424].4R!!
 +M4D4@3D]7(%9%4ED@1D%35"!!3D0@5D5260U#3TU004-4+B`@SD]412!42$%4
 +M($E4($E33B=4(%)%04Q,62!.14-%4U-!4ED@5$\@1T5.15)!5$4@02!#3TU0
 +M3$5410U404),12!/1B!324Y%4R!!3D0@0T]324Y%4RX@(,9/4B!)3E-404Y#
 +M12P@,3)+($]&(%1!0DQ%4R`H3U(@-DL@3U(-5TA!5$5615(I($-/54Q$($)%
 +M(%53140L($%.1"!42$4@1DE.04P@4D5354Q4(%-)35!,62!-54Q425!,245$
 +M($)9#5173RP@3U(@1D]54BX@(,5614X@5$A/54=((%1(12!&24Y!3"!#3T]2
 +M1$E.051%4R!-24=(5"!204Y'10U&4D]-("TT."XN-#@L($-!3$-53$%424].
 +M4R!$3TXG5"!.145$(%1/($)%($1/3D4@55-)3D<@5$A%($953$P@4D%.1T4N
 +M#0#42$4@3$E.12!23U5424Y%($E3(%1(12!'3T]$("=/3"!#2%5.2UD@3$E.
 +M12!23U5424Y%($923TT-5$A%($Q!4U0@0U5"13-$(%!23T=204TN("#)5"!/
 +M1B!#3U524T4@2$%$(%1/($)%($U/1$E&245$(%1/(%=/4DL-5TE42"!42$4@
 +M5%=/($)51D9%4E,@04Y$(%-50T@L($%.1"#)(%)%34]6140@02!"54Y#2"!/
 +M1B!214%,3%D@4D5$54Y$04Y4#4-/1$4@5$A!5"!705,@24X@5$A%4D4@*-+%
 +MP<S,V2!214153D1!3E0I+"!%4U!%0TE!3$Q9($E.(%1(12!!0U1504P-1%)!
 +M5TE.1R!005)4("A-04-23U,@V-/4Q=`@04Y$(-G3U,70("TM($Q)3D53($%2
 +M12!#3TU-14Y4140@3U54(%=)5$@@02`G*B<I+@W)($%,4T\@041$140@02!$
 +M3U14140M3$E.12!#05!!0DE,2519("A)5"!/3DQ9(%1!2T53($$@1D57($58
 +M5%)!#4E.4U1254-424].4RDL(%1/($U!2T4@5$A)3D=3($5!4TE%4B!43R!3
 +M144N#0#/3DQ9($$@4TE.1TQ%(#/$($]"2D5#5"!)4R!!0U1504Q,62!$4D%7
 +M3B`M+2!42$4@3U1(15)3#4%212!'14Y%4D%4140@5DE!(%-934U%5%)9("A2
 +M149,14-424].4R!42%)/54=((%@],"!!3D0@63TP*2X@(--)3D-%(%1(10TS
 +MQ"!/0DI%0U13($%212!$4D%73B!/3B!!($U50T@@4TU!3$Q%4B!'4DE$+"!4
 +M2$59($Y%140@5$\@0D4@4T-!3$5$#41/5TX@02!"250N("#)3E-414%$($]&
 +M(%=2251)3D<@4T5005)!5$4@4D]55$E.15,@5$\@1$5!3"!7251((%1(12`S
 +MQ`U!3D0@-,0@3T)*14-44RP@R2!324U03%D@4T54(%1(12`TQ"!#3T]21$E.
 +M051%($]&($5!0T@@4$])3E0@24X@5$A%(#/$#4]"2D5#5"!43R!33TU%($%0
 +M4%)/4%))051%($Y534)%4BX@(-)%0T%,3"!42$%4($E.($$@,\0@4%)/2D5#
 +M5$E/3BP-5$A%($9!4E1(15(@05=!62!&4D]-(%E/52!42$4@3T)*14-4($E3
 +M(%1(12!334%,3$52($E4($=%5%,N("#42$E3#4E3(%1(12!304U%($E$14$@
 +M+2T@5$A%($]"2D5#5"!)4R!055-(140@1$]73B!42$4@-,0@05A)4RP@04Y$
 +M(%1(25,-2$%3(%1(12!%1D9%0U0@3T8@4TA224Y+24Y'(%1(12!/0DI%0U0@
 +M55!/3B!04D]*14-424].+@T`V4]5($U!62!(059%($Y/5$E#140@5$A!5"!4
 +M2$4@,\0@3T)*14-44R!414Y$(%1/($%63TE$(%1(10U#14Y415(@3T8@5$A%
 +M(%-#4D5%3B`M+2!42$E3($E3($$@0T].4T51545.0T4@3T8@5$A%(%)!3D1/
 +M32!.54U"15(-1T5.15)!5$]2(,D@0T]$140@55`@*$%.1"!$240@3D]4(%1%
 +M4U0@1D]2(%-014-44D%,(%!23U!%4E1)15,-3U(@04Y95$A)3D<@3$E+12!4
 +M2$%4(#HI+B`@SU))1TE.04Q,62#)(%=!4R!'3TE.1R!43R!03$%#12!42$E.
 +M1U,-24X@02!204Y$3TT@4D]7($%.1"!#3TQ534XL($)55"!42$5.(%1(24Y'
 +M4R!*55-4($-,54U0140@04Q/3D<@00U$24%'3TY!3"!,24Y%(#HI+B`@R2!7
 +M24Q,($%,4T\@4T%9(%1(050@5$A%(-/0S,'4(%)/551)3D4@0T%54T5$#4U%
 +M($U!3ED@1$%94R!/1B!(14%$04-(15,@+2T@5TA/4T4@241%02!705,@250@
 +M5$\@4%54($-/3$]2($U%34]260U33R!#3$]312!43R!!(,/)P3\@.BD-`,].
 +M12!42$E.1R#)($A!1"!43R!04E5.12!/550@5T%3($$@4D]55$E.12!72$E#
 +M2"!$4D%74PU#25)#3$53($%3(%1(12!324Y%+T-/4TE.12!404),15,@05)%
 +M($)%24Y'(%-%5"!54"X@(,E4($E3#4M)3D1!($Y%050@04Y$($=!5D4@4T]-
 +M151(24Y'(%1/(%=!5$-((%=(24Q%(%1(12!#3T1%(%=!4PU3151424Y'(%50
 +M+"!!3D0@04Q33R!705,@02!#2$5#2R!42$%4(%1(12!44DE'(%1!0DQ%4R!7
 +M15)%($)%24Y'#5-%5"!54"!#3U)214-43%DN("#!3EE705E3+"!!3$P@250@
 +M1$]%4R!)4R!43R!$4D%7($-/3D-%3E1224,-0TE20TQ%4R!/1B!04D]'4D53
 +M4TE614Q9($Q!4D=%4B!2041)22P@1D]2($$@4T]25"!/1B!454Y.14Q)4T@M
 +M3$]/2TE.1PU42$E.1R#)(%-54%!/4T4N#0#42$5212!)4R!!($Q)5%1,12`B
 +M1D%)3%-!1D4B($E.(%1(12!04D]*14-424].(%)/551)3D4N("#)1@U#3T]2
 +M1$E.051%4R!!4D4@3U54($]&(%)!3D=%("A'4D5!5$52(%1(04X@.38@3U(@
 +M-#`I($%&5$52(%!23TI%0U1)3TXL#51(15D@05)%(%-%5"!43R!42$4@3U))
 +M1TE.+B`@P50@3$5!4U0@3TY%($]&(%1(12!/0DI%0U13(%-#4D574R!54`U&
 +M4D]-(%1)344@5$\@5$E-12`H5$A%($]#5$%(14123TX@25,@5$A%($U!24X@
 +M0U5,4%))5"#)(%1(24Y+*2P@04Y$#<D@5$A)3DL@5TA!5"!(05!014Y3($E3
 +M(%1(050@5$A%($Q)3D4@4D]55$E.12!42$E.2U,@250@3D5%1%,@5$\@1%)!
 +M5PU!($Q/5"!-3U)%(%!/24Y44R!42$%.($E4(%)%04Q,62!.145$4R!43RX@
 +M(--/($E4($A!4%!)3%D@34]615,@04Q/3D<-4U1)0TM)3D<@0EE415,@24Y4
 +M3R!42$4@5%))1R]04D]*14-424].(%1!0DQ%4RP@04Y$($5614X@34%+15,@
 +M2513#5=!62!54"!43R#6R<,L(-/)Q"!!3D0@5$A%(,/)P5,A("#/3D-%($E4
 +M($%#5%5!3$Q9(%-405)4140@4$5'1TE.1R!42$4-T\G$(%9/3%5-12!214=)
 +M4U1%4B!/4B!33TU%5$A)3D<L($)%0T%54T4@5$A%4D4@5T]53$0@0D4@02!0
 +M15))3T1)0PU,3U5$(%1)0TM)3D<@1E)/32!42$4@4U!%04M%4BX@(,5614Y4
 +M54%,3%D@5$A%($-/1$4@2E535"!'4DE.1%,@5$\-02!(04Q4($]2($5,4T4@
 +M0T]-4$Q%5$5,62!(3U-%4R!42$4@4UE35$5-("TM($A%3D-%+"!42$4@1D%)
 +M3%-!1D4@.BDN#0#&24Y!3$Q9+"!42$4@5D5262!&25)35"!,24Y%4R!/1B!4
 +M2$4@0T]$12!2141)4D5#5"!42$4-PL'3R<,@5D5#5$]2($%4("0P,S`R+R0P
 +M,S`S($%.1"#*S=!3(%1/(%1(12#.S<D@TM,OTL73U,_2Q2!23U5424Y%#2A!
 +M3%1(3U5'2"!!(,+2RR!73U5,1"!04D]"04),62!(059%(%-51D9)0T5$*2X@
 +M(-1(25,@25,@5$A%($].3%D-5T%9(,D@0T]53$0@1T54(%1(12!#3T1%(%1/
 +M(%=/4DL@5TE42"!42$4@0U)53D-(15(@+2T@5TE42$]55"!)5"P-5$A%(%!2
 +M3T=204T@1T]%4R!)3E1/("+)TM$@3$]#2R(N("##4D]34T)/5R!/1B##4D53
 +M5"!354='15-4140@5$A!5`W!PL-254Y#2$52($1/15,@3D]4(%!55"!!(,/,
 +MR2!!5"!42$4@14Y$($]&($E44R!#4E5.0TA)3D<@4D]55$E.12P-04Y$(%1(
 +M050@5$A)4R!#04X@0T%54T4@4%)/0DQ%35,L($U/4U0@3D]404),62!7251(
 +M(%1(12##R<%3+@T`R50@5$]/2R`Q,"TQ-2!(3U524R!43R!'150@5$A)3D=3
 +M(%1/($-254Y#2"!!3D0@5T]22R!#3U)214-43%DN#<E.($A)3D1324=(5"#)
 +M($-!3B!42$E.2R!/1B!!($)53D-(($]&(%1(24Y'4R!42$%4($-/54Q$($A!
 +M5D4@0D5%3@U%05-)3%D@1$].12!43R!-04M%($E4(%=/4DLL($)55"!!5"!4
 +M2$4@5$E-12#)(%=!4R!355)%(%)%3$E%5D5$(%=(14X-250@1DE.04Q,62!'
 +M3U0@1$]73B!43R`T,#DU($)95$53+B`@S4]204PZ(,$@3$E45$Q%(%1(24Y+
 +M24Y'($5!4DQ9($].#5-!5D53($U!4U-)5D4@5$E-12!!3D0@149&3U)4($1/
 +M5TX@5$A%(%)/040N#2`-U$A%(,U54TE##2TM+2TM+2TM+2`-`,9)3D%,3%DL
 +M($$@5T]21"!!0D]55"!42$4@355324,N("#/4DE'24Y!3$Q9(,D@5T%3($=/
 +M24Y'(%1/#4-/3E-44E5#5"!!(%-%4DE%4R!/1B!#2$]21%,@5TA)0T@@R2!#
 +M3U5,1"!-3T153$%412!"1517145.($E.#4$@1D%)4DQ9($9,15A)0DQ%(%=!
 +M62X@(,D@5T%3(%1(14X@1T])3D<@5$\@0E)%04L@55`@5$A%($-(3U)$4PU)
 +M3B!!($Y)0T4@5T%9($%.1"!-3U9%($)%5%=%14X@5$A%32!204Y$3TU,62X@
 +M(,)55"!42$5.($E4($]#0U52140-5$\@344@5$A!5"#)($%,4D5!1%D@2TY%
 +M5R!!(%!)14-%($]&($U54TE#(%=(24-((%=!4R!!(%-%4DE%4R!/1@U"4D]+
 +M14X@0TA/4D13($%.1"!33U5.1$5$($E.1DE.251%3%D@34]212!#3T],(%1(
 +M04X@04Y95$A)3D<@R0U705,@1T])3D<@5$\@04-#241%3E1!3$Q9(%=2251%
 +M+"!33R#)(%53140@250@24Y35$5!1"X@(,5614X@0D545$52+`U42$59($%2
 +M12!&3U52+4Y/5$4@(D-(3U)$4R(L($)23TM%3B!)3E1/($9/55(@1U)/55!3
 +M($]&($9/55(@3D]415,-14%#2"`M+2!43T\@1T]/1"!43R!005-3(%50+B`@
 +MSD]415,@05)%($Q/3TM%1"!54"!)3B!!($9215%514Y#60U404),12P@5$A5
 +M4R!/3B!-62#0P<P@-C0@5$A%($U54TE#($=%5%,@5%)!3E-03U-%1"!43R!!
 +M($1)1D9%4D5.5`U+15D@*$E.($%$1$E424].(%1/(%!,05E)3D<@050@5$A%
 +M(%=23TY'(%-0145$(#HI+@T`R2!$3R!.3U0@3D5#15-305))3%D@4D5#3TU-
 +M14Y$(%5324Y'(%1(12!23U5424Y%($%3($$@34]$14P-1D]2($1/24Y'(,G2
 +MT2!)3E1%4E)54%13("TM(,D@2$%$($U!3ED@4%)/0DQ%35,@5TE42"`BR=+1
 +M($Q/0TLB+"!72$5210U!3B#)TM$@25,@0T].5$E.54]54TQ9($Q!5$-(140L
 +M($%.1"!#3TY315%514Y43%D@25,@0T].4U1!3E1,60U254Y.24Y'(%1(12!2
 +M3U5424Y%+"!!3D0@R2!35$E,3"!$3R!.3U0@54Y$15)35$%.1"!72$%4($E3
 +M($A!4%!%3DE.1RP-3D]2($1/(,D@2$%612!!(%-/3%5424].+@T-S45-3U)9
 +M(,U!4`TM+2TM+2TM+2TM#0`D,,8P,"TD,,;&Q@#35$%25$E.1R!324Y%*U!2
 +M3TI%0U1)3TX@5$%"3$4-`"0Q,#`P+20R,C4W`,-/1$4-`"0S,#`P+20T,#`P
 +M`,-(05)!0U1%4B!3150-`"0V,#`P+23#,,;&`--)3D4L($-/4TE.12P@04Y$
 +M(%!23TI%0U1)3TX@5$%"3$53#0`DPS$P,"TDP\;&Q@#-25-#+B!605))04),
 +M15,@04Y$(%1!0DQ%4PT-PT].5$5.5%,@3T8@1$E--"Y,3E@-+2TM+2TM+2T-
 +M`$1)330``--50DU)5%1%1"!%3E1262!&3U(@-$L@1$5-3R!#3TY415-4#0!$
 +M24TT+E1%6%0`U$A)4R!&24Q%+"!)3B#0Q=33P\G)($9/4DU!5`T`1$E--%)%
 +M041-12U254Y-12#/0E9)3U53#0!$24TT+DY!3453`,Q)3DM%4B!.04U%($9)
 +M3$4@5$\@55-%(%=)5$@@S4523$E.(#$R."`-`$U!24XT+E,``,U!24X@0T]$
 +M12!&3U(@1$E--`T`3T)*14-44RY3`,-/1$4@5$\@1$5&24Y%+U-%5"!54"!/
 +M0DI%0U13#0!'4D%02$E#4RY3`-9!4DE/55,@1U)!4$A)0U,@4D]55$E.15,@
 +M*$Q)3D53+"!&24Q,4RP@151#+BD-`$U54TE#+E,``,E.250@04Y$($U!24X@
 +2R=+1($U54TE#(%)/551)3D4-
 +`
 +end
 +
 +@(A)gfxcode: Binary for 3-D Dungeon Crawls
 +    
 +begin 644 dungeon.sda
 +M`0@-"`T`GB@R,#8S*0```*D`C2#0J0"-(="I\84OJ0Z%,*4!*?Z%`:D`C98#
 +MJ?&%+ZD.A3`@M`@LE@,0#"#`_R20,&"B""#)_R"J"K!6+(,#,`H@TO\DD#!*
 +M3$@((,S_+)8#,!+.E@.I`(7&(.3_R0#P^<D#\"VI""##_ZG^C8(#($(,K6T#
 +MS74#T!"M;@/-=@/0"*E/(,P)J4LLJ3\@S`E,-`@@S/^I""##_Z4!"0&%`4QT
 +MI*(OJ0"=7`/*$/JI,(T``:DZC0$!($(,R0+0U.@@0@R=;`/HX`G0]2R6`Q`#
 +M('<*($(,R1&PN:H8:02%MZEDC6(,J3:--`NI#(UC#*D+C34+H`"I`(6[J0&%
 +MO"!"#)D"`2#,"<C*T/.I+)D"`2#,"<BM=`.9`@$@S`FI("#,":D(JJ`!A;B&
 +MNH2Y($(,($(,($(,(-<)K&P#P`70!:G_C7$#P`+P#<`$\`G``=`#($(,&&"@
 +M`)B9`,R9`,V9`,Z9`,O(T/&JJ0"->P.-?`.-?0.@!2`5#&J(T/EJ:FJ-B@/)
 +M&;`TR0#P*:@@%0PN?@,N?P,N@`.(T/&H;H`#;G\#;GX#+GL#+GP#+GT#B-#K
 +M(.X)Z-"RSGH#&&`LE@,P`6!,TO\X8*UL`\D&L/>M=`/)4/`(R5/P!,E5T.A@
 +MCA0*H`"MB@/,>@/0'YD`RZU[`YD`S*U\`YD`S:U]`YD`SNYZ`Z(!BID`SV#9
 +M`,N0`\C0U(PL"J#^(#@*B,``T/@@.`JMB@-,^PFY`,N9`<NY`,^9`<^Y`,R9
 +M`<RY`,V9`<VY`,Z9`<Y@4U1/TE!!0\M3455%1=I#4E5.0\A3455!4\A#4E5.
 +M0\@@9`X-54XM`*``KFP#RC`+N5<*,`/(T/C(T/*Y5PI(*7\@S`G(:!#S(&0.
 +M24Y'+BXN`&".^`J,^@H@_PHL@P,P/JZ$`_`&('`+3/,*KFP#\!W@`?`9X`7P
 +M!.`#T`H@80RP':YL`Y`*((<+L!20`R!"#.``\`?@`O`#(#,+(!X+&*(`H``L
 +M@P-@KF\#T!:N<`/0#JYQ`]`&J?^-@P-@SG$#SG`#SF\#8$CNA0--A0,8;74#
 +MC74#D`/N=@-H8$PV"\G^\`%@J4J--`NI"XTU"VAH3,,*C8<#J5J--`NI"XTU
 +M"TQ%"XQX"Z!PC#0+H`N,-0NLAP.,A`.-AP/.A`/P`M`,H`"I-HTT"ZD+C34+
 +MK8<#8*D`C8@#C=(+C88#C8L#[HL#C7<#C7@#C7D#C/L+COD+(!4,D`RLA@.M
 +MBP,9=P.9=P,.BP.0!BZ+`^Z&`^Z(`ZV(`\D8D`0X3/@+H`#9`,OP!)#-L/&^
 +M`,SL=P/0&;X`S>QX`]`1O@#.['D#T`FY`,\8H@"@`&#(\,V,T@O,>@.0R_#)
 +M3,T+`0($"!`@0(",/0R-/PRL@0/0!B!"#(V)`ZV)`SD-#-`"&"0X",C`")`"
 +MH`",@0.@`*D`*&",7PRL@@/`_I`,&)AE+X4OD`+F,*``L2_(C((#H`!@3&0,
 +M(+P-(*4-(#4-C5X#C6L#C6`#K5T#C5\#J8N-8@RI#(UC#*UK`QA@(#4-.(UA
 +M`^UE`ZU=`XUB`^UF`Y`GK6`#C6L#((P-K5X#C5P#C6D#K5\#C5T#C6H#K64#
 +MC6$#K68#C6(#K5T#\#"M7`.%%*U=`PGPA14@+@X@C`VE%2D/"="%%2`N#HU<
 +M`Z45*0\)X(45("X.C5T#T,NI$8UB#*D-C6,,K5P#C6L#C6`#&&`@EPVP`6"M
 +M7@.-:0.M7P.-:@,@V0VM80.-7@.M8@.-7P-,BPRI`(U<`ZQH`R`5#"Y<`RY=
 +M`XC0]*U<`]`XK5T#R0'0,6AHJ0"-;P.-<`.-<0.I_XV#`ZUL`\D%T!:@$"`5
 +M#"YM`RYN`XC0]*`H(!4,B-#Z.&"M7`-,.PZ@`)']YOW0`N;^8*7]R3S0$:7^
 +MR0/0"SA@J3R%_:D#A?Y@I?W0`L;^QOVB`*']&&"I`J`!C64#C&8#C&<#J?Z@
 +M`(UC`XQD`ZD)C6@#8*UF`\D0D`%@A16M90.%%*QJ`ZG@(`D.K&D#J=`@"0ZL
 +M:P.I\"`)#NYE`]`#[F8#8(T1#J45*0\)`(45F*``I@%XA`&1%(8!6&"E_"D/
 +M"?"%%:7[A12@`*8!>(0!L12&`5A@2*UH`\D,L!^M8P/0`\YD`\YC`ZUC`PUD
 +M`]`,[F@##F<#K6<#C60#:&!HC7`.:(UQ#B"`#JW___`&(,P)3&P.((`.;'`.
 +M[G`.T`/N<0Y@````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M```````````````````````````````"`TV0.`$``0!3!$Y%5S7^+!&2P<E'
 +M`-8?8`1<2)"DC"`,`H((.!,E0PP!$Z(,*1$F28XX`A2<F3!$B8`923)$@X-%
 +M@(`E.<I$*5&)@(`[>TZL$1`)0QH!=9)42"!@PYX+9P3DHU$B3YXLV#0H0A%%
 +MP)X22>)Q"9))EH)H6.XIZC"JPH%J%O;DPE%!Z0](,*`(6!1$`(DA.YX(6#/M
 +M285\5\Y<&'+B$CTF)\9QB:.KX`]R54YC07;J`HD35W;H![+G@*!?!$+D,X]-
 +MXP\LVF`@$!"F1)0@%:)$\A<L;-"28;26C1A$0`TK.HS!TAA"A\`L04KY+)$@
 +M3Z0^V`````(#TRB&!@`&`%`'4%E204U)1/XA``!!@`8!"H`\3!BP8?0'&(!2
 +M@"C]`?0G%*!*`&(16!"+T()0_VIA6$`)'F2<Q`H`J$0@$P"6=%C384N'780%
 +MCSH=@O``+!T6$Q:\J@2H3)<*!+K\JP2E")\"<`CTE@:`P&KILB0J5*I2K88B
 +M2K4KQZA71A&=1G6K-V/6LDEK>&(3JX5F`20$L5U5@A:+R()*,&(1]]<FU*]*
 +M@T(C^U-I2!%4!$K`(G#BWX-ODR0]@#))R`-XDR0\@+/@;*RB6),\V"4#&:Q*
 +M(XH(303KP2($,$`!0@:*`#I`D%#"HD,`!CQ`("#!`4<`%CP0J#LA'X$"`B`X
 +MT)`15ITZ?:8'<B9)>8!MDK0'S"9I>`!NDJP',&1`@HP`$F`T,H[\D-$$0JEI
 +MP#`)H`],`N2#(BR`127`+(!&)4`L@"2&Q?[SP$M`/'`3*`^<L,"=!-8"&RI$
 +M8<`1-J**$(L7L,0283)NP$I%([\@`(P,(=$#&R&58$853700Q!!3++'%D6!<
 +MUE$`9LRQ^@0DE3`12T9<I,0(8#*Q^1Q\2JE$9!J(87@;&&#(,`L4,E!FCC=0
 +M5&(:7[1Q4H`)!&@#S0*@%"`%`4G`4(`9!'3DE@=R$/"4+S(0``0,"V!3`!,$
 +M<`%-`2P0D%X26!"PF1M04D$`?DD`08!/26!`@'*^X$!`LX]Q1!EU#HE34&&N
 +MN5-093[E%EAKI8514$91Q91<0DG%ET9!$66Q4$[^Y>=444F%5)YG5=58#V/V
 +M"214:2UYJ%I'7G7ED7.]Q3=0;!DE-EYJ2:4T64Z5S192<4V5Y9M_U;%;#VL;
 +M.1;23GYY5U%`0;W46TIG77591F/%=]=RLY7VG'-+JO811\P\`,$D`3P`RB3@
 +M8V)``2`4`8(,\C&",^GDP(XQUCCC30`T!L3B"W!-%`$TS:RS@S7G--.-/>[X
 +M/,Q,+#ZS`T`1`',O00$82R_`[Y@+S3@A!8!1E,D4%("WUDJKS+#(8OC-#@1%
 +M0,R]*040;+'!]`O/-`O^LRN;^13$[D(!1!3M/NW*.ZP&_$2@3`K!.J"MOPXT
 +MAZT#W5'[;[@C#Q#/,AL%P,QY>(S`'1LC"&N=3<S6(&VWQ^F0G+4.9.=1`,6%
 +M4UP\.U27G7C@(F!A0.T2+`!.P:&J3D'M;/=2<.1<4]QUSWW'/`CLP\'<=_P3
 +MP&*PX$8[+3[[I<OLL=PM[]ZVZAUW;?KHH4"<3>TNCQZYWZ<O4G#,EP]]\]*^
 +MT[QVP,=O[G6F_>QI=E?:#Y7@1@$"$`L6P"(&S*P'``J@A%@P!!J,@$41@(F!
 +M7$N@`IWXQS\R@T=VO.,N4+@+*J:`@`L4P!^=`(`:,A$`?D0``>^0P1`@T0D!
 +M`",6-H#%1#C##5O`HA<LX88]8'$1D7##08P8"&[P0X@%O","!N!`*7YQ"0"&
 +MH931T60446``C*C#,EKXC0Y18A)]_$DN1OB-9<P8'4M&BQ"AB$`8PDEE:30B
 +M'`^@`@.0,0EL/(`4N1@'*"XH"""<(0('),8E$``-#EPB(*$`362BD0$)R.`5
 +ML+!`!610Y=6D(R*9I$(G'`#'FZ1B`A=8P`M3F(9O^Z(2^@C%)RH!@E!\H1+L
 +M",5W.A"*'Q0`'8WX1"*^PXQ/E.(S?2C%5P9CA$]8@B)MF8LEOD*!_0R3!ID)
 +M"S.^L(!"``*`8#`!`"X`#`200P6BT(`*E"$,)8A"%'(0ACQDH)2'/.4%XE""
 +M(,0@"0V(0!`J$`0S1"`+02A`&2J0AQ(T\YO_W$$00I"!*/[8"QX@``F@0`8R
 +M"+@.3!``&J#`!!\`"```````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M``(#<^KJ`P`"`%`*5$585%-#4D5%3OXA``"`,/`'AB&C(#"",^;`481(!0IU
 +MZ+1@T85+QHS]P4`0DQ-G4:(5*=:EVY)E5ZYCQH[+F`M7,6*5*-6CUXI5-VY3
 +MQXG)C;LX\<J4Z]-OS;H[][G3\N`I0:(*E08,VK#IP6.IF+QX2Y*L2K4AP[9L
 +M>_)<@S$?OE*DJE%KQ*@=NUZ\-N/'7YIT=>J-&;=GWYOW9@($RI"I0:,)DPX<
 +M^O#93)!@6;(U:39EVI%C7[Z;"1$J1ZX6K6;,.G'JQV\S8<+ER=>FW9QY9\[]
 +M`?3GGS&3V`R9[@C&U!]L`DR8`($*#CA0\.`0,-T'EX`_H#N`[H-#(`BRT/3I
 +M`P8!$!)`P%"`0O('\C88R/0?T`<!X19@<$#H@P4.."9&E/X@$J#O#[`_"/CC
 +M7T#^^^N_F##YZ7=@`0027#!BPAQ4\`$&$UK`8L(2<FBA!AQZX!C#&G9XX08:
 +M7A@8PQ9QH)$&'X8=;F`J````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M```````````````````"`^?JZ@,``0!0"D-/3%)30U)%14[^(0``;/@#!\P?
 +M+(#!P(`$!M`?#,`A_84.&SYBJ##A(D2*$BMZY)C1XB2,'2-JT@3)X\=-E"Q>
 +MXE09@H<+&AP`<&#!0`#."3P;\'R@@!7(YH]R/HB`\P$N5:9T*7_E*@+V!Z1$
 +MA7*5:M6H4LU?R?+`:S>L7+5ZP\:5RS>K7Z=1NU9-ZS5HU;*V/Y3``P``````
 +M````````````````````````````````````````````````````````````
 +M``````````````````````````````````````````````````````````(#
 +MG/F"'@`+`%`*1U)!1DE81$%40?XA``!PX&'&CAT#1G@`&-?LV:%-F4;]`Q8K
 +M5[),N8+]&Y;H#[!\B8;]FW?NV:9<N8D<FY0O6+Y)Q_X]NS1O7F#6V#(3R)1H
 +MTC=\^9)%RI0IP[]Q?\"<^W?L#ZAGX?[AIY`M7;#,2OZ`R)<KT#]_)9)J:?/O
 +M7Z$`.?'T%-<<3Z;91)!%RI693KY_$Q)URC3HTV?D&+*%1\\IWK!'F8F<"E3N
 +MW+E3S_YAEI-IQ#_<>'+-3O!?3EM#_D4,.S=<9-(LIQXEF_<O$*=GY^;EU#-<
 +MSGPBSV[-"S8O%W#L<IX3^5\BL%9I]^8%"##OWA_(N4!*'YD+6&8Y_T4`R+Q=
 +MP[E!^89]"B[=98-YF3IS&C8N0Z8!_SXWW/@,.,G$)/&>-QT)8*EXCG!.H''\
 +M`1X@\P$XYH)QFO+CDXVZ,TZR=C(XPCCAQC&L'N,4\\PQX\3;0B>/'/-(IT3D
 +M*T(D`_I9*RV/?$8N-K'2*BP1P33Z))[2EA(ICI%R$LE@9+;:[S+G:KD2.(\A
 +M2,)CD-8&0+RDP1,O9_"N\`>$0,@``QYDF,$%`#\X880-9ACA`P`\V(F'`79"
 +MP0`&,)!A)"0`X,"&`3X8P`8.`,"`!@,,^!6<-6;9"PH;(!Q@@`UNF&&&N4!*
 +M@I&'<L#@`0`'N6&"!3Z8E:V6$/@!0`#:V*J%)```H(<_QN(AG(YXF,$D%#>X
 +M8819/A@``#MVB&$&'V"`99P%)GAD7C@.\`"'F5!@X8<&&&"`!0P`G"F'&=P`
 +M<"0>1C"U!H!R2%9!0(GP@"%(A9QU`!9PV,```'Z,`0,&#!A7*AX8FO;-``,%
 +M]U]P6J4!`#!\N,$&&P#XP(4[W>QRAPY\```$.-#@P@<->`!`-/R(B(@'``8T
 +ML,'-V'#@`ATX4TX-!Z[0@P]LHP+!@@T9/'!`@$#8U)(?`&#`@4<K\%0*!SK`
 +M3(-#I?`@!APXP"$F%`8EX@9_(SWG#1Q@*V6-4]XE"(4/<H`!TW?AN&73_!;P
 +MK0@/?]7LT/&..Q((``((L,`"+[SPRV]:'0.J/OZD[K'7/FQB21E9:F'%%J^!
 +M4HFJ6OSRQBI65"E))9:D4D45E92C+A[[^.*K)+_LL\\[[[SRVR\@_*)Z-I8!
 +MG,KF&>+=`O!)Y"IW/FIG`DSNI?Q>>AZ55%)*&:K\XXLNI6J=?2OO5Z*/):N7
 +M`<HO^90_119:;+&U'Z^HDD8:6FBQ*1ZOK+'V!598*7DF!+OON?>^^Z?-._IJ
 +M48XFMAQF;ZS`DNL`QA9,J85\V@4"(-B%*[7PAE?L0Q^^2*4=-/&*5^0C'^F>
 +M0AITX8]7K&(3FL3S$ONQ"G.4.A^64'49@-UH?W>C#%JPPAK>?`Q7G_G"Q[[Q
 +M75C]"#!40=7)$8H(_H#F3`CXU5XX@0ETL>L`O.$-;LA$:;!A:@\H8`$K,'&.
 +M#X,$7^2B#&4N12I,?>L+4L`4I[&,@)\B'C$G1S*.$8ZS,R$!```"$.``!S8P
 +MX0KW>`,4X$`')BRA%FSDP@Q:48:F2Z$&3:0'%Z4H1SGT\0Y?N"$+69[P$]S@
 +M!DUH)QFE*(TK%.,>UXA'$G^@B%=\``Y\X,,?_O&.+_"!#DN88=\)``DXRM42
 +M4H#`G7C^"P)\H:86F$(?^M`-9#+P"GVHPSP0`(85+*/L.V0A#:[X#6WHX0]5
 +M^`L`ZMB$%JI@E9;,^BREQ(,5LE"*2J0C/WD1RA7T4Y*RB,8M$LZ4=MK2F.:T
 +MIB%-,'>+@^R728##"JK(0ID7DT[)K&<2(/!'/M11B2J74A+^SG,<5HF'=VKE
 +M,.NP=+57X:]?`+NK,/`40-%@7DSBP<VE\"\V0'/A7/C"%5J.A67Q8`4M9'D&
 +MEE#W9H[9#W]7N297/D5:2O&&K0JA+*DHSRNJ8$Z\?"0%?WZI)L#1CS>!XA_E
 +M,,T`0&L(M1HYJ*8UKV6M\8_^VE(+_?C'6ZTD6:>:U:5N]0!('>N5`0#7M;XU
 +M8G]=:HM^2=8=;\RM0?7KEJJX5Q<`T*86ZE&-3%3CDUKXPQ<T\85ZV*.^&<U"
 +M?7.;CR_\`1!_+6HIJEM"O.:U`'\`:BWJ8=TLXK6\;:UL4S.@B>JFM[K-K0((
 +M_IJ):MBW&]7MZSB^V@7@=C2K+0#N:&=:UNFNM:]M3<IO4ZI?PQK7N1:-X49/
 +M:L^-!M:G9_7O-4#JVML&U+G!-.U9P_O0R$;7JG'H;P+>NI<:OS0-(*UO3N=;
 +MT+K6MWP0K6I-ZSK9QFZWI6TM:6>'NM36KG>M`QT::$<ZUXEF=:L9(^S",+J,
 +MZJX.>]#=ZGIW\YWJ2`$`%,1#WU@!C#04$0_:XP8P/L<Q=N*-:SSCF\#8QC$1
 +M`(^7>!,'\(3&.;[)C'^`^8E3]R.-*.+A=%H`AOT$)SG=Z1!O^I.8\(RF.]/)
 +MSW#:LYS!A*<ZU0#:QWX.D"1^X0Y]Y`<0+EC!)CZ#32WHNU*@^'0"P((<*(`O
 +M+/,NEI8_L>\4)XR?DHNDY,+L#S#DSVOQE%PV]GU,N>8`/,B+`9C]`;K\%>`W
 +MF%'VH2NQB]W8^<%/39FS/QS@[Z1%?<%SALK\7>P?:D\VO?CUSR*@OQIJ+6SA
 +MRX9^,)=.K2`3#_F+<8-K,[_@5:^VBMA:PYK"OY:I3STUD0Y@Y*(0I:A$+=C0
 +MCU9T8+(!@&R9^/3;C@^#'84U1W!J^8G+&)L<SP+$/X$)3B@P80[[1"4FRGB%
 +M/>PS$^RD4<LUQ,-;U:.<P'S.\0#=3UT!TI26$P#UD.GQ86+Q6J+I;:@21P4(
 +MWN"_H2-LGI*NR0PE.PVP(![N--#/,4"."N`SG'%>WLG`Z8/IZJJ[&NYP/_9Q
 +M4Y/_@A2H`,`%^B$E"7_LXK5&`#]"E*EURA)=;^.NJ1$@SA_$$I;8/].35HD`
 +M=H0<`^QFTKIS$"_L'X">,XAX/T)Q!%J9BQRIYO?%^Z7Q?ME\]D"@/1)8+^H>
 +M(JQCU;>]P#K4?5L"`&.]]^C'^M,I]YPZ]^'Y+@+H<WK=X*=@#>I8?V8C:M:H
 +MET/]*8^%^?.Q5@*`8'VJ31E(,Y#=[%;X)&69"P-T4.H?@3D/I=!Q2EHDB55L
 +M+3=@[V(N(%R'?:QC,QPTQ>\G/@.=,#E8`"Z'*JXHB7^HH@M?^,*5D]TP+'3]
 +MX5=7\#,`JED+Z$/UNO@//("#/^B!JA(`J"4"*/@#/S>1EB5R-Z@"/^+),4#`
 +MOK(!*VA*.O`'HB6Z14`K#JA"G:6"*E1#/_1#G3^`OY9`M3_`OO<:L*;KI('K
 +MJ);(DB=[OE9HB]:@EB<C'JQKD^[`7W![5_!HKU%[?H`$C]8887`!&*P;68B!
 +M*J0;M59Z/J1[2W`'KZ'`G_>*M-F;HHE:&*@#)>)!;Q@"L*`!,+S[$FS!*KR'
 +M21@C'J3".RS#.KR2?)B';9B$`ZA"%72),%<[CCAHLFF:K2/`:NA`&A>#NJ2!
 +M.NR#!>*!7\0",*C!/HS#.NB#/!='0L0C7B2%%UR+,%=&9B2`6OC;"6=2K^K:
 +MKS%IDI0*-VCQ1-3PN=B+$/Q%.1!$):A&`U]$/91&K1U%N^Y'.4!P/D]&3S1&
 +M=_3:3Y387Y0!`#_PA=SP0@RI>LR!5BS$E#%%"QU'FXC$O,K+%S_%L@K&:NQY
 +M;[1&O_W'KI2*:QS&KK9"*0(`````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M```"`7T<2@```0!0"D=204985$%"3$7^(0#^-`-_.S\\_SR_/7\^/S__/[]`
 +M?T$_0O]"OT-_1#]%_T6_1G]'/TC_2+])?TH_2_]+OTQ_33]._TZ_3W]0/U'^
 +M#```````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M````````````````````````````````````````````````````````````
 +M``````````````````````````````````````````(#^F7:!``#`%`*,T1-
 +M05!35$]26?XA```,`!`0)%C0$,%#A13@#V@PX/X``P`>)%*4"-$BAXT=/42\
 +M6,'#10L?-4Z$>/Y`ADX8/V[XL%&3)8J;+&76&&$SI$V5*%/";)ES)4F4.EW:
 +MT/X*)0X9$6R>#-D+Y,Q9*E2A-#621XQ=O43R,'GBUJT3Q5_Y^*4K)DW3L%U)
 +MW``0((```B`X*``A@T70'0@"8-U[0I89#@$@F`B@@`?2'R@8,"#!0Y%2"@$T
 +MH)`@3P*'`",Z#0I0@$39`Q+X82@`H00*'.1<"&``RD0!&"4DH`"A`$4`N!LD
 +M@(!W2T(!8@T8"`H5``8/%FP__9V@@``)&<'5O@B```4+?@!X2*-`[($`%1($
 +M\)#W@`>&`#((\-#7`T?P`7I?S&C[`X$*#CB@P)L+L`.@`^,ZR/SI#R2P-KH#
 +MJ!Z`ZA^@FP##!@MU8'OD!@B6`P6H0Q`X;R1`X3MKIP&@FF`X,#Z:"SB`P-KC
 +MD\LZ`QB5R_9$8H)KD$$`NBL@@P(,H""#"3RH\24.C'%@@!`^*-#I"PS(P$/C
 +M9L)F`).:\R!`$"\(0#KDF3T0A`BDT68E&:7^D40(H-NN`Z=[CG8#[H#=^H<#
 +M?&XQA`$!<"8#"I=']@1LI]WVV@\!!EXE[)`Y$'A32(3!)^%J`:"X'DS",88`
 +M"'44`.EM8DF`;I"^QH(">6#6`Y8JH*``G")@@!IO@!WV&.V6Y>G&9KT]=AEE
 +MO(DFEPF%7="*Y!V0@`,')02@`N0\D,!`UV)L*8281*;``04\F!!"`*W1QH8!
 +M0%/1QYAC@B"!6GR`(,/5%`7\`>$^2)6!!`A_KED,)7]`0T`!*)X!QU^Z@X`$
 +M7,*`-094_[Y``73S(#4#!"@4``H%&%!F#D&7@)H&!;#6``<J!6`#(```````
 +M````````````````````````````````````````````````````````````
 +<````````````````````````````````````````
 +`
 +end
 +
 +=========================================================================
 +</code>
magazines/chacking13.txt · Last modified: 2015-04-17 04:34 by 127.0.0.1