From 71a0dc43ed9498db72f4a302a4b11fabb93ab286 Mon Sep 17 00:00:00 2001 From: Mark Loli Date: Fri, 15 Jun 2007 04:26:57 +0000 Subject: [PATCH] Initial check-in of NSIS Winboard installer files. --- installer/WinBoard-4.2.7/COPYING | 340 ++ installer/WinBoard-4.2.7/COPYRIGHT | 51 + installer/WinBoard-4.2.7/ChangeLog | 3331 ++++++++++++++++++++ installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc | 10 + installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin | Bin 0 -> 5475448 bytes installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin | Bin 0 -> 132552 bytes .../WinBoard-4.2.7/Crafty-WinBoard/crafty.doc.txt | 2112 +++++++++++++ .../WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe | Bin 0 -> 1024000 bytes installer/WinBoard-4.2.7/FAQ.html | 1701 ++++++++++ installer/WinBoard-4.2.7/GNUChes5.exe | Bin 0 -> 438172 bytes installer/WinBoard-4.2.7/GNUChess.exe | Bin 0 -> 205824 bytes installer/WinBoard-4.2.7/Knight.ico | Bin 0 -> 766 bytes installer/WinBoard-4.2.7/NEWS | 40 + installer/WinBoard-4.2.7/READ_ME.txt | 53 + installer/WinBoard-4.2.7/RJF60.pgn | 935 ++++++ installer/WinBoard-4.2.7/RePackage/FA.ini | 28 + .../RePackage/WinBoard-4.2.7_full.nsi | 378 +++ installer/WinBoard-4.2.7/RePackage/knight.ico | Bin 0 -> 16958 bytes .../WinBoard-4.2.7/RePackage/modern-uninstall.ico | Bin 0 -> 13902 bytes installer/WinBoard-4.2.7/RePackage/wc_uninst.ico | Bin 0 -> 3950 bytes .../WinBoard-4.2.7/RePackage/welcome_chess.bmp | Bin 0 -> 26494 bytes installer/WinBoard-4.2.7/book.dat | Bin 0 -> 3710751 bytes installer/WinBoard-4.2.7/bughouse.bat | 14 + installer/WinBoard-4.2.7/cygncurses7.dll | Bin 0 -> 229376 bytes installer/WinBoard-4.2.7/cygreadline5.dll | Bin 0 -> 151552 bytes installer/WinBoard-4.2.7/cygwin1.dll | Bin 0 -> 971618 bytes installer/WinBoard-4.2.7/gnuches5.txt | 512 +++ installer/WinBoard-4.2.7/gnuchesr.exe | Bin 0 -> 205312 bytes installer/WinBoard-4.2.7/gnuchess.README | 13 + installer/WinBoard-4.2.7/gnuchess.dat | Bin 0 -> 144012 bytes installer/WinBoard-4.2.7/gnuchess.lan | 690 ++++ installer/WinBoard-4.2.7/gnuchess.txt | 348 ++ installer/WinBoard-4.2.7/kk13.pgn | 167 + installer/WinBoard-4.2.7/modern-uninstall.ico | Bin 0 -> 13902 bytes installer/WinBoard-4.2.7/timeseal.exe | Bin 0 -> 48640 bytes installer/WinBoard-4.2.7/timestamp.exe | Bin 0 -> 52736 bytes installer/WinBoard-4.2.7/wcrafty.exe | Bin 0 -> 880640 bytes installer/WinBoard-4.2.7/winboard.exe | Bin 0 -> 1996284 bytes installer/WinBoard-4.2.7/winboard.hlp | Bin 0 -> 140586 bytes installer/WinBoard-4.2.7/zippy.README | 411 +++ installer/WinBoard-4.2.7/zippy.lines | 33 + 41 files changed, 11167 insertions(+), 0 deletions(-) create mode 100644 installer/WinBoard-4.2.7/COPYING create mode 100644 installer/WinBoard-4.2.7/COPYRIGHT create mode 100644 installer/WinBoard-4.2.7/ChangeLog create mode 100644 installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc create mode 100644 installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin create mode 100644 installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin create mode 100644 installer/WinBoard-4.2.7/Crafty-WinBoard/crafty.doc.txt create mode 100644 installer/WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe create mode 100644 installer/WinBoard-4.2.7/FAQ.html create mode 100644 installer/WinBoard-4.2.7/GNUChes5.exe create mode 100644 installer/WinBoard-4.2.7/GNUChess.exe create mode 100644 installer/WinBoard-4.2.7/Knight.ico create mode 100644 installer/WinBoard-4.2.7/NEWS create mode 100644 installer/WinBoard-4.2.7/READ_ME.txt create mode 100644 installer/WinBoard-4.2.7/RJF60.pgn create mode 100644 installer/WinBoard-4.2.7/RePackage/FA.ini create mode 100644 installer/WinBoard-4.2.7/RePackage/WinBoard-4.2.7_full.nsi create mode 100644 installer/WinBoard-4.2.7/RePackage/knight.ico create mode 100644 installer/WinBoard-4.2.7/RePackage/modern-uninstall.ico create mode 100644 installer/WinBoard-4.2.7/RePackage/wc_uninst.ico create mode 100644 installer/WinBoard-4.2.7/RePackage/welcome_chess.bmp create mode 100644 installer/WinBoard-4.2.7/book.dat create mode 100644 installer/WinBoard-4.2.7/bughouse.bat create mode 100644 installer/WinBoard-4.2.7/cygncurses7.dll create mode 100644 installer/WinBoard-4.2.7/cygreadline5.dll create mode 100644 installer/WinBoard-4.2.7/cygwin1.dll create mode 100644 installer/WinBoard-4.2.7/gnuches5.txt create mode 100644 installer/WinBoard-4.2.7/gnuchesr.exe create mode 100644 installer/WinBoard-4.2.7/gnuchess.README create mode 100644 installer/WinBoard-4.2.7/gnuchess.dat create mode 100644 installer/WinBoard-4.2.7/gnuchess.lan create mode 100644 installer/WinBoard-4.2.7/gnuchess.txt create mode 100644 installer/WinBoard-4.2.7/kk13.pgn create mode 100644 installer/WinBoard-4.2.7/modern-uninstall.ico create mode 100644 installer/WinBoard-4.2.7/timeseal.exe create mode 100644 installer/WinBoard-4.2.7/timestamp.exe create mode 100644 installer/WinBoard-4.2.7/wcrafty.exe create mode 100644 installer/WinBoard-4.2.7/winboard.exe create mode 100644 installer/WinBoard-4.2.7/winboard.hlp create mode 100644 installer/WinBoard-4.2.7/zippy.README create mode 100644 installer/WinBoard-4.2.7/zippy.lines diff --git a/installer/WinBoard-4.2.7/COPYING b/installer/WinBoard-4.2.7/COPYING new file mode 100644 index 0000000..a3f6b12 --- /dev/null +++ b/installer/WinBoard-4.2.7/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/installer/WinBoard-4.2.7/COPYRIGHT b/installer/WinBoard-4.2.7/COPYRIGHT new file mode 100644 index 0000000..accde17 --- /dev/null +++ b/installer/WinBoard-4.2.7/COPYRIGHT @@ -0,0 +1,51 @@ +XBoard -- a graphical chessboard for X + +Original authors: Dan Sears and Chris Sears +Enhancements (Version 2.0 and later): Tim Mann + +Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts. +Enhancements Copyright 1992-98 Free Software Foundation, Inc. + +XBoard's alternative piece bitmaps (bitmaps.xchess) are derived from the +bitmaps in the XChess program, which was written and is copyrighted by +Wayne Christopher. + +The following terms apply to Digital Equipment Corporation's copyright +interest in XBoard: +------------------------------------------------------------------------ +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. +------------------------------------------------------------------------ + +The following terms apply to the enhanced version of XBoard distributed +by the Free Software Foundation: +------------------------------------------------------------------------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +------------------------------------------------------------------------ diff --git a/installer/WinBoard-4.2.7/ChangeLog b/installer/WinBoard-4.2.7/ChangeLog new file mode 100644 index 0000000..313e8f1 --- /dev/null +++ b/installer/WinBoard-4.2.7/ChangeLog @@ -0,0 +1,3331 @@ +ChangeLog for XBoard/WinBoard + +* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output +to WinBoard.debug too. (This isn't needed in xboard because ICS +output already goes to stdout, so it's easy to capture along with the +debug output on stderr.) This was issue #280 in the ToDo file. + +* 11/23/2003: Cleaned up some minor problems in cygwin.mak. Thanks to +Hans Werner Strube for the problem report. + +* 11/23/2003: Updated the default list of chess servers in +winboard/defaults.h. Deleted two that appear to be dead and added a +new one that is active. + +* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard. +Hopefully this will get them the right way around by default on more X +window managers. I wish I understood this better. + +* 11/18/2003: Implemented a simple 32-bit random number generator for +WinBoard, replacing the Windows rand(), which ranges only up to +0x7fff. Formerly on Windows, only zippy.lines sayings that started in +the first 32767 bytes of the file could ever be used. This was issue +#505 from the ToDo file. + +* 11/16/2003: The xboard man page and info files are now built from a +common set of texinfo source files, and the xboard man page now covers +cmail as well. Formerly, ever since the texinfo file was first +contributed to the project, it was separate from the man page and the +two files had to be updated in parallel, making for a maintenance +nightmare. To make combining the files possible, I took the Perl +script "texi2man" from the GNU Units project and added support for a +larger subset of the texinfo markup language. I then carefully +compared the old man page and old texinfo file to make sure the latest +and clearest words survived into the new combined texinfo file. It +would be great to merge in WinBoard's help file too, but that's a +larger project. It would have to be heavily conditionalized to +deal with differences in features between XBoard and WinBoard. + +* 11/15/2003: Cleaned up and applied a small patch from Daniel +Mehrmann, to stop overly long PVs in thinking output from causing a +buffer overflow crash in backend.c. + +* 11/5/2003: When a chess engine sends a "telluser" command (including +the cases where "tellall" or "tellopponent" acts like telluser), the +information now goes into a nonmodel popup that is automatically +dismissed when the user clicks anywhere on the board. This fix is +more significant on WinBoard, where formerly you got a fully modal +dialog that had to be dismissed by clicking on OK before anything else +could happen. The bug was issue #406 in the ToDo file. + +* 11/1/2003: Removed email addresses from this file to reduce spam +load, as it gets linked to from the Web. + +* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt. + +* Modified xboard and winboard makefiles to be able to build the +project in the new combined directory structure. + +* Applied a small security fix to pxboard, from Martin Maeok. + +* Fixed a bug in the game list dialog. The change in 4.2.6 to opening +games in text mode (meant to avoid getting extra \r's into comments) +caused a new bug in determining seek offsets when parsing a game file +to form the game list. Also, the change was incomplete; on some code +paths games were still being opened in binary mode. Thanks to Lenik +Terenin for reporting the offset bug. I've now gone back to always +using binary mode when reading game files, and I've fixed the comment +bug by adding code to remove \r's from parsed comments explicitly. I +still use text mode for writing game files so that games written by +WinBoard will have Windows-style line endings. + +* Fix for minor bug in WinBoard installer. If you chose a non-default +destination directory, the default directory was still used for a +couple of unimportant things, namely setting the App Paths registry +keys (unused by WinBoard) and trying to copy the existing WinBoard.ini +file to WinBoard.old. I inherited this bug from the InstallShield 5 +sample template. Thanks to "l.d." for noticing the incorrect keys. + +* Patch from Chris Priest: when two engines are being run through rsh, +avoid reusing the same stderr port for both. I'm not sure why this +should be needed, but it's harmless, at least. + +* Bugfix: The kludge to deal with old engines that give an error +message because they don't know the "st" command was too sloppy; it +could hit on an "st" substring anywhere in an error message. GNU +Chess 4 is the only engine I know of where the kludge was needed, so I +changed the kludge to match a longer, more GNU-specific string. + +* Changed the WinBoard self-extracting installer to choose a unique +temporary subdirectory name within the Windows temp directory instead +of always putting wb-setup directly in temp. Besides being better +practice, this avoids the need to deltree wb-setup first, which +occasionally alarms someone who thinks that deltree is only used by +trojans to delete all your files. (Yes, I'm serious.) + +* Fixed a bug where FICS-style "wild/0" strings were not parsed as the +proper wild type. The "/" was not being skipped. + +* Fixed a WinBoard bug where temporary files created by game +copy/paste were being created in the root directory of the current +drive instead of the TMP directory and were not always deleted on exit. + +* Fixed a small bug in winboard.c's ErrorDialog() function. Thanks to +"Ron" (no last name given). The bug might have caused a problem when +pressing OK or Cancel in an error dialog when more than one error +dialog was being displayed, but I'm not really sure. + +* Removed a hack that worked around a bug in very old versions of +Crafty, where it would sometimes reply "illegal move" to a "." +command. The hack kept us from recognizing real illegal move messages +in analyze mode from engines that don't respond to the "." command. +Thanks to Fabien Letouzey for the report. + +* Fixed a bug in the xboard version of GetDelayedEvent. It would +return the most recently scheduled event even if it had already fired. +This caused at least one visible error: in -ics -xreuse mode, starting +the engine again and seeing another "feature done=1" would re-run the +initialization code in InitBackEnd3, including the code that opens the +connection to ICS. The WinBoard version didn't have this bug. Thanks +to Bob Hyatt for the bug report. + +* The promotion popup for ICC wild 26 (giveaway) now includes King. +Thanks to Fredrik Josefsson for the bug report. + +* The first game in a file (or being pasted from the clipboard) can +now start with a bare move -- no PGN tags, no move number "1", etc. +Suggested by Shane Harrelson. One could imagine taking this farther +and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but +I haven't done that. + +* Bug fix: xboard didn't really accept a paste of multiple games, +contrary to what I wrote when adding the feature to WinBoard in +4.2.4. Now it works in both. + +* Fixed generic start/end of game messages to work on chess.net, where +they put ratings in parens after the player names. + +* Updated config.sub and config.guess to newer versions from +automake-1.4p5-2. This makes configure work with MacOS X + X11. + +* Bugfix: when examining a game fragment on FICS where black plays +first, don't show two "(0:00.000)" times on the initial "none" move. + +* If TestLegality is on and one of the engines makes an illegal move +in TwoMachines mode, it forfeits immediately. Formerly the game would +get stuck at that point and the engine that made the illegal move +would eventually lose on time. + +xboard/WinBoard 4.2.6 -- Fri Feb 1 22:26:31 PST 2002 +Tim Mann + +Another small bugfix release. + +* Put in a small change from Alexander Mai to allow xboard to build in +an OS/2 EMX environment. + +* Fix WinBoard-only bug where editing a PGN file with comments would +insert more \r characters before the \n after every Load/Save cycle. +For some unknown reason we were reading the files in "rb" mode but +writing them in "a" mode, so we kept the \r characters on reading and +added an extra one on writing. Fix: change the "rb" to "r". Thanks +to Joel (last name not given) for the bug report. + +* Put the arguments to rsh/remsh in the right order for better +portability. Thanks to Michael Kalisz. + +* FreezeUI is now implemented in WinBoard; it was previously only +implemented in xboard. This function prevents the user from entering +moves or other commands while we are waiting for an engine to +initialize itself. Implementing it fixes a bug where the user could +start a game (etc.) during feature negotiation. One of the symptoms +of this bug was that we could send "new" one or move moves *after* the +first game started! + +* Fixed some handle leaks (WinBoard only), including a nasty one that +leaked one handle per command sent to ICS. Thanks to several folks +who helped characterize the bug and tried to look for leaks. + +* We now install and look for the info file in ${prefix}/share/info +instead of ${prefix}/info. The latter is still the default in +autoconf, but the former is currently used in Red Hat Linux and +probably elsewhere. + +xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001 +Tim Mann + +* Changed the bundled GNU Chess 5.02 in the WinBoard package to +include a much smaller book and to use much less hash table space by +default (8 MB transposition table, 0.5 MB pawn evaluation table). The +large book included with 4.2.4 made the WinBoard download too big for +some people, and the default hash tables were larger than the +available physical memory on some people's computers. I built the +small book by running Crafty's "small.zip" book line collection +through a Perl script that makes it look enough like real PGN games +that the GNU Chess book builder will accept it. The script and some +minor patches to GNU Chess 5 are available in the WinBoard source +distribution and at http://www.tim-mann.org/gnuchess.html. + +* Fixed a bug in the code that deals with engines that complain that +"time" and "otim" are illegal moves. This was a new bug in 4.2.4. + +* Revamped the implementation of ToStart in analysis mode. Formerly +there was some ill-conceived code that would try to get back to the +start of the game by doing a "new" command (and all the followup +commands that requires) while remaining in analysis mode. This is +problematic for engine authors to support, though it works with +Crafty. This code was trying to solve the problem of ToStart being +slow because the engine would try to start an analysis after every +"undo" command all the way back to the start. But ToEnd already had a +much better solution to this problem, and now ToStart does the same +thing: we exit from analysis mode and enter force mode instead, +make/unmake moves to get to the end/start of the game, and then +reenter analysis mode. + +* Formerly, Zippy could try to start playing a game before the engine +was initialized; that is, during the initial timeout for protover 1 +engines, or before "feature done=1" for protover 2 engines. We now +wait until the engine is initialized before connecting to ICS, which +fixes this in the common case. If you turn off engine reuse for +multiple games (that is, if you give the -xreuse option), there could +still be problems; see item 503 in the ToDo file. Thanks to Dieter +Buerssner for the bug report. + +* Bugfix: All WinBoard versions since the merge with WinBoard Plus +(but not xboard) have had a bug in changing the PeriodicUpdates, +PonderNextMove, and ShowThinking options from the menu. The bug +mostly just caused changing these options during a game to not take +effect until after the next reset. For TwoMachines games, though, +changing PonderNextMove just before the game would take effect +immediately for the second engine but not until the next game for the +first engine. Thanks to Koundinya Veluri for the bug report. + +* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and +reenter analyze mode. One symptom was that Analyze File did not work. +Thanks to Igor Syry for the bug report. + +xboard/WinBoard 4.2.4 -- Sun Dec 9 14:56:30 PST 2001 +Tim Mann + +* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00. + +* WinBoard's PasteGameFromClipboard will now handle a paste with +multiple games in it, popping up the game list dialog. xboard +already did this. Suggested by Robert Gerstman. + +* We now use the "clearboard" command on ICC where appropriate. + +* Bugfix: don't generate a bogus "variant normal" command to an engine +for the loadable ICC wild types that we internally flag as +VariantLoadable. Also clarified the message that Zippy sends when +declining such wild games -- it can't deal with the possibility of +loading an arbitrary position into the game. Thanks to Dieter +Buerssner for reporting the problem. It would be nice to be able to +actually play these wild types some day; presumably there would have +to be an option to either send "loadgame" with a specified position, +or to deal with an opponent sending it. + +* If we get a holdings message from ICS when we thought we were +playing normal chess, we now try asking for a move list so that we can +find out from the header what's really happening. Formerly we guessed +bughouse in this case. Response to a comment from Gian-Carlo +Pascutto. + +* Fixed two longstanding bugs in the clock code. These affected only +play between a user and a local engine, or between two local engines, +not ICS play. (1) The last fractional second used by a player before +moving and virtually pushing his clock was being charged to his +opponent instead of to him. (2) The time and otim commands were being +sent to an engine before the (buggy) fractional second update was +done. The second bug was pretty harmless in itself, but the first one +was serious. Many thanks to Peter Rosendahl for carefully diagnosing +and reporting these bugs! + +* Changed WinBoard timestamp key. Nothing is changed other than the +key and a recompilation. ICC may phase out the old key soon; if they +do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later +to connect to chessclub.com. + +* Fixed an xboard-only bug where most dialogs would not take keyboard +input unless the mouse was actually over the dialog, even if the +dialog window had focus. Thanks to Jason Varsoke for the bug report. + +* Bugfix; Remember to send time and otim commands to engine before +sending playother. Thanks to Bob Hyatt for the bug report. Also +fixed a bug where time and otim were sometimes sent even with feature +time=0. + +* Added small patches from Wilkin Ng that are meant to fix a crash in +CopyGameToClipboard and a "can't unlock clipboard memory" error in +PasteTextFromClipboard, under Windows 2000. + +* Changed cygwin.mak to not use -mno-cygwin. In other words, it now +uses cygwin1.dll instead of the mingw libraries. This works around +bugs in fileno() and stat() that I encountered in mingw. (fileno +seems to always return 0. stat fails because the library routine uses +a different definition of struct stat than the header files provide.) +Thanks to Robert Gerstman for reporting the symptoms these bugs caused +when WinBoard was compiled with Cygwin. + +* Added -showButtonBar option. This lets you delete the << < P > >> +buttons and thus widen the message widget a bit. + +* Added code to address a very obscure bug. If an engine dies and +needs to be restarted while in one of the analyze modes, it was not +getting put back into analyze mode. This bug should not really ever +have gotten tickled unless reuse was turned off and the engine sends +game end commands (such as 1-0) when a game ends by rule while in +analyze mode. The next version of the protocol spec will say that +engines should not do that, but version 2 and earlier didn't address +the issue. + +* We now use the FICS "iset ms 1" feature to get times in ms instead +of seconds. Thanks to DAV for email telling me about this feature. + +* Changed clock display to show tenths of seconds for 9.9 seconds and +less, instead of 0.9 seconds and less as before. + +* It has been discovered that Zippy can play simuls on ICC (but not on +FICS). If you arrange for Zippy to send the ICC command "simulize" in +the -zippyGameStart string, it will accept additional games while +playing. Zippy will use the same engine for every game, so whenever +it switches opponents, the engine's state will be reset with the "new" +command. This will of course weaken its play, so don't enable simuls +if you want your engine to have the highest possible rating. Zippy +was never designed to work with simuls; it just works by accident, and +it hasn't been tested much. So please report any bugs you notice, but +don't expect them to be fixed rapidly. Thanks to Paul McGuire for +noticing that this works. + +* Bugfix: Suppress the direct command to engine popup if there is no +engine. In WinBoard this case used to cause a crash. Thanks to +"Dargon" for the bug report. + +* Bugfix: formerly we did part of the engine initialization for the +very first game too soon, before feature negotiation. One result of +this is that engines would never get the "ics" command for the first +game. + +* Lengthened timeout to detect protocol version 1 chess engines to 10 +seconds. This should reduce problems with protocol version 2 engines +that are slow to initialize missing the timeout and not getting a +chance to send their feature commands before the first game starts. + +* Klaus Friedel says that adding a short sleep to WinBoard after +starting a new chess engine solves a problem that occurs under Windows +2000, in which engines sometimes don't see the initial command(s) from +WinBoard and hang. I don't understand how that can happen, but the +sleep is harmless, so I've put it in. Others have also reported what +may be the same problem, so hopefully this will fix it for them too. + +* Bugfix: editing the Result field in EditTags will no longer cause a +later crash. Thanks to DAV for a clear bug report that let me +reproduce the problem. + +* ICC wild 28 is now recognized as shatranj, but it is not supported. +You might be able to play it by turning off Test Legality. + +* Formerly we would always turn off "feature time" if the engine +printed an error message with the string "time" or "otim" in it; now +we do that only if the message comes before the engine makes its first +move. This change is useful because some engines spew a lot of bogus +error messages about commands they don't fully parse, so something +like "result 0-1 {White lost on time}" could generate such a message. +Engines shouldn't do that, but if they do, mysteriously turning off +"feature time" is not a good way to react. + +* Fixed an infrequently occurring Zippy bug: formerly, resuming from +adjournment by position (that is, with GetMoveList turned off) or +starting/resuming a wild game (nonstandard starting position) would +try to set up the position without putting the engine into force mode +first. That was probably tolerated by most engines, but if the +position was black-to-play and the engine hadn't set feature +setboard=1, then the fake "a2a3" move (which we use as a kludge to get +black to be on move before sending the edit command) would appear to +be a real move, and the engine might reply to it! This bug could also +be seen when trying to use Zippy to play a simul -- something that +Zippy was never designed to support, but which seems to mostly work +anyway. Thanks to Paul McGuire for sending a WinBoard.debug file that +showed the bug occurring. Some other cases of resuming adjournments +or starting games from nonstandard positions may have been broken too; +I think I've straightened out the problems. + +* Agreeing to a draw in the human vs. local engine case formerly did +not work if the human offered first; now it does. A human's +unsolicited offer is considered valid until he makes another move. +Thanks to Bruce Moreland for the bug report. + +* Bugfix: We used to look for just "fr" in Event tags or strings from +ICSes to recognize Fischer Random games. This caused a lot of false +matches. Now we look for "wild/fr" instead, which is what FICS uses. + +* Bugfix: Clicking on a move in the MoveList window only updated the +displayed position; if a chess engine was active, its state was not +updated. Thanks to Alejandro Dubrovsky for the bug report. + +* Bugfix: The "resign" command from engine to xboard formerly did not +work in ICS (Zippy) mode. + +* Bugfix: Formerly we would register a garbage premove if the user +clicked on a piece, then clicked on an edge or outside the board. Now +such an errant click is ignored. + +* Bugfix: GameEnds would send "exit" to an engine in analyze mode even +if we did not actually want to leave analyze mode. + +* Bugfix: "feature pause" was being rejected. We don't currently use +it, but that is no reason to reject it. Thanks to Gian-Carlo Pascutto +for the bug report. + +* Bugfix: when "partner" needed to be sent both to ICS and the engine, +Zippy was erroneously sending the ICS prefix character to the engine +too. Thanks to Gian-Carlo Pascutto for the bug report. + +* Zippy now declines challenges when the engine is not yet ready to +play again, instead of ignoring them. This is needed so that the +server will let the opponent repeat the challenge. It might be better +to remember such challenges and accept them when the engine is ready, +but that would be a bit more complicated to implement. + +* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a +built-in alias for "it", not a real command. So sending "$i foo" gave +an error message instead of doing "it foo". We now leave out the +alias-suppressing prefix for emotes. + +xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001 +Tim Mann + +* Bugfix: The error message "Variant X not supported by gnuchessx" +formerly could pop up even in -ncp mode. + +* Fixed an xboard bug in premove highlighting. If you had +HighlightLastMove turned on, premoves got highlighted in +highlightSquareColor (yellow) instead of premoveHighlightColor (red). + +* Modified premove again. Now we are back to displaying the move +locally immediately after sending it to the server, as in versions +prior to 4.2.1. This is good because it lets you register your next +premove sooner. As a better fix to the problem that the change in +4.2.1 had been trying to address, we now suppress animating the +opponent's move if you have a premove reply pending. However, it's +probably still a good idea for you to turn off AnimateMoves entirely +if you are trying to play extremely fast games. + +* Removed an erroneous patch that left zombie chess engines around +when both sigterm and reuse were turned off. (Bug was in xboard only, +not winboard.) + +* Bugfix: loading a game with autostepping did not work for games with +PGN result "*" (unfinished). This bug was introduced in 4.1.0, caused +by some outdated code that was supposed to leave you in EditGame mode +after loading an unfinished game. I fixed this, and also changed it +to leave you in EditGame mode after loading *any* game, but without +changing the tags to say it's an edited game. It's not really clear +whether that is the best thing is to do here -- ideally, perhaps, the +tags should change to say "edited game" if you actually make any +changes, but that is harder to make work. + +xboard/WinBoard 4.2.2 -- Tue Feb 6 20:00:00 PST 2001 +Tim Mann + +* Fixed a problem introduced in 4.2.1. In -zippyPlay mode, 4.2.1 +started sending the initString immediately after the old game ended, +but then when the next game started, it would still send "force" and +another initString. Another problem was that the first initString put +the engine out of sync with the displayed board position, though that +might not usually have been noticeable. This is now changed to do a +full Reset at the end of the previous game, and avoid doing a Reset at +the start of a new game if we are still in BeginningOfGame mode. + +* Fixed some limitations in -zippyPlay mode. The engine was not being +fed the moves or history of games that were displayed but not being +played, so it would get confused if you tried to do something like +examine a game, then enter EditGame mode from somewhere in the middle +of the game. + +* Made a small change so that cygwin can compile xboard for Windows +(an X server is required to run it). Thanks to Volker Zell. Most +people would probably prefer to run WinBoard on Windows, however; note +that cygwin could already compile WinBoard. + +* Added some missing documentation to engine-intf.html: It is okay to +send "feature done=0" even before you receive the xboard and protover +commands, if this is needed to give your engine enough time to +initialize. See engine-intf.html for more discussion. + +* Bugfix: "feature done=0" did not work for the second engine; now it does. + +xboard/WinBoard 4.2.1 -- Sat Feb 3 19:52:26 PST 2001 +Tim Mann + +* Bugfix: in Zippy mode with feature san=1, the elapsed time was being +sent to the engine after the SAN move; for example, "e4 (0:01)" was +sent instead of just "e4". + +* It seems that scroll wheel mice with incompletely installed software +(under Windows 95, at least) can send repeated middle button up events +when the wheel is turned. Moved QuickPaste from middle button up to +middle button down to avoid problems with this. + +* A premove is now sent *before* the opponent's move that it replies +to is animated. The premove itself is no longer displayed (or +animated) when sent; instead, it is displayed when the chess server +echoes it back as a board update. + +* Bug fix: in -xreuse mode, xboard was only sending command line +arguments to the engine the first time it was started. (WinBoard +didn't have this bug.) + +* In -zippyPlay mode, we now initialize the chess engine for a new +game immediately after the old game ends. (In -xreuse mode, this +means starting a new engine process; in the default -reuse mode, it +just means sending "new".) If the engine supports ping, we don't +accept challenges until the "new" has finished. This should help +avoid losing time (re)initializing the engine after the game starts. + +* We now handle the new FICS field in style 12 that says whether the +clocks are ticking. + +* whiteFlag and blackFlag are now reset whenever an ICS board image +arrives, giving autoflag a fresh chance to work. + +* Suppressed "geometry error" debug messages unless -debug flag is given. + +* Bugfix: avoid core dump on Solaris with -debug flag, caused by +passing NULL to a %s format in GameEnds. + +* Added -firstProtocolVersion and -secondProtocolVersion. This will +allow use of extremely broken engines that hang or die when given the +"protover 2" command. It should be rarely if ever needed. + +* Zippy now strips highlights from player names in the Creating +message; previously the ratings would not be extracted from this +message properly if you had set the highlight variable. + +* Bug fix: Zippy with -zp but not -zt used to be fooled by false +partner tells inside channel tells; e.g.: +Garf(24): Garf (your partner) tells you: sit + +* Bug fix: when an engine reported its name with the new "feature +myname=" command, we had been putting just that name into the window +title even when in TwoMachines mode. + +* By default, WinBoard no longer uses the new feature introduced in +4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess +engine command lines in separate files; instead, the lists are back in +the winboard.ini file. This gets rid of some problems where the +separate files could not be opened because the working directory was +not set to WinBoard's installation directory. + +* WinBoard command lines and ini files now have another optional +syntax for quoting an option value. All characters within { } curly +braces are interpreted literally except for '}' itself. SaveSettings +now uses this syntax for string values that contain a backslash or +newline and do not contain a '}'. This should address the problem +that the separate .ini files had been meant to fix; engine command +line lists can now be written without \-escapes. + +* Fixed three bugs in relaying moves between engines in TwoMachines +mode: an engine would be sent SAN if the *other* engine had set +feature san=1, a relayed SAN move did not end with a newline, and +feature usermove was not implemented for relayed moves. + +* Fixed several bugs in exiting: File/Exit would sometimes hang; +timestamp/timeseal would not get killed off; an engine crash would +cause error messages to be printed recursively until stack overflow. + +* Fixed a bug in the code to detect which ICS is in use and adapt to +it; the chess.net case was broken. + +* Removed the leading alias-suppression character when sending a move +to ICS, because it seemed to break accuclock on chess.net. + +* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched +as finger note number 10, causing a problem detecting when the user is +logged in. + +* Added tellicsnoalias command to protocol. + +* Changed st command in protocol back to old behavior. + +* Added done=0 feature to protocol, to lengthen initial timeout. + +* Added missing -colorSeek command line option to xboard. (Was +present in WinBoard.) + +* Bug fix: setting feature reuse=0 was not working. + +xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000 +Tim Mann + +* Setting -searchTime no longer turns off -clockMode. Note that when +-searchTime is set, some engines may search for the lesser of +searchTime and the amount of time their normal clock management would +dictate, while others will disable their normal clock management and +always search for exactly searchTime. + +* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the +ICS Interaction window would scroll back to the top whenever it filled +to capacity and WinBoard trimmed some text off the top. + +* Changed xboard dragging so that the center of the dragged piece is +forced to be over the mouse cursor. (WinBoard dragging already worked +that way.) This should avoid confusing cases when you start a drag +with the mouse near the edge of a square -- formerly most or all of +the piece could be over one square but the mouse cursor over another. +Suggested by DAV. + +* Added move list window for xboard. Code contributed by Manuel +Hoelss and re-hacked a bit by me. Performance of this window is poor, +because the implementation regenerates the entire window contents +whenever anything changes. It's hard to avoid this when using the +Athena List widget, though we could be a little smarter and notice +when the current move number has changed but the move list has not. +There are also several drawing problems caused by bugs in the Athena +Form and List widgets. The window should not really allow a +horizontal scroll bar, but the bugs are much worse if I turn it off. +In both Xaw and Xaw3d, the List widget tries to resize itself when +XawListChange is called, even if you tell it not to; and what's worse, +if the widget cannot resize itself to be large enough to avoid +clipping any of the list item, it does not change the list! Arrgh. +On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1 +(X11R6.4.3). + +* The OK button in the WinBoard startup dialog is now simply disabled +if none of the radio buttons is selected, instead of bringing up an +error dialog. Suggested by Ted Milbaugh. + +* Used ping to address the worst of the race conditions in the +protocol. Now if an engine supports ping, we ping it after sending +the "new" command and after trying to place it in force mode at the +end of a game. When a ping has been sent and the corresponding pong +has not yet come back, we (1) ignore or undo any moves the engine +sends, (2) ignore game end messages (such as "offer draw", etc.) from +the engine, (3) ignore thinking output from the engine, (4) delay +starting the next game if in -matchGames mode, (5) in -zippyPlay mode, +respond to challenges with a polite message to try again soon instead +of accepting them. There are a few more things that should be done +(and item 5 might not be quite what we want), but it's hard to fit +them all into the existing code. + +* Patched the version of GNU Chess 5.00 included with WinBoard to +support protover, feature, setboard, and ping, and to fix some minor +bugs. See gnu500+.patch. + +* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands +to be invoked only if the engine gives an error message for "st" or +"sd", and to always use protocol commands instead of engine +command-line options. See "Idioms" in engine-intf.html. + +* Added new protocol command "protover 2" to tell the engine what +version of the protocol is in use. Version 2 is still compatible with +old engines; see engine-intf.html. + +* Add new protocol command "feature ..." The engine can send this in +response to the protover command command, to say what extended +protocol features it would like to enable, etc. xboard responds +"accepted F" or "rejected F" for each feature F that is set. See +engine-intf.html. + +* Added new protocol command "setboard ". This is an alternative +to "edit", used only if the engine says "feature setboard=1". + +* Added new protocol command "ping ". The engine is supposed to +respond "pong ". This gives us a tool to fix some race +conditions in the protocol, but it is not used to the fullest yet. + +* Added new protocol command "tellopponent". This will do a "say" if +you're on a chess server in Zippy mode, or pop up an information +dialog otherwise. + +* Added new protocol command "tellall". This will do a "kibitz" if +you're on a chess server in Zippy mode, or pop up an information +dialog otherwise. + +* Added new protocol command "tellothers". This will do a "whisper" if +you're on a chess server in Zippy mode, or do nothing otherwise. + +* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames, +and /secondChessProgramNames options to accept a filename preceded by +"@", meaning to find the value in the file. Changed the defaults to +use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini, +and scp.ini. This should make it easier for users to edit the values, +since one less level of quoting is needed, and each value is in its +own file, not mixed into winboard.ini. Those who upgrade from an +older winboard version and already have a winboard.ini file will not +automatically have these values moved to a file; that has to be done +by hand if desired. + +* We now strip .exe from engine names for "name" command, tags, etc. + +* Allowed WinBoard input widget to hold more than one line. You can get +a newline into the widget with copy/paste or with Ctrl+Enter. + +* Fixed an xboard bug where the [P] button would appear in the +opposite highlight state from what it should be after being pressed. + +* We now use the "/" or "$" alias suppression feature on the chess +servers, to avoid problems if the user inadvertently aliases a +needed command to something else. + +* Changed the method used to deiconize xboard in AutoRaise and cmail. +This may fix bugs under some window managers where after +deiconization, the board window was mapped but nothing was drawn +inside. + +* Preliminary, partial support for playing several chess variants +against a local engine or editing variant games. The -variant option +must be given on the command line or WinBoard startup dialog; there is +no menu. The current variant is not displayed (except in the +Tags/EditTags window). Many variants will not work quite right even +if the engine supports them; see item 326 in the ToDo file for +details. + +* Added a workaround to detect the variant type when examining a +scratch wild game on an ICS. + +* Fixed two cases where "variant" command should be sent to the engine +when necessary but was not: loading a game from a file and restarting +a dead engine. Thanks to Gian-Carlo Pascutto. + +* Added missing support for FICS games that start from a bsetup position +with Black moving first. + +* Fixed a bug in loading a file from the game list window while in +Analysis or AnalyzeFile mode. This now leaves us in AnalyzeFile +mode, analyzing the new file. + +* Fixed a bug in loading games with a comment before the first move. + +* Fixed a bug in handling LoadGame (or -lgf) with -td 0. + +* Added a command line option to select an initial minor mode from the +Mode menu. This should satisfy requests from a couple of users with +special applications. + +* Fixed a problem where some things in WinBoard's General Options +dialog box were grayed out at the wrong time. + +* We look for a few messages from the chess engine pipe that are +intended to catch problems starting an engine via rsh, such as "No +such file". Moved code so that these strings won't match until other +protocol messages have been looked for, and documented the messages in +engine-intf.html. + +* Fixed the WinBoard bug that sometimes made the console input box +white-on-white even when not in password-entry mode. + +* Small changes to WinBoard to be compilable with the latest Cygwin +net release (as of 10-16-2000). Thanks to Mark Schoenberg. + +* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net +release (as of 10-16-2000). Also rebuilt the book just to be sure, +since I had one bug report about it. It came out identical and seems +to work fine. + +* Added messages for some common InstallShield errors instead of just +printing InstallShield's stupid error code numbers. + +* Added -firstComputerString and -secondComputerString, allowing you +to suppress or change the command that is sent to a chess engine when +its opponent is another computer. + +* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead +of Xaw widgets in xboard. Thanks to Johnny C. Lam of the NetBSD +project. I've left Xaw as the default because Xaw3d is too ugly. + +* The version of the Xaw Form widget released in XFree86 4.0.1 +(X11R6.4.3) has a bug that causes xboard to display the button bar +on top of the message widget. I've reported the bug and have +installed a kludge workaround into xboard. + +xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000 +Tim Mann + +* Merged Winboard Plus 4.0.8 from Mark Williams into xboard + source pool. Status of Winboard Plus features in xboard: + + - White pieces now have borders, but the implementation is + completely different from WinBoard's; see below. + + - Options menu not changed, probably won't be. + + - Copy&paste support working, using Mark's changes to backend.c, Ben + Nye's changes to xboard.c for FEN positions, and some code of my + own in xboard.c for PGN games. + + - Premove hooked up and working. No pre-first-move, though. + + - ICS Alarm hooked up and working. + + - Auto-flip working. + + - PGN Training mode hooked up and working. + + - Improved menu item enable/disable working. + + - Improved >> button working. + + - Auto activate board working. I changed this to be optional; you + might not always want it, especially in Zippy mode. + + - Blindfold working. + + - Documentation updated. + +* Fixed more colorization bugs. Commands like "message foo tells you: +xxx" and "tell 33 tells you: xxx" will no longer generate bogus +colorization. + +* Added low-tech sound support to xboard, by invoking an external +program on a filename for each sound to be played. + +* ICC wild 27 is now recognized as VariantAtomic, and it sets the +"ignore check" flag, but is not otherwise supported. + +* Converted the piece bitmaps from .bm to .xpm for use with xboard's +xpm support. (An .xim version was not created.) Wrote a shell script +using ImageMagick to do the conversion and to bucket fill from +coordinate 0,0 with the background color. Used xpaint by hand to +clean up a few pieces where background color "leaked" into the inside +or didn't flow all the way around the outside, then a sed script to +fix up color names and bitmap names in the xpaint output. If any more +sizes are added later, they should be straightforward to convert with +reference to the existing scripts. With this conversion, not only do +the white pieces now have dark borders, but (unlike with WinBoard) the +light details on the black pieces are opaque. + +* If the XPM library is found when building xboard, the new xpm pieces +are compiled in as the default. External bitmap (or xpm) pieces can +still be used by giving the -bitmapDirectory (or -xpmDirectory) +option. If the XPM library is not found, the old bitmap pieces are +the default. In this case external bitmap (or xim) pieces can be used +by giving the -bitmapDirectory (or -xpmDirectory) option. There is no +way to compile in xim pieces. + +Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 +Mark Williams + +* Bugfix release. + +* Main menu now visible in Win NT. Thanks to Microsoft for creating a +compiler which auto-mutilates the WinBoard.rc file so that the menu is +displayed under Win 98 but not Win NT. I fixed the problem by hand editing the +.rc file. Sigh. + +* "Reset game" now works properly when invoked from Analysis mode when two +engines are present. Correction of bug introduced in Winboard Plus. Thanks to +Mogens Larsen for reporting the bug. + +* Pasting a FEN position with Black to move now works in all modes. +Thanks to Mogens Larsen for reporting the bug. + +* Added gnuchess.dat to the distribution and a couple of text files that were +missing in 4.0.7. + +*** Merged in the following changes from Tim Mann: + +* Bugfix: Highlights would sometimes not be taken down, at least in +xboard. The problem is that SetHighlight works in chess coordinates, +not view coordinates, so if flipView has been toggled since the +highlight was put up, it gets taken down from the wrong square. Fixed +by being careful to call ClearHighlights before toggling flipView, not +after. Ugh. + +* Bugfix: HighlightLastMove would sometimes highlight square a1 after +a FICS "tomove black" command. + +* Bugfix: a move list with initial position that has black to play was +not being handled correctly. + +* Removed "decline abort" and "decline adjourn" commands from Zippy. +The syntax is changing on FICS, and Zippy really doesn't have to +explicitly decline the requests anyway; it's sufficient to not accept +them. + +* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC +calls it "giveaway"). + +* Bugfix: PGN games with black to move in the initial position weren't +being legality checked correctly. I think this was introduced in +4.0.6 when I fixed a different PGN bug. Thanks to Mark Williams for +spotting the bug and suggesting a fix. + +* Bugfix: the initial "name(" of a kibitz wasn't being colorized. + +Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 +Mark Williams + +* New white pieces with black borders. + +* Major overhaul to Options menu. New dialogs for setting General Options, + Board Options, ICS Options, Sounds, Fonts, Colors. + +* Clipboard support for PGN game scores and FEN positions. + +* Optional ICS Premove with user-specified first moves for White and Black. + +* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm. + +* New auto-flip option when playing against a chess program. + +* Added PGN Training mode. + +* Certain menu options now disabled while program is thinking. + +* ">>" button now always goes to the end of the game. + +* In ICS mode, the board is automatically activated at the start of a +new game. + +4.0.7 -- Sun Mar 5 17:17:49 PST 2000 Tim Mann + +* Fixed a nasty bug in parsing ICS game histories that was introduced +in 4.0.6. + +4.0.6 -- Fri Mar 3 16:20:11 PST 2000 Tim Mann + +* Fixed bugs in Zippy's code for responding to messages sent with the +ICS "message" command. + +* Fixed bugs where xboard could still create dialogs partially off the +top of the screen. Fixed unwanted interactions between initial sizes +and positions of various unrelated xboard dialogs. Deleted +borderXoffset and borderYoffset resources. + +* Fixed restoring the xterm name on exit to work in more cases. + +* Small fix to the WinBoard self-extracting installer: when it starts +up, it now always deletes any old wb-setup directory left over from a +previous installation. Formerly this worked only on Windows 95/98, so +on NT the self-extractor would sometimes stop and ask the user whether +it was OK to overwrite the old wb-setup files. + +* Modified WinBoard to be compilable with the free Cygwin tools +available from http://sourceware.cygnus.com/cygwin/. Based on work by +Mark Schoenberg. (His mods were enough to get WinBoard through the +compiler, but a few things were broken along the way, so I reworked them.) + +* Merged changes from Don Fong to make WinBoard compilable with +Borland C++ 4.5. I do not have Borland C++ and am unable to test with +it, but I did make sure the changes don't stop it working with MSVC++ +5.0 and Cygwin. + +* Forbade entering TwoMachines mode from MachineWhite or MachineBlack +mode when machine is on move. This used to confuse the engine and +cause problems, because when we try to get the engine to stop, it +might make a move first, and it might not do that immediately. + +* Variant classification now deals with new ICC wild 25, classifying +it as "3check". Also, we are now conservative about new wild numbers +we don't know about, classifying them as "unknown" instead of +"normal". + +* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a +correct one. 1.e4 now no longer takes GNU Chess 5.00 out of book! +Thanks to Pete Galati. + +* Made move parser accept and ignore nonstandard ep suffix on PGN moves, +e.g., "exf6ep" or "exf6e.p." + +* Fixed bugs in parsing PGN files starting with no move number, or +with a move number other than "1." (including "1..."). Thanks to +Michael Soulier and Stefan Zipproth for example PGN files +demonstrating the bugs. + +* Changed InitComboStringsFromString to not modify the input string; +this caused an exception when WinBoard was compiled with MSVC++ 6. +Thanks to Bert Tuyt for the report. + +* In WinBoard, dragging a piece off the edge of the board without +releasing the mouse button no longer instantly aborts the move. You +still must release the mouse button inside a square to complete a +move, but you can now drag off the edge and come back inside. + +* WinBoard bugfix: If you went into EditGame or EditPosition mode +while observing or playing an ICS game, and a new move came in +(snapping you back to ICSClient mode) while you were dragging a piece +around, the drag state would not be reset, causing the piece you were +dragging to remain on the board wherever you dropped it. Thanks to +David Brinegar for the bug report. + +* WinBoard bugfix: If you moved or resized the board while your +opponent was moving, and you had AnimateMoving on, his move would not +be displayed until after your next move. Thanks to DAV for reporting +the bug repeatedly until I finally understood it. + +* Added a Zippy "farewell" feature; see zippy.README. + +* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the +command line. Thanks to Steve Beer for the report and patch. + +* Send "computer" command to both sides in TwoMachines matches. + +* Fixed a Y2K bug in Evan's cmail code! Thanks to Brian Mays for the +report and patch. + +* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c. +This could cause crashes in LoadGame. Thanks to Andrzej Nagorko. + +* Fixed several pattern matching problems: Finger notes and formula +vars no longer get replied to by zippyTalk or colorized. Channel +tells by players with many titles are now colorized fully, and +zippyTalk handles channel tells by such players correctly. The shout +"--> foo(99): bar" no longer gets colorized as a channel tell. Code +is cleaned up a bit, and autocomment capture now uses the same +criteria as colorization. + +* xboard fix: Enter key now closes error popups as in WinBoard. +Especially nice for the "Exiting: Connection closed by ICS" popup. + +4.0.5 -- Tue Dec 7 10:30:40 PST 1999 Tim Mann + +* Added missing documentation of SIGTERM usage into engine-intf.html. + +* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as +-zippyReplyTimeout. Thanks to Francesco Di Tolla. + +* xboard -ics now restores the xterm's original title upon exit, at +least if $WINDOWID is set. + +* Bugfix: -matchGames mode wasn't terminating properly. Final score +popup would come up twice and engines would not be killed off. Thanks +to Frank Quisinsky for the bug report. Bug was introduced in 4.0.4. + +* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout; +similarly for "...s-shouts:" and "...c-shouts:". Thanks to David Lee +for the bug report. + +4.0.4 -- Fri Dec 3 17:51:27 PST 1999 Tim Mann + +* Bug fix: formerly if you invoked SaveGame from EditPosition mode +with black to play, the position was not saved properly. As a quick +fix, SaveGame now takes you out of EditPosition mode before saving. + +* Changed -matchGames to keep track of the score (won-lost-drawn) and +display it in the banner. The final score is displayed in a modal +popup before the program exits. + +* Changed "Connection closed by ICS" to display in a model popup +before the program exits. + +* Added -popupExitMessage option, default on. Setting this to false +suppresses the modal popups that you sometimes get just before +xboard/winboard exits -- both the two new ones listed above and the +existing Fatal Error popup. This is useful when running Zippy +unattended from a shell script (or .bat file) that loops and starts a +new copy after a time delay when there is an error. + +* In xboard, added missing support for WM_DELETE_WINDOW to all +windows. This makes xboard a better citizen, and is much needed with +the newer X window managers that put an [X] button on every window and +bind it to "kill application" if the applicationd does not support +"delete window". We can't allow xboard to be thoughtlessly killed, +since that leaves the chess engine running in the background. + +* We now avoid positioning tops of xboard dialog boxes offscreen. + +* zippy.lines can now use the caret ('^') character as an inter-saying +separator. You no longer need to dig up a text editor that can put NUL +('\000') characters in text files. + +* Bugfix: In traditional chess clock mode, White now gets time added +to its clock as soon as it makes time control. Previously both White +and Black got their time added only when Black made time control, +which would cause some engines to make their 41st move as White too +quickly, thinking they were low on time. + +* The zippyAcceptOnly feature no longer sends a decline command or +a tell. Thus you can use it to put Zippy into a manual accept mode. + +* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a +personal tell; similarly for "...whispers:" and "...kibitzes:". + +* WinBoard no longer blanks the message line when you start a new +move, unless there was an error message there from the previous move. + +* WinBoard now never puts the white piece drop menu on the middle +mouse button. Both colors are always on the right button. Windows +users often don't think to look for a middle button menu, or don't +really have a working middle button despite what Windows says. + +* Guest login handles on ICC are now parsed again; an ICC wording +change had broken this feature. + +* Autodetect when the engine does not support the "draw" command and +don't relay the command to it in that case. Needed because sending an +unsupported command to GNU Chess makes it move immediately, so people +could make Zippy move without thinking by continually offering a draw. +Thanks to Frank Walker for the problem report. + +* Small changes based on code from Robert Jurjevic: The WinBoard +analysis window can be minimized (though not to the taskbar). The +WinBoard ICS Interaction window will autoscroll if you drag the mouse +above or below the window while selecting, and password entry mode +leaves the entry line as the background color instead of using 75% +gray. Seeks are now colorized with a new color of their own. + +* Added -zippyMaxGames feature. + +* -zippyNoplayCrafty command line option was missing in xboard; fixed. +Thanks to John Perry. + +* Fixed bug in detecting when Zippy loses his bughouse partner. +Thanks to Ben Dean-Kawamura. + +* allobs fix in 4.0.3 didn't work; corrected it. + +* WinBoard will now update the board immediately if a move is made +while the window is being moved or resized. + +4.0.3 -- Sun Aug 15 18:44:39 PDT 1999 Tim Mann + +* Bugfix: moved winboard wizard functions that send a command directly +to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2. +Ctrl+Alt is equivalent to the European AltGr key, so the old assignments +conflicted with typing an @-sign on some keyboards. + +* Bugfix: prevent "If this message stays up, your chess program does +not support analysis" from appearing if AnalysisMode is selected when +already in Analysis or AnalyzeFile mode. Also, deleting analysis window +in WinBoard now switches you to EditGame mode, to avoid the anomaly of +being in an analysis mode with no analysis window present. + +* Change all Zippy environment variables to work as command line +options. For now they still work as environment variables too, but +the environment variables are deprecated. + +* Use unsigned long to hold node counts from engines. + +* Print error instead of crashing on attempts to use xpm or xim pieces +in monochrome mode. Thanks to Jim Torrance for the bug report. + +* Tightened pattern recognition for ICS messages sent to Zippy; should +no longer match ICC allobs output. Fixed recognition of when Zippy is +sent a message; small change to FICS output had broken it. + +* Zippy now exits if the engine dies unexpectedly. + +* Added Zippy "spoofedby" feature; see zippy.README. + +* Narrowed the margins on some older WinBoard dialogs to make their +style uniform with the newer ones. + +* Bugfix: Changing Ponder Next Move from the Options menu did not take +effect until the next game. This bug was in WinBoard only. Thanks to +Stefan Zipproth for the bug report. + +* Got rid of "Internal error: bad move type" message when the engine +makes a move that we can parse but think is illegal. Now the move is +just passed on (which also may be the wrong thing to do). + +4.0.2 -- Thu Feb 25 19:55:32 PST 1999 Tim Mann + +* Added one more built-in sound choice to WinBoard: move.wav from Pete +Galati. + +* Added new larger piece sizes: big, huge, giant, colossal, titanic. + +* Modified the xboard font searcher to be able to use scalable fonts. +The new -fontSizeTolerance flag controls how closely a nonscalable +font must match to be used in preference to a scalable font. + +* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control +whether Zippy will accept abort and adjourn requests. + +* We now determine the variant type being played on ICS, send it as a +command "variant VARTYPE" to the chess engine (if in Zippy mode), and +put it in the PGN tags. See engine-intf.txt for variant names. See +ZIPPYVARIANTS in zippy.README to control what variants Zippy will +accept. Note that this now applies to bughouse, too. + +* Zippy now won't do -zippyTalk in a channel unless his handle is +mentioned there. + +* Zippy now ignores bughouse holdings if not actually playing, instead +of stupidly trying to abort the game. Let me know if other strange +things happen when Zippy is observing a game. + +* Set ICS Interaction title bar to "user@server". User name is +determined by parsing message during the login sequence. Zippy now +uses this method to get its name too, so ZIPPYNAME is eliminated. +Problem: with xboard, the title bar gets set to "xterm" upon exit, +since we didn't know what it was to start with. + +* Fixed xboard-only bug in -colorChannel1 command line option. Thanks +to Fredrik Sandstrom for the bug report and fix. + +* Check for overflow of MAX_MOVES. Still not sure this is checked for +everywhere it needs to be. + +* Added .epd to suffixes recognized by WinBoard as position files. +This is a bit of a kludge, as the .fen reading code was not written +with .epd files in mind, but reading them with it is said to work. + +* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit. See +zippy.README. + +* Restored the feature of soaking up the moves from a user-typed "moves", +"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but +changed it so that the move list is also echoed to the screen. Some folks +still liked the old feature since it is faster than examine mode, and +printing the moves to the screen should eliminate the confusion it caused +for other people. + +* Bugfix: in WinBoard, starting a click-click move and then clicking on +a black line would cause the source square to be forgotten without taking +the highlight down. Now the errant click is ignored. + +* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's +File menu. Thanks to Andreas Stabel for the bug report. + +* Bugfix: if you had a completely full ICS context menu in WinBoard +(90 items), the last one would do nothing if selected. + +* The "computer" engine command added in 4.0.1 was not working; I had +left out part of the code patch. Oops. + +4.0.1 -- Fri Feb 12 21:24:15 PST 1999 Tim Mann + +This is a minor bugfix release. The first item listed below is the +only interesting new feature. + +* You can now type in moves from the keyboard in WinBoard. Either +select TypeInMove from Step menu, or (if you are not in ICS mode), +just start typing. In ICS mode you can type moves into the ICS +interaction window anyway, so I've retained the feature that typing +switches you there. Not implemented in xboard. + +* Removed the "noise 1000" command that used to be sent to the chess +engine when entering analysis modes. + +* Deleted the feature where we soak up the output of a user-typed ICS +"moves" or "oldmoves" command. This ancient feature is not really +useful anymore, now that "examine" exists, and it caused a lot of +complaints. + +* Increased maximum size of ICS text menu to 90 entries and added +overflow checking. + +* The command sent to ICS by Zippy at the end of each game can now be +customized with the ZIPPYGAMEEND environment variable. + +* We treat xboard.info as a pseudo-source since most people don't have +the tools to rebuild it. But "make install" erroneously had a +dependency on it, even though "make all" did not. Fixed. + +* Miscellaneous minor updates and clarifications to engine-intf.txt. +In particular, documented the st and sd commands (support for command +line options -searchTime and -searchDepth), warts and all. + +* Added a small code patch from Bob Hyatt to detect when Zippy's ICS +opponent is a computer and send the command "computer" to the engine. +Added this command to engine-intf.txt. Thanks, Bob. + +* Bugfix: configure was looking for usleep(), but config.h.in didn't +have an entry for it, so HAVE_USLEEP was never defined. Also, in the +non-HAVE_USLEEP case, there was a possible race condition between the +signal handler and the pause() call. Thanks to Ben Dean-Kawamura for +the bug reports. + +* Bugfix: a "1..." preceding Black's first move (usually present if +there is a comment on White's first move) would cause the parser +to think a new game started there and report "End of game" on the +current game. Thanks to Dell Garner for the bug report. + +* Changed the abbreviation for -searchDepth from -sd to -depth to fix +a clash with -secondDirectory. + +* Changed -searchDepth to be orthogonal to the various timing options. +Previously it would search for an unlimited time to the given depth; +now the engine is allowed to choose its search time in the normal way, +but is told to cut off the search early if it reaches the given depth. + +* Bugfix: SaveSettings in WinBoard was saving both the long form +option highlightSquareColor and its abbreviation (hsc). + +* Fixed a redisplay bug in DisplayBothClocks that could cause White's +clock to be highlighted in EditPosition mode when Black's should have been. + +* Fixed Zippy's feature of passing on draw offers from the ICS opponent. +The colorization code was eating the offer before Zippy saw it, so I disabled +colorization of offers while in -zp or -zt mode. (Other types of +colorization are already disabled in Zippy mode for similar reasons.) + +* Added some more commands to the default ICS context menu in WinBoard, +and put "(name)" on the ones that insert a playername (or game number). + +* Added missing documentation to WinBoard help file: PonderNextMove, the +-ponder/-xponder argument, and the up/down arrow history feature in the +ICS Interaction window. + +* Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty, +not if some other Crafty is observing the game and kibitzes. + +* Fixed bugs in generating "partner" commands when Zippy is playing +bughouse. + +4.0.0 -- Sat Jun 20 16:59:47 PDT 1998 Tim Mann + +* Fixed WinBoard resizing so that the edges you do not drag remain in +place, even when the final size is different from what you dragged to. +(This doesn't work on NT 3.51 or earlier, if anyone cares.) + +* Fixed problems with resizing WinBoard on Windows NT: you no longer get +whitespace around the board, a clipped board, or a lot of flashing during +the drag. + +* Added customization for highlight-square color. + +* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't +work in WinBoard. + +* Added Index Number field back to LoadGame/LoadPosition dialog boxes in +WinBoard. This required some extra code to work with both the +Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes. Ugh. + +* WinBoard startup dialog now understands -zp mode. The first chess +engine selector is enabled and the value is used. + +* Bugfix: ResetGame would send "exit" to engine twice if it was in an +analysis mode. + +* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating +that it is not implemented, would confuse xboard. + +* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message +saying that some bogus string (often "Hint:") is illegal. + +* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken. + +3.6.12 -- Sat Jun 13 14:57:10 PDT 1998 Tim Mann + +Beta test release of xboard and WinBoard. + +* Spruced up xboard man page a bit. + +* Added Highlight Last Move to xboard too. + +* The revamped xboard mouse click code had several more bugs than the +previous version, so I revamped it again. All fixed now, I hope. + +* xboard bugfix: crash in CreatePieceMenu. + +* Oops. winboard-3_6_11beta.exe installed 3.6.10beta, not the new version. + +3.6.11 -- Fri Jun 12 20:00:48 PDT 1998 Tim Mann + +Beta test release of xboard and WinBoard. + +* Major reorganization to engine-intf.txt. Some new features added, +many existing features clarified and hints for engine programmers added. +Support for new features added to program. + +* Changed defaults for -scp (etc.) back to being independent of -fcp, as +in 3.6.2. That is, the default is no longer to copy the value from -fcp if +-scp is not specified. This will sometimes make command lines longer but +will remove some confusing situations. + +* Split -reuseChessPrograms into two options: -reuseFirst and +-reuseSecond. Fixed obscure bugs when reuse is off. + +* Detect ICC and change some command usage slightly there: only ICC has +set-quietly; only FICS has iset and bsetup clear. With this feature, we +can now safely use bsetup clear when appropriate instead of deleting each +piece one by one. + +* Added indent to lines that are wrapped by WinBoard ICS Interaction +window. This seems to tickle a Microsoft bug in the RichEdit control: +occasionally the start of the next line after the wrapped line is indented +too. I think the wrapped indent feature is useful enough that it's worth +having in spite of the bug. + +* WinBoard bugfix: bounding box for the board was computed incorrectly by +mouse code. It would think you moved off the bottom of the board before +you really did, so it was hard to drag pieces along the bottom rank on +smaller board sizes. + +* Fixed obscure parser.l bug: ambiguity between capture using : instead of +x and email header line. Also removed or simplified a lot of complex +patterns for English (as opposed to PGN) end-of-game indications while I +was in there. + +* Added PonderNextMove option. + +* xboard EditPosition piece menus now let you set the side to play by +selecting the "White" or "Black" label at the top of the menu, like +WinBoard. (Both xboard and WinBoard still let you set the side to play by +clicking on the clock.) + +* Merged documentation of Crafty and GNU Chess thinking output in +engine-intf.txt. Corrected code in backend.c to match documentation; it +used to require the PV to start in column 27 (!). + +* Fixed bug that caused crashes in "-reuseChessProgram false" mode. + +* Draw by agreement in Two Machines mode now works as it is supposed to. +Other minor bugs in handling game end messages from machines are also +fixed, and engine-intf.txt is revised in this area. + +* Revamped xboard code for handling mouse clicks on the board. In +particular, it had a bug if a click-click promotion move was made. + +* Fixed and reinstated optimization for << in analysis modes: send +initString and re-send the board if needed. Sending repeated undos +is bad because Crafty prints some analysis after every one. + +* Don't go into a spin loop while pausing between xboard animation frames. +This caused problems, especially when compiling with -O2 on HP-UX. + +* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome +if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults. +This seemed to confuse people before. + +* Bugfix: ICS Interaction context menu items with neither of the two +optional flags set did not work. + +* Bugfix: PGN move numbers are optional, but we were insisting on "1" +right after the tags. + +* Bugfix: only the first game of an -mg match was loading -lpf or -lgf. + +* Other minor fixes and code cleanup. + +3.6.10 -- Mon Jun 1 01:32:31 PDT 1998 Tim Mann + +* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README. + +* Added timestamps for chess engine interaction to -debug output. + +* Now allow 10 seconds (was 5) between games in match mode for engines to +respond to "force" command that ended previous game. + +* When a game is picked from the game list and the names of White and +Black are known, display them in the window banner instead of the filename +and game number. + +* Changed default for -scp and -sd to be the values of -fcp and -fd. + +* Added boxes for both engines to WinBoard startup dialog. Changed to +dropdown boxes whose content can be set from winboard.ini, similar to +the box for ICS name. + +* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw. + +* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax. + +* Added support for bughouse engines (Zippy mode only). + +* Move bombproofing for engines sending illegal or out of turn moves. + +* Always send "xboard\n" to engine as first command. Eliminates need +to run crafty as "crafty xboard". + +* Rewrote xboard code for input from engines to fix longstanding bugs. +Previously an engine that sent one line in two separate writes with +some time lapse in between (or perhaps that sent several lines in one +write) could make xboard hang. WinBoard did not have this bug. + +* Fixed minor bugs in dealing with illegal moves. + +* Added "iset startpos 1" for FICS. + +* Removed special support to put "GNU Chess" or "Crafty" in the window +banner instead of the engine's base filename. This gives a more level +playing field for other engines. Also fixed bugs in the code that finds the +engine's base filename. + +* Bugfix: Abort or Resign at the very start of a game in chess engine mode +would fail to send "force" to the engine. + +* Fixed some minor bugs in new "result" messages, and changed format to +include a trailing PGN comment giving the reason the game ended. + +* Changed syntax of /font options in WinBoard; old syntax was assuming +that a font name can't contain a digit, which is wrong. Old font names in +WinBoard.ini files are still accepted. + +* Serious further work on getting WinBoard to read/write files in the +"right" directories and documenting exactly what it does. + +* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition. + +* Misc. tiny fixes and cleanup. + +3.6.9 -- Sun May 24 20:53:08 PDT 1998 Tim Mann + +xboard and WinBoard beta release. + +* Tightened up illegal move handling. Illegal or meaningless moves from a +file or chess engine should no longer get translated into a1a1 and blindly +applied. Explicit moves to the same square (like a1a1) no longer make the +piece on that square capture itself and vanish. + +* Added AlwaysOnTop feature to winboard. + +* Fixed bug in winboard "@" command line indirection operator. + +* Removed buggy "optimization" code for ToStart in analysis modes. + +* Fixed typo bug in zippy.c that would often cause winboard to crash +right after starting a game in -zp mode. + +3.6.8 -- Sat May 23 22:23:19 PDT 1998 Tim Mann + +xboard and WinBoard beta release. + +* Added -firstDirectory and -secondDirectory so that chess engines can +be started in a different directory from xboard/WinBoard itself. + +* Added -matchGames to allow more than one game in -matchMode. The games +are played with colors alternating between the two chess engines. Had to +add a time delay at the end of each game to catch up with game ending +messages from both chess engines -- yuck. + +* Changed TwoMachines mode to have firstChessProgram play White by +default. Added -firstPlaysBlack to restore old behavior. + +* Major rework of code in backend.c for dealing with first and second +chess engines. Generalized the code and created a struct type with one +instance for each engine. Several small bugs fixed along the way. + +* Fixed bugs in Abort in local chess engine mode. + +* Tightened pattern matching to recognize moves from machine. Should cure +bogus "Illegal move" errors while Crafty is pondering with Show Thinking +on, among other things. + +* WinBoard keeps focus in board window after popping up a comment due to +Forward/Backward/ToStart/ToEnd commands. + +* Finally got rid of warnings on compiling moves.c under Windows. + +* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not +defined. + +* Removed various bits of unused code. + +* Parse (and ignore) NAGs in PGN files. + +* Updated engine-intf.txt. + +* Send "result R" to the chess program at the end of each game, where +R is the PGN result 1-0, 0-1, 1/2-1/2, or *. + +* Bugfix: suppress animation when loading a game with timeDelay=0. + +* Bug fix: pondering output from Crafty that contained "..." could be +mistaken for a move, causing bogus error messages and general chaos. + +* xboard "make clean" bug fix: moved things created by configure to be +removed only by "make distclean". + +* Fixed a remaining case where move was being animated before being +relayed to opponent. + +* Backend was reversing time/otim commands to the chess program (new bug), +and was often not sending them on the first move of a game or the first +move after a mode change (old bug). Fixing the latter required a kludge +to work with both GNU Chess and Crafty, because Crafty swaps white and +black clock times when it swaps sides, while GNU Chess does not. The +kludge is that we always make sure the chess engine thinks its opponent is +on move before we set the clock. This will sometimes result in sequences +like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and +black interchanged. + +* Removed last trace of old -whiteString and -blackString arguments. + +* Fixed so that you can type "bd" into the Direct Command dialog when +debugging gnuchess, without having xboard parse the clock display +(starting with "White") as "White wins" and end the game. + +* Changed moves.c to make a distinction between IllegalMove (where we +could tell what move was intended, but it violates the chess rules) and +MeaninglessMove (where we could not tell). This is a step towards getting +rid of cases where we translate meaningless moves into "a1a1", but some +work is probably needed to track them all down. + +* Fixed bug in WinBoard monoMode dragging. + +* Changed WinBoard to new style file dialogs. In the process, disabled +the feature that let you enter the index number of a game or position within +the file in the dialog. This is no loss in LoadGame, as you can pick your +game from the game list dialog that follows, but it does remove some +functionality from LoadPosition. + +3.6.7 -- Mon May 18 21:25:00 PDT 1998 Tim Mann + +xboard and WinBoard beta test release. I've been unable to reproduce some +reported drawing bugs, so they may still not be fixed. + +* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and +changed default to off. Errors other than move errors should always be in +popups; they are often too big for the message area and too important to +put where they can be easily missed. But it seems good to get rid of the +popups for move errors by default. + +* xboard analysis window no longer forces itself to top whenever there is +new output. Also, now uses built-in Xaw word wrapping instead of trying +to do its own; works better. + +* Bugfix: Reset did not take Crafty out of analyze mode. + +* A chess engine no longer has to claim to be Crafty to be able to use +AnalysisMode and AnalyzeFile; it just has to implement the analyze +command as Crafty does. Put in heuristics to generate more informative +error messages if the engine does not support analyze, and checked that +they work at least with GNU Chess. + +* Added click-click moving, HighlightLastMove, and HighlightDragging to +WinBoard. The highlight features are unlikely to go into xboard unless +the xboard drawing code is cleaned up to do *all* drawing on the board +from DrawPosition, as WinBoard does. This is low priority for me. + +* Eliminated bogus "Error gathering move list: no header" popup. You +could get this by observing two fast games at once without turning off +GetMoveList. + +* Disable WinBoard Sounds menu entirely in -ncp mode, since not even +MoveSound is used in that mode. + +* WinBoard bugfix: Several problems were caused if the user changed +WinBoard's current directory in a Load, Save, or Browse dialog. In +particular, WinBoard.ini would get saved in the wrong directory, and +sound .wav file names would not get saved with a full pathname. I think +all such problems are now fixed. + +* WinBoard bugfix: iconizing the board after an aborted mouse resize would +(partially) resize it to Tiny. + +* WinBoard bugfix: board was not being drawn in color on 256-color +displays. This bug was introduced in 3.6.6. + +3.6.6 -- Tue May 12 17:43:43 PDT 1998 Tim Mann + +xboard and WinBoard beta release. Note: not all reported bugs are fixed. + +* Move animation in WinBoard, programmed by Henrik Gram. Great stuff! + +* Animate backward moves too. + +* xboard bugfix: -font (and friends) can now specify a font alias (such +as "fixed"), not just a full X Consortium name pattern. Previously this +would give a resource conversion error message. + +* Some coding style cleanup in xboard.c. + +* Earlier error check for moving wrong color piece in EditGame mode. + +* Completed fix to pattern matching; see 3.6.5. + +* Fixed some software rot bugs in Zippy. + +* Split AnimateDragging as separate option from AnimateMoves. + +* Added FlashMoves to options menu and -flash/-xflash to command line +options (xboard only). + +* Some preliminary work on visible bughouse holding support. Most of the +code is not present in this release because I have not gotten it working +properly yet; my first approach went down a blind alley and I had to +remove most of the partially working code in preparation for a rewrite. + +3.6.5 -- Fri May 8 14:22:09 PDT 1998 Tim Mann + +Not generally released. + +* Pack bughouse holdings display in banner more tightly when board is one +of the smaller sizes (when smallLayout or tinyLayout is true, that is). +An interim measure, but should help. + +* Completed fix to make move list parsing recognize the end condition and +final comment. + +* Fixed pattern matching for chatter (tells, etc.) to be more reliable. +This should reduce the incidence of colors starting in the wrong place and +of incorrectly matching things that look like other patterns inside +chatter, such as "shout <12>". (These errors were already rare.) + +* WinBoard now lets you customize the list of ICS's in the startup dialog. +For now, at least, requires editing WinBoard.ini with a text editor. + +* Bug fix: WinBoard window sizing and position setting save/restore did +not work right when the taskbar was at the top (or left side) of the +screen and not in autohide mode. + +* Merged xboard click/click mode and drag mode, and deleted +ClickClickMoving option on menu. Now if you click on a piece, it +highlights and a further click on another square will move it. (A second +click on the same square takes down the highlight.) Or if you press down +on a piece and start to drag, you can drag it to a new square. + +* When making click/click style moves, if your second click is on a piece +of the same color, instead of saying "Illegal move", we now cancel the first +starting square, replace it with the second, and wait for another click to +finish the move. + +* Separate -secondInitString. Default: same as -initString. Suggested by +Remi Coulom. + +* Patch from Frank McIngvale to make animation work with XIMs. Yay! + +* Changed move animation to happen after move is passed on to ICS or the +chess engine, where applicable. Fixed problems with updating moveList +that this uncovered. + +* Changed game list to show PGN result token for each game. + +* The usual minor bug fixes. + +3.6.4 -- Thu Apr 30 23:14:43 PDT 1998 Tim Mann + +xboard and WinBoard beta test release. + +* xboard documentation updated, both man page and info file. An attempt +to generate both from the same source with LinuxDocSGML was abandoned, at +least for now. WinBoard doc updated too. + +* Merged updates to animation code from Hugh. Fixed a couple of remaining +bugs, mostly to do with handling Pause mode correctly. + +* Added SaveSettingsOnExit to WinBoard. + +* WinBoard now saves the last screen position of the Comment, Edit Tags, +Game List, and Analysis windows (in addition to the board and ICS +Interaction windows) in WinBoard.ini. + +* WinBoard now provides a way to customize the right-button context menu +in the output area of the ICS Interaction window. For now, requires +editing WinBoard.ini with a text editor. + +* Various minor fixes to ICS message recognition, most affecting only Zippy. + +* Colorize the notification when someone sends you a message while you are +logged in, not the output of the "messages" command. + +* Fixed colorization to turn off at the right place more reliably. + +* Added a new color and WinBoard sound for "requests": abort, adjourn, +draw, pause, and takeback. The same color and sound are used for all of +these. + +* Added GUI to change sounds in WinBoard. + +* Suppressed WinBoard error popup when a sound can't be played. They were +popping up when two separate WinBoards tried to play a sound at the same +time (such as during a bughouse match). + +* Fixed WinBoard crash when a sound file didn't exist. + +* WinBoard ports of timestamp and timeseal now produce decent error +messages if they fail to connect, and WinBoard captures the messages and +puts them into a popup. Previously WinBoard would exit with no message on +such errors. + +* WinBoard resizing with mouse improved; now accurately picks the largest +size that fits in the new area. + +* Added option to turn off error message popups. + +* Added sizes slim, dinky, and teeny. + +* Fixed some minor problems with error message wording. + +3.6.3 -- Mon Feb 23 19:08:57 PST 1998 Tim Mann + +xboard beta test release only. Man page is updated for the changes, but info +file is not. + +* Bug fix: LoadGame could not load a PGN game whose first move was +castling (which is possible from setup positions). + +* Bug fix: we were ignoring illegal move messages from chess engines in +modes where the engine is refereeing but not participating (EditGame, +LoadGame, AnalyzeFile). The problem was in a workaround for a Crafty bug, +where Crafty generates a bogus illegal move message if a "." (used by +the PeriodicUpdates feature) is sent in analysis mode when the current +analysis reveals a forced mate. Installed a different workaround (that +works in most but not all cases) and reported the Crafty bug. Bob Hyatt +replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so. + +* WinBoard only: enabled resizing board with the mouse. It snaps to the +nearest (but not too much larger) predefined size. + +* The xboard default font is now sized according to piece size, just as +clockFont and coordFont have always been. + +* Added more sizes: bulky, moderate, average, middling, mediocre, petite. + +* xboard only: Added Animate Moves and Click-Click Moving to Options menu. + +* xboard only: Added code to animate piece movement, from Hugh Fisher. + +* New feature: autoflag is implemented in MachineWhite, MachineBlack, and +TwoMachines modes. If it is on and either a chess program or the user +oversteps his time, xboard will automatically call the flag and end the +game. This feature was requested by someone who runs matches between +programs and wants to penalize GNU Chess for its habit of running slightly +over at the end of a time control. I personally think it's pointless. + +* Fixed a bug in Zippy's pattern matching; he can now reply to ICC +messages again. + +* Generate prettier notation for illegal moves. If a move is illegal only +because it leaves the player in check, generate notation as if that were +not illegal. For instance, if two knights are a knight's move away from +f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to +move the g1 knight, Nef3 to move the e5 knight. (Suggested by Philippe +Schnoebelen.) In addition, if a move is illegal because the type of piece +moved cannot go that way, would be jumping over another piece, etc., we +give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8, +d2xd8=Q, etc. An alternative would be to still write Ng3 if there is only +one knight on the board, or Ngg3 if the other knight is not on the g file, +but life is too short to code up all this stuff, and perhaps the way I did +it is better as it emphasizes that this move was really made despite being +illegal. I wonder if the new PGN standard revision will speak to notation +of illegal moves? + +* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and +White was left on move, the PGN outcome was "1-0 {Black mates}" instead +of "0-1 {Black mates}"! The bug occurred only for that specific string. + +3.6.2 -- Wed Jul 23 16:47:29 PDT 1997 Tim Mann + +* There was a bug in backing up from the end of a game against a chess +engine, introduced when -reuse mode was added. Fixed. + +* Recognize "{" as terminating an ICS move list. Previously we needed to +see a prompt (containing %), but occasionally ICC can send more stuff +right after a move list with no prompt in between. + +* In WinBoard, -mm now implies -cp, so you don't get the startup dialog. + +* WinBoard startup dialog no longer sets -scp. People used to get +confused because they would give the -fcp and -scp arguments, but omit +-cp. This would bring up the startup dialog, which would set both -fcp +and -scp to the value in the engine name box. Now you can change -scp +only with the command-line argument. That will confuse some people too, +but hopefully fewer. I think overall it's better than putting spaces for +both -fcp and -scp in the dialog, which would puzzle newbies. + +* Bug fix: Analyze File mode now works in WinBoard. + +* Bug fix: WinBoard window no longer cuts off part of the bottom row if +the menu bar wraps to a second line. + +* Accept game end messages of the form "PGN-result {comment}" from the +chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2. Accept "resign" +or "computer resigns" from the chess engine as a synonym for "0-1 {White +resigns}" or "1-0 {Black resigns}". Accept any message from the chess +engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}". +Accept "White resigns" or "Black resigns". + +* Enable "Action / Draw" menu item in chess engine mode. It sends the +command "draw" to the engine. Accept any message from the chess engine +containing "offers a draw" as a draw offer. WARNING: Draw offers from the +user and the engine (or from two engines) are not yet matched up by xboard +in chess engine mode. Two engines could get into a loop offering each +other draws. + +* Bug fix: Game end messages from the chess engine are always ignored in +Zippy mode. Previously they could sometimes be processed, which was +sometimes making Zippy hang at the start of a new game that followed +quickly after an old one. + +* Zippy can now respond to titled players in channels. Zippy will avoid +talking to himself in a channel if he knows his own name. + +* Bug fix: in colorization arguments, the bold setting was being ignored +if the background color was defaulted. (xboard only.) + +* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN. +If fewer than 8 squares are given in a row, or fewer than 8 rows are +given, the uncovered squares are empty. Also, there can be a / after the +8th row. + +3.6.1 -- Sat May 17 01:02:33 PDT 1997 Tim Mann + +* Bug fix: Hitting escape while entering a password on WinBoard no longer +sets the font color back to black (which made further typing visible). + +* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would +often hang if you tried to exit with the Exit menu item, the [X] button, +etc. The same fix may also have corrected the problem where running a +chess program with /xreuse would sometimes crash Windows 95 (but not NT) +when the chess program was killed and quickly restarted. + +* Bug fix: Periodic Updates would not work if turned on after having been +off. Also, the default was needlessly "off" in WinBoard. + +* Zippy bug fix: Continuing an adjourned game was totally broken. The +wrong moves, or no moves at all, were being fed to the chess program. + +* WinBoard change: Giving -ics without -icshost now pops up the startup +dialog with "Use an Internet Chess Server" pre-selected, so that you get a +menu of chess servers instead of going directly to ICC. + +* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and +-icshelper in winboard.ini. This causes a problem if you use a different +icshost later that needs the default values for icsport (5000) and +icshelper ("", meaning none). + +* Disabled complaints about unexpected "[Ii]llegal move" messages from +the chess program; we still get them at times. + +* Greatly simplified the code for Move Now and SIGINT (ATTENTION). Fixes +the bug where Move Now did not work with GNU Chess in WinBoard, and +several more obscure bugs as well. Reintroduces a minor bug: GNU Chess might +not think on your time after a Move Now command. Trying to fix this +causes too many other problems. Documented change in engine-intf.txt. + +* Cleaned up code for obtaining ratings from ICS. It was kludgey and may +have had bugs on systems with no "Creating:" message. It should fail +gracefully there, just not finding the ratings. + +3.6.0 -- Thu May 8 19:55:58 PDT 1997 Tim Mann + +* WinBoard now has right-button context menus in the ICS Interaction +window. Some of the items do immediate commands on the player name you +have selected or pointed to. (Suggested by Paolo Casaschi.) Also, the +middle button or shift+right does a immediate Copy and Paste. + +* Fixed a bug in Zippy's wild rejection. The bug was causing Zippy to +reject all forms of wild. Now it rejects only 1, 9, 16, 17, and 24, as +was intended. These variants have different rules, while the other +variants defined so far only have different starting positions. +(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by +chance have king and rook start on squares where castling appears legal. +This could cause a problem later.) + +* Zippy now resumes adjourned games by feeding the chess program +the move list instead of the position. Setting -getMoveList to False +restores the old behavior. Feeding in the move list is better because +it enables the chess program to correctly handle en passant legality, +castling legality, draw by repetition, and draw by the 50 move rule. + +* Added a WinBoard startup dialog for people who run WinBoard.exe without +using the Start menu or reading the help file. Instead of being dumped +directly into GNU Chess mode, you now get a menu of choices. You now have +to give the new WinBoard -cp option to go directly into chess engine mode. +I did not add this feature to xboard. + +* Handling of "illegal move" from Crafty is now back on. (It was turned +off in 3.4.6; see below.) Crafty 12.0 doesn't seem to send bogus ones +anymore. I did have to suppress sending time and otim in analyze mode to +make this work, but there is no harm in that. + +* Zippy now sends "gameend" to ICS at the end of each game. You can alias +this to "seek" or whatever you like. + +* Added Crafty support for Move Now, using the "?" command. We test +whether this command exists by trying it once at the start of the first +game, before it really makes sense. If we don't get a message like +"Illegal move ... ?", we assume it's OK. (We're careful about this +because sending a "?" to GNU Chess on Move Now keeps it from pondering the +next move as it should.) + +* Added support for a tellusererror command from the chess engine. See +engine-intf.txt. + +* Attempted to make engine-intf.txt complete. + +* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt +when needed, and always undo an extra move generated by stopping the chess +program while it is thinking. + +3.5.7 -- Sat May 03 22:37:44 PDT 1997 Tim Mann + +Beta release of both xboard and WinBoard. + +* Updated xboard documentation. I really wish the man page was built from +the info file instead of being separate! It's a pain to update them both. + +* Updated documentation of the interface between XBoard/WinBoard and chess +programs, and renamed it to engine-intf.txt. + +* Added support for tellics, telluser, and askuser commands from the chess +engine. See engine-intf.txt. + +* Various bug fixes. On WinBoard, 256 color displays are finally handled +right; no more color flashing when you switch windows unless the colors +really need to be updated. Also, I think the problem of the console font +failing to change or changing back by itself is finally fixed. + +3.5.6 -- Tue Apr 29 03:08:00 PDT 1997 + +Beta release, WinBoard only. ChangeLog was out of date in release, +updated here. + +* Added ICC timestamp and FICS timeseal to WinBoard distribution. These +are my own ports to Win32, based on and used by permission of the owners +of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram +for timeseal). The owners permit these programs to be distributed only in +binary form (to help prevent cheating), so to avoid running afoul of the +GPL, I have kept them as separate programs, not linked into the WinBoard +address space. Updated Start menu icons to use them. + +* Miscellaneous smaller changes. + +3.5.5 -- Fri Apr 25 03:06:00 PDT 1997 + +Beta release, WinBoard only. ChangeLog was out of date in release; +updated here. + +* Added simple sound support to WinBoard. + +* Updated WinBoard documentation. + +* Internal implementation of the telnet protocol is now more complete. +You can now hop through a VMS host on the way to ICS. For example, do +"xboard -ics -icshost vms.host.edu -icsport 23", then log in. Do not use +the -telnet flag; that says to use an *external* telnet program. To avoid +double echoes, you need to force character mode in VMS telnet after +connecting from VMS to ICS. Do "^]^Mset mode char^M^M". + +* Display opponent names in the title bar for MachineWhite, MachineBlack, +and TwoMachines modes. + +* WinBoard now has an installer, built with InstallShield. The installer +works with a binary-only distribution. Sources are still freely +available, but now separately. + +* Added SaveSettings to WinBoard, which saves current option settings to +winboard.ini. Made sure all options can be saved and loaded, including +fonts and com port settings. + +* If the game ends while you are dragging a piece, we now don't let you +finish the move. Formerly the move was accepted and your opponent's clock +would start running again. + +3.5.4 -- Fri Apr 18 01:15:24 PDT 1997 Tim Mann + +Beta test release of WinBoard and xboard. The documentation remains +out of date. + +* Many fixes and improvements to new WinBoard user interface code. + +* In Zippy mode, avoid sending another copy of the same move to the chess +program if ICS sends us another copy of the board image. Hard to believe +it took me until now to diagnose and fix this problem! + +3.5.3 -- Sat Apr 12 19:49:33 PDT 1997 Tim Mann + +Beta test release of WinBoard and xboard. + +* Fixed fatal bug in WinBoard input handling. + +* Made code to stop chess program for reuse a bit smarter. Removed kludge +of "white" in initString; it didn't work well, and is unneeded +with Crafty 11.21 and later. + +3.5.2 -- Sat Apr 12 15:40:01 PDT 1997 Tim Mann + +Beta test release of WinBoard. + +* Ignore check and permit promotion to King during suicide games; no need +to turn off TestLegality. + +* Renamed CheckLegality to TestLegality to avoid confusion with the chess +term "check". + +* Added Rematch to Action menu. + +* WinBoard now has a custom ICS interaction window with scrollback, a +separate line for input, and colorization. Accelerators that conflict +with normal editing keys were changed (by requiring Alt+) so they can work +in both the console and the main window. + +* WinBoard error popups are now non-modal and disappear when you make a +new move, as in xboard. + +* Configure now defaults to --disable-ptys on all systems. If anyone has +an ancient SysV system where pipes don't work with select, they can still +do "configure --enable-ptys" explicitly. I would appreciate getting a bug +report if this happens to anyone, with complete output from configure and +"uname -a". + +* "make install" now makes the installation directories too. + +* Fixed a bug that would cause an "Illegal move" message for Black from +GNU Chess to be incorrectly considered bogus. + +* Handle name changes during an ICS game (FICS bname and wname commands). + +* You can force both chess programs to be killed at the end of each game +by turning off the reuseChessPrograms option. There are still some +problems with reusing Crafty even in version 11.20. + +* Now the second chess program stays around by default too, if it ever +gets started. + +3.5.1 -- Sat Apr 5 16:47:48 PST 1997 Tim Mann + +Beta test release. + +* Don't kill off and restart the chess program for each game; keep the +same one running, using the "new" command to start a new game. This +change works around the problem in Windows 95 that makes WinBoard crash it +at times, and is generally desirable to make new games start faster. The +second chess program (for TwoMachines) is still killed at the end of the +game, and unfortunately this can still crash Windows 95. Temporarily +added "white" to the initString to make this work with Crafty 11.20, which +has a minor bug in "new". Older versions of Crafty have worse bugs in +"new"; they should not be used with this version of xboard. + +* Support for FICS suicide chess: Parse illegal moves (that leave King in +check) in game history. If CheckLegality is off, allow promotion to King +and illegal moves in game files. We still generate e2e4 style notation +for illegal moves. + +* Handle FICS "has timeseal; checking" message. + +* Changed the coords from white back to black; this was a bug. + +* Fixed problems compiling with K&R compilers. + +* Fixed an old bug in RegisterMove that was crashing cmail on some systems +(notably linux). + +3.5.0 -- Thu Jan 2 16:59:49 PST 1997 Tim Mann + +Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above! + +* Fix Crafty resumed game time bug (frankm) + +* Word wrap text in Analysis window (frankm) + +* More debug info for XPM loading (frankm) + +* Replaced config.sub, config.guess, etc., with up-to-date versions from +autoconf 2.12. Hopefully this will fix problems on Pentium Pro machines. + +* Removed some Makefile gunk that was causing looping for one person. + +3.4.7 -- Thu Dec 19 14:22:41 PST 1996 Tim Mann + +All changes from Frank: + +* Retrieve ratings from ICC (and FICS, etc., when they add the Creating: +message), save them in the PGN tags, and pass them to Crafty in Zippy mode. + +* Add settable time delay between characters in ICS login script. + +* Colorize messages like personal tells. Fix false recognition of channel +tells. + +* Pass "tells" from Crafty through to ICS (in Zippy mode). + +* Implement ~/ filename convention from C shell for game and position file +names. + +* ZIPPYACCEPTONLY feature for testing. + +3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996 Tim Mann + +* Put recognition of "illegal move" messages from Crafty for +illegal castling, etc., inside an #if that is currently turned off, +because of a bug in Crafty that generates bogus "illegal move" messages +after some moves that are actually legal and accepted by Crafty. + +* Added -checkLegality option; previously this could not be turned off. + +* Fixed an old bug in finding default board size parameters. + +* Differentiated among channel tell, kibitz/whisper, and personal tell/say. + +* Fixed a bug in detecting Xpm in the configure script. + +3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996 Tim Mann + +* Added zic2xpm to the kit; it had been omitted by mistake. + +* Added some default colors for -colorize + +3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996 Tim Mann + +This is meant to be a beta release in preparation for version 3.5. + +* Added InfoXBoard and ManXBoard to the Help menu. + +* Made Frank's ICS input box optional, defaulting to off. + +* Merged in Frank McIngvale's XbKit. Many new features, including +-clickClick mode, the Analysis modes, piece flashing, ZIICS import, +ICS text colorization, and the ICS input box. Many thanks to Frank for +supplying and documenting this code. + +3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996 Tim Mann + +Small set of changes made while Frank McIngvale was working on XbKit in +parallel. Unreleased in this form. + +* Updated zippy.README. + +* Removed useless X event handler and removed strange code for copying +form translation table to board that worked around the bug it caused. +This makes changing bindings in .Xdefaults more straightforward. + +* Now pressing the Control key steps back one move, and releasing it steps +forward again. + +* Moved quit from "q" to "Q" for greater safety. + +* Use "unobserve" instead of "observe" to stop observing; needed on FICS. + +* Support for interface variable. + +* Strip titles from people who are talking to us, so (for example) Zippy +won't try things like "tell Darooha(*) hello". Needed on FICS. + +3.4, patchlevel 2 -- Tue Jul 9 19:06:42 PDT 1996 Tim Mann + +This patchlevel is not planned to be an announced release. It's in +preparation for integrating Frank McIngvale's XbKit. It mostly contains +minor fixes I've accumulated since 3.4.pl1. + +* WinBoard /telnet option now fires up an external program, as +with xboard, instead of trying to use a feature of NT 3.1 that does not +exist in later versions of NT or in Windows 95. ChangeLog for 3.4.pl1 +said this had been implemented there, but it really wasn't. + +* Indicating player to move by the icon color now works under Windows 95. + +* WinBoard now kills the chess program when you exit using the system menu +or the [X] button. Thanks to Michael Lowe. + +* Minor changes to Zippy, including: Now understands wild challenges on +FICS; these used to crash it. Removed limit on how fast a game will be +accepted. Use "set formula ..." on the chess server to limit this if you +are using GNU Chess. Now sends correct opponent name to Crafty. + +* Added some missing default values to documentation. Thanks to Stuart +Cracraft. + +* Bugfix: Trying to print "No fonts match pattern" error message would +crash. This can happen to Linux users who don't install Helvetica, for +example. + +* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an +infinite loop. + +* Added more directories to search for Athena widgets on HPUX. + +* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan. + +* Recognize "illegal move" messages from Crafty for illegal castling, etc. + +* Bugfix: "name" command added to zippy.c for Crafty was producing error +message if GNU Chess was in use. + +* In bughouse mode, suppress holding messages from console window; show +holdings only in banner. + +* Minor fixes/cleanup to Makefile.in and configure.in. + +3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995 Tim Mann + +* This patchlevel updates WinBoard to match xboard, and includes a few +fixes and minor improvements. "-size tiny" and "-size n,n,n,n,n,n" +are still not implemented for WinBoard. + +* Installed support for Crafty based on code from Bob Hyatt. +Currently the only documentation for this is in the FAQ, and a few +things don't work with Crafty 8.23. Please do not report these +problems as bugs in either xboard or Crafty. Bob and I know about +them. The worst ones (if not all of them) should be fixed in Crafty +8.24. + +* Changed the kludge command we send when gnuchess wants to print +something that doesn't end with a newline, from "help" to "bogus". +This works because the error message gnuchess prints ends with a +newline. It also improves compatibility with Crafty, which doesn't +need the kludge, but for which sending "help" causes a problem. + +* Don't draw grid at all if lineGap is 0; previously we drew the grid +with X "0-width" lines (usually 1 pixel wide) and then overwrote it. + +* Makefile: Removed xboard.info from "all" target so we won't try to +rebuild it, because this fails on hosts that don't have makeinfo +installed. Other minor fixes to "clean" targets, etc. + +* Fixes and cleanup to Auto Comment code that handles continuation +lines and highlighting. + +* Auto Observe now tries to observe the game from the point of view of +the player who was on your gnotify list. Requested by rng. +Limitations: We can't tell which player it was unless you have ICS +highlighting turned on. Also, currently "observe foo" works as +required (observing from foo's point of view) only on ICC, but FICS +will probably implement this soon. + +* "-size tiny" now makes the default font smaller automatically. This +was implemented by introducing an extra Form widget in the hierarchy +for all xboard windows, named either normalLayout, smallLayout, or +tinyLayout. So you can have resource specifications that apply only +to certain layouts; in particular, XBoard*tinyLayout*font. + +* Bug fix: EditGame or EditPosition while playing or examining still was +not really being permitted. + +* WinBoard bug fix: On the EditPosition menu, King did not work. + +* Added text catalog of WinSock error messages to WinBoard, because +Microsoft still has not put them in the system message catalog. + +* Removed support for older ICS game-ending messages that do not have +a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'. +The code for older messages was sometimes firing on the newer +messages, due to parsing ambiguity. If the current code sees an old +message, it will understand that the game is over, but will always +display * as a result token instead of trying to guess the result by +interpreting the text message. + +3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995 Tim Mann + +* This patchlevel was released for xboard only. + +* Updated the info file. It should now be as up-to-date as the man page, +with good English except in the parts that pertain only to AmyBoard. + +* Added "-size tiny", requested by Bob Hyatt. Also cleaned up bitmap +support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps, +if the actual bitmaps are supplied by the user. + +* Updated bughouse support. + +3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995 Tim Mann + +* Unreleased beta that works with preliminary FICS bughouse code. Will +need changes before release to track FICS message changes. + +* Removed use of .EX macro from man page. It is not supported by some +nroff -man macro packages, notably the one on Slackware Linux. Switched +to boldface for references to xboard and other commands within the man +page, as this seems to be the modern way. + +* Bug fix: If ICS rejected a move, it was correctly undone on the board, +but the message widget still displayed the bad move. Reported by DAV. + +* Normally, xboard in ICS mode fetches the move list whenever the board +display switches to a new game. Doing this is now an option +(getMoveList) that can be turned off, which is useful if you are watching +multiple blitz games. Requested by rng. + +* Move list fetching code is now smarter: it ignores a move list if it is +not for the right game. + +* Added support for bughouse as implemented on FICS. Holdings are shown +in the window title in place of the strength numbers. A menu on mouse +buttons 2 and 3 (same on both) lets you drop pieces. There is no checking +as to whether you actually hold the piece you are trying to drop; we rely +on ICS to check that. Notation of the form P@f7 is generated and parsed. +The mate detector does not understand that non-contact mate is not really +mate in bughouse, but this does no real harm. It results in a "#" +suffix being displayed on the move notation, but xboard does not assume the +game is over. + +* Bug fix: Promotion to a knight was not working with ICC! Thanks to +Wendigo for the report. + +* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3* +(supplied from configure.in) had a bug that would cause childio.c to +fail to compile, due to a "continue" that was not within a loop. + +* Bug fix: In pgntags.c, memory was being freed while still in use. One +symptom this caused was that on some machines, cmail would fail with a +message that it could not find the BlackNA tag. The error was in some +submitted code that I included in version 3.2.pl3 without reading +carefully enough. Anders Forberg noticed the symptoms, and Evan Welsh +(who had nothing to do with causing the bug) found the bug and submitted a +fix; thanks to them both. + +* Removed restriction against using EditGame while playing, observing, +or examining on ICS. You still get a warning popup. + +3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995 Tim Mann + +* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill +off the second chess program after Black's first move. + +* Added -timeIncrement feature. Thanks to Joel Rivat. + +* Deleted code that tries to keep you from observing more than one game, +or observing while playing or examining. There is actually no problem in +doing this, except that every time an update comes in from a different +game than is currently being displayed, xboard fetches the history of the +new game, which may be time-consuming if you are on a slow link. + +* Fixed configure so as not to crash when neither lex nor flex is found. +lex or flex is needed only if the user wants to rebuild parser.c. Thanks +to Phil Humpherys for reporting the crash. + +* Bug fix: config.h.in used #define instead of #undef for some macros used +in the pty code in childio.c. This causes the code to fail to compile on +some architectures, because the symbols are supposed to be undefined, not +defined to empty, when they are not set in configure. Bug originated in +3.3.pl0 when config.h was introduced. Thanks to Phil Humpherys for report. + +* Bug fix: ShowThinking would not show anything when current position had +no move to display in the move window. E.g., if position was created by +LoadPosition or EditPosition. + +3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995 Tim Mann + +* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included. + +* For WinBoard, added hint to help file that you may need to turn off +LocalLineEditing while typing dialing commands to your modem. + +3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995 Tim Mann + +* Zippy distribution is no longer separate from regular xboard distribution. + +* Deal properly with Show Thinking output from GNU Chess when it is +thinking on its opponent's time. In TwoMachines mode this output is +suppressed to avoid interfering with the output from the machine that is +on move; in other modes it is displayed (including the move that GNU Chess +is predicting the user will make next). GNU Chess produces this output +only if it is built without -DQUIETBACKGROUND defined; this symbol is +defined by default in patchlevels before pl75, but undefined by default in +pl75. + +* Bug fix: Handling of initial board position in move list for wild games +was broken, so wild games could not be observed and adjourned wild games +could not be continued. Thanks to "Maximum Entropy" for the bug report. + +* Added feature: algebraic notation now shows "+" indicator for check +and "#" for checkmate, as called for in PGN standard. Thanks to Kevin +Maher for the suggestion. + +3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995 Tim Mann + +* Changed configuration to use a config.h file instead of passing zillions +of -D options on the cc command line. + +* Merged a small fix and some updates to the texinfo file from Jochen +Wiedmann. The texinfo file still needs work. + +3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995 Tim Mann + +* Beta test release of xboard only. + +* Updated WinBoard code to include new xboard features. + +* Added texinfo file from Jochen Wiedmann to the release, but not as the +primary documentation. It needs updating, and the English needs work. +I did make a few improvements, mostly to change incorrect uses of @var to +either @samp or @code as appropriate. + +* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann. + +* Fixed EditComment; did not pop up window in previous beta. + +* Added AutoComment feature. + +* Added GameListDestroy to disable the outdated game list popup in cases +where we load a new game file without building a new popup. + +* Added yyskipmoves feature to parser.l to speed up building of gamelist. + +* gamelist.c wouldn't compile with a non-ANSI compiler. Fixed. + +* Change to yy_text handling in patchlevel 3 still had problems. Can't +use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER +according to whether the lexer on the current host makes yytext a pointer. +But most people will be using a parser.c that was generated on another +host and shipped with the package. + +3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995 Tim Mann + +* Beta test release of xboard only. + +* Added FIREWALLS section to man page. + +* Changed -icsport to be a string. Now with the -telnet option, +specifying -icsport "" suppresses the second argument to telnet. + +* Added EditTags feature. Removed AboutGame from menu, because EditTags +subsumes it. EditTags suggested by Jochen Wiedmann and first implemented by +him in AmyBoard. xboard implementation is my own. + +* Fixed some missing or incorrect prototypes. + +3.2, patchlevel 3 -- Sat Jun 3 18:57:38 1995 Tim Mann + +* Beta test release of xboard only. + +* New version of cmail from Evan Welsh, to fix compatibility problems with +perl 5.0. + +* Added game list feature on Load Game, based on code from Jochen +Wiedmann. Integrated it with cmail. + +* Several bug fixes from Jochen Wiedmann, including one to my yy_text +workaround for the difference in the type of yytext between lex and flex. + +* Handle clock pause on FICS. + +* Suppress clocks in untimed FICS games (time control 0 0). + +* Rebuilt configure script with autoconf 2.3. This fixes a bug in +configuring for X11R6, where -lSM -lICE would not be added when needed. + +* Fixed inconsistent type declarations on IntSigHandler and +CmailSigHandler. Bug report from Josh Daynard. + +* backend.c wouldn't compile with a non-ANSI compiler. Fixed. + +3.2, patchlevel 2 -- Tue Feb 7 14:50:30 1995 Tim Mann + +* Minor release of both xboard and WinBoard. + +* Added recognition of some FICS messages. On the other hand FICS is also +changing some of its messages to match what xboard already recognizes. + +* Temporarily went back to using "promote" command on ICS instead of +"a7a8=Q", because FICS doesn't implement the latter yet. + +* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows +95 beta 2 happy. This lets WinBoard work with GNU Chess on Windows 95! + +* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard. + +* Installed patch to cmail bug in LoadGame from Evan Welsh. + +* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode +were not being handled correctly. Bug was in GameEnds(). + +* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n"). +Now passwords won't be echoed when you connect directly to ICS. Also, +telnet negotiation characters aren't displayed (when possible). + +* Implemented more of the telnet protocol. Now connecting to a telnet +server with "-icsport 23" should work even without giving the -telnet +option. The telnet is in "old line-by-line mode". + +3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994 Tim Mann + +* This patchlevel released for WinBoard only. + +* winboard.c: Fixed ConsoleInputThread(). Needed to change CRLF to LF, +not to CR. This was stopping normal /ics mode from working. Thanks to +Asher Kobin for the bug report. + +* winboard.c: Fixed Raw(), EchoOn(), EchoOff(). Now they take effect +immediately, not on the next console read after the one in progress. + +* winboard.c: Attempted to make WinBoard work with gnuchessx running +directly on Windows (not remotely via rsh). It now works on NT, but only +if gnuchess is told not to think on its opponent's time ("easy\n" removed +from initString). The problem seems to be that GenerateConsoleCtrlEvent +is not doing anything. On Windows 95 beta 2, we get error messages on +both reading and writing to gnuchessx; I didn't investigate why. + +3.2, patchlevel 0 -- Wed Dec 7 13:23:36 1994 Tim Mann + +* Thanks to all the beta testers who gave me feedback: Josef Nelissen, +Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen, +Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike +Lee. Sorry if I forgot anyone. Thanks to Virendra Kumar Mehta for +information about DYNIX/ptx. + +* Don't exit on keyboard EOF unless we get two in a row. + +* WinBoard only: added -localLineEdit switch to allow turning off local +line editing if you really want to. It is still a bad idea to let the +echoing be done remotely, however; see below. + +* Fixed some configure problems on HP-UX. [Steve Booth] + +* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3. [Josef Nelissen] + +* cmail bugfix from Evan Welsh (cmail 3.4). + +3.1, patchlevel 9 -- Fri Dec 2 23:54:56 1994 Tim Mann + +* Beta distribution only + +* Always do local echo/edit of user typing in ICS mode. Doing the echo +downstream may seem nicer in some modes, and it can be hard to turn that +echo off, but the echoed characters can be interleaved with ICS output +and make it impossible to parse correctly. For xboard this involved only +a change to recommendations in the man page, as Raw() isn't implemented. +For WinBoard, removing Raw() made a real difference. Added code in +WinBoard to change /r/n back into /r on keyboard input, as we get the +former when Raw() is not called. + +* Do not issue ICS "refresh" command after we start to observe a game +unless we get to the next prompt without seeing a board image. Newest +version of ICS doesn't require this refresh, but old versions around still +do. + +* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh. + +* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame. Evan +Welsh request. + +* Using "-" on the command line as a filename for loading (saving) games +or positions specifies the standard input (standard output). Alain Picard +suggestion. + +* On WinBoard only, a command line option without a leading '-' or '/' is +now taken as the value of -lgf. + +* Changed to not use stdin, stdout, stderr as initializers in backend.c; +needed for GNU libc compatibility. You also must build parser.c with flex +(not lex) if you are using GNU libc, to avoid having the same problem +there. + +* Changed WinBoard to avoid using "overlapped" input on the console. It +now seems to fully work on Windows 95 beta 2. + +* Improved comment popups on WinBoard. Now newlines are handled properly, +and the plain Comment popup window doesn't disappear and reappear when we +step to a new move with a new comment. + +* Fixed bugs in detecting the absence of the time and otim commands. + +* Added built-in implementation of rcmd protocol to WinBoard. Windows NT +does not implement passing signals through rsh, and Windows 95 does not +have rsh at all. + +* Added -remoteUser option. + +3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994 Tim Mann + +* Beta distribution only + +* Rearranged ChangeLog file into reverse chronological order to be closer +to GNU standards. + +* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2). +Includes a bug fix to TruncateGame. + +* Updated ICS address to be chess.lm.com. + +* Bug fixes to handling the aftermath of FatalError. Thanks to Chris +Petroff for the bug report. + +* Test for remsh before rsh, other fixes for HP-UX. Thanks to Richard +Lloyd. I wasn't able to do all the things he suggested, so there may +still be some rough edges in building on HP-UX. See the FAQ file for hints. + +* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO. Thanks to Josef +Nelissen for testing on Solaris 2.x. + +* Updated WinBoard to match xboard. (WinBoard still has a few option +dialogs that don't exist in xboard.) + +* Changed Hint output to a popup. + +* ShowThinking output and move output no longer overwrite each other. +ShowThinking output won't appear if the displayed position is not current. +ShowThinking output in TwoMachines mode made clearer and documented. + +* Implemented --enable-ptys and --disable-ptys arguments to configure. + +* Fixed Book and Hint code to work over a pty with echo enabled and tabs +expanded to spaces. Thanks to Dima Dahknovsky for the bug report. + +* Moved Attention calls from all over xboard to one place, inside +SendToProgram. + +* Added bulletproofing to ShowThinkingEvent. + +* Added code to handle "refresh N" boards that come in from ICS properly, +assuming ICS is changed to mark them with a new relation code (-3). + +3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann + +* Beta distribution only + +* Changed ShowThinking to just show the current best line in the +DisplayMessage area, instead of dumping everything to stdout. + +* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and +changes to cmail code in backend.c, from Evan Welsh. + +* Miscellaneous minor fixes. + +3.1, patchlevel 6 -- Fri Nov 4 12:53:53 PST 1994 -- Tim Mann + +* This patchlevel was not actually released to anyone. + +* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a +separate file. It was hard to split out just the pty configuration from +all the stuff emacs does with its custom configure script and .h files, +but I did my best. + +* Converted from imake to GNU autoconf. This was a serious upheaval. + +* Put in code to help trap "error gathering move list" problem reported by +Michel van der List if it recurs. I couldn't reproduce it. + +3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann + +* Beta distribution only. + +* We now test for checkmate or stalemate in EditGame mode after every user +move, and in LoadGame mode whenever we hit the end of a game without +seeing a PGN end marker. cmail needs an update to deal with this +correctly; Evan promises one. + +* Bugfixes in new move generator. Thanks to Mike Lee for reporting one of +the bugs. + +* Imakefile was omitted from patchlevel 4. + +3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann + +* Beta distribution only. + +* The move generator includes a mate tester. Initially this is used only +by cmail, and even that usage needs further work. + +* Wrote a true move generator and used it to replace all the move +disambiguation and legality checking code in parser.l. The move generator +is capable of dealing correctly with en passant and castling availability, +but the rest of the program still does not keep track of this information. + +* Bug fix: xboard did not handle "foo has made you an examiner of game 23" +message. Thus you could not use examine features until the next board +came in, showing your new relation to the game. Thanks to POOKIEWOOKIE on ICS +for the bug report. + +* Added AutoObserve feature. Thanks to Chris Petroff for the idea. + +* Added Book feature to use new gnuchess "bk" command. Mike McGann request. + +* Redid code to handle missing "time" command in gnuchess, because latest +gnuchess no longer sends a response to this command. + +* Eliminated need for -DFLEX. Thanks to Michael Shields (Vladimir?) for +the idea. + +* Added missing code to implement MoveNow in TwoMachines mode. + +* Added ShowThinking feature. Thanks to Richard Lloyd for the idea. + +* Applied patches from Evan Welsh; some fixes and improvements to the +cmail code. + +* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack, +introduced in previous patchlevel. Also fixed related bug in ending a +game in ICS mode; was entering EndOfGame mode instead of IcsIdle. + +* Added patch to implement internetChessServerLogonScript flag, from Kevin +O'Connor. Thanks! + +3.1, patchlevel 3 -- Wed Sep 7 13:22:07 PDT 1994 -- Tim Mann + +* Beta distribution only. + +* Merged in new cmail code from Evan Welsh. He added the ability to have +more than one game per message, needed for official IECG matches. I added +the ability to resign or offer/accept/decline a draw in a cmail game. + +* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError +was called too early in initialization. Georges Honore reported this bug. + +* Decided to keep EndOfGame mode as an element of the user interface---it +means that a gnuchess game or loaded game has ended, and the user must +explicitly select EditGame to edit it, rather than just being able to +enter more moves freely. But internally there is no longer an invariant +tying this mode to whether the chess program is running. + +* Zippy bugfix: Was saving only the final position in the -sgf file when +the game ended by something other than resignation or flag. Also fixed +the longstanding bug that Zippy would think the final board of such a game +was a new game and restart the chess program. + +* Now does a better job of faking castling availability in FEN. We still +don't really keep track of it, but now at least we don't say that castling +is still available when the king or rook is not on its home square. + +* Bugfix: Initial board of game history for wild games was going through +too much processing, causing us to forget the game length, which is now +needed by ParseGameHistory. This was causing problems with resuming +adjourned wild games. + +* Updated ICS host to ics.onenet.net. + +* Zippy now accepts challenges where the opponent specified his color. + +* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess. + +* Bitmap directory can include alternative icons now, too. + +* Handle "Game * (*) has no examiners" message from ICS. + +* Revamped window title and icon name selection. + +3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann + +* "Beta" distribution for Zippy users only. + +* Bugfix: common.h was assuming that X11 type Boolean is char, which is +not always true. This might have caused all sorts of obscure bugs! + +* Installed new bitmaps from Elmar Bartel as the default. Many thanks! +The old bitmaps can be used by changing the "bitmaps" symbolic link before +compiling xboard, or by using the -bitmapDirectory option at runtime. + +* Loading a game that ends with the PGN unfinished symbol ("*") now always +leaves you in EditGame mode. + +* Added documentation of -icscomm to man page. Thanks to Maarten Remkes +for the linux script. + +* ^C now kills gnuchess as well as xboard. Thanks to Dima Dakhnovsky for +reminding me how to do this. + +* Bitmap icon color now indicates player to move. Stuart Cracraft +suggestion. + +* Changed piece bitmap flags to have just one flag, which points to a +directory full of bitmaps, instead of a flag for each bitmap. Also +changed bitmap naming convention. + +* "Connection closed by ICS" is no longer a FatalError popup. This was +too annoying in the normal case where the user typed "quit". + +* Changed default font to 14 pixels instead of 10 points. This seems to +make it close to the size I want it to be on more displays. + +* Major mode (GNU Chess, etc.) appears in title bar. Stuart Cracraft +request. + +* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and +TwoMachinesEvent were calling PauseEvent to get out of pause mode, which +now has undesired side effects, such as advancing the display to the +forwardMostMove. It works fine to just set pausing = FALSE instead. + +* IcsExamining mode now lets you access ICS edit position commands using +the same popup menus as xboard's EditPosition mode. Thanks to DAV on ICS +for inspiring the idea. + +* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd. + +3.1, patchlevel 1 -- Wed Jun 1 16:25:11 PDT 1994 -- Tim Mann + +* Added parser.c.lex and parser.c.flex to the distribution. + +* Added HP gcc options to Imakefile, from Mats Nylen. + +* EndOfGame mode no longer highlights EditGame mode indicator, because the +modes really do differ. I would like to get rid of EndOfGame mode in the +future, at least as far as users can see. + +* Larger %a in parser.l, needed for RS/6000 users. + +* Minor improvements to Mail Move error messages. + +* When -debug flag is given to xboard, -v is passed to cmail. + +* Old Save Style uses "1. ..." instead of "1..." when black moves after a +comment; more like xboard 3.0's actual style. + +* New version of cmail from Evan Welsh. Looks for UCB Mail in a more +portable way and has some minor bug fixes. + +* Bug fix: Saving a FEN position while in EditPosition mode with black to +play was showing white to play in the saved position. + +3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann + +* This is the first general release since 3.0, patchlevel 9. Releases +since then have been limited-distribution or beta releases. + +* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway, +Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff, +Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and +Evan Welsh. Sorry if I've forgotten anyone who gave me feedback. + +* Updated man page. + +* Minor cleanup on menu sensitivity code. + +* Integrated another even better version of cmail from Evan Welsh, +including some code he supplied in xboard itself. + +* A few more fixes to cmail support. + +* Automatically update clocks after an ICS "moretime" command. + +* Handle ICS automatic examine mode (set examine 1) after a game. + +3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann + +* Beta test release only. + +* Don't suppress prompt on first board of game being examined; otherwise +it looks like nothing happened at all (i.e., like you're lagged). + +* Added StopExamining and StopObserving (Chris Petroff suggestion). + +* Made Reset do a refresh on ICS. John Chanak's original ICS code for +xboard tried to do this; I finally decided it was a good idea after all. + +* Fixed bugs in handling updates that come in while you are pausing in +examine mode. This is pretty tricky to do right. + +* Made un-Pausing immediately pop you to the current position. This is +always necessary in examine mode, since the game may have changed under +you; your remembered moves might no longer be right. So I made it do the +same in all modes. + +* Took Detach Examine mode back out...used Pause mode for this instead! + +* Put in a trap for the GNU Chess bug of printing an Illegal Move message +when its own hint move is illegal. + +* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after +it checkmates its opponent. This involved adding an argument to GameEnds +to say who says it ended (ICS, GNU, etc.) and taking different actions in +different cases. Unfortunately, this just restored an older Zippy bug, where +Zippy restarts gnuchess when it gets the board with the final position, +because GameEnds still puts xboard in EndOfGame mode. Sigh. + +* We now capture elapsed time on last move when getting game history. +(Josef Nelissen bug report) + +* Rewrote code to redisplay last file title so it really works. + +* Fixed bug in oldSaveStyle. + +* Larger %a and %o were needed for lex. + +3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann + +* Beta test release only. + +* FatalError popups stay on the screen now. If the error is really fatal, +all functions are disabled, and the program exits when you press OK. + +* Redisplay last file title when using Load (Next/Previous/Same) Game. + +* Zippy understands new match challenge message format on ICS. + +* Added Revert command. + +* When examining a game on ICS, < > buttons do ICS backward/forward +commands, unless you set the Detach Examine option. Thanks to Dima +Dakhnovsky for the idea. + +* Fixed various minor problems in cmail mode. + +* cmail generates the tags now. New version of cmail from Evan Welsh. + +* cmail mode won't let you do MailMove unless the currently displayed +position is exactly one move past the end of the game you loaded. + +* Fixed building of man pages in Imakefile + +* Updates to INSTALL file + +3.0, patchlevel 12 -- Sat May 7 21:10:03 PDT 1994 -- Tim Mann + +* Beta test release only. + +* Brought man page up to date. + +* Added Shift+R to resign from keyboard. + +* Some items on Action menu available in GNU Chess mode now. + +* Revamped Action menu. + +* Reordered functions in backend.c as a small step toward reorganizing +this whole mess. + +* Generate TimeControl PGN tag. + +* Get type of ICS game (e.g., rated blitz) and save in PGN tags. + +* Bug fix: Clocks were not redisplayed when entering EditGame mode. + +* Bug fix: Clocks were not being redisplayed after loading a game file +with -td 0, so they could show the wrong color active. + +* Bug fix: Chess programs would be killed and match mode would exit +prematurely when loading a PGN game fragment ending with "*". + +* ICS command "sposition" no longer confuses xboard. + +* Integrated new version of cmail (with support code in xboard) from Evan +Welsh. + +* Added TruncateGame, MoveNow, RetractMove, and QuietPlay. + +* Bug fix: switching between MachineWhite and MachineBlack was not calling +Attention(). Reported by Dino Dini. + +* More improvements to INSTALL and Imakefile. + +* Pack moves into 79 character lines in PGN output. We don't generate +check indications, and we always break the line before the result, +so this is not quite PGN export format. + +* Use FEN tag in PGN. + +* Improved finding and counting of game starts in save files. + +* Negative position or game numbers in -lpi/-lgi mean to seek to that byte +offset. Hook for possible future features, not in man page. + +* Detect and handle absence of either "time" or "otim" commands in +gnuchess. + +* Don't use "promote" command to ICS anymore. + +* Handle switching sides and taking back moves on FICS. + +* Handle flip state flag in style 12 board. + +* Handle examine mode on ICS. + +* Improved error popups for various kinds of illegal moves. + +* Suppress unasked-for hints from gnuchess (which it generates in post +mode). + +* Load/save position functions use FEN. Old style also supported. + +* Added detailed error messages if loading a bitmap file fails. + +* Small board has 2-pixel lines between squares instead of 3-pixel. + +* Added OldSaveStyle and AboutGame. + +* Renamed ForceMoves to EditGame. + +3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann + +* The following changes were present in xboard 3.0, patchlevel 11, but the +first group did not make it into WinBoard 3.0 until later. xboard +3.0.pl11 was a limited-distribution release only, mostly to Zippy users. + +* Man page minor fixes. + +* Added a missing file close. + +* Removed automatic error popdown on Reset, which was destroying some +error messages before they could be read. + +* Fixed char vs. unsigned char warnings on bitmaps. + +* Use ICS board style 12. Some improvements to ICS parsing. + +* Comment window is now labelled with the move the comment is on, and +comments don't pop down when you step to the next move. + +* Save files now in PGN format. + +* Support for loading PGN files. PGN tags pop up when a PGN game file +is loaded. + +* More info in INSTALL and Imakefile about building for Suns (and +other systems). + +* WinBoard 3.0 patchlevel 11 split off from an early version of xboard +3.0 patchlevel 11, so it does not have all the features of that +patchlevel. The following changes made it into both xboard and +WinBoard: + +* Made Comment dialog non-modal in WinBoard. + +* EndOfGame mode is now more transparent. It looks like ForceMoves +mode except that there is no chess program running. + +* Small bug fixes in clock management. Most noticeably, pausing when +it is gnuchess's move now works as documented (again). + +* Add minimal support for -icscomm option. Not documented yet because +I haven't sorted out the issues with setting the tty modes on the comm +port device, or with locking it properly. But it's usable by wizards. + +* Don't restart the chess program upon Backward event from EndOfGame mode. + +* Suppress extra prompt after ICS sends us a board. + +3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann + +* Beta test release only. + +* Zippy now plays chess. zippy.c and zippy.h are still not included +in the standard distribution, but are available on request. + +* Switched to using style 12 on ICS. + +* Updated man page, and documented use of XBoard*form.translations to +add more shortcut keys. + +* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to +call flag. Suggested by venu on ICS. + +* More explicit instructions in INSTALL file. + +3.0, patchlevel 9 -- Tue Sep 7 14:02:00 PDT 1993 -- Tim Mann + +* General release, minor update to 3.0.pl8. + +* Loosened checking on whether it's okay to start a move, to satisfy +ICS ultra-blitz players. Now we don't check whether it's your turn +until you let go of the piece. + +* Parser now recognizes "+-+" as meaning the game ended in a draw. + +* Got rid of S_NONE symbol, which seems to conflict with some symbol +Sun defines. + +* Tweaked the man page. Clarified that there is currently no way for +two people running copies of xboard to play each other without going +through the Internet Chess Server. + +* Fixed a bug in color name conversion. Asking for two different +colors whose names were the same in the first four characters would +get you two copies of the first one. Thanks to Volker Zink for the +bug report. + +* Improved confusing Usage() message. + +* Added a bunch of Sun information to the Imakefile and INSTALL file. +Thanks to Ed Hanway, Arik Klingensmith, and others who responded. + +* Test for defined(WIN32) instead of !defined(unix). + +* Avoid using (void *) type with non-ANSI C compilers. Thanks to +James Altucher for the bug report. + +3.0, patchlevel 8 -- Thu Sep 2 12:23:01 PDT 1993 -- Tim Mann + +* Note: Patchlevel 8 was the first non-beta release of xboard 3.0 + +* Added cmail to distribution. Contributed (and still maintained) by +Evan Welsh. + +* Bug fix: -queen option wasn't initializing menu check. Reported by +Pat Surry. + +3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann + +* Sent WinBoard 3.0.pl7 to Torre on ICS + +* Added parser.h to hold the interface to parser.l + +* Upgraded COPYING file and copyright notices to GNU GPL version 2. + +3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann + +* We no longer display intermediate positions or intermediate comments +while loading a game file with -timeDelay 0 or loading an opening to +start up a -matchMode game. + +* Loading an empty game from an xboard save file now gives a status +message "No moves in game" instead of an error popup saying "Game not +found in file." + +* Added comment.awk to distribution. + +3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann + +* Bug fix: xboard would crash if it couldn't get all its colors; now +it switches to monoMode instead. Also, xboard was trying to convert +color resources even when using a b/w display. Reported by Larry +Rogers. + +* Bug fix: Declared fields of TimeMark as signed so that we get signed +instead of unsigned arithmetic. SubtractTimeMarks was breaking on +Alpha AXP (which has 64-bit longs) with old declarations. Reported by +Michel van der List. + +* Bug fixes: Keyboard accelerators now work after EditComment window is +popped down. Iconize keyboard accelerator now works even if xboard +was started with -iconic flag and later deiconized. + +* Bug fix: The routine that tests whether a move is illegal because it +would leave you in check was not handling e.p. captures properly. +Reported by Patrick Surry. + +* Bug (?) fix: Was adding time to clocks at time control even when +loading a game file. Actually it's not entirely clear how time +controls should be dealt with when some moves are loaded from a file +or clicked in with ForceMoves. For now ForceMoves mode does add the +time (because it can be used to change moves during a live game), but +LoadGame mode does not. + +* Updated usage message. + +* Previous attempted fix to matchMode had broken TwoMachines mode and +generally needed more work. Also simplified command line interface to +matchMode. + +3.0, patchlevel 4 -- Thu Aug 5 14:17:18 PDT 1993 -- Tim Mann + +* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also +Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe. + +* Reorganized man page, splitting OPTIONS into subsections. + +* matchMode was very broken; fixed. + +* Changed convention for turning off command line options from --opt +to -xopt, to be less inconsistent with GNU standards. Also changed +the long command line options to take True/False arguments like +resources; seems to make more sense this way. + +* Added AlwaysQueen option -- suppresses promotion dialog and always +promotes to a queen if you move a pawn to the last rank. Has no +effect on gnuchess (or your ICS opponents!) -- they can still +underpromote. + +* Subtracted an extra fudge term when determining how wide message and +title widgets should be. This fixes a problem some beta testers had. +Wish I knew why it's needed. + +* Bugfix in parser; symptom was that you couldn't do LoadGame after +observing a game on ICS. + +* Bugfix in Forward; didn't work after game ended while Pause was turned on. + +* Removed bogus execute bits on .h files. + +* Use REMOTE_SHELL and TELNET_PROGRAM definitions. + +* MachineWhite and MachineBlack now work from TwoMachines mode. + +* Popping down an error message with the [ok] button was not turning off +the errorUp flag, so the next move would cause xboard to try to pop it +down again, resulting in a wild memory reference and sometimes a crash. + +3.0, patchlevel 3 -- Tue Aug 3 17:40:27 1993 -- Tim Mann + +* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma, +Chris L. Petroff, Richard K. Lloyd, Michel van der List, Craig Metz, +Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell, +Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel. + +* Improved error messages for trying to move the wrong color pieces or +to move when it's not your turn. + +* Special code for monoMode on 1-bit displays now understands displays +where 1=white and 0=black. + +* Declare getenv() if not included; avoids a compiler warning. + +* Documented borderXoffset and borderYoffset. + +* Added -titleInWindow option for use with X window managers that +don't let us set the title in the window banner. + +* Fixed error message printing in WinBoard; system error messages no +longer appear as numeric codes. + +* The error message popup is now non-modal; you don't have to press the +[ok] button before you can do something else. In addition, the popup is +positioned so that it doesn't cover up the board (too much), and making a +move or otherwise clicking on the board pops it down. (Not implemented in +WinBoard.) + +* You can now call your opponent's flag in ICS mode by clicking on his +clock. + +* Fixed minor bugs in -flipView option and documented exactly how xboard +decides which way to flip the view. + +3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann + +* Added Autosave to Options menu. Would be better to have Save +Options dialog as in WinBoard, but this was quick to do and gives the +most-needed functionality. + +* Changed "Reload Game" on menu to "Reload Same Game". + +3.0, patchlevel 1 -- Thu Jul 8 21:22:59 PDT 1993 -- Tim Mann + +* Sent a copy of patchlevel 1 to Patrick Surry to beta-test. + +* Added -cmail option that sets appData.cmailMode. Currently a no-op. +In the future this may set special modes for use by the cmail script +for playing chess by email. + +* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu. +ReloadGame suggested by Patrick Surry. + +* Added -flipView command-line option. Suggested by Patrick Surry. + +* Fixed bugs in parser.l: (1) Pattern for "# xboard game file ..." +needed to match to end of line. (2) Start of a new file was not matching +the ^ start-of-line character. The fix for this is a kludge. + +* Made game counting code in LoadGame more robust, and made LoadGame +able to detect the end of a saved partial game (by noticing the start +of the next game) in game files created by XBoard itself. We don't +try to find the start of the next game that way in other kinds of game +files, because the only way I can think of to do that is to look for +another move #1, and that technique gets too many false hits. + +* Fixed recently introduced bug in LoadGame when game starts with a +position diagram. + +3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann + +* Changes in this patchlevel were too numerous to list. Larger ones are +listed below. + +* Added a popup dialog to enter and edit comments. Inspired by some +code from Patrick Surry. Changed the normal read-only comment popup +to the same style. + +* Added ICS init script feature from Karl Schwamb. + +* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan. + +* Revamped code to allow use of flex instead of lex on parser.l. +Using flex requires adding -DFLEX to defines in Imakefile. + +* Source code is split into front end (xboard.c), which knows about X +and Unix, and back end (backend.c), which knows about chess, gnuchess, +and the ICS. There is also a front end for Windows NT. + +* Boolean command line options now use "-foo" to turn on and "--foo" +to turn off instead of "-foo true" and "-foo false". [Later -xfoo; +see above.] + +* Added menu commands to control autoflag, bell, and coords options. + +* User interface has a new look: (1) Menu bar instead of array of +buttons. A few very commonly used features have small buttons in +addition to being on the menus. (2) Large font for clock. (3) Pop-up +dialogs for errors. + diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc b/installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc new file mode 100644 index 0000000..4289d6d --- /dev/null +++ b/installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc @@ -0,0 +1,10 @@ +log off +hash=48M +hashp=8M +learn=7 +ponder on +swindle on +resign 0 +book random 1 +book width 5 +exit diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin b/installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin new file mode 100644 index 0000000000000000000000000000000000000000..457659900257df8909555dabc81d3a9d9d8e58e4 GIT binary patch literal 5475448 zcmWLEe^@2L8UWz2dv}XsEN)C`Ag@8)|7dn zBGvlXyf8w=^7BG3Gfb{9FLbOpFHEG(3zaL2v5I|+(U&gIRh>)yYV$(T>hnTLhSvm}Cb4a-AtT?{sM^+gO17UDath{!HhL)C z!9008>H&p2sh1vF3Y|yZ&htXSE_zP;uJSIjhl<_oA$|9GA(tuY_pra%`FlE(S;qDf zYj1Uw=+Qp+`x%p4>R$FYruzW%2kI%4W$xl2Jz(HqYYs6_#i7<7CI{LNpBJ(# zi?Im`Ub!1e!gQMlc2zked%M8&fdnh|jtmCae!TYQB7O6i`&5V+NlJUvL zjMu376md?S7n+%&{518mtX6MN*P}Dt1x;6$c0NN7s_P;7KkP2Z>5(H@kEn;5NA>72b&}XC zCrTez^Aq~WI5|%`pR}jsP3F_?;2CGr)Gscr&-xraC%@;txdD4AeL?&emQ z#mnk^MT}SF#xin;^pdLA+$C9W=*zIZl)P#ETlUiNw)K>cn15$p7^di5y`YZt_vFdY zsQTYmKlvXxo5T-|$IO4^4Uzw``WgL1kH?++shmEO^XKzIKd~>|Cy8ImpP8@ZGhyG? z;xR$RH~Pa2-QW7!q&H5+clt=*_r^b{XG$y@e^e)>KdJd=Z)4hCV!w$=(TqBNcm5xG z`KP&Ad6D;*nwb4tU;oi>3g^5P^8csqe~sz=&s~N2p^c8^=7&BK=gkjIq|KinawGFY zEs+KDLo1mJ=Z9W$;^v0|^5g9xchUSXw0M3fOPC+p6X%D5CG$g3()X!xissYgK-Eg~Ll?Cxi_gd^^TSyB{4mW7jjQ@^ zhF6o%>hnWohVv+2V}9r%vZg&$tYtrCne)RWS!>S^)$7QMx^>l)WzBl?Lo*HQ%Qag* z8;Z{u^&8C(H5<d_VeH3k>4zjm2&NIK2T*=*9 zEIPN5YrZ~iYdyK!IeU9C3+&rL{X6Q#PR67as)ezg<+F>myE?PT+THYLcRgg7#yzZ| zrFedrrD9KCBWEw;z4eZ+5_|VGx1WAcQmXF#jcGo>{DI<-RVD{=4|10WJC~wE+!>K_ zJvmezWFO|;9B!U*%8wA|NO6wxW-8~0(xdf^rel1ahGWG$&O2e2vE%i-S|3lekLr_* zPqvnv8hO!t%KQ+2s=O#UO|2Bw&JTkOpKi?=`dR1fv*bkQ+3w;T_0~J%-1#ATo;N_w z`SuYS)I&eD7dVTu3%yV3E}9?G8^t7Yi8T~o>JFN$q4+ZEX}H`PdauyaW_4VtUss87 zwH#aIdyO|nC&J3tiNAw56lnU#Ja_zi@XPYhKPSi4Rkzg zzQ_C{;ymg+qL0~6POtrRJnlRapKt~RPx`TfXrHf9{gk?&RySSGcq9GBG(4*}lsxCW z=jF~6r31c3H+3(#M~Yrl3z3(6jh;b!UU9!vzG@8N7{t(*FNjt$d~eOjVHyX<~#AI`rcjrpbykfng3A@KbdEO+Mo4z zS|5r2B6s?z`BiOpv*P*nNXXeP5+*6xUVIu0qw_Nb^ToLvf|`a6xAPSgvkPSTf?eVxu4ap^h5+SBArNv-ff?G)cdrfR>8IxcHC$*vc^6s7M5CH7b~l%J3$#&ksh&1@ z|CdL?FpXE(%QV%^`bf!@&Zg!n^*1<+iW}8KVVk{- z(Q=cwcC-0g>}Q}|-nZ%tjkj4t{q6eM;T@88hkh`2r@A`Te79UFyGIy=DqfsC+l&!(fEYio^+S=Q_*Mt zQ|f%$dw<3}ZT<3jR{k_T=Z-0T-kJe#g@PBH#~ed1iu01aFN@CvnXl+6>94wf@`v=A z?$?Z87nhOH+2)gKDpcV8cP157jW zp|>$+Ozy|#86y1?v6vng_fuzl=H5Pc_A+Zo`$C_|`%*u?QWJv{#$T(6_HXpyTRBXs z^*i@K_xE~3=?^|fQ)>IsIX`(9jQ{MdO?wOE|6=}E>xunlJY$}r-@T(h^qBlV#iVi8 z{9k^2{#zgaai1)se9n6z=U;s%|35t;H!KKQ%Pk1YsGYwcjME=k5GLteuppEzToCf& z7K9Gs;}?WR>J}{s!{jbr5SqwNSP({tCN2n(B@03h?MVwlee!~k7+v7!i3MSrk);bl zW{UaL1)+;kN@5Gb42{dnV}%8wg^U%&Wty%u=da{^(pQ!jb*qTG>Vi;A!D5`8zf5ZwTw8wYEbwcG1%BG>83YZ9vjMOqXi*tV|!?%F2^~{(zJ;^o9fACYNs^U9wy1(+<#NEg?hKt$2{j# zx0Tw7Zez?yzV*bm)x+)7x4nD|%u~CAvv+hi6z`-rR2Ryf{GIh?7jbr#D-A{BkiEP0 z)b3$D)y4MiY0Si4db78?D3L$K` zV6n(P#2zxseU0=(qAujnx>g7?!WL3)PXm@ms_{YkLo+|krr+zYz z7l)h^^p41ha;52{1!0JslNW?GDr>w=CQq^Ev<0D+Q7UV#Ki!z#GvsilcU7mSXL(C! zyO(p+LV5jyFh$F`?(01B=er|{8stXl1=e3EH>xf&-?$)*5r2s@X};9gFY^Y7ze4@= zHj7R9mG+T#m0GE|+PFo1WL_iQwdU!$&RcBt#;%w54faxWqw|Th=@~VQ(Rq`&H+%E9 zsI^^h=(tsVw|Nh@+fPo1TJLbbq~9qgO70S;Q_mQ>+uh#do!l#am$UBk_4}Pm(F4Za z&LQzZclMBY4~s!okNaVSu}6FsA2p`wF=x@*>n%NQ%)}G=`lL90KHpENg{r5`Q~Zp+ zQPyw#tatRB{26>+UN7j)i*lfk38F7qPyC?#nWFj?IlSsDMuzNtO)am>fl;R4@Od28 z^EdT}!nf2w*4t`ef~FDo@s793D0T1Z*L&8{F)Ek$#r?qg59RQYm^6HB{E4*`j_W_A zpUH>l=ho1$O#i=-Gx1-_nb=p}6^#?}rtfQ?qi?($s=oE(&ZJ&{C$I1IHm+u zPUla?KdYOxX?0QYi*tXqo{Hb}aK=3Czl-;Wd20W(ch-CP%Nrx|xBf8okM(oxrJexk$DS4)BJ@YEwV6FQ@mhdsAPtLg$qM0ZeggWCVpYaTC^~v zFJ2hh7^5>`VJJ$pX34_PM@EuZOjDh_Fw9XI6^qfO3qwhYF^#DULw?MD5| zi9yMF3&S!d*SB|rg`tHBDzX=b$c76;KTR7g3a`5MKw z`by5}_R)NX9@BlM^Xlv&@hmmba<=g~#zgAvXOygSeU04n^zD3oqrAcX3-sec`7(5o zemCmJ#m-=uo=fG}B<5x2$-dlr+OLpbvp!LLrF)_5Dm`ZUYM+r7`H^*vystG+<#lSO ztyTZ77v}~&q3%Za)h5nO;@>PLO}EIgUH;VGDkcrL$&=>W?d=egk~pe0l9XI^`JEjlJ<~uh(0WL3VVznaXurD zdIyimi^5)K(EGT$pHRn>df(@LQ~Z>gp4J;C8GlC1ele%zgHLSKd6_6DeHdJXBvJImnk}bmgBUXesMMvWc{Z9 zGjb*Wcjx`#PXF`{X6>bo{J-p_=x_b_$C#oy=aKzC?||^1w@Fcm3+;3+7Z-Bp8IwIf zE_5+Th{T0H8W+Tc*uuC_78e(K;^RWvqPS4BI4Tw|_BQA7PvPN8}XM*-M#U?Q`E;KPs&e~#7vW|6RtScVNvf{$P zdU9rFeQ`ICOSZZ<6lWuKZ!AZmIp&GqBrfD_DkizPasGTlew1$!7wWduS7vF?lOH2n zIcMv*ke;uIk`>dDZNab%hh~^x|-cHu`A8fPv%wfW`^9W4BS zc-Na}mi!y-XRb{RH>>{^G27kwt#P4-c1my4Cn|22cZWKeWBLw#z0;bzjH&MQKJRvS z_o(My{id_ad%n+@();E4fL;*kRzFh@%IhI}$$Z$F9`l4p?PY}G$MmRI4rD&AE()KJ z1Nl!{M{b|_r@W=7t$D`%)8DU;&-$_CIr%*ATp|NG>xb+9qjbXfYdL(Q|4cCT zt?{Hc^qrik`d*wLj47Qm{!x7Tep1)Z-qy5vM(FuPuYMJWso$JCW6a?1;{0LnpYms# zhFSgkOV8>5+r5zWk9z04Co2D^o`2;*>_5FGH^lq>srb;s1Qqk*{V{sHKmLmkb2LZd z{oE1n?>5EzwTS;FeW7t&d>CgoK0f3viVxX~<3kq}3Grcwkwj~jSVK-yeCQ^Y93O^> zE{zYBbkdy?AL>%g(;c&B`S?({LVRc>wqkskp(rgr^iaBzycnf&WnZIv75S$dGr6kV zSBnp2tDC1TL##F8LmMS)+E3zIawIJ?KJ+t3@7m(76Cc{wjSrD5=dI`L_2op(2JskktQZfNgD>ZW32wK79dPJ9@neiP$Oy+86TQhmM0#y zTiLUUMHBh3aLHf}O1+bC>wgLC&u3 zq{#l=+!fK?)lUB&&MsE_p7EiY;=SA(WqaFOVh#QKSii46vW)KiNy!O`%I!Hf2 zz0@6OPnrD(=@DfIi+hMMIpyXL^_FNoOy3U|vqH=x^!-Thf)RR-l53^DQ*pF4$EfXC z`>Mn~&bvEaJo-;?k5pFc-HFC@oTT?BtE)y`r^t&&N=|kDY3`LCN^6ZzcPD4Whbl78 z)H@<|dPMXru}D8#TOyNTGNz=_T8b`~2ScP^;{8%` zsr#j<$@nt!m#d%H73S$~Honq*T;*;lxjH_?x0t8o8Z}%iAEvLFD++=*S{*!r&d!@Qv?{1Y3)whX5zB-vG3ahz z7XKCVWWA~$28NvVn)MXD?w!-}hS@?W_ETpvL(OMmQ}DSrPyQG7d?{aIU&)d3 z3FEJ=r{){uZ}p6#NpFG3ch02!d%dOM2j@?@GYWrH7tKGJ|5@(TP3r@>zsQT0U;S7` z({J7qIWzVU``!LO)JWZ*=4ZWyzpNqWZ@Dl=)jx8Xv;KebBI92*68X>l(-ankadMVh z6ly4$wE+*9(#%suDP5G=PPf9c8zxJZgPTxA}TGyC@EPJV4 zPyKYQua*t$&6XR38yat9{l?Z)nqxhaWNo50GB&k`s?D62yU3rjo8MfWG;JX#`nNRB z(?8O;(hu6n-dfM;W{PFos3~9Hw$7r0i?*8&% zn!*FDq4GfI(OtGEgoD&i+rj$BvP0xS{-I(W=6x}A_@Yo&VLeln9-((fx@QWGa#xk| zV~GBv)o_gbs6KX4n4_*rtmB+P?0CJWpW+kLM{Bj3PShXzPx59?HqS_n^Ga%19heZ4~c&2pypN}s!{ybng{xLW-!YPm-IYsIAfI<>cY z8`sN$AsTKlf1|x^>ZF|fo5ZV7D?&G>ffJDf$`9p2xa=84_qZfWc^ zzFYnD6TQd1-Ro|t?eaOfPkzji{eU{Vy@dy@C*vV~q5fe#>M^GN5qp_>)c7%D@_O}x z>c{nt@h6=1q#pID^C@EnpEgh7GwzN2e&c7|16j|B#RRp_%X>hdXn#RpUo_9yOYULN znA(?(Uyjh z|Hjuy{8o)*Px=~}-#L#KCMf>iz8~B>c~kcM=w1Beo&W5|T@t6|P4+L&XOih(#rnpwguXh%Q84}~IqiWIOFu~a3#i1c_amZV;ICM~!wAlA@ zEDpWN#!>T2jVVl792%)iT^u^eh%F916fAE)-E^!Ve%j(t!8BbfE%tZ0?5A**#UYx$ zI1JISs_|-zLu7UHj8c-ZIJB;@I25nBIMlDD9_ARzTpZHZwuZWO7KiwC7l(2NS(ddp zncT?#=BQzl#UX3c#i4~RqMI!a&9vq^kD<*MhmkGh zy`?ym<*ALVt;A%4sjc;Po5f+4tZmJcyWQf@MAi1rD6od?9mFMbN3m#OawmHV-4iuC z8}H&?nA=s)iqyT^Vt?n?eNnc@;?PFgo^mC+m;6ZI+Zpth=-)niL;k+vGeIadrg4Aq z50D?-2kIHwW$GjIAhBpY*x5wNoy{E0hb|6%BpzlD1&13~xEng?I>P*sYCXzZt90Kq zQ+>2^s61wI$T?PCR8|=uw>S(ie!QNYpik9eo+uA$PtwbijcKY;>nYAU)md~fL*i-P z8fmr8p!jq(o#CuA)mkSOt+bz|uV;H7=U7j6yq7me`XV(` zf3ba+cuVwM>OPy?A*GjzP0!`>C!<-tq+O|Bv|nY-)%LbnL*yDU$-7qm%rJ1ByJ{8l z25T6;Q7&!HqUt6+Ven?-TdZj}PvlndskqHOQFgmL$?C9<3G(g`mtk`66r0Fh#+~w_ z;BI|o>K>n!d%dMDV+!um7v^Zb-}nLj=ynd(59%vJ5BWSjEUzAYd_;YZ%8P=>tf!(^ z4<45n1H_*2=16?f*+lxRBkw7Fpzvwu6MIHa80~j=&)UNTwa@7ipDa;4`&+E;ilE+|d{Ied!#A zzOrw^n8-K!^Q~UfOyQ*S$^T9+-|G+4KZrf02S4fo)jv6tj-UP5H|-v%{6&4#{3_;* zn7=#!54|MgPyHu*R$rO=%X|6T8>8YMcQz+J#sBke|Mfm-|Igl#5OSAG24O9+Yc z6Z~0zLa2`hCgvG`Q31O1TL~H10j?$!rP?VhD z*DS_SF_$KU3hGl5!UTh<=3@!IH_-g@2_dpVf?u;Fgv=EaLP47KE6IWEl@mh7DhVN$ zZZ9>f+DqSR31ODn)e}Mo)fw`jZjFRcxMqSs%QwH4d@>WlCDHLIM5cZJQ9LsoqY$)NOBEV9d}C#yc8QvXi)E6efhM zo#jjUF7hCIS9wreB<^nZFiFSm=J#+$u`%&`s)M1utl8Ur(Oe?OeT*sDR~_`zzMnmm zl_rGf{?<`;fVzksnBebxiF=SWG#qUGA$mo1xw;Qc2+Iz0rxj|W`Uv?jbfmRMxw}ez zJX)+{5<(AY$Lco~RpK7!ZBTo>yFNjU)z%O>F~Ro>ibMWM_EU7Se$^OLbc*|8oU&8( zjJngrAfr|cT241U!yVIkrgNyMlNU2Io+WqE&oN)G7w38t=b0nEL67LTK))_b@O>rn zxJVp|8r4tz#d4(m5^v~I@1aRfL@pDPa+(;T>~d#Zp|30>^Gcs3mXUjv9I3zBo)-PS z#+V5zt`+Y(cSK&RdMUhKZe-smF5Psr>Ge(C8&kyJqCT42<#Mb3kbS#+8S7BT9ln02 zw{@4ZDDO1Svb)XS zebhV|y<$G@zL{X`3Hdy!mwj@0%DEIh?M*%--+pxvp7j|Z_c=cnFiyks-sgb5FNjax zi{g{>l0DQ78o#Utrs#XcyL;7nqz&0m-fIb=m#){{&l_?YHYWO}J~B+kTlUlWw)&_T zG5?PFcjfh-^XX!a%2Dr$x%aL4(0OC>_{cqdtY4qVo9c1>`qa4;ekNC%KewKmW%8r* z3-A3)@xGEbi4*oPMEck6naXd}_pSL!u_*jbEb_m%huk0ZioPl1ANBJmVvni#rhUn)*YVrWZE3{#ZGtfy!B#89w8VrX2^xn!p$`n|HmP_nZ1 z)U09++3DiYvua|PrhIjA=*+NY4ST6yGcoitxR#ii;;d~<_B!&Uc3tyXiT;d6ZcH<= zeqyNDAkoh|i6K5){u?HSUg9?rm#mHTg}EHHY$^vPsoPA<+{BQ%x%n-O$=otAbWoU= z7zP;HD$)0(h`EiJpW)2 zt@0+QKTbX;xR+{Y&~&1@PLk)zYN4gZ9Z`EqV(2?n&Zn8DuU4N<*QYb|kD4>R2eRw* zhrF|#MfKTorQ{rMg_?S~o$G$jGf(gNiJ`SYEb=d~hTIF)bCLUM6z5`fUE-~hd8s~= z(_}Bxm&y5Z`CMUNvoXb2%Hb;Oskqu28d|&`rmxZKYpuD?npSIQzuvvvpxztJQ_!Yf zYHzaUX8GQtF6!IWeye*V`!+F&-Y$QtJDhcg_;lTA&0W@Xx(k}_c4zlkPw~CtbgAz? zG3mQs&a^+ESLAg291?rb-9O~+$$D7*)bxl;+9TFcL*=9Drsy$mq}N-Z=y5+zJmDQZ zsb+fnjGxlSr=3CdGv*oU7w1`V=y=YW=k=870pk~}q3%U@OLWj@fKJL^7V{N-eAS&% zH{?B0^P0S0_g?6J!(9&B%jlbGc*|LDTSLi+H6*^HZpKM}*BS5W)2Oq_eBV0yX!}5~ znE6nTKawjGANz6W6S>klE>}7}RoiEJM)+Kx=%;p>@fZ3`=9kVR=PS8WH{l(A?F_;< z?w)?;82?r-lj2eGo$>e1|G_*tQ}!@L)sK4qliGh4Yg!$@sN+}XQT&@e(?6sCzZ+Bd zhnVF5sXl6E<^GqLf14-kAN`?mPEP;xUda8|UH_*CG=?Q1w%iimld>cf&07+B7$<)I zl8_fMrgg!RFv`%vB_Ta-Nhqf|en}`>v?L5rvUo}8N>~yy6RjsBX-TN1K6y!)ATw&7 zvZYHxH<45^VoO5S^3J7k1v#u}JzZ3!EeX9OuDm1+vTPN(r7sCnWUp%dYR1&BZaozl zVy>~o_bx8+`(5@@wwBx|$+VyHwbjNro>+t7VfVp?%XOzIV|YigWdW!p)sUY>OqKiV+sla=CJW@f!;;X++>X}oBxa#FJF9aSamd?MFN&6g+}-qo`rY+t z5B;LP*!-U6sozTu6z{Dk`#5u7{b7dg{oFz662G@)@BaEjr9ks;2XR^f49nL%28#+dfR30n0swE-+ zcz49;3F@x4mZB4V{Uq^eJXtMd*T{o8>Q0e26XcyLFD6ctW34g6tlz zBl{Bn%_RAk>KWZl>Y(#7`!1K~72a>NoUioRBK<10QF664B(^y78nsY#g#o48cp&8^-srMEes0mg5)u0xJA-=P;Y-YKuU z?4i8VIkem@);-?Pz1DZh{XXx5^!u$R{{ibM>b9P~2i@yK<{!4E$C${Y-Xh)9J!U;U zkE`_$$HM`?s;cYGT^Pf;7npKI+MhgybJ0m9CQ|0 zFZ&vauc)7@SM`#yA!om4|Lgk7vNzN_Yz@oablzL`zO8l=N1XAF_0+s;{yq0V#;7<9 zzwb^yP&;WK>Mylpdi|009~)EuiMyh9-1t*xeYPYtQSiAR!)RKjZpyyU-!FZZ$oWbS zh-4o4k`QIU6KETeomSHQ7mT2{mCBEezu>qU#+42H@VLE z@rIt?)&GaS{AoHYuQ16luC&)k2;At`iHzFblmBWJ!bgH%P5 z{JDLS-vdkX=k~_5QxKmN`iU+|3LW$>P6~6BBqW9O#3X-*%$lU6kei$oLR5T4s9l=m z&+V;ANeV@@Q;=#uwK40KPYMGoh_j+GHEHsoWu>GrOXkYAba)LK}lbGVLL{wzJo9HhJqNg&`WUl0wgV;;x?*GB!{* z)f>u*s*Tm3lN9nd(W6b}Pi!;i(nWEueVdCx?H2N6VoURRVl%OobGDWn!<27he|}OZ z+cqh5leL{5Z*NR*fxLE*%Z^FDKi(P!C@EAIjXPVvOH$|~vq(+5C51u;$l5*0&oOe{ z!+la!td>2UP1)Z5w?y6hxSM_DMl(74*-Kq%Qdq_WP5UQ>adHoIPejVpNz*}UKG+(f zhgd^lc~Tgq`B1SA^A>16T;D5_!X)`esF|W8?I-OhIaSJ!(xdg_7&RX&PL=wpJI?rc z`JLc>F+;_P`g@Z8GRhPMC%bbhYSej(nol(*`?MtA<7ix~_q3ia*E7UrhVC=tavHrc@-McZ5sEL7y4&ZB#(VVRUNv;tN8Nq$r15^WJz&0D z&&hw#y*y+M`48JmMvwPFff52i_c$B$$0%8e14-qY_W4{E;9k1zF;5%RurE?pC1e(fHaA@5tCH(Dq4=R5PX zey<+te$dY;{iNha>uLK*-zfdrXK&g&BJzuz$o$oQ%6^k8l{5A*@Vi)l_;G-?KlORm zJZ*our@!_2AMb*pIphCXPxx2vWc;URRE6Y_xLk6WqH11pn4oEXa_EdChl~Zup@M>i z*2E?I`NTNh8mbbK!)Ri1$Xb#d(vy-y8+FOa{=Kc_&>c+sdqp`p(@TISf&q?c5EGY27F}%+b8D z8gj&8Xp>|=pE!##`g4;*@#e{)m%=TQ{oa=N^yfKitK=|E!`9B)MxJDBYdvY(C5I6z zwilD?f@HrwG2X%69o4#%-WBQtwL2$=>|LBo4b8hct0>v;ZCOL&9`YwrY`mxSj8nFk zoaxwGEhWy~$C`c3)5st>rRMh+=YZreOYMQqDl?|(Ao-Jiu=SK2;?BrCR1Q=hX8qyb zL4`c&IU+d>AL$(&(cPZpjWJ8p z$;p0iORt!u?iBBfqEoFq&DUtGRpaSuIYTV!&UEi}&Nxf{6rL>)n$M9xHTC*S)w$x5 zcb@yB^?c(7y`%L4cXpv3(?a4!?wiuae4F;?)N^KW9R`r@3!_KbyD=ObLi}m z?<4j-DqrRv)9+q+KjHpqc~aay`BD0myqTl&>EzJIEbY(uTEBNf)3eSZ=Q;O6{_|=f zalqF|dqE7MFIq?0OU`F#(EgY8=N0dW85&=8m(&k=JFn^C>+bsvamgAse$!{{Eq!}i z->4Wden(6O=y=!sd)5;h6_er*oJHY>;xk3nm>&aZ`p9SKV`ECj)yFJNpV~v&XKMXi zKFicV<`>=|4PSaI)P3dsQa&NSudQQ*if@d+RUb{0_R#R1K9c{v_xyt#iA`C@2u(j4 z|KxlIf7ah=J^aNRAo8mmDgMox8NK=4*?)-hr_UiJv)%)_f7#14BY(^HADpCYZ>hEnuLowr2uWt?c8$|utyK}RhOX-H{CvzjUQMj?Q8OkxgiJUeSm-NlV%C&y; zXy_tu3ukQUJo577zg0A3Y^}cxZxaoT`FgsoTDEg8mD@){9|HyQ-_bdAleLq*OpsS7 zS6X*=?k;L$hPGX!VT{tEXc%FR$nJVT-X3zLp;!%js(~2>_R`C}-6I(#QU6v~G)$Ae zkN>8Lf_>fbe!fQk{{Hs>=M#URSY`H;bC5i#JJ_9)dx*V^(^Vb~wTH^0!KHgBo#w_h5n8Kr8$Qvdej($GU`oHb-ES{e!$FZKPA zOZ_?f($KxcT+-6eM^Uo1Oj8zJ>iZ*&X-!!gic^<{UUFhfL;ea&!!SiFF7@Z^OZ{48 zX=q@Q{FRo5WlXNTG<2-utaN9Pzv|KuzuM9;M|Q?i|Mt7H*06U?@rkY_KC_w5T6?K~ zt7WOb-(?L2S#qaoJ$u&|lgth5&9@bsH}Y={ZY74Pg^|Xke7yO?_=M z`B9m>G|W)G`O+{&!4`VQ03};mmnUDcwo>=j=E>S-sedD0ZuxSfbX)lo-A+HL-d>&s z&fLK~nLE0No#ap0d16(y+0{I?MaH`slefFRk+a8Ae_z<1V!fc60U~=X4I|7^ zviH)^Nll4+AZ;IK65V%c7-wQXy)3n7fAup;)&X)L@jzc=h^{hu9;6?{AM6~m4v|l} z-X3ZV4To8OxL6hDi5{VsG#qI?l}EXkN_o+HwB8+~$Hb1+V~VP*InLW4_jvs#a)Mf@ zsFpABCyGVKN!C$xvNflugE_`e^)647YppYAI92aOlWh4_noo#so#z0?^^`b#|{)Ly2)m+KXIS2(9xeph+}R9&T} ztBombv7hKQ@@0nZYsJ0JowhpbdY_#emWGTQeO@VTGrq}LH~S3Ic8i|1dt*${bgMPD zdFK@0ZrmZyJH#RTPIc3Bm$%z#JxzDZ^BytpRd<*C86odJIo~e_+8;3P7L%z5#d%0w z6hCZlk2gf#Bi1}BJ_Afq@R)w}I*+u+_3;U3Jn61T>=T!1s-Lp|Y5&`=56_xo;yHKn zynO@S>kHm1%U;x*m&6#9Cp9mdC+!vSUKNkDA-#P~uSk2{-BR&}-qJ8^{HC`+^;_N> zb#J@N5wVzJ_#HXFYd@v$i90GcrfGOzZB%|B7ZN{o&vZ~WCLSFh>CMOXd}9B&HJ{3h zg3sha?dRSUWy{pU6jfj7EmL2*)35yaGGPzdUptdgV&6EEwr}12q@I80JhHym3u=C_ zX3Ckg(*C3S_(>n}gL3F(g4$o4_p9@${Y_se`duHX`a^wxia9F}y8kjy_TSdi{*Rb* zaw7bzSJeEcA0Z{gFP9R!$)9IDKP40~MoT0ml~gcQGyNeMZLDZVEqB@8E}gwf=bP!dfEeKamj3E8P)P#a4LLliD=?FuQr z|HODjvD2(sDaH5Or-b5_%`-#ID$XG--FVfM5LUB}R-&t?`2DUFzu%P-5;Ic#8NK|- zUDN)xQbJc|itl?&3DZ=s!|Q@Nh`^;5zeSsTce=!VYP$X=ow%ayVm{n<3d z&nGFqw?4)9)~AF>uDofaZgaic!ul=6CnryQO19Dq61P?>Y1^nFUr%Y-RH^ zuQyZ_r1l15^Fh0_L#*cEBmDW>vw7m=*BbQ^HNk)}>CUTrO6d$j5l%3%1&|K|q zPLwl4C+YRc=IN+0e~P%2oT^3|Pm>2}weJ3Ocg{FnXV_2dOn1vHO?B3tWla0odVh{R z_12s#7P;qHLobEr8#l=Df|Srt@rBMO=OX7*+31auaj{rLE|DAUmwKa3#uQ(s7Wyyu zj;}D^?2Ie*p35)tzywj+4b&^9!hV}X9jN+yUqMf zV%_Ym-r`OuX}6!;Th&6#ZRT%xhaGCC<_`CEr_V7(cZo@7r}x4nRrly4b5!1|UTV6W zNBw=?`TcU}mfwT&ql5H^{5MS$JZwK>J=Q-Wk4K&Nm@%!i_o|6yv_0;#`h>ncsSkbj zJ*_v-IG2Wg?}v_O)kF7lViI{?52+Z?H*#L^HF~Ie(PxSLL3jDG_rnwguc(i~SJgUX z%-Cz*#q08W!#oAU?u<#A-?aZN`4M|tu1t5$kwN<2cNZU6|Dik> zA#+T=ANf3eEI-C6{6xNFe<~Ky&zwj4=l0V>+A?=e#TWKa{iQvGuf!&CLS6KIt;TQk z=vzHvmf}fgey5j2zn3TVB>v!SOj*YSwLj`T4L@1;vmet~M%%Qv@{2um|Ef<+Q}&y8 zz!ZHm&i&oGKfDhb|1?kitbYDwOxZu~kE}Uynf#wR|FxG{#{N@FNDcioEteX4DVvuX zM#-O_8ge43{te?)|JHqK=v$EL-=<6rm2s(In40+1Fhe*)YE~s`ik5Mox7=TcWbEHBh~k_$h%mdsNPfFd&!kfGWK=`!zHPHezJ$EeZ|@@HS|zl zYR&%6VEBMkfB)FtGWSLILEg;4YCA;yaH&0AL;Io za$hu7s_kg`9pgEEAX^J|Xd$-<`agX=M%)Rca%YI7lbBFiK^8xvj(d`UMACwb$4~a`|kI&sB_EPhx zyLn8Xd-dyapN%K0# z^@qxr)JevmzEJwI9A1$#1+R)l=8zvNm|^ra(6Q}mI(koK{&>G?!X;xbOdXU?PYb7wE} z#=ejfGvt0LchbJHj`j(4eC@|wioa1iW#6iul1X`eCof9Ax1a7G^mEE*nZzHR&or$+ zIsa$xaN526;_dxvOyY0OAbUn0f2fJVKh;FttTp8RWet(Py&*FH@iofkc`-l7#6n@jn6Mz`|4$_r8W+aGAO&%;P!u2YJ@~PZy(ku1 zsaPBf<5VZad>^GXOJbpmilkWRB|h1HLNpeZQNA=5dYGmwB^EMMWBx41x|lNw%Zot+ z#Vf@8x+oTMRuqFCmZcf5WX#OUu`sYo%)g0j%;c(aSxsH5i<@Dd7A9y~!+1?&=Ez^m ze=|#FrnR)LE$?-lN$a|?FiK^XGih8;p6knVgP6Zp77OiUXU9VBhH~C0=KqUJESfe} z8?!lLZDP%)vCvQZX5!>Jd-GTr+9DRxx0E}TdB$5AQ?j)>DB30##%RfR?zZ|(-*)oZ z-kJja*uj{r9qrvo{)O@01kmdb~W{q3dd05vjpp!3R{LDNC{PyfNzms>;Pp>m>*!oy;I z-id{@3Twza!uUwNW{#nw%vY-SXy+c|tYhUyX_a{@j?=^Ay^|Bp*?}B9v+~^M5?5CCXo8)|R%=f~GOKH1WXu8$> zZStq*cH<7`(Q}8K@AUa&fc(3h-Dyno-NyHLKMdXL>@K?F&!|o`Jm)SmMZxp> zK<%JfXm~*_FB&uPlDI>9^|H9HSkKZ|^_}>zIn0pwnp|GjYues$=SQ3YHE&waG}UjZ z{cX9d5SKZYy`x|6%7y&*%o$ZL%idSx2jMgB+Lx3qmMcgn`~nvzfDMdN3B z^||L0dhmt(DEv}AUx`D)q_yOKttLj8`o{b7TW9p0o-5-9-bwNAos>|# zQi{*wPw`p&DSo$CN@!+=*gWHZrG(a1QbI4IEd6(i&x1+vcTq}6SS=+CkiWX;^d_eG zEdG=*&g7cb{wF2OCZ&XuwNw23zIf}TgeI0zn4A*k=t!{_bE)FYH)bx962{U}{Cg)Q zte|8;N?1-}G{yHWr-agsl+eTA!W5qelj7eyYKWzTAsVu*p)Nbc&&L=uMO9ob#B)=8 z%_qh8704yeK2+zMNAkMnG0W(GQ^N3i_AE&8JAhL{!TS0`#Re&12?-mfgc=4ZEwnEK zOfhexln|wnDVG0FOhz}>^CErN#5y9I>MfJxZ>De56sLqfmT#UC+P1LQmg*}>2}xTS zQ?|7}Grf)HrQ&ZZ&+Sq|(e^1mvtR!76Lu7j#GTAxyxe$aIZ&{RIrQzSei|zDWj8S? z+udG!I3p4&Q$iP!y*#IeZmRaSUzM|9jKY0V{2mu;sNT=G+M50CLHq#yIZ*GIs*%S* z`gE|lhp4^Q+(X4X%QeWaNrpP) zdzrYGI}aMJu!iPNYpA(Wo|Imd63VX@cdsiY=3npm4elL{H_E+R zFG;+~U1o^Zo4w~~zC}$-ti4rEx9KPCw_Cf^dEenV)3n|xS1RwaH#I%xF-_0i?k7_$ zy+{A<)k_L`)p4Jm+^@e6ILAJFv-m-;Kjc00u>6*(=MlBhL&c+dMZ;tI&M3>5%l&aR zJz;N(p7dU#s$V~z@@K`q@VQfJBXWb#@J+C%K2gQFu4OF~n-AnEY#Y6U@@MXEZ z;`yuYGVx*aUsL1j@?_o{=2Q8mTqt@=?L^)dpNbXMzT*rje%E`J{`cfV^Qidm%ZKC- zj6c*zD#zS)8b6XB1s_{O_b2unS3kv{nn(3#Vlni&@r3ov`%=GX`pS4x9`t?f+`f_b zx9Xa**LUvJ_j*F%5AF+LS`V50(fjQub^R=_U*u2Xui{bqo9EQdibLV=`ph6Rf5`by zd(kpyufMGSTVE*pM_(unsbPZT|4a4tom5}nN%i~VQ$xYLRG$%(8u}<$CDmt+rTSdU z)G#k0)z9jCzG`Y{SuHj6uAUl}B&LR8iq=RCVa-&ZYbnlujFVDBbgfjsD>5}KW0=Wx zQo~qsYA8&xmXg%eu$=PwsbPw$NNSiRKRq?nGfV9P>xo9qBRRtwCg@veoS7O1V)Dom zH`{(W#zf<(p^K7SIgz+XPI=-okZ;bqsbPkS^-@D=L2BryVtvn&q5;${5itt*4_zT>7cqD%JNm>oLXK zr24xfHI$W#LH@R>J|jlosM}s%H0@yRj;Wz-C-s!4hNUF#oEiq1rgaxFcNMe3S&_7x z=k)BJ>U*5U*(25WIE%BV{Pr@3zP_@EH9z^!HhS~$frSL#C zF-U2Rb7Ax#@ea1;5ch^@dTP~os91-YL*L={s1u8dBg8#YKNvkqP4)VAw7wBJMorWn zn;M2lXwYl&kMsO^^_`%fj5FEjj-I3rl1_G(jMLVX8Y)jo4b`X0mAcdPlE!BHQF^+) z={`fQ%${lfS-FFU zcZf;GZq)B?x!&aY&3Z#GmABY~fhESbntz-8SaQ4G(74o{r}GZuJDnquyWB_SD7{;L z_vi;L_Zs)giK_dYDRVU6FBV-7c+d2CuhRCQnjW%-#ne8mCVG~+ACJiKQD;HzWB%+} zuGYuh!6)1&5}#Bb^ZL!F_$m86?H+>tlfU;NBPB#U^&iOUDyzVZ%p$?Kq)IkqPZ(7gDTVlO!e-c)hN69<- zK-;_GzNd$y@}l{DJz??#_u)hH$J9tS;~&}YV`GM>{zT3!8`rl_)%ck)Gt7N1)`T?_ zeIc(e-8YK9QX@+zH-*@&P^1bKGvFr!?O?&>M{`_PuwLiNHGsblP zA}1Pt^=AsrzsY@8ugL%1Jc|BsA6WjUIdkg%%byj0tAX&3y-5u7eec@*P_WW`pZ7mM z#Q$%8sAD-bE6?}4V&?l^gZX|}jPWY-{cO$r&`dMrO4gen$_nO(0Xo*7@9!dYZeTqH8(Kpz`Gs;PwvpE;{h!yEqj_WTip(Q_ zllfsOMVrp|Su*-Vtk@dnZ9YF#Q@n+`sNPckCHC3M+O5Ue#(Zi@J*RNH`F-mLGO1GgJu%SJ!i?z)-t(^Gu>66D&~h3l}9;S`6N`S zo8*1eN#nlO?&oeWP;LJH^Fz-8&h0?YYUYQogVb|~{!&pZM+y%$m*m6DA$GXCKz*H> zj&MFlicQy1^ZmSyUekEAypECAvF>AoF=fZ8iIU^Zr~CwQSlZ}5GRM$~_B%;j25C8Y zzMs|9mnONAaEe?=KGnR_tYO~i^Fx$g!Wm){J5y{rTb$Who}VpuX6Zi1Ik(!A;&ZJ( zPtRy0|9tt-+h&gotf%NgxiIe{cZ1P(_w-`tb&2QHUn&-(9rC?QKdHUk`{N38I=xpY zxYE5QTrEDa#qy)&8f%GP>z*=lo%vnnU$1T|Zg4jkxlzn+_lt>})Nr#ow^+*@l}p4T z@mBLFxJ?glSI<&4P=1HL-{~&Vc9(IF^SIkulJ7Bx36gvD_&)dNesdTm_JEuiqq@(X zqw+y@Q1p;oSVr~3?j~WGo)CM)eP@iqN99BEW6pu{Lc=oJ3QiyNO()nn4C-$|z()o>C zzBQ(E%Jc8!!tnRTKjOM32n_6eZ{M{M;VJ{m0 z)I)}-o|8Krf2p0ezxDbbaYH0DtrQ7k#8!^@yC~wbGb293EaLm#BK|Il_;-;x|Bm>( zC=$w7jfCXYA|bkZBs7wr81dPekuX8+8WEqxZ2p=NpPgxKlIIMr74bVS#b3u9ma#ZF z5-L*c%i`2Xn51NWBveNt{w|96>`e0)$R`>JaYO6S3)H*%o@SWhAr_O2i?yl{y)sXKUkatSPk@#oJm#!*&s$ zIip|O>kVyX>Z4_cNGRG-eoRxnlh*8OR4zH}ew+>h5M zCaFBZxY1hbPL$V4@+F+C&&)E_B#%?Nb(%FKHLHcf)AgBoXUd&9I$9!Om=WS< zxd$YkBNv9KZnY2LTy;@?o?Om%-)L*|`~vrgS=ujjzb^7#X!rbLwO(Qm=5=_T(aW6a z<@ToH3VXAh#!j!%d8Jyf(wnQ@;l;)@U!&G*jVZa#^Dbjbu2;_u`oYkRo_DMNCb`^f zFWPU>za{FT_*TzvQ`hb0P_@+f4(~;l-|3FtWy}~2J^FRG97wpw{a}=;dyRY5b)UNK z*Q*Egl-54AJm{WL{gAZ}tBdMo#*fI8>PPi~%E$DY-sSGl-01DstEcsc z+Gq4~Kt4=T_pJHPsh7&<)i`L*3-%)VV#MDa_Ik;9NWCw+6R)_BuX;A@efOIC^t!wC zhPp@efR;Dy{gzm7drr*?cZQaC^o&WS-<8XIdNV5C`|c>=L-Q#g6Njpg^zUPT4u0Z( zFfeYRvq`=ir*jYgd8 zv{0Xu7AAO48*i?gmcO#RpE>!tZQ&$LjtzIYqRYs0j#gt9{UP_j{4 z7-z-*#Ms#LqO>qT@+Q_&w5c_8kg%E8s4LdD&Gm|sEv%<;OXCu?(Y2NF*7`+k8*5AD zwym7EOAE^=+unY3lsTInjOo}h&F3i_lV9$fNZdKie?LnLkzLeG#ja|r5OX&M@1;rTNT$y`r;Pz5C1k0Ap4hXikm! z2g&_ly+1@wwc^uE^`V|0W^WP>*AFV|#5}_DBh^avQSz>L{!||=CgB+IDL>Y}L>kn` z)N%GYAuY^N*=P>^%u#oueo}styF$UqX`zSWCb20z#ThWg@TvMh?P+qLtXT{yPuB}p zoZ$|fDd!fo6V7sLDlTbTBx z`l;xWFA3L+b%Qa{8|B4Vw>dY-<7Ro>;yuJ9V@vFPtF^Zo(|@}@F4ad8@6-FQ~do>Twx=8!PxT&a9P9<;sa zj9>Eppm)fem#wAd74I)1ugZh?u-7PiOJqdKNFX6+CJB7 zqF*>;!k20xKIv>&PWjjNX6ZNH&)=FerN1P8CoTowi_08CKgfOB{){qB>yPIB_mIRt0y}ib&dZk|Mk*+o@RPjM&bJAGf3wK>0yGV4eeEEFN!yk1BL%f4+A7`EEb7H>7kbT zO~l0voVyF0&1aft6}e-iexo0z3}L!23*R*v)#Kh&NqKFnP@-1<7b zI6^NdIMRCJN2!$=y6WYAw7e)k#vaF-)1V(z9w*N6de6K@=R@&{)>3_vISid_ev^A~ zioH%Xhva7GPtoaWqv{MfoM}u;i`vd|7tVHOET-ukIg`*TAHunML(zH0=gW-|lG@yF zmeY2De$shidWc5WwDwW zr|lZ=)oayxogS0iWnbE^m%|NmqW4C1blZ!@o6Nact@KlSi@5YJF}~H9k=wjyZr97D z_GRi0XLy&M_BflnJ!6i_d%S1wb;l^_br&hWPoEefdcVC%e!y$g^ohmHgJM1GZqUEX z_z`Et36$XkkSn#*@}TTTwNdc19x+GVj5GU1 zkC>w2H_urzs~5l9gXTZH&;L~aoPGcD>~DMh62gg3vH; zfzQcY5L#AQ;B(Cugh8qj7WiGu3qpL=1%AKf0>5i{L1JkROQSI@c&Ld}2GM*Vu` z&|aXP_2o}|1LFN&nc<1hTbFOcceX; zVDP8~VZ2`6N1JnuIg}r(?+yBUoEpeKUM>`!ATCQAttI&+V-immhe(s>RGum(ji(tm zTTA)rawT$x^I-5ydAAr-ah9{C|7>S-j-C;1HRoJ+`aC(DZ%j*@_{1;J`wN{V6&G1c zb-Ny4Y(HkGxkTQVE(o#9yw_NIx%{tCW2Z5*6kn-MS}4Ct@2L zn(ooFd!0kCJnj?!erHA91LD)zr}tDnXf5%FR?g44-;_S@u2V7S++MI3y;QzvJ#8<^VaWUF zWqXkPikg|F;#IX#Htf%**W~oN{N8W}=p50bH`V!;e!ndbnpcSb&I14LP~&^X436sC z`}X-j{vV1p=8QkGj)ae`WBIuE#Haf7nch?WxjiVDaG$9CLLL-;Y5bLXDV$UX;cIo! z!yIGZIE!!PKIM$QQ#-Zai}iy!)K2TekH!p8`IG#AmLFp?;{M`Xel`C$ahPP;th|4> zAI*Qr`%h!)<~;w)9FqT5CyoCYhiK@eXr-vHl|)17|3$+r$@8LNIkA65eGgeQ46hRP zyOE9Lk|_}nnUYF+Ty6soDp*i`4QhzZYBD>RWvNwS}xm& zQR>;YYNU8O&*|A-y=7|LK^{BGwcInBcGllr%%!BlzPpJ}WDl_@uCy-+d+INPME3F; zO?!(|rDxRcW6pm1MSit?=-OXh6dtG#HPJ9e(ZOOeMA;!~q@y+(qKBGKI84374tK6~ za-)?wDv$6QHAmXxDErk%L({(~{ob#vrdHtkxP;A;?a0V~x4^1yQt0DcQ`(@8x5sTti<;5_K!{WYXeWD?ejn(;hw`I$Ony{-WX{KW z{)v5=Woq2~PtE_#n9|RUC)DZKWrVubGyIH8Mo3J|2;IzEBO@%Pd(8}=lbI1ls7>;Gt&C7cFM|}Uoe_%G$q4z$ z8DW^Vl#DP+XR7_@n?q?N!}la-go-q|q}yYGxD3%6%?JZb(UKw7LhFfSs*9$WJ+tJ( zB#|6zn4>;dT-q0zlcz@F`5AsMOh$;VE8qWmzMeSDQCT2IV(W`bWCO8?Z>Ww!H8Mxt zMr!#O-c2)n4vn?N86jzNJ!P1hEzIB2n68oxzqc|Yly4(m zX+~(+Ry-=V({tLkS2I;*@+Q86KJAzh8h6U@J<0N+mExWCiP>G$v#aM7@}y}uIgqfs zHH1C%oWx4KWt!Mt`cM7d*3(|4AN%MBbJXo?{eE&~l+Nl5{}wTCe|O;k=W?K$Yt&55 zK^dWsmV?cq=@9!fTWjs1o*!nv!#!si6Ls=9!t*2b;3&`P_26i+kCD%@*3r};PbQA@ z{CNAHpf=hYjZd`hB(Z5ZS0U7=TyC*;57H8*}Y;3t*7hP8P4@g&s)SNa+ciB z)}M2{-l}evoU88h#3cEAF{x?OE9x(BHWzwtTx5Q`bGg|0(r}6UN6DobVTKhQa=%RO zmy6wL9X(WBsa9r~yDG!KF}x=in@{C6>SC6PYt18iojQqJuXd(xkk5_g(A}-Zo1D+h za=yjc-l`we-{y6EFoy5%vW^ujxx;(=PWh93mwQN8kNoeJ|2@Vu-)r2fuKVnHzucIl z`2o-S+~)_~k%zqBn4@Kx`$^v;a(Ps)kI9kF(!&)r)wDbOqa3OF zNsiS1EH4sf%=ty`zgkP}Z_btItR7JLyL|o-pDD)w)Z;m0I{$JP==B}%)xG=P3iW6HHW+=)MhcPCy z+JGjl=|(| zOLCdqsM$fzJKA$6bC@Dht_G5JUg*C?nNQNL&VhuAg+A9(KD()(w%x6vp>km;-qRcs z_VS!TX7+Z5Ri5u7kA2PA&$-c1?K#c+dwziU2b#k$6aRmFkT?gMLpa29%4>}emD^!* zWt8E=&8d^m5$a*Zk#m4uDe3w`R35lCjSeJ zX}Qqzi<}dk?aqw&#rC505^FE@-l3<%-Dc=Ad0nnYS9nfCr+k>c(wwW*bG14btBs0l z^(sBhhBxk*27_MF69|A!kO(!|Gb* zZc+D$dr#M+@_Wpj<(`xOxaTB3Ay*RmodHXpawnelo}uI!xso^_Z#tjVBjV4wYjjfd zyxveSD4!SA|B^as8WM|PYF>5+U-7*2>Jzil< z$vbj;S3Weqrw??E>cjhvpUQ=S&&2#(9AXo4 zp#BTvFV#WSSI&T>N&B&s$*+ySv7Xqs_F;_HDX%g8ojt$z{0IBfI_)`?Kk6|xKiTtV z`Ob*@i$4>7b(X)`oBCPr4Jv*YlZHR^h-H7ueNMiV{3Q(>XLuMGDa-~e4)spG= zM`ng@s#eYnJ6xL09^wnUMs+kZbTP{EjLa~(Q2v>jVTQJtHCdiho^2nha^%S*1-W9; zv?$ZRCo=teLZ11V{ypLOy5>-|p1ca=yMAU^$}H_0WQOq#y}N1PO)BYZvGbfOiM|ouVcuas;x8qJ&_qgslL#*t>;9x^L%@~q`oXO z#C9-eM>P@KDKqp@Q0{!_-dUVo)IssCnW418n7-Z2*9h&&~Rj?zbDjKua=|b&om>)$p2WqqO3taOwoCqeU8@)I!|yG^felvXup%} zPvm5=nleNFDSAZFsq#2Yjnp)Y!}#g;J;QmODR=s5YSELk-6itRkvEHpx9a1$a-!)x z&(C*`ZT4dM1!7((CZ!kYFG=lcBYLrWa*6nt%9Fkhb1sw5<<`=2g_y)U&8P56IZ=0& zxD;J&9#xC=kG^Z1$F=gi&YUh|imsRI4aQ8~sCV7=x=GBN-AfW~agPW~)J)f{-W#`N zhSuB7St^G+)K1@>^1MsmdhE&Y-QwNj4%}-@W3L$Z=`&sT>pzhP#9@HsKCcmb&}&pZ zq&Au!R`W7@J?bnOr)jw{4Uemr;V13YFZZYP?`h}$jQ8Sz*XgC?S#y}B@_A!w2JQKR zp1o*)!b|ofHe~#=eQ0~doL4<3aadj~eqAnaWQGn3N7O~~n`)=`Eq#4kd}e8W$C&bW z#eC10wo(0|^L=YSaPBPq(0nS!yich4Sbd+kx8v$!*{8;zSxfWha+q*OzVMvolz-{o zQ}C5@rhQUxzc!EdZ}jh5eW7Ved|JQrX9vyS>+uiHZdwjM%I7C{;b&()MEVQj23w4RHu$-bbVxgVLn%0n<6!Z0oSm;_S7CP3Bh3GoQ zgydLANQwEZu9)w~^?bhgk(jSz$3kJ6IgHYhE+@Jd*f$yr0~vByC~w*_V3oBSsDBq1@zP7E-jXfu+C>Ew^*u-->HnpC_&Gd=F&GngrEn{Jp?h<=%Wi9co z&8KXen6Fugxoym6;)}VR@%GMvin5sB#UjRzdb*Pu=qgw9&T?ad?p=&`wP%GrDcH?k z)b1V&^Y)MfD`>8i8#Q~zd>uod_7ZDvIaI~M4CVW{1C;Ko$NSl%S}YdRzQ6GS_Bhaf zl-8($rh|+Rmfs1Imv^1K86kdzJHt3dN6MGdqwGO(y*-Zh{1|JF zb?y{37$0XnMaRp7F?vogZnXA9dz@r%I!|^6O=><>U+6x~*)Y}T7RDNr{VmV&oI`rHuv}f^;~HFMb40lc5$h`*c^r~ zk;kR(QHS%nOkXZ{CXCU4h54Q45WUj*P;!+TD8E`x)Gs!V_%-Iydae2>xlS!4cDb+D z%i{*?$-hxely}STCeLs7oatM{S)#UEJ!hPO+nmGg@?NUWJ3MEcnmhHC$X&)g?g>?Q zi+PVRo%gyMz4pD&n4DoW|Acu@%C+D6r<@6sgOY{JhwM?gXQBzF;2RFFL1} zycg(V*^o6a%ZIvG<{HLCLU9?e57X|i%r2NYNeOtacfBYRPQMGOzm`kF7F9i55Z?FGjA9_MoSV7%NS)qklD*i7kbgrBg+U8}2 zJ_`Po6&jdiY?Z9g^Y5%sn~)WTXk9hS@2$@Y%T~+s^MckUnnU3l)~;#of3iYXQkI|j z5M%8up9g6!i<8AjF_*=u*3Hif^^vSFLPc6un3rxoD_F81%jXb_6V38FAhY~?BFpCx z8)w=xCQm|ERwyMgJ1dN`JSQvE#IwR6!?{_0UN9?6u{6(|{H)NzAO|pCraaNe4ax?R3D>i>~ zxe(jJ{4M2PA}>0&$_fcv8`DSCHqL>*Qgv+W`F85tUQf%M0nIxY?`U80cM_*O%YTcK zCkeaQi=kbeQ$?1qPsoSZ9(qA%rSYC}*-KtD?yX<6R9Ux=c>C%j4fIm7pEcA}du@O7 z7@^_-`%!kFoEWOn3yKex{~_upUhC|bq3ckw4wK*E>Y<4-3hV64&=JN*>L1IFvPZo+ zN6VeoW5haEED9UMqWL&`A8*VkGbhNg(V3oPZ{jDLPk&RE&&kgUkyF(~#cA$jv-nh; zuC_D8I5W%d6gDRDEWJKkofMrT=T`ka*O=t<%wd+~HZf@>=>q#+C?6^=(!chs5WCoW z>Jn#gsX99J`ZD=l?hNR>LSA%t%H>LVv4Z5QtYwzktL3m*p0r=1542vZzt`y-Mc2Dq zH|Xb$&WR=6-bXii{bqAXT%s?`+^W9Y%)Q;1fu;7m)Ba4-ahK;5^|)^o+-)B!?vcyA za-pf$_&&KXNy+_ken8F)^{M+oV@e)!UnzQ6oh)7Eem$a}kLuxL&YdYrm&@sK_vs09 z7sN|pnYCY_lxcgqZGU(_K^Ike_8Ke@tpcs z$9~Ym-PxXZQ&*b;HKF~7ZoW77ZrC%Czw$M{H0F1{#L_3=F=Fm!yxlk%J%m}wttIchjAL`WrxatW&14Q>@Y$1D%pNN zS9T~$$PUS?X8YYK*`a*3?9fE%>e+rCBir8-*?t})+usw}p^K6=v%^x#|6`n#9a`7Q z4l7u;wmqmwHlNm%>@Yxbs%oSvZ{Ppck z;|At$nC<5Uv;DWI>@c=bc3AvBaW>8l(^MC!jgC#MWnfclH&X*io14Sz7Upl69qLQ6 zea#}<&zh^B#an0lY%P5(H703W&zT`LY&-`Or^aWp*goQ%_kz$6m&J%d^V!eT+%k*In7qn0U3b zWQN}T#X3MPOi+8EGpWh;S;EeQX$lWEK140G*`el8`5mTjhs%TJI{iOF{3Gp4!%=de zvR_)Lq)LZ&alIO|d)5}nk8cz}LH0MKOvwl&3 zy0sLaVPE>slzWR@&bB`t=Vbf-S^Kl(T(6&J&-3j`f1BK?yuck}mXeFy7s}hcuSmGW zUJO!oX?AGqkQ*(RIVXxQ*F$=)kbkG1U8zQTS$35@uFekai{-({HOAM<|2lEHvco7< z*IP^b4cVdeM(4s{w|jS!`SjiF>~8VCU1C0+x60=>_x*OYGr}B|OXWn(9o7@M)0(@C zNw{16EW1Z9?)9FeiD`Ozo!Nc*OY8ynvCn=aJ}4*ZAF|)W-c!^sbHACR&xEsc*==BI#wlrR){&4U%6KbJ)4OCeG{rJa|K%Z>r}lHPG_5vt1!Cs@`$tB){jJ zM(y#wo>2XPxF6~X{bTa`NZ&q@H{EoO>l^K#iualPKG#pGCiH;#7uM4Hr98g!-e8!- zN%6n7_8a?uE6$YHzt=mWKZsAqw7C@hXbz=6$%oOOt)*c`{l7SiU**o|Z|2OZ>3992 z`cHkJWX?Tf@-O@R<2}M)$O+T5u9Oqzn749{pCQi)@p(C6jG|R?LOat$|D6*W8DxyI zgdD$j%l~KIsyU&M_-Z*}h=$d3d=7n1h^%4GnmM8JKRJH)yk|){A$hHw&_d$cIiZh& zb?ixTvVE9M$?S(5fNXD@x3L&wkE_nri)E zn(F=KaDaQjI9&(o4=pwB(?P~8J=mH%89Ot};#G_102ygV$)gQ7^jXc9VQqajw$T+&$_ZF@98DG(RTpa&sTI z#}n=oUF1Khj(+n=eoBt?ko2^k(esS)fH7sys+W%Eyg#0IhX>_F^$X^_Xb;Azc}d(M zJz z`+=TN_@O#!9+T%s@}%x#J!FLLPrR?k04lemDFCkNG+G5sIkmWVzSdtwNGc@MJLw?*oB<8A(W|mX4NPJrIyp}Hp zo$JPZ{X8C4kpJI!sG^7B_3X_=ftuEr>jw5BX~TG!S7;9LjqFRq|Kg!(V{41lz~CnK z*wh}Ic}`WaUXr|p9&af}N=oEQ<5u?F+L+00#NO7PG;OC3Ol&V+nb&uShprvte#e&D zc5+VTo>R56*c9&~7s_^33(Xbg(YTv6wCrxp9&)JkoTRLB@OH4!_;+GF*$LCoWv1r5im^8|4ir>M~xQhK7bbf0AH$?g;t zP1ewQihOB4RjsG#YqPyhmmhs+7@uj(V2d+8OTTG4Tb`}@MLW~o^-uxT9cPP419O}E(K;KPjyIBplc+T(=^KUi(He(uZH(qK! zvxGa%XM~Eo+zlFf)OEM#_lSS5UQ^#|4i)#wjfwm9{Q>#+c~0$v?$SeYCh1}CfBKin z`4P__RXgpEIj7}nA?a~(h(4jGOfmDM{QAvf-c#-s;Tda49MDe+p0x)_&pBrbpO@31 zyeWIZdxa^YFL^&uGUQ&<^|Dy6xUUqwDi$rndO*`_;=Zm9+TYNp5%b>^hmp6P{|a}H z#qZenUA0m6p8G}qXgnmmuLh<+aDT_dp!6g2DgM~~Ao__pG>@y3+Rya#b2Sp55TC*? z)KB{k&jqNL(q` z-#fXX;Qw;{UX$F=zH)9TotGOXnEF?4Sh`AXSn+TFyK1ig29_I^tezX%*2wic>T~@J zd2VP*%Jnnkxqg--*Uxg~hRU^b{r4_&*U1f|v?S+-SW0f_qaf9Iey*>T*dvnbXF2Sb zmK!4JxxQAC8{Vqn&3O(D%m|+tCCof7j_8JvMVl%NxZW!EDeZ`(_ zu71X;*&;WDEpx+iW~nWaJLB|jr4L(+OV>8mlv=;7Ioqjqd;Ki)YzMjQsOFvISZ*Jh zcDDa6#`NuKZiT#d^PKwK<;CD0`ci3+J#$0dUb&%q@7yp){XV&V9>eSVI@kU5zuNiH zxxW|(IAi7=sE154RwM6H;bL-dXITCoqcKedOML;vCCQ&;DVj?nWXJ*VL)IZ#rs zP8yHak7KN-pNeC}Z4ir!- znr7!r?+)i;_>QrF`6dBl4+S=_UU&cjI$+W5WCP3%#Y6{4edzim%i*Y5v#h zA$(&GW=Z;1kEx#0kME2brs#X~esE^=lQgYYjI-iL^M2CvpPkE$x|t#Ni+Y)+`d2kj z`I~qo&RYMwn*VU;8Kvq^XUpK6y#MmPpzm+%Neqj8_WPnxy3(SM_~s^+h@$mdio^6!pCp*C@mpZW8g_?nBt5M}>a z6ej6NGG1$uzb6*?8S+J;iV2dF7lnHI8B7r?by28haQ-6Sqia4L>5D>ifiWdf`H`3* zKcnMRFt|Pfhveue&Ie|5r`a zuO~m63e-x&`sQz7&W4`TUTAL`HZtdb;%{uPB5Rr1WRc%PqOXk6znOj%tAn1+#o1y} zsAGomEff73L2DULST@;qmwXIl8Q?{LclE1xNC@-@o^L7xM+8yP- zlN@Q@S#7(>g+Au(Di`7vYNB;F`%t&Ld3%Vi=GgLS%0>Rhhew9`7p;^7j*; zwrY9rFK-qTKfpZ74zwSAjMs>NkU9=_X4D*FeXaG(9V)-W7Ww&eaS!*r&T}T1I>P)T z7lopu9`;8}*IW6Xkf4F=Z#aOO&4C zIV)&BRo|&O&E09%cgjy!;~DB;#hISB$d?soxi@F)$vN_%qtzT5&o$>fbx?G^JXqRh ze1STcxzPNJvjIS5>2G4I4i=l4kf0I7kEN2RDkuy`2F7X~_^j10DCcoS5wba@> z^oo)@)lSh}YV0ween#)s>wCN(?^O>4z3REo`BQMeGhhWn4>+GbXZWBoWe*uYY)tDi zcaP~uj30GokNGp;ad|#rUzSq-q<#D4{FHT1+y5DNbHJW-KI`7l^qf7P_k2*lnfHRe z(fy)+ykyZa_KMZN|i_N!u(I4obPUX$zV?(rMWinbBGVdhQaxAfy}`K>UAv3KP1 zuDn_Dp7=D5ibMVT<}pX*2Xgq(JW9s&klv5ntB;MT`NSSnjhjdOQ~R*^Gk+$1E;ciC zO<41Ve3>BWOZ9za9_^FXf9*Wz`$iAGb(iRy^87nvn!Xo{!XMN^n3glKADtofKbc4S z&-yvz+=%~T4GF)hjZv2WW<2Zt`nxqG{-M8={wWtK=H$;fU4J>VzpbJ1AAin-ywI~! zp3g$e3(fzR7phmz^L@a1z7IIh-!XZicookXr|sW)Avqz>*H6qRf3>_&Pd~-0=Y@HR zd0~X6HS&B;NnV&`@IQH>ASo}jGRM$b)~{_n`Rn9`<+LT|`F)D^pe9wEh&-61E-f!a z)AK?X%?mt_=7nCCWaNc}h2pR*Gtb{Kd7(TeW|o{7p*CBr9DB2Zj<{I4_G6HOMP8#K zPduXe_91y)F_R z%tULetlcNi?;Nq$zQ+3*6RXbiZ=1ZZbpO0ibUuP zp=vzL8Pj~Yoa^LCI6_Pkk5ng-qtwqFmGyc=*U@r1#+cZ#&WNf8YmT!woyQxWpl1wG z-DrHGF^f-9-^p^PlL?BOl%A=g=*eo7_!?Zt-l1 zHMe@5=xzFbyD^1J<-!zIcc_E-o!$>r-(}pRZ+Gh{wfA@rk#Mg&LvwFl7^mw#eYjsO zOwj&-UiDc+(u2;CdSVZGjWMDRI|rth$?*~UJStBLA9L?0SuQqhk2|X;)c2(Mbo5*M zl=)8^Q~iuNEE&+3=l&lyv^D^EId9JC5JHC#LfCyx-!s*O5JCtcgb+dqA%qY@ z2qAyFSpt8Y|&XZ`o?KZ!rM%f!$5bDXjtodF3yiN`F_^I}o+iyX=Q zRS$kMXF(4Lzl%lbA9A7MPyJwaQJ?;@_HS$dF+W7Sk7C68nM6X}zarkxBoYQFiHd|p z+E$ME%-%>CrshA9Fi&T6#QT{qWvijq69kAXOVg{LEJ*R4_*W zhUPI(?nd$_ZDU^}DbZdGQo2bbj8L(u7@HYWn-mGLTSP+qmJ#o*=vgG<=Y{1)A5p0h z?`NV9w58dD;dJ{iv6kG7h|h|Tgq}?6sm_Y{{)w8i?ZF5YIp*a?{C!7ldGexlsXdoj zLsGsq#1yK9_~rH_sYqQkZ{>U#-CF;)u}87Iwsls-Zl^vHwwD);CHCD>A9srQo{E}F zeSK&7(YcG~yGBAsnSN5Vo7lTYLfIbHQCDssYW9qHA4ReERx{BR&SD?&_H{=4$)i$# z_7{W31FSnR67s9erSc%-gXMRKI?1ngmq~zYlhwgMgE~%8H<44F7vrZH zHyX1*>*?;s8J?dR34RgD&j#Cvva`fu=xpP2#A2SlX6w(jKe^{QQ)2iHzk zt&hs(G3PpH&g1f6n${=GdD4BMY{*$K&&*TeKJAR3F{WtP9i{YHIX)*BhM%|g1+T3a z%BbN@+hwEgU^&8ztr z=giQr?%INQ^wLM%@7Dg|%$WRB{6%qy{N=3ZrTTC6{9_({L_%^HBypu=?}d^aYX6lS zV*W2VOfVId96DD{4sriZ_WhG&@3)xjXTy?xHdV6s>P-$^|4sH@D9K@riB-*y5oa}V zn51s?x7U*7(91|hvd=_RdzP5l;?t62oNH~Ke3z<&dHR;gEk8L# z7l==!(0F;W@4YAccQJ7oB6h3fP`tI=wow*b!-?WM;w@2#&D_Mv$nXS<(TsjsvT z^ZO_JY$`P!sIOIOrSTx~m^s+|L-c_9YBe3ICdOzzOihP7pBi~ldxV}Hso$(PN}O6_ zYLE8(7;%mjzfK&AjJHI(n&*w? zpKd-SXBeO9ESvO^{Ikp_;cPuU$9-x}4jm+&YkZzKRG+U0E&52~h0fw4y=e99Vq?lL z^|dzVcA360bh)ozVUKoWs;^8A@mI<7YI8f>FFLOg>ssf3oqNG(ryQ;~X7mQR-6)4H zeJ0^1XT`wHUIVvy-mRCndUji~-!;@f>U+$+L!T(U(`%2kyWF8(`!h-9-Ev@-_Iu<` z{=Mq#b1wI(pQih*dBAy5+b<6mX?swv57~#fhwaZaT?6)iMBGR1@tArC<@dPSNO(e> zOg<^jkaK+6p3nIDu&-0{tlXZH=ks!-e?*^N5QFL$eSI`JjMM$HbAH9TSJlfDxhwSY zHFu5r*S(hBkO$*q=DaD_x8%g=+s=R7b4K5>&%0i~@2P)6pWb&zKd_G65A}lLNoP*d zM{@aCzO;Vgtf$2IR3ARmV-i32oXjuWdj`Ig?^n(bZ+sDI=_ToF^^@?8e29GOYxGh* ztM>2Y$2g7Od;Wv-nUm9x>iS8IKiiMKdE;N~_p5WK?Kgd(Z^3*jes^wvcx_Sfr`Uh_ zbCsBXi}W#fORc+cDv{}z?vGon&L$$wKq*(xbM zBPu2Ik`&`Pb*p*4dW!FNq=e=*jAK*$EN@CET}zC$Q@nSTcyTGA@qc17vyOG^rg)#K zlu*wswdbn~Fj0 zX1+#Ql6_f0?&jiAv4uRDp>a!jL{h>yvs5Ifgbrd;e2s)uxf9Y-!XQ=Y;**deKSHK8 zlxC%be%iB*bBw9TP4RQU=I5ztX^Nk-vIoWa_NThQoI*J-PYDy$7U?AuTbaLgO30*o z8~rX;Gb7uIznwa^7n4z%OXNq~4r*k0#}t20&@<{wQ~Yj-ys6s7-ei{P7o)p5&)wC{ zEX8{`|8j8|+*1vEiMh9!#8h}r)IRp3df$|gwx7H!QM0yQxEfpi(ex?6-UVJNauQ#dTZUUqs2ZZ#e0`H`(snQcZryFDc-xp zUdK6arWrY2UrrFSUhOC9BhxI>c9MDYoow8o=2P^7qEp?E)6{snvphp?G@dCR7Mt|v zEYHtYBjFtJiD^y=4NMY!t~hitN%VR4V3zsw#b~kL1)g6h25lGVU8~*@b%{J^VS=ek zooSmoh`LO#Xt-SMSE!wErJAU^%J^z)JM@*BYpkW^TKh6}ogQ?igzoE&8Nb1Kba{4@ z*hJsr8AaW`PSvgYc$+h({&v0S@tn>(#JX)VyKe zv6PVirgJCZEzb#WtB)~?-q9z<-?jEVb0(Ytjqj_4st?q{;D=sElkNq@AKCX~HBkGB zm{WTEshD(rCb!SsD{`mR!z8(1x)U^grA`{ZR?9d3Jo?rhVrW(`Y5(4N{9qmJbK?Cd z$DgcYf$E?2WZs-##H03Cv44{zQ48YG@Vn=KnDeLFX=4TTi(>tyE;|2~KWYESgV>N7 zMp;-XHB|pAH4G5_f2kptxTw_7L;cFB-funCdm*NVs{f>VKa*77$4Ct`%&n5@_drs8 zrcrvPQ&g=XPOP;gu9@mRuB;(*EpcgEJ2fQ4rTRWbY6$;J4Hfi~ zzm6Ext(zK#DUVO}Sske%W<9x3yMC(oI7tl+8>D(K#MIEi3^g0deSwR)yS1E{ zCUzTj&{1qZ%D1)Oc4BQW59&(9+95SW?Pv~*G?nV}&T8I8{k!T56BL&@{-VIOPv)gzMjGp_WUuKm?}fSeC>KdQ`UjIM(`KUjYc zk$bfq4i)1tXLh*S$*-|Ly+_F9Nb!zR2g5Yh%KaGk^H{O!+@0gpcD%3CNBIe26H_lo zYELviNxx4vW{9o^JwL^mu2b#B&}n)@d8768oi67y+`}{NOIwrYl%AF9`xDmCd$zC9 zeU2KM^^Shx&($x=&hs_u&NptchRh36Lnq-v{a}cOi`3BS+^D|T_!4JD*QI*W<~cL8 zU6vYFP=C4eqV@`B*DltTUXx7Ib(Neu+&9Xvk=M26(0H9ZI>lk&dUx*zXLY0esOypw zH8)v%voTTK_GOWZ+x%HT((Q5}vq#-D-eG*FUJ>q64-3TIof_Iny4PML^f}Y}^yPka zk^g}6W1hZ#F(0(oLwfYEng-m9N7P5!qvlinm>dT6it5M3r1uGZd(xPB5{LYM=9qrU z89l8h&!}ZsKF{jIbM|7EwCCN45&6+Z$qT+l&5L5u`I0rG*1W8K+FtQGXXaJ?TH%hq z=5_bF8c2A zPueGHrfW*?K6Sr7(-#t^-9u)n_`>rq^@UL?zp^iFGva?O&u`>F$G7@E>s-EbM$CS1 z?GNJ9FsE;f{b;YByxxA+&v|=M`-}0f?lm0?;{7fjC4abAgg?D5NL)0BroZ&|Z!szU z$2rju(n9S@X(9JtX`!D{>i#b+#73q0jKH+8K*PV&LeziK!Wd=IX+9$`EhMgz=661< zT{X?;)uwqL-Lz1$dRiD}bd9u-5Nqz5zP?sk=vzC@?{}ny%>Vg1k#&51UF-0H8DWsb z_0mE$-Hfeoyg{0OJF-6w8`^Utc@evDT4-bior!6oXcKWaO$&=OZk86NlkB^>`CFug zUXr#Hlgfy-$#SD4B`wqwNi|NhSGxI2(tOsry)x25ai*_lsgIs)y~&Yhu3A{2D^EX` zruqAX{qxNyw;(OFGD&k`n(u9=g_`BoGfi2MI=4#mJ|+50{5EPXwjYx;Z>u*%wo}jc zYGblQ-aDvaM|m?(=}u|hM_0b3`b5{xXu6mXW!$D>7?j*JtX%8 zeX19q@e{2*SxmYb)Od<>WSDSjT4<;AH2E~9h3M0*CGHGssXEhHP~4;!^q*yXwp{5t zN1Suzd7k^jJmcrfp~aoK!1D|Bir$NyPpcXkyI7wuk zeT|qa)lB?V=FxDqJJVs#HDZx=t>-jcXFtX|)565{&ge$x)umT7-z49geVyrB%- zInSTh4`N2-{DS@He9`zN&q*9L=VkYT+*j02)T{0x)hpyh{p)glL;hoW{iZ)x-jXYk zaeZQpiFb_Ob)K}oCr_p*o$&ver0#uZ@_{?`p}i*M@R9pQ{l{|tMDM5Ei%&iK%wF_= z?u@5>{R?0J(sLH5{z`l*XUzXvjwF2J%$Z>7TWe zReXBrqGG-D&`ZPm_F!Ry^pKxm4bdA~L(xX*p@+nc(|wj~dMHjz_x5J#p==ZRZYp1f zncU3tB4EZeh-ra*d?>`-J>b>`iB?ahkfRPnQStOXQTHPg!Ennk{yYF=e^w zp(!stbdbMPUis;vzd%2hTf+p!MS8fEbwq6~*KPEZ;$k&Xwym7#*iLU5-QJ#5m54>t z4xaC*?w!OfHKu!Kd+j1e8h2G^nSSo(T$_w=>Kk=}diS67wwmr}k{)bHpdA+1;a_e$vjh2d(G1Z*-jRPBYM= zCaNy*HR3N!4|Q}BxyaXOY1KETE*9?+eY(_hI@|R4GUs!-dr0FIY9X;*T~uDBA6I)$ z4@uY9kIZYGGjrG3t5bg{zg~Sec+C-R^xC3>86sW2c9XABbhEvwzr`Mu+^XK&J)-|{{eD8e^gn41rB8|dv|MR1{7GZxsQgGiL_T(IjDI4xDZL@)Q~43~nLG2jG40cyf8pG|bRJ)s zPx*|!zqU8CtoX+KZ^fBaFQwl(HwLKtUJXCUdrof|`O&@p$^4)7joNw7nf=9|o4>km zwEiYn>K5$BENQ>%2mOEO*`Lma)7(z ziq~8c>gZp~cx`K_j$7j2otA{$b?m$Dl8_L;B+O8>-jXm#;`-JSzrm7Fm9WJ7s4wxk zOiMy9i%f1L=ElZ!C(3D)C1ISJO_zjr5;t2CTA8Fd$=9gad`ak`Y76^pX-!0}#3e8B z^Rx0zS>o>#o~JDdvFUol6!lBY$uNgr7Kvmo3DH?gLMJuZ#yRq5AlH6*OMGsuyjWPa zB$VZQPF;bV3gyJ~@+D!UNDsDJ5{78lTHf2}bFo@!-_~ACY^NXF%d=#O-_bDM!JHkP z1yMUWJ6cQiX=i(pw2S!k?y82eC1H-r-PBA2lho~Q{T}u%w}ys2)wY+MDBIf^Rmh3z zeVh%I`-;1tb7hK_N_o+~zxogG{6ObTVwLBl9b~_QjcGc>9^_YxMaiN1MC35z!`(63 zYTSt5e!S<5Q+|RT5qqLqsXR$6;!c(e zr43?{c8a@qsy#_NO}>pwLO5Mb)SuyOXg|~ZCNa;_9~LM(TU;{Fkq48__Bhx1P;;K~ z`TE%+rwio7#D&He$(2PKTlJ8Zi{*5Qdw;3jkA9 zUPokJt9LYBr+1zDd%f2t%{SQdMm2RgLy~S1lgyjVr|}khc8gEX#p$z#S(@&X=l$}0z`6G8--GgfNN$up>|7ZeaPJmB_i z>0Nuj=Ppg?18MKugVqn!^P$%i6O&$39~qPXv7S=$iTlIcl$f8&<1^2x{9J9cP3zYe z;(zI0k?@r}N@PaeBz@yNn4<4ny_|Ih)PLuGQ2V|7=>Ngp`q3O3e-iU&cYa=Nl>Fk% z7@_A^bAI!DK`(ySqd&y^)19YmQ7wOYPTAk;{l{xEWcZ!Gj8L&sMi`^vUl}3(|1v^V zREFRAGhR6(bWr_oAyyWtrjX~T@rM&(B4F-ySmJBYud zp6z5W%1S+_WM|KJktajDidkmuZgQh$kBqQ_(sK2Zu$LSt+FPEKR;YI$b7Y zM%@1DqUr!=K-7U^(pu$gsXHhm#2&0C%u{+uhJSZ*ZilLw?!)ANxH&b>jOZiukjW#h zJxU(5)ynB;`%!d^yFt~lY9OjkFK9T<^W&Y_3HriRz43`^rud|cP=B(08|1+7De^g0 z4ySoeq*0y3oURvV*!N6*YqBrRXW8d$`H*mqeQ9Nm=w>-FLHxPupzJ(z={?`xEzaSB z4DW@gHy6t9BI{eNr|DvOT%!I<#cA`pV3xtlAAukX&0aND?Pu;a|W;0#|~$5 zje5wvR&Cd*r_+6>{Cc_EAeS56BRaZ_Z;}_yH@ojdb<2y^TjhA0yF$b5>gX|_*gN#? zPIrZ*yYz*UUUTmD+PKGa7U{lMt$kt=cb`0|zh5m3J|O3QeW07^2j%gQJm`H`+yOnN z`4O>bd(^ox{+N3@sNau^#VqYl7(eN3sTdOXDZL>28D~J;u;+}?@N9D2HRokLs;*IXhzimMfY6I7grEG|JdYnZ7@f>EEI^*RGQ$vMt7ZCohghp;`h4+BpZ%BVcPcVN zDYHbcl^KR9T07JGR9PRF>31qJL&7?lKIbpfzeQz+DaPaNv7Rw4>t}|x4eXbY>HXHt z+0cFr(Yle`H&zE-iJ9IT&JAFHvzmxf; znW2giYIoM3UF^H7=Vkgs(QcWciD^c5m+KyS!Xn+}`nad_V1$IdodHD^dQIOx#{1fj z#QpSw!Ag7VukQz#!|;LfsLJ%->dxsPXLGRn4-ub8wSF;ksQM4ni^J_xW9|{29jTV1 z)Kx1_X6ZRPGsGN|8N#u~B-ZKqarUJ1cs)76{CYXkMeT|Dc9J?ymV1N!=|07Io~q}k zWrnCmd(wKkb!W<(2?m?2JIk39f3_Y_eU5uUbhDZ$KUe=5qxw9t&KJK$KQ2%=ofn#a zk@>C0bYHB;mpI=`^?=?sIbLS3%k}pPxwkt97U;iHeOGyYwdWo7VS$EgGX0*Nd%_G+ zonq2@z5bDKgEOJ#M*DV|L-$ScA@^qU7-jkv_pjSMpzc;Zzs=sa>urxQQFnMw>z&Tx zE^B+$b+?%JsFCt}#iXy#_&#%}zu$R2pdLE=^^y4p-Mxpzr0HSx3>Z`Vh?tM6?J;wR z8T6d^$DIxJ%reK=6MFWfoQ9mwQ_lWr=kbg^=pL2_RnMyVId}Sbb&Z(&g8Uh0@(7>X8L7yy&^WzuZlxtg&vdmnlqvJb$h)b{+Rrze^Wm6yk$KNZ;M6MJ7N*_uKj3u z&-qM<^S(3wz_Snah{&X~`N*AT?qm6XBF`yjLG-8cWb`xhKbH@a(_VvL$oWhCWuDj> zF`1(3Yj=c67QQk5)?J@sg|JG-wDE&vTC=OYnbfqjm1C{0b6Is4zofR7CVVeGxjsKnH z=V!D0E_YT)_-~e}<}pL}8d;$v)|j?6&0j0a zXK>h$g*fs5m*xFJJg0SCacGXu3Y~=Yviw_=`5TDC6!i(7ZAHLsC{~-&~zr*n{FNt))6*KgN>fkz#(TFR&;W?$5=8%@< zIbGStIa#5SacXk2e5O;D&veQPQOm?(B;VQsV-_hY)R*OIpsgq?WNwuehAH1#k7?P) zxLC|>ox^r&rgwYe5@Y5W-ocz5v%(7cb}}v%b7%31?4o|gca{Hc&XXA$ch@^|_s9yf z6ql=k{yoLnORx79r$P=)Q@xMp`--`rbE*_)f6orc@;z&{9B5sYx(?ElgY|)^L)1=J zwSH1^XjUjY%)Sg#dboX=s!`(+#`GNNZ0I^ltXer7ttZD=du&$7uTw82$H||X)jR1`=;~4pj8$3$1rJU+VADmtHyC?R9sLb6}pTd-bAE z{&e0apZlHp18VGd*B;CY9mGClKJ)ZF>^=^tkp-$Bk;9|<@R(i=+VgQ^+MY0<(kGo0 z#Y4Wv#8dWqT0YM>^I>O0=d)ry=ggmXzed#ef_}UxcbZ;O_o)3}_Vrhs7e%jHN8$?c zXn)Q4b-55dCLZBU=lhmihn0{6Ov>8dE4b9oed=@uWN20wp zF{W)(CIAaw&(Qb$R{^D6z9pGapIR{`)`LFXw0`)fgFewX8SC0v6g3tS)#Yf4zXLCL-aOs zqp{ezFubiZ+Ace+pmTd`OU&6pOh$LK*G~2=weQZ^zGoqyUF^H79+#<$_T8-8-MT%@ zEw_%yp8BzuI`+;EX%*T2JCW^s+v;F!UorN}4o#J6qILi5FiFgT#>7{NeURQ9EGMRE ztCrKDo>OyJcE~*3J~Y;NeuOdIN2>oQxz?IP=Fw`S@fdMvsI%vB_Br0Yp@u5|a%OFcPqFRS|%b<;uFtM*&ryk0YhITBuX zXXs~=<~QUurVnrGC)ICR^R}MQ_>MfNde`2>zh@5l6Z%5J`}*>M-hL<#@+ZalNPYBw zEbmYBXv*HCeX5?%+^x@zS)goMuj%+g556>J`YUl}oCjlHJG*b>P2IQlnw1lo-{~uH z->a1l{6XY*FYNK78mRrra~2u>*_wI%q45_r|LXNe?Sgt3`CTvnQ0JfGEE-e#m%XX@ zTOQ2*BkzzCdZ}J1$InIOc%RxF-|x=xULH9iGb$&{Ft>7!_eVG9KjtvcVswu8N6+yy zP&uJwa>bCnt0`a(6_Z5x5)_!#l{S5tM={mhqmp- zFOlC4^4>AWXK)zrBquUU!BS7Ut0RA{1eH+$^vyhz+5CrnVer~Xj1 zS5BzgTMwzJFo)rN)V8la?C$~o8SA1jW|@w*p#aI9MEn5k`omti`iiQDe62`ZnT}I_l@rK>FS~5411m_UXwk~%JH*O z@;Y0-RG*`d3^l9cTx&@XE}8dO_=*;@>4^ueEo}_a3j2d&Oj^&-gz5x!-fj z9&qmco>TUq=MTx5vWGn%FsAhpxsmy({?qoDTId|~T7TS_`X`*-lX4z%_i1~|{HL8M zjn6o{VPk5Zb-q+Rr#}onFMnD`jo zy`c7W=l_OtqGHVRH;q~GmgjHVkK%E6>mB!kw0G4<*L!N6&=0ELw+HjIe4u|HT2JYu z-c$RLT0i#u6MHbk?3Cx9+T$~Gi2vMkTBnV_a4!g7na>bqGiqY`YxBR6$G6UnVd7?; zFT>yI+xPaS^aph?N6DN&H-6M#qJJ`vqMzM;s^*P<@#hPPzsigD-;5XR|GWKZW|7f9 z#QM`2QncvY{?hBe?a4e<|5y`pLj^;Wt(5CCIC4YF|K)}dmFxGwb3^REbHe~7|H%!* z#6{kULvp0*VL4JeVBRD4e$=^<`QO4sEM*CojH|5 z`u3DusC?S%=^1A=EatQ3Gx(fZpLae~jOago%o6p2Ga&Xwd%R>!!>B!8Ru{9csC9+< zUb7d`uZ#bNy{H_s?oG8aPt{v$ApUKA9=9J&?}$UvyY_xh-jq$)_kFc}psye5)1^=1mZ=4`{vj`V zX!+B4(HXG#mpuOV=gmLv4vir%te|hDJip(U=lA>aeE&Qzv_<8G=9P_U`*)u2pXd2+ zOrGBt&kIe||2Ho*u3{~@tLB9eV@%9ydHx%d7m8QU^S-xv-Y+W8_e%17mSCRmpBt}f zOzB#Aer`7})UKW9bDoUj^1|T%@aL>`;w`5fB35Wkr`Xh_NnX`APTF_N~(3j=c|B}2=k&zdwGUbpZXU3?`wpUJG$Yh+h+`KSPRbHOYZ?fM~J*0J+ z{POjwKs|+d{(GVZLQ$Ugkg_-ZTd8epHE&~1u{qo3g+$`E%L_fkY;Qk`OPt9L&T2qz4U=8O80g)73S}w*UU1t zuQ>bVh4M-{FuuR}2UvTcbFGs5LDn5?pF{MZ+B(V))dPkP6Yp@(YxMgFV=9l#3;9Rs zF(tLm>S+BtMlWeSR!x-DSxY$1`4V%yT&O+4JX-6`qxnRAp!j5S8uXi{Q}paqJv+^q z&PKgF-Pg}lH)&1o2uWv&LEYK*qU{`YH;YHjxq5$|wRE4a2lTbL_ZN76q50HYWPYnN zq>GA+^`7cW#G>O;wY3>ja#>zjWZ-gpU*UPXF_~A|gAwAdvYv*k<=El*HTJvKoa^k( zT&I}V>pyWf$m2$HDDTp1`fd{QX7g_`hnjBBX}MJnw;9uUyLx)me1|;m)X%%z$6ozp zl7+kV{9ex)V}`aqeZEgjM(>xy19I$_4|NZ^0}sjfVY!nuAO~U|RTIUJxjTdIH9e1u z@r3wKnolo_)IR0zGyAl&e#Y8iG3h4rS^3lWoO|=UoJXvEK|bWa=s8uR;#2Xmd-#gn zD1KE;l2*7|uZj7(v#03|HPSU^uQ$bh%WL^uXAlpW2Hd%06=zRDP~r;-=l3FZ6=OFP#gcU#saGbHCMB zI%dtK?K}B=Z%p|Q@|;sIaX-3~^!;S7pXI<1N%Ph)^o#!dDlVD7dA{H|L%*xx5B>R5 zZHw0aC1(=<_ME1F)ESnB$Vy8?6ZQXE8p{7~Y3QLUYN^lpTN-*9`Onf&8@<%~1uhL` z|6LloDOqJ{h+Wl~DN19OhQ`&bWtxfAmxlQ@mWIyQrGA%Bd=@BMYiXFHa_yyIhN8Ho zKId;~7^iKWr9OvzsrL(!NBq*Tg533%`aSTaA#MGo-Y;aS_Yjmzf>^X}==nx+-B^ya zC)%5?P3*VnQopw$e$vt~NX+I-{Vtz9n4)tFd2Q)yBu4Zgd8yAK_nd)Ld8EmY@^p1D zzC?W)OG84YTInY(OMi&us3F%{B6;F0l@qOu(!5Ns^35+$Pod|GGEdC%r9N|3Ui1)C zq({VWB_>H*tAQ!TxAA=2rJ;lT?ZjYcd%2W|y@N4jJ1z~AbnIkY>iN$0+(mzA-&NlT zyXpV#;!(7Red#MV-cyXdBf zUWvMnQwv?k+xG;|>#b#up%d+Uk~mDCY~KcZ&`!)LdO_5wzDD(F=26mUe7d-2$dCRr z&1sS&GjyNjT+dc3BNU&r)X(F(=k%QGwR4`no^MQUi+gZ^yG8DW;!=B&xKy{=kGhNX zpV3Riz0{bRHod*fe#Bp4KKbqPzEXWxiGQ`Z9lp-!HTrd(d(&yn^=iDqn1mZWrd@vQWk-l~K!l4`f+rTzOeo!Q#J{`5wr!&=Ku9 zjsIQd{mhs7J@93rXjS8wWnq}G+OjZ6>FUcuHN|Tz3k!_IE(<+tE(n-zrk!2x&ef!bFG+i6Wk$GkkmWB9@JZEBK`z0<5 zRhx*r>9SC_nR=3z`Pp0fZEkPcwpiwKndHqtM4idzq}VG}p7f`Qk*-dXmZ+JI41Jt>jJo)^a7T*gj0tx~=`U zTNZ{`q_|{RsNcby9rcOvo#a}&%eAst&Q1%0uPG=wap@ zu3t6sr2a_zALT4rARMhe7MM83^JA^6lh<+99d94XPwGFyC6`%4&E?L4`YZI{O81%8tL%NX zy;)?g!~AR9Dx(<(9Fb5dUdnCX}!hycdPGKV=8Ww z>+Q~#o*wbve{AJGXn}f3Msq>vM)A+-EOF@7Ie5yw2$E_xwTkg`$VV zWSYo;9H@W9_)&R1wk$LZ+W&E1r{M`bq3%g>m>hB+pVA)&p4Q)IJZE57jdVUM{&V_9 z(uf==dBJP*MPo`{Qs1clzpU0*^oiP6^?;ETYI)85cwO(`5QC~Q_mw%u-gLj-mOC@! z`tgo4rSDz${ylk3m`@k;@2m9#_xD3%`X_PF29#Q?ZzL5B>e$g~*{&&`XZ$6zr*n3Xi%>3y7{H)KE&FdQ_ zzsQNkU&Z@P-xlooyL|o-kN7{$XPoXuHB{^y6tfAamTRDOtw&JWehvA9aUzdPiI%$WSpNzH2c{_c<;a#zm}4NTIphM2L| zldxuf=vpg3M6I3g?+)g~nM23_@D-+j&5Ps~a= zA7I^q`pP)vRpuTf-oe%}Md=}Orm0#khdSrOcy5h)K+;=F@(fy&COH@#*=Y zm$EbT<4n(+F*KmPG>^nUCz5#E_dtAJ$iPp zbu{()`hCvqel;38>^FgtRd&qe|>~%o#Bl`HLb+kXGev$^=Zz>-bhsYDoiuxz@ zo7y2YKV=PrPa8j@Hw>^aY|gV{J?HuJ>LY$c?zFz3M=yH*l77)NYCpPOmd7ieziLd{ z3it9g@m`nb8}1OZ^o+TeZ_58IeWLzty&e~bzIWW?cjZIXd+zas+TZtQ9OWPA(}(6T zFe#Uh^yFjxVdxX*J*8fTJ~f}3&(ure=W3y6T3z&ip_VVLXOXtA^k~NVue~N1`o`V- z)*ehTJ}cID_Ws_O$sf$0lOK^E?LpN~;`}Vvd24@B`>)RNH~G=Cpx)orPQ@SQut@oz z?k$~*>i8hOf>8dS z0{=}Y@bj|;-W$r8zEwP5wIK9R8dKmij>Ms5b{t`Jc zPgRCBnf4?%OAW+ltAUXmb>+!psr;4|_^eiOXw0{k;R1OS7KF^@a$Skmoy`!$wd}?-96ASe3BG#_Xt;{^4 zcXuWf?V&d;Fj6k=p5pE$E@^uggkJJ1#G-N^>#5n-9{Z_@NTu=q`g}lv?=hHjpuMWB zJxKqF9AaO3Nvih$i9S>u+72rSQ{)~lW{uj8CM|b57PncYLm!Q8&VtU%oXh2EpzjLztlc@%ccpuCmEKZ%wdWn?kb8~i*UF!&>%{3apRya| z#?X!W+GR|~P4cZj&ElRNwAS_lSRoT#3KadaCcz$6oj3Zat#u z9z9~5@_W_O=e(%7Pw(lxU#<^$-f!)L_NMY7c|0svR?sqF&Liq4=`r`1g+ci}uJ4pQ zp}&+rDL=-j9&!%!K4s0*oUzhy2&wHxk}Z8|7o}C8ckQOVeBGe_PGta(G9acg>-R`uD`5c*5(H z{P)$w&c<*^k_x<;B#zJbtm)ukOlk z#zYqEMd$D0{UP?B&XHM)7wyZ$UwZhrS{eCAKA|wgtW@Y{Zwo{GzY4u4VPP02@_&V4 z1&dLIp=Ra6koj+8+M^3Y)qe{^+$x2kiQH8SLqAP1;;d#&)ar#klb=I^TJS^AkKz` zp>d}LM%;#0SW+{z2XC<%MomkFBo5@&CoJc|c9hbr?Aaz_p}rsELttJO})p@n{zPYz@rUg&rE)Js#1@e$TA%Jh-W z;wWR9YxR-tqwT@)G49i`&XvVFH5}(TrN#mHu{=n;#C(b`HJ?6e+Qg;hGGC+pa`j%JkL~W$m0~h*mGhwLYV~y( z(|L{gL|yBgXuZze?bHW4X}sQ<-{9ORztP?4()XL>akJOtEqX{)w;oV-tMP5(Fnham z>hYYBJH)(GZg+Xke6Kz4(Yt%)M%;aJq4a)Vr{V$6N$Qs~B@bFl+(Y(%*q#GoKVnRH z%)KJ^adU}&!kH8Iq#Ws`Y{;D>^C>kEdD@>p3_l~^XVvkXd}x1OpGV|C)C=}}QJ-Ft zFQuc#FWZ-xSLDDbEi2T=;A?vPx*okDHi=_;$tb;V>e*ZJd|Ui+&zYp|9XSy7o*HQ( zOvr=8_uXk4X(#ss_l3a^)i5cSkL*L|$Lje+-BZqpxKGWY^fR$OH>PFU{4ea!G$UV% z`IS0mKntqiL>DO?{cN)5Apw0%cA@KmpGLDtsi9mV_(X{^3YDqO3QuEV!5BGUG8UUjcJNn z9u{a=d3i|t_wq1J{(qK-ZknT)`<}(}5c%(Ne?PHimE~cU+Etf_G0I|=hXG1fTkgH4 zmWP_vmxt&zmWMtfvCG2>64$hb!L`g;d%5p-FZVOG%l$6L@-VuN@w)b)E#7#&<)Ml$ zn%0*W)f>nwVY$!8u-}Hu{hdV}8+%SS&56rH>n6*6-m3gIvlsJ8YS_ZME!Fe?4Bc^D z*&?0J5ER?h#C?>6&%Z+o8iB$O}7+s*U6?RozD zly!9F&I?1dY%lj6^o1U(cT^W?dDiSCXCgaWL(MMMFp@tn#CMe&{p9YZmU(iHSWo+W zaSP^!0j3L`L)0Ec&VePx@}s*%e`9KAx>OAd=7q+E`WY9mOpT1Oq}nK~FDZx1kse}4$c4%y=Xu|AG3%{8%6^QJdbBem zc8qyM8uW|2W93Qm@$L|njrJpcg4pDosCP7-oiY8EP{=-+mXEbD_IHW4rt= zQXeZW7XK1s8au4LRR1nBW{j50of~OaI1l1idQSaS&W5H=>q)*^UW9AxN9MK0UB;wd zZw@0g-k@jQ?k8_(uQ5dQId^Tyek^(3S-l|t7xjX+VKu*G z4wGcP?5tmr$B4Czys8(kIm6eTGby9)4>PpBAxG-o6qi}L-?Bf|E4)U|JJ!5wZ^r2y zljD2pe&6#C{29g!o#W2*L-jJk)JN{wgk1k;Efb%ZJ1I7!pXt{Z@}Y4`ZeO}D4AB0S zzI<)nw7$^tjo4&;YkwNPb8i`=YDNy<8&m&-e*LHyE3GH~lRbX+oVH)&HEZp!;{4_w zko>zG8J<(?AI9|j>8$=TCqzOA)&Ca>D`;6I5;|#0ig|BB*Qnpwco$>p^W{y}t`VQDA@**@^W+#YrhC3vR2PUv zPoW&6#zczjNmsEtW9lHkR2?)di1;^4B#h8i775c-m8)%$ToYncsE5d6Igq!zy{M|x zQ&RVcgrq$q-uKqI?b}+Qaq#2y@9h(z(=oPTNuDP<6EaQG1M@HHc5s zvCf9pI8BVx_2mqEw%GGb{W?qS zjGryPRyCZXC+F%3P3M{0773Z>8`DGV0=biRq1?%9k9hAwXG8Br^1WCr1}>3ThhASQ zNAfQ-hlb0Y!4kRCdWE=Gnsb%;o-;W~K`zh3We&?hpx#V6-R`!YrL zO>&~~X0H+LaTjj!^+L<7#CwSDdpsSlV#?t}Iq@{oJoudnnxtj`o#(&PpgOcpu9v0xrRNnr9r2vX zSLO4X7_U1IRnm_RMNaMIX zN&ZM52p>BuQYL&2QuROQ_KDsxPV7@>FzGx#Qwv$2yQjpyaDPdga&BaP=?tm=%J^&R z$(hzC65q&|5vIQNd`9jJ68T;(KZyII`^M->=lqkHKg;PC`OT__S=xUU|2MV$E+?wy z#Ak|*Kg?s6=|7#(U-Ap{eg9;>_rjeYCQ1BlzW2hN@9&fOp)YB^-z%RVx>xrsd4A|+ z`tQbTcuxC2=KH&2eptzh6yr7L`<=h}p^G7wuRY)Us2dYqM@+KTo$q_<^FuCej4_dB zyxx4D-#6dCPv(0s-1%XK>J8?HL7M+<{)Xl-O?}3EKaVS~jpm1zjqSb3{E(d~4-%VM zOY7$Iy`SNH-&3FOvtQ?jWn0LD=$7+C15@;GCEx7%K9^~J7-wMX`Jr|j&za2;Yg@5s z*iI}u{wt4M&$suS+#T#q|BmM5sconEejh_0>D$FP-+r(#cHB|cY9Ro%^vcibx(Oz=@~V9Tg%dY)Is~c>ZsNm68kyF{oM(g4$#*camYGw zeyC(QnFm=z^kDTeMP04e7(B%IP(3`%*^pMJ4pI)63oS>?_qiPA)LVO$K9hFzeBV=1 z2U*9+o#Y025;<0^r^%Q4ts(P8ArrCU!oMz7H zdV7XGwKxwVXX*o!B+gPJxo4|`nO4uwvG!d3IZq$RZ_}Ui^@l0?FA(cOH4$l-A9)uU zUufOmUhbZYR|7x8=YibYd>OL@+0j! zeY)P5x*Mz^rQ3RPZnTEloAiO+o87SQW5r@=A&0j7j z@*ng3adSu;aKGqf=t*&&a$Zl1$&x{NKBG6!8k6~)`9tnDHP7qC3(kR*7k$0bPv@{Y z$$rUe#9#IrEw7k2V$G}W&1-UdT@IsSzF|z&oAROQEj?Lb?%R68@^_r=yXG)X^_cS_ z?LG6zeBU|H@`2jOAJ=bUAG$X*f27}JO;}Iw|9st2`H5JcnnTB=ni%}d-Tz!%Mj84- z+$no}=^PlR;VbK@{MtRBZCb70i1n?n9eTcV)-!rYM5_Ji?{&W-p=d;DY%dP)6R zEJjHAMXyMoHU8D}->fI^cl*;aXZ(k}Sn{WPL*g%aF%SxTFTWr}{;wb`C-ZLw-fy=c zB&|{qV&o?kgdQ?hEeLIlv1GM^5MR9@Of!;P;P*v5|9gSIp9;b#?f)q7y%%xUEC|_a ziA&?!1)(F=n3{F$w{Agb{bxbQN)w;z^~@*xU*Z#AUwm593;b?~_(cC*5PGTIu)t>o z7K8zsHu8L9W4bpf2sxSJlDcU@=%;nFf{@s}APiHTRp9&k_Sm8z)H6!$mey}2E{SYw z=>3l#Y%SI{^3Ev;Y1n-GK!m`5-xvcChndlB`XH!9FW`vrP#iZpFcji>R zZMN5G1!0ci(~Zw4@VT+_ZgI9OJ5xSq=`UHW#OU1g(oXhRcG&xJ04T&q98Ld}3o2&Gb<$RZ1$iLgU+@nvVF0-E8d(F8|&*{8hU-~>}-~sa= z)EAN;a_&_2>)pfheMFo`o%M2ek^09xXXtT%W;`K>0Wle-^-0g4(vPQ|`JnlvKjS&e zNPE_qk{A;6dC!@n=LJ1@(HtVf`ok=>FRABc`H}yMGo)d}J)rVcu~_k%e!Q->QDf@f zaJJOE>1^JzKb_1`xxzV+_qH|f=pj?@8jtDid;0OdI;j3Y&&Hh%u@B|@k=`&u=Ev?b z=@aIBVh$OfIv46D^@N(w)bY9btoTCSQ_kc|alTS3E6JZWhY1G1G5*$b+P;(Lj69iS z=zBf*LETId`B6?Qo%>JD{bzlmc~%a;dY$p#^!0bI&pE3<#QxJ=BK6LZea=T=m}5A(FvR{|=)HOiL()GALofL$g`tPe zHO--8Epyf`^t~6)Qwu}&I>t1wYd_llSr~>`o@PJN{#6)~*B6td4eZO-l{*&t+2F#^M9xln!U`fg+mHAz z>Y_ehT_kpuJGr~5pUAwzP{k;<5wDRk-)oGKTqrlvqGB*fPKkX;jTMF&dP}WcV84Zh zAunDSD$5G}9b;X&9xM_gVc!b1QoY!^-3vo{rSo8lo;~cjr#)%j%Na0LCC=W3VJTDl zc)qXs)y|Ua{lq74e|3{{fE;M5aaITF@j-)`d+^Ew4A7?Bu?@g zBV;ytjggbhJ4L)x)kjyeeNJ;Gr#n~D&X7}!wP(89#Lm(i`p?$OR_9CqIp&x) zs@vQTvd`B);up9dBweTn^tH?NB4ehAUg8XC>ad>POZDb5aml#6(C?Kv+a+qfLLOI| zf0cS@>NLLE-bAjITbDDT>XL5VwPxCGAE{(T}bDO%B zs*$wYog48x#Jp3?Uh(O<%lK|Jl6H^25nrah`_xYR{qiNZPaLuz5Qo7B#d$~$WIe1_ zVvop;X_A*4Q~8*4X6|wMKcUtEwLED)vrpM`P&`te@pVD;S-C%F?vQxT82KMGtQF3P>bK=e z-8<&d_O94t&g(s~-uE^Af&PpeQ~i^8eO7XMpbS^k+uA@8$7>F>OD}Z>4&F(jTT-`m=q0F{Wi! z%wOG2mj7n_yD{l==KrB@f2#Q}XX~BYbN(+H2AHGnZ_%)vNrqO5hU8VFVHtI+dA7P| z$x-j481*}ZQNKgz^%P?&*NleTwW5Ar*z2j*tP>6W>qh;)NYwY*?Pl>U|W=A#7?rlk{yC_5LGK z|Gi62gsiCVpQw$dE!4SX)PL`ahWxG6Lu=XlJCy;rfwH~U|GI;cU3!6yO|#mht&DeFw8)K z`iK-pLq^nmdWz&$>^U7Ja*nB+j#4pMwjdhD7+EOSxZalOO?fo5FA_fy4ZY0KQz6gA z))LuW4#X?756%&&@iuXZ)kxsRUgD^9gB?fdEJ{_$~`E~XncDOl5ME$Oz{?_XwGo&1?E?SO>hQnosMGmK`fhj7R#Uk@GA8A+p8Tk9i+T@Ua~P)c0{LC&ezmKatc&!XhKt>O zBA3{&Lp_(8bD8;MU2fkcVqW1n=~vp9+N<=4&Q5ugbB*UDt`(DkF5~Nr8Mxj(xXDW$+Pwf7G1iYJAKy8Xnh&C!EuO zT1b6T95S8~hmNQ9VbHleW6raBNa}N*GdZLW&)bXK7sO}$MR#jhPl>$bZoaHWBCn{C zxe@bU_53w`dR>mAUVlRm-jvr{?gNn(dh@ot-Z7Wtcby^GWAb{>96H`tH*FudKjXe0 zX!}tAKJw=clMH>VXA|zp|9lOR^ojAOdP&lxJ(#2aGkbjQHKs|P(r3b#`b_3m>SxK< z_MX;HlD^R|y1%u@clMsKAJOkUr}hW)e{^=VuQcZ;UlZj2tnbYJ;v8o^|JA;~iAm1y z=8*P>wRHU{hrh&RMJV!K?M2?Jy(momttj-YQWQp$ibD6QMc${R$bWY#3f@2|B>%lA zETegiqOgRNe-!zgr=n1mQWP@REDA%ktmXOIMSkYjI8_{))+q`(>lXP;4>A8)210A zEM27TgkCXDMul7#7lowV&9BrCqI>88i9O9BUM0`Hoi8c-n9mH=``VB3YG<^cUhMB4 zu#}Vo%p<+Vd60UbelT!QQOG}7JXVrfYfolqJ;ZB=nn(3v`olC6b@D&FDAXOH7UD;$ zh2`}{q2?&_kJg`KtZk4B)yL`&mB;D%@y?Gv#+hw&ekaK5M13Z4lJ)d9>B-5?iH1|G zC!DGlx|;2Mnmp(_-SacVZE?q_JX0OyouyuupRJ}=`!R8j{TMsfeLGLCZSrRM`Q}_u zK@*1Z@TXAHFT$%nCex}UE?KC5@cpEGC3xzhH$`^AzM zJb%#{FwW?(IWJqwidWp}5j}j>{`9;iXKG%T11+QWeMA0?)9|MJ-;(nRwUG9XJjr|4 zcuf9u()6Cb)AfOK8Taf%z4=IdazBbDFh$3YMIrMicZsT>#i9Kd zXEFiJeD~-+Lu|H^5nCVe3+whXM62p-~8f`w5#~E?y$C9|`^p%-YZcO(g zdnC-MQ14=MsM+1Pve@TAnM3{__9l5xdDFj_bE(q9eTqZIzUm~qS{zdL^ZNe!d4O}S zF(&sw>li-B>$RS<{1E#bDo3ggGoQXX-lG>adQ}moK=L_UdxKN&q($sEz zQL*=GR~PA*6orVY+g1lZasK3i=jNNVhJ{CK z-ZqauqVK4O?su&pbC=(f=lk~iz`B|Kv-(wD|81{i>d?RuYEDS=~6f#AleB^Y@Z4N!A)AJ~yhw=SG!;IhL$h5(a2r zt0YvdUE(v$OG18XiSKQc_})fIn4)go65lH~C#@u;uU8WC{#6pjNKP;DIkY9Ac>}Ni zyCftw6r0`*`)pL=dmG|yToU>=DG5oL=CFdurq*s|O!np_VS=_S<1I@3`=rEY4yuu= zt>jF8wz~c!7SmgszfFnni`#eG67QKP$L&h|%x_8P%$4KzC83{;9ptd1=d2_zuOxI+ zzmt0D+qonx-$mc@#bn8@V(uoldB$W$%%Np|iJ$M)gF%Kb_3cyoWPnYES#@ zr6%&K%-dTGT4~zHcwhaic0N??XFXGN>~GEidQzh&bRJmZec9ztX07?uAEGz(9V*UY z`b~bFJ4W*1Y9w-mJjgrJdDZI=T}QcZq#v!uV?1xLH$WG&IBE6ll4exzR| zCheW_zFNL4V~prE_MrP(uXX7ywb!{ztfcXJd*0wKb^AKH(Q`6x@|-bRZnmE89_w#$ z7a6)$+}rF)`%*bleY^X@@;l|#Yb`79lE>Zd%01#ROZzfks|?&*64LJXoRmKCX?eh% zf6)Ag#37|$59nbznGZWhmOtW5A2p_Gx#y2r^SJe7KH*GRJ|Leb-Pxzy?Wdg?kwNG3 zj6KMHR({kxXK$iI&hB|JS@MGMi((Fo&n$_Tj9*qi?XTEtM2}uIpZeFF$*8>;q4rIE zWb`fTR*3z!c<+e!u03fRbJyO}gZI_U^A^^>ogpVi95FXGI~hZ(AW^|e9WZ*pRm{NLrmz?`^$sQFL%{UujgLd^TJ$9xW9 z%+FcH{GMVgWGBV^oK-BWpl7w1_hpZTM!HE)j)exg=>NNUYgkYCM=UHMFD2&ZfW=zN z9J1Grg%;weu`ou?IHjRbK&0=9WbDPJ!FRw9~TX?>u zytfiNI~Ini{!c7SQMq+2EM=CooLETS)>`Ve^PEY#|7-2`<}3pgZ<58?f~N&>krfqdJa-IZ3oMxR-X=0A329PE1K%u zrNhM}^$0Op$|Q*+oq4^ym?LtOx=1-X7V;Tq_89dxsOwl~dYnEmL-p}$Z1nsDHPU^e z=X9QAev_O|miH-oc&fdd)y?o}Vw~aL(bA&dbf2kDOi*){9*}gln6$Ubf!H}}qUT)m z=sHi_HnpCwrVE_Qg|W~|7sKt&>!O(VQ8D)twR9M>^in;&%-6}~u`oj368G>5`Ch4Z zny=E+PIIWg#@SqJk1nxkWf|c*{b7K<>*Y=L4f@cncB*d_i{YEhxj7bUdz>$=w|Gv+ zt>)aO#-;jpyBe9J=MK;BvblE$67JR~GVjqRW*Ar|?!DIEr%u}Mmv5i*Wat6C zdr&Oq=y=Ha^_%msJ`#IGkBB_#&eFKt^T*78Tpyp12dx9fPpW~8r<@7lY4e$7Y*7E6 z@#oC5&Y308Ih!H9d|tm<_JZ7o?emgezwC7~UvUrVr*%Z0ubTUs{a=^MsJ!0r`kU6h zr6**q(D%2U4O#CvyLX-Am^mc9XAY_FtB>Rl#378EN6LrR&_nV^@?nhnkG(eG+(`aJ ze@XjPe$3K6DL*nkbN4@YABcUSHl`Vwa%a9&(^u9oN$uDA#O$=(zVS8pt@9!EJL_3a z*7xR+{DVBn{!#4=uJrZ#lejGV+4EoQJ!?NIfAzJ_;BV^qUA=Q^_(MXRk^_`l_X&mnmjeD-F4;89P8Y*enUJdl`AnzTmAv>=$ET?U!(vY^ZeTeU(-;9%yudh_@>NUD{(}Q`=g?L1s z)Xy&soy^fuARc*zrJ;#oa-(u6(i0{~DJ~5|q?f3P{FvHVPQ29KR4p)GXs@^&%1T2G z+2y7FeiD08X{aTda9*@mIA1y!+h=z@X0%eT_7G>!Qa>*&&%NYdr8m^>tp`j{vyazU zy05&d{^U112V$q$hq}}4L(LiTp{m82GmWV_OP*w%tw*%B%JUpKpDPww=gFDQ zHoZPyT^G2&MB2r_NS~;@SRXENrh2boh8vA<67y#H(cYtmTkK8ht@=UkZDNtO z)E&89op+dXr#;B(HHX%_^qHQ!#lJ@l)Gc$r?iKSsXMexm^|@;dGx~t}^gk&6L*^6d zH;9kdV0&-l6| z?OCxIrS>^@cgQ)B`n;SOA^$~vBsOf$OZI!&9NJ%z%ZOYUq~lfjzozeGzwW+}^@jbZ ze$&|!c}p(DSIC_uZ@W7r-Vy6v`Hsn*hWGV>$OqyuO8&SrWb{M5`$(=I%Y!*)CdB;2 z-J#`Ey_rO>Vi;1l>#p z2t6BE`|kyQUTi^_rfNfZFh_HS{We z8n+aO+-%Q@ZoR<2fvnrcx*TKX=-+lhh;1il!hg+Ul*sn-CuIjcB5B73{yUp7>}&UzN2i z+1okqs|Kp8?L*G~UOzxQl4``G{lEpG{vf#?EC$h9&&fJOE{DpC#9<4<44H>p%Q(45 zI9nn|>MNP`&gv+=BjsqdkbaEb)70Skv3hl!{xWgA`Hf;RPUi{sJ5k@LK1qM6YqEx# zljTM96z4$dsrDqd*_zYbC6Z5fb_@|c!?;B*XPR@C^-L2z+j_EE7x>*3IiBl&oTo;5 znWLx8{^#4D$_vy*V^&QUdPGe%d>Ll$hc{54kZtF?D$DbKgE>kzl?$vj4?lX_t`}Kzjmi6h~ z1MUsItRV8BJ5S0(=91H|U!*>)HYTWfL>`YW2pP-u;xX$V_xgaIJZTSxo^no4TSsD0 zjn9Zr`?Kaerzb;dC+T^2=>wC_cZpP_--)r=Lp#S6U6Fnd5 z0hu4Ehb14YVM0FtGp6wqJ^WM+m16&74#On>EG8YlIFngp>VDPF-}L5pXEA5Y6wQCg;ZJ-0 zrDtJbXk`WA{}zVizby=NG_SHSEFmRnVW=g2)rG#lvoQ3LwE99nr@S!aCol9qFAM$q zX<taH*8^8O3gZAQNQlOFiZPC?UA-H z#AqXXy@h_Rz-x^COD^j#40-9sRBf;@jMDdS`;)t&oN3Om4>cPt43UjJ-(+D(WST?u zrt;lP%*_}2_tQe3o#;8aTd1AvE#*b#RtrN~_QH_yA2n^Q4puU?jd9Mx(6H@7pMSE@ z=bwoAU;7ftwJ*!IH{QXRwjCGxEZ&77Cr|vH^k8Q(cM*rQeD#pIs~Q-mVK==Zd!GGh zi!2O1^NkrSSQt7A7lsjPqV_0~cd?$8SW8~1XA2gF<+LpnKQ0II%A9Gry_ltMk$e)y z)K)AE!?Z5equrfdrI@7dp)bVtlsA=oiOW=#{_br|d>?x=PVc_P)p8|cKfT#su2dgj zTw}ij#W_e$2a8`T4jqT6_fWl~?l9}>7KSd;kI<7NJ*)TnQO@gVIWl^TSPjNB9BUo@ z$9aDILcbp=rxV=M6U9AA-c9N`*&R7WFHY6ZW<4bJbZclmL#!5go#`HsdX^elNmi>I z&T+S?Jy%Wio+rlndQaB{YQ9j6c4xxOMe4lRewVmc9df@^FG#w~_;R^1Lu`p$sJue1 z)Lf~?tHka!|7vsSyvF=%jmhYe*LC(M<9d5hd4qGLv0E>16o>dtz8K?NEb~)VPKHMn|jlI?~ahLdayFd5HbD0?T>Jz#5=`%g|8~2$*+5_r+ z(78OM55)SNEp-p;A2pBIizScBVY#m{#+iIfK9B3s6KbY?!1zfylmC=FpEif~LG{!6 zjGjL0&xYsBAu;5}^Z^zve+CDV? z$e({7`!j*;3H@Q&|LpOJ{*dyiyvUiH{^u%H=nEkomjX z87E^-{xtugMr!`F|6lgRCn)k!7UMq0Jsw8ajfcK}#zRh8 z+`n1k-mlmks{a)awd==2db&9@ZD7v7jp^P{UK#O_vQa!tGqQ0!WNu;(Et&B!N&BYe zZx#=|te|f5xc9`DYgXLPE*ozV4})9AL-tm2?}@L*Y_X{Sk62sFiHU9Eel|dDRBda& z?eyWlYRQdvobex68H0G@}MW*nq94@e>bt_sX1b= z`SvP^`#T}-y}#lit4PkQBwlO}q9w*LF{vtz`#EL3TBuiX@u(|P3$u)s$9;C9G2IEd z(okXT;&{lY)So@%wWogUrBP zVh6>;6xj#Mr&djesFjRE^_g&(8X2q;=Wt{4j!^HB&Vm85>cyhrsJOo;JU_;{G^p`d zd(n8Dn8(YfQN0YGVBZtvM&u-O=ssBwPH`5e+OyexAn!D_FvIBSay~=&jQOujfWZ-7~ z>hYWjQg5}EhTH5#n?kccen99?hkFt#J$)0`+Ut( zcfa{$_UZWpdd)2T5Bd7-m&e2Au!Q&{?jg}f zd|A$lr}bt~ti=k?|V^NGJG?_qx)uR!AikJmjXXVg7=Lp^V*;Vt)=q_^EImQneRUcT!&J!77~XH4`1eHd3GRUcYQ;v;K6 zRxeo-`pX1)|MNA>$R}#~RGdlmex_fatBc$(Jg1MUDY2L$@}>H}(t9Fbn>X#w(Ep7* zzSXbq>^EZ$iSIop_JjNTqcNQ;)%%nF{49rG5O4Fi7*?%EC&Pty1QD{$(Lb=Bj1hTcyn36J_3;xGdDJUgq-@ z%Y2?3&EW}dFLe@HE{@a#$%rdlY zSx8PR^Y4kW5Y{UTBV?^_-*ju~-k{9;5R18CnfLiB3lkY~+sK%u8;hM;7W$dow9L;W zmxW=fH}^cNEOfAvWm}j}%a-!o%0Ailr*>;=>DNm{0$9p8r>zTye@CRnB~P@ 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