Initial dockapps git repo
I tried to get the latest versions from dockapps.org, but I haven't tested any of them. More dockapps will be added as time permits.
This commit is contained in:
commit
21625f40b5
340
Temperature.app-1.5/COPYING
Normal file
340
Temperature.app-1.5/COPYING
Normal file
|
@ -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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
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., 675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
38
Temperature.app-1.5/ChangeLog
Normal file
38
Temperature.app-1.5/ChangeLog
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
Vesrion 1.5 - Feb 7, 2010
|
||||||
|
- Fix ancient c++ codeing, using std:: namespace (carlos@gamma.ttk.pte.hu)
|
||||||
|
|
||||||
|
Version 1.4 - April 6, 2002
|
||||||
|
- Now fetching temperature information over http (instead of ftp).
|
||||||
|
- Fixed possible race condition when creating temporary files.
|
||||||
|
|
||||||
|
Version 1.3 - Jul 2, 2001
|
||||||
|
- Added option -V, which enables verbose messages from wget and
|
||||||
|
can be useful for tracing if wget fails.
|
||||||
|
- Minor bug fixes.
|
||||||
|
|
||||||
|
Version 1.2 - Jun 29, 2001
|
||||||
|
- Temporary files are now unique to the process,
|
||||||
|
so that multiple instances can run at once.
|
||||||
|
|
||||||
|
Version 1.1 - Jun 25, 2001
|
||||||
|
- Fixed some compilation problems.
|
||||||
|
- Fixed potential race condition.
|
||||||
|
- Now works better on Solaris.
|
||||||
|
|
||||||
|
Version 1.0 - March 17, 2001
|
||||||
|
- New Makefile.
|
||||||
|
|
||||||
|
Version 0.4 - April 23, 2000
|
||||||
|
- Added option -t, which makes the time of the temperature observation
|
||||||
|
appear (in 12 or 24 hour format).
|
||||||
|
|
||||||
|
Version 0.3 - April 19, 2000
|
||||||
|
- Fixed exit bug.
|
||||||
|
|
||||||
|
Version 0.2 - April 18, 2000
|
||||||
|
- Minor code clean up.
|
||||||
|
- Updated help text.
|
||||||
|
- Corrected spelling faults.
|
||||||
|
|
||||||
|
Version 0.1 - April 16, 2000
|
||||||
|
- First release.
|
44
Temperature.app-1.5/INSTALL
Normal file
44
Temperature.app-1.5/INSTALL
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
Installation instructions for Temperature.app
|
||||||
|
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
- wget
|
||||||
|
The wget utility is used to fetch the weather information.
|
||||||
|
If you don't have it installed already you can find it here:
|
||||||
|
http://www.gnu.org/software/wget/wget.html
|
||||||
|
|
||||||
|
- ICAO Location Indicator
|
||||||
|
You must find the ICAO Location Indicator (a 4-character string)
|
||||||
|
of a weather station near you. You can search for a station
|
||||||
|
on this site: http://www.nws.noaa.gov/oso/siteloc.shtml
|
||||||
|
|
||||||
|
- X11, libxpm, C++ development environment
|
||||||
|
Most (Linux) systems have these things installed by default.
|
||||||
|
If you don't have it look for packages that fit your
|
||||||
|
distribution/vendor.
|
||||||
|
|
||||||
|
|
||||||
|
Installation
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
1) make
|
||||||
|
2) su
|
||||||
|
3) make install (to put it in /usr/local/GNUstep/Apps/Temperature.app)
|
||||||
|
or
|
||||||
|
make install-x11 (to put it in /usr/X11R6/bin)
|
||||||
|
5) exit
|
||||||
|
|
||||||
|
|
||||||
|
Running
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
To run this program:
|
||||||
|
/usr/local/GNUstep/Apps/Temperature.app/Temperature -s <station id> &
|
||||||
|
or
|
||||||
|
/usr/X11R6/bin/Temperature.app -s <station id> &
|
||||||
|
|
||||||
|
|
||||||
|
For more information about available command line arguments:
|
||||||
|
/usr/local/GNUstep/Apps/Temperature.app/Temperature --help
|
||||||
|
or
|
||||||
|
/usr/X11R6/bin/Temperature.app --help
|
||||||
|
|
29
Temperature.app-1.5/Main.cc
Normal file
29
Temperature.app-1.5/Main.cc
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
//
|
||||||
|
// Temperature.app
|
||||||
|
//
|
||||||
|
// Copyright (c) 2000 Per Liden
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "Temperature.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
Temperature app(argc, argv);
|
||||||
|
app.run();
|
||||||
|
return 0;
|
||||||
|
}
|
35
Temperature.app-1.5/Makefile
Normal file
35
Temperature.app-1.5/Makefile
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#
|
||||||
|
# Temperature.app Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
GNUSTEP_BINDIR = /usr/local/GNUstep/Apps/Temperature.app
|
||||||
|
X11_BINDIR = /usr/X11R6/bin
|
||||||
|
|
||||||
|
CXX=c++
|
||||||
|
CXXFLAGS += -Wall -pedantic -fno-rtti -fno-exceptions -O2 -I/usr/X11R6/include
|
||||||
|
LDFLAGS += -L/usr/X11R6/lib -lXpm -lXext -lX11
|
||||||
|
|
||||||
|
OBJECTS = Main.o Temperature.o Xpm.o
|
||||||
|
|
||||||
|
all: Temperature.app
|
||||||
|
|
||||||
|
Temperature.app: $(OBJECTS)
|
||||||
|
$(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
|
||||||
|
|
||||||
|
.PHONY: install install-gnustep install-x11 clean
|
||||||
|
|
||||||
|
install: install-gnustep
|
||||||
|
|
||||||
|
install-gnustep: all
|
||||||
|
install -d $(DESTDIR)$(GNUSTEP_BINDIR)
|
||||||
|
install -m 0755 Temperature.app $(DESTDIR)$(GNUSTEP_BINDIR)/Temperature
|
||||||
|
|
||||||
|
install-x11: all
|
||||||
|
install -d $(DESTDIR)$(X11_BINDIR)
|
||||||
|
install -m 0755 Temperature.app $(DESTDIR)$(X11_BINDIR)/Temperature.app
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.o
|
||||||
|
|
||||||
|
# End of file
|
49
Temperature.app-1.5/README
Normal file
49
Temperature.app-1.5/README
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
|
||||||
|
Temperature.app
|
||||||
|
<http://www.fukt.bth.se/~per/temperature/>
|
||||||
|
|
||||||
|
by Per Liden
|
||||||
|
<per@fukt.bth.se>
|
||||||
|
|
||||||
|
modified to work with modern compilers by:
|
||||||
|
<carlos@gamma.ttk.pte.hu>
|
||||||
|
|
||||||
|
Description
|
||||||
|
--------------------------------------------------------------
|
||||||
|
Temperature.app is a Window Maker dock application which
|
||||||
|
fetches local temperature information every 15 minutes from
|
||||||
|
ftp://weather.noaa.gov and displays it (in Celsius or Fahrenheit).
|
||||||
|
|
||||||
|
|
||||||
|
Hints
|
||||||
|
--------------------------------------------------------------
|
||||||
|
The led:
|
||||||
|
If the led is blinking (green/red), then that means
|
||||||
|
Temperature.app is trying to fetch weather information.
|
||||||
|
If successful the led will stop blinking and go green.
|
||||||
|
If unsuccessful the led will stop blinking and go red.
|
||||||
|
Also, a error message will be printed in the console,
|
||||||
|
describing what went wrong. If the error message is
|
||||||
|
"wget failed" and you can't figure out why, try using
|
||||||
|
option -V, which will cause wget to be run in verbose
|
||||||
|
mode.
|
||||||
|
|
||||||
|
Bugs
|
||||||
|
--------------------------------------------------------------
|
||||||
|
If you discover any bugs in this software, please send a
|
||||||
|
bugreport to per@fukt.bth.se and describe the problem.
|
||||||
|
|
||||||
|
|
||||||
|
Special thanks to
|
||||||
|
--------------------------------------------------------------
|
||||||
|
Mike Henderson (mghenderson@lanl.gov) - Author of wmWeather
|
||||||
|
(I didn't know about the weather.noaa.gov ftp-site before I
|
||||||
|
caught sight of his program).
|
||||||
|
|
||||||
|
|
||||||
|
Copyright
|
||||||
|
--------------------------------------------------------------
|
||||||
|
Temperature.app is copyright (c) 2000-2002 by Per Liden and is
|
||||||
|
licensed through the GNU General Public License. Read the
|
||||||
|
COPYING file for the complete license.
|
||||||
|
|
449
Temperature.app-1.5/Temperature.cc
Normal file
449
Temperature.app-1.5/Temperature.cc
Normal file
|
@ -0,0 +1,449 @@
|
||||||
|
//
|
||||||
|
// Temperature.app
|
||||||
|
//
|
||||||
|
// Copyright (c) 2000-2002 Per Liden
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include "Xpm.h"
|
||||||
|
#include "Temperature.h"
|
||||||
|
|
||||||
|
#include "pixmaps/main.xpm"
|
||||||
|
#include "pixmaps/redlight.xpm"
|
||||||
|
|
||||||
|
volatile static ChildStatus childStatus;
|
||||||
|
|
||||||
|
static void catchBrokenPipe(int sig)
|
||||||
|
{
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void catchChildExit(int sig)
|
||||||
|
{
|
||||||
|
int status;
|
||||||
|
waitpid(-1, &status, 0);
|
||||||
|
|
||||||
|
if (WIFEXITED(status)) {
|
||||||
|
if (WEXITSTATUS(status)) {
|
||||||
|
childStatus = ChildError;
|
||||||
|
} else {
|
||||||
|
childStatus = ChildDone;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
childStatus = ChildError;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (childStatus == ChildError) {
|
||||||
|
std::cerr << APPNAME << ": could not fetch temperature (wget failed), try option -V for more information" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Temperature::Temperature(int argc, char** argv)
|
||||||
|
{
|
||||||
|
XClassHint classHint;
|
||||||
|
XSizeHints sizeHints;
|
||||||
|
XWMHints wmHints;
|
||||||
|
Atom deleteWindow;
|
||||||
|
Xpm* image;
|
||||||
|
char* displayName = NULL;
|
||||||
|
|
||||||
|
mInstanceName = INSTANCENAME;
|
||||||
|
mStationId = 0;
|
||||||
|
mTemperature[0] = 0;
|
||||||
|
mTime[0] = 0;
|
||||||
|
mTimeDiff = 0.0;
|
||||||
|
mFahrenheit = false;
|
||||||
|
mShowTime = false;
|
||||||
|
mTime12HourFormat = false;
|
||||||
|
mVerbose = false;
|
||||||
|
|
||||||
|
// Parse command line
|
||||||
|
if (argc>1) {
|
||||||
|
for (int i=1; i<argc; i++) {
|
||||||
|
// Display
|
||||||
|
if (!strcmp(argv[i], "-d")) {
|
||||||
|
checkArgument(argv, argc, i);
|
||||||
|
displayName = argv[i+1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Station id
|
||||||
|
else if (!strcmp(argv[i], "-s")) {
|
||||||
|
checkArgument(argv, argc, i);
|
||||||
|
mStationId = argv[i+1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fahrenheit
|
||||||
|
else if (!strcmp(argv[i], "-f")) {
|
||||||
|
mFahrenheit = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Time
|
||||||
|
else if (!strcmp(argv[i], "-t")) {
|
||||||
|
mShowTime = true;
|
||||||
|
checkArgument(argv, argc, i);
|
||||||
|
if (!strcmp(argv[i+1], "12")) {
|
||||||
|
mTime12HourFormat = true;
|
||||||
|
} else if (strcmp(argv[i+1], "24")) {
|
||||||
|
std::cerr << APPNAME << ": unknown time format, use 12 or 24" << std::endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verbose
|
||||||
|
else if (!strcmp(argv[i], "-V")) {
|
||||||
|
mVerbose = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instance name
|
||||||
|
else if (!strcmp(argv[i], "-n")) {
|
||||||
|
checkArgument(argv, argc, i);
|
||||||
|
mInstanceName = argv[i+1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Version
|
||||||
|
else if (!strcmp(argv[i], "-v")) {
|
||||||
|
std::cerr << APPNAME << " version " << VERSION << std::endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Help
|
||||||
|
else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
|
||||||
|
showHelp();
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unknown option
|
||||||
|
else {
|
||||||
|
std::cerr << APPNAME << ": invalid option '" << argv[i] << "'" << std::endl;
|
||||||
|
tryHelp(argv[0]);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mStationId == 0) {
|
||||||
|
std::cerr << APPNAME << ": you must supply a station id using -s <id>" << std::endl;
|
||||||
|
tryHelp(argv[0]);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open display
|
||||||
|
if ((mDisplay = XOpenDisplay(displayName)) == NULL) {
|
||||||
|
std::cerr << APPNAME << ": could not open display " << displayName << std::endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get root window
|
||||||
|
mRoot = RootWindow(mDisplay, DefaultScreen(mDisplay));
|
||||||
|
|
||||||
|
// Create windows
|
||||||
|
mAppWin = XCreateSimpleWindow(mDisplay, mRoot, 1, 1, 64, 64, 0, 0, 0);
|
||||||
|
mIconWin = XCreateSimpleWindow(mDisplay, mAppWin, 0, 0, 64, 64, 0, 0, 0);
|
||||||
|
|
||||||
|
// Set classhint
|
||||||
|
classHint.res_name = mInstanceName;
|
||||||
|
classHint.res_class = CLASSNAME;
|
||||||
|
XSetClassHint(mDisplay, mAppWin, &classHint);
|
||||||
|
|
||||||
|
// Create delete atom
|
||||||
|
deleteWindow = XInternAtom(mDisplay, "WM_DELETE_WINDOW", False);
|
||||||
|
XSetWMProtocols(mDisplay, mAppWin, &deleteWindow, 1);
|
||||||
|
XSetWMProtocols(mDisplay, mIconWin, &deleteWindow, 1);
|
||||||
|
|
||||||
|
// Set windowname
|
||||||
|
XStoreName(mDisplay, mAppWin, APPNAME);
|
||||||
|
XSetIconName(mDisplay, mAppWin, APPNAME);
|
||||||
|
|
||||||
|
// Set sizehints
|
||||||
|
sizeHints.flags= USPosition;
|
||||||
|
sizeHints.x = 0;
|
||||||
|
sizeHints.y = 0;
|
||||||
|
XSetWMNormalHints(mDisplay, mAppWin, &sizeHints);
|
||||||
|
|
||||||
|
// Set wmhints
|
||||||
|
wmHints.initial_state = WithdrawnState;
|
||||||
|
wmHints.icon_window = mIconWin;
|
||||||
|
wmHints.icon_x = 0;
|
||||||
|
wmHints.icon_y = 0;
|
||||||
|
wmHints.window_group = mAppWin;
|
||||||
|
wmHints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
|
||||||
|
XSetWMHints(mDisplay, mAppWin, &wmHints);
|
||||||
|
|
||||||
|
// Set command
|
||||||
|
XSetCommand(mDisplay, mAppWin, argv, argc);
|
||||||
|
|
||||||
|
// Set background image
|
||||||
|
image = new Xpm(mDisplay, mRoot, main_xpm);
|
||||||
|
image->setWindowPixmapShaped(mIconWin);
|
||||||
|
delete image;
|
||||||
|
|
||||||
|
// Create status led
|
||||||
|
mStatusLed = XCreateSimpleWindow(mDisplay, mIconWin, LED_X, LED_Y, 3, 2, 0, 0, 0);
|
||||||
|
image = new Xpm(mDisplay, mRoot, redlight_xpm);
|
||||||
|
image->setWindowPixmap(mStatusLed);
|
||||||
|
delete image;
|
||||||
|
|
||||||
|
XMapWindow(mDisplay, mIconWin);
|
||||||
|
XMapWindow(mDisplay, mAppWin);
|
||||||
|
XSync(mDisplay, False);
|
||||||
|
|
||||||
|
// Catch broker pipe signal
|
||||||
|
signal(SIGPIPE, catchBrokenPipe);
|
||||||
|
|
||||||
|
// Catch child exit signal
|
||||||
|
signal(SIGCHLD, catchChildExit);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::tryHelp(char* appname)
|
||||||
|
{
|
||||||
|
std::cerr << std::endl << "Try `" << appname << " --help' for more information" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::showHelp()
|
||||||
|
{
|
||||||
|
std::cerr << APPNAME << " Copyright (c) 2000-2002 by Per Liden (per@fukt.bth.se)" << std::endl << std::endl
|
||||||
|
<< "options:" << std::endl
|
||||||
|
<< " -s <id> set station id (ICAO Location Indicator)" << std::endl
|
||||||
|
<< " -t 12|24 display time of temperature observation (12 or 24 hour format)" << std::endl
|
||||||
|
<< " -f display degrees in Fahrenheit" << std::endl
|
||||||
|
<< " -V display verbose messages from wget" << std::endl
|
||||||
|
<< " -n <name> set client instance name" << std::endl
|
||||||
|
<< " -d <disp> set display" << std::endl
|
||||||
|
<< " -v print version and exit" << std::endl
|
||||||
|
<< " -h, --help display this help text and exit" << std::endl
|
||||||
|
<< std::endl
|
||||||
|
<< "You must supply the ICAO Location Indicator (a 4-character string)" << std::endl
|
||||||
|
<< "of a weather station near you. You can search for a station on" << std::endl
|
||||||
|
<< "this site: http://www.nws.noaa.gov/oso/siteloc.shtml" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::checkArgument(char** argv, int argc, int index)
|
||||||
|
{
|
||||||
|
if (argc-1 < index+1) {
|
||||||
|
std::cerr << APPNAME << ": option '" << argv[index] << "' requires an argument" << std::endl;
|
||||||
|
tryHelp(argv[0]);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::showLed(bool show)
|
||||||
|
{
|
||||||
|
if (show) {
|
||||||
|
XMapWindow(mDisplay, mStatusLed);
|
||||||
|
} else {
|
||||||
|
XUnmapWindow(mDisplay, mStatusLed);
|
||||||
|
}
|
||||||
|
XSync(mDisplay, False);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::calcTimeDiff()
|
||||||
|
{
|
||||||
|
struct tm* t;
|
||||||
|
double localTime;
|
||||||
|
double universalTime;
|
||||||
|
time_t currentTime;
|
||||||
|
|
||||||
|
currentTime = time(0);
|
||||||
|
t = gmtime(¤tTime);
|
||||||
|
universalTime = (double)t->tm_hour + (double)t->tm_min / 60.0 + (double)t->tm_sec / 3600.0;
|
||||||
|
|
||||||
|
currentTime = time(0);
|
||||||
|
t = localtime(¤tTime);
|
||||||
|
localTime = (double)t->tm_hour + (double)t->tm_min / 60.0 + (double)t->tm_sec / 3600.0;
|
||||||
|
|
||||||
|
mTimeDiff = universalTime - localTime;
|
||||||
|
if (mTimeDiff > 24.0) {
|
||||||
|
mTimeDiff -= 24.0;
|
||||||
|
} else if (mTimeDiff < 0.0) {
|
||||||
|
mTimeDiff += 24.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::setTime(char* utcTime)
|
||||||
|
{
|
||||||
|
char unit[3];
|
||||||
|
int hour = 0;
|
||||||
|
int min = 0;
|
||||||
|
|
||||||
|
strncpy(unit, &utcTime[0], 2);
|
||||||
|
hour = atoi(unit);
|
||||||
|
strncpy(unit, &utcTime[2], 2);
|
||||||
|
min = atoi(unit);
|
||||||
|
|
||||||
|
double time = ((double)hour + (double)min / 60.0) - mTimeDiff;
|
||||||
|
if (time < 0.0) {
|
||||||
|
time += 24.0;
|
||||||
|
} else if (time > 24.0) {
|
||||||
|
time -= 24.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hour = (int)time;
|
||||||
|
min = (int)((time - (double)hour) * 60.0 + 0.5);
|
||||||
|
if (min >= 60){
|
||||||
|
min = 0;
|
||||||
|
if (++hour >= 24) {
|
||||||
|
hour = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mTime12HourFormat) {
|
||||||
|
if (hour >= 0 && hour <= 11) {
|
||||||
|
mTimeAMPM = "AM";
|
||||||
|
} else {
|
||||||
|
mTimeAMPM = "PM";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hour == 0) {
|
||||||
|
hour = 12;
|
||||||
|
} else if (hour > 12) {
|
||||||
|
hour -= 12;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sprintf(mTime, "%d:%.2d", hour, min);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Temperature::updateTemperture(ifstream& file)
|
||||||
|
{
|
||||||
|
const int MAX_LINE = 1024;
|
||||||
|
char buffer[MAX_LINE];
|
||||||
|
|
||||||
|
if (mShowTime) {
|
||||||
|
// Find time of observation
|
||||||
|
char* start;
|
||||||
|
char time[5];
|
||||||
|
file.getline(buffer, MAX_LINE - 1);
|
||||||
|
file.getline(buffer, MAX_LINE - 1);
|
||||||
|
if ((start = strstr(buffer, "UTC")) == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
strncpy(time, start - 5, 4);
|
||||||
|
setTime(time);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find temperature
|
||||||
|
while (!file.eof()) {
|
||||||
|
file >> buffer;
|
||||||
|
if (!strcmp(buffer, "Temperature:")) {
|
||||||
|
file >> buffer;
|
||||||
|
if (buffer && strlen(buffer) < 5) {
|
||||||
|
char* unit;
|
||||||
|
if (mFahrenheit) {
|
||||||
|
strcpy(mTemperature, buffer);
|
||||||
|
unit = " °F";
|
||||||
|
} else {
|
||||||
|
sprintf(mTemperature, "%d", (int)rint((atoi(buffer) - 32) / 1.8));
|
||||||
|
unit = " °C";
|
||||||
|
}
|
||||||
|
|
||||||
|
Xpm* image = new Xpm(mDisplay, mRoot, main_xpm);
|
||||||
|
if (mShowTime) {
|
||||||
|
if (mTime12HourFormat) {
|
||||||
|
image->drawComposedString(TIME_POS, TIME_FONT, mTime, AMPM_FONT, mTimeAMPM);
|
||||||
|
} else {
|
||||||
|
image->drawString(TIME_POS, TIME_FONT, mTime);
|
||||||
|
}
|
||||||
|
image->drawComposedString(TEMP_WITH_TIME_POS, TEMP_FONT, mTemperature, UNIT_FONT, unit);
|
||||||
|
} else {
|
||||||
|
image->drawComposedString(TEMP_POS, TEMP_FONT, mTemperature, UNIT_FONT, unit);
|
||||||
|
}
|
||||||
|
image->setWindowPixmap(mIconWin);
|
||||||
|
delete image;
|
||||||
|
XSync(mDisplay, False);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cerr << APPNAME << ": could not fetch temperature (unknown file format)" << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Temperature::run()
|
||||||
|
{
|
||||||
|
if (mShowTime) {
|
||||||
|
calcTimeDiff();
|
||||||
|
}
|
||||||
|
|
||||||
|
int counter = 0;
|
||||||
|
while(1) {
|
||||||
|
if (counter <= 0) {
|
||||||
|
char tmpFile[sizeof(TMP_FILE)] = TMP_FILE;
|
||||||
|
int fd = mkstemp(tmpFile);
|
||||||
|
if (fd == -1) {
|
||||||
|
std::cerr << APPNAME << ": could not create temporary file " << tmpFile << ": " << strerror(errno) << std::endl;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
counter = UPDATE_INTERVAL;
|
||||||
|
childStatus = ChildRunning;
|
||||||
|
signal(SIGCHLD, catchChildExit);
|
||||||
|
showLed(true);
|
||||||
|
int pid = fork();
|
||||||
|
if (pid == 0) {
|
||||||
|
const char* verbose = (mVerbose ? "--verbose" : "--quiet");
|
||||||
|
char* URL = new char[strlen(METAR_URL) + strlen(mStationId) + 1];
|
||||||
|
sprintf(URL, METAR_URL, mStationId);
|
||||||
|
execlp("wget", "wget", "--cache=off", "--tries=0", verbose, "-O", tmpFile, URL, 0);
|
||||||
|
std::cerr << APPNAME << ": could not fetch temperature (wget not found in $PATH)" << std::endl;
|
||||||
|
remove(tmpFile);
|
||||||
|
exit(0);
|
||||||
|
} else if (pid == -1) {
|
||||||
|
std::cerr << APPNAME << ": could not fetch temperature (fork() failed)" << std::endl;
|
||||||
|
} else {
|
||||||
|
bool toggle = true;
|
||||||
|
while (childStatus == ChildRunning) {
|
||||||
|
showLed(toggle);
|
||||||
|
toggle ^= true;
|
||||||
|
sleep(1);
|
||||||
|
}
|
||||||
|
showLed(true);
|
||||||
|
if (childStatus == ChildDone) {
|
||||||
|
ifstream file(tmpFile);
|
||||||
|
if (file) {
|
||||||
|
if (updateTemperture(file)) {
|
||||||
|
showLed(false);
|
||||||
|
}
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
remove(tmpFile);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
counter--;
|
||||||
|
sleep(1);
|
||||||
|
XSync(mDisplay, False);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
89
Temperature.app-1.5/Temperature.h
Normal file
89
Temperature.app-1.5/Temperature.h
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
//
|
||||||
|
// Temperature.app
|
||||||
|
//
|
||||||
|
// Copyright (c) 2000-2002 Per Liden
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef _TEMPERATURE_H_
|
||||||
|
#define _TEMPERATURE_H_
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
|
#define APPNAME "Temperature.app"
|
||||||
|
#define VERSION "1.5"
|
||||||
|
#define INSTANCENAME "temperature_app"
|
||||||
|
#define CLASSNAME "Temperature_app"
|
||||||
|
#define METAR_URL "http://weather.noaa.gov/pub/data/observations/metar/decoded/%s.TXT"
|
||||||
|
#define UPDATE_INTERVAL 900
|
||||||
|
#define TIME_POS 22
|
||||||
|
#define TEMP_POS 35
|
||||||
|
#define TEMP_WITH_TIME_POS 42
|
||||||
|
#define TIME_FONT "-*-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*"
|
||||||
|
#define AMPM_FONT "-*-helvetica-medium-r-*-*-8-*-*-*-*-*-*-*"
|
||||||
|
#define TEMP_FONT "-*-helvetica-medium-r-*-*-18-*-*-*-*-*-*-*"
|
||||||
|
#define UNIT_FONT "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"
|
||||||
|
#define LED_X 57
|
||||||
|
#define LED_Y 59
|
||||||
|
#define TMP_FILE "/tmp/temperature.app-XXXXXX"
|
||||||
|
|
||||||
|
/* temporary hack */
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
enum ChildStatus
|
||||||
|
{
|
||||||
|
ChildRunning,
|
||||||
|
ChildDone,
|
||||||
|
ChildError
|
||||||
|
};
|
||||||
|
|
||||||
|
class Temperature
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Temperature(int argc, char** argv);
|
||||||
|
~Temperature() {};
|
||||||
|
void run();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void tryHelp(char* appname);
|
||||||
|
void showHelp();
|
||||||
|
void checkArgument(char** argv, int argc, int index);
|
||||||
|
void showErrorLed(bool show);
|
||||||
|
void calcTimeDiff();
|
||||||
|
void setTime(char* utcTime);
|
||||||
|
bool updateTemperture(ifstream& file);
|
||||||
|
void showLed(bool show);
|
||||||
|
|
||||||
|
Display* mDisplay;
|
||||||
|
Window mRoot;
|
||||||
|
Window mAppWin;
|
||||||
|
Window mIconWin;
|
||||||
|
Window mStatusLed;
|
||||||
|
char* mInstanceName;
|
||||||
|
char* mStationId;
|
||||||
|
char mTemperature[5];
|
||||||
|
char mTime[6];
|
||||||
|
char* mTimeAMPM;
|
||||||
|
double mTimeDiff;
|
||||||
|
bool mFahrenheit;
|
||||||
|
bool mShowTime;
|
||||||
|
bool mTime12HourFormat;
|
||||||
|
bool mVerbose;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
155
Temperature.app-1.5/Xpm.cc
Normal file
155
Temperature.app-1.5/Xpm.cc
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
//
|
||||||
|
// Temperature.app
|
||||||
|
//
|
||||||
|
// Copyright (c) 2000-2002 Per Liden
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "Temperature.h"
|
||||||
|
#include "Xpm.h"
|
||||||
|
|
||||||
|
Xpm::Xpm(Display* display, Window root, char** data)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
|
||||||
|
mDisplay = display;
|
||||||
|
|
||||||
|
mAttributes.valuemask = 0;
|
||||||
|
error = XpmCreatePixmapFromData(mDisplay, root, data, &mImage, &mMask, &mAttributes);
|
||||||
|
|
||||||
|
switch (error) {
|
||||||
|
case XpmColorError:
|
||||||
|
std::cerr << APPNAME << ": xpm image loaded but did not get all colors needed" << std::endl;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case XpmColorFailed:
|
||||||
|
std::cerr << APPNAME << ": could not load xpm image (not enough colors available)" << std::endl;
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case XpmNoMemory:
|
||||||
|
std::cerr << APPNAME << ": could not load xpm image (not enough memory available)" << std::endl;
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case XpmOpenFailed:
|
||||||
|
case XpmFileInvalid:
|
||||||
|
std::cerr << APPNAME << ": could not load xpm image (image broken or corrupt)" << std::endl;
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case XpmSuccess:
|
||||||
|
default:
|
||||||
|
// Image loaded ok
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Xpm::~Xpm()
|
||||||
|
{
|
||||||
|
if (mImage) {
|
||||||
|
XFreePixmap(mDisplay, mImage);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mMask) {
|
||||||
|
XFreePixmap(mDisplay, mMask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Xpm::setWindowPixmap(Window win)
|
||||||
|
{
|
||||||
|
XResizeWindow(mDisplay, win, mAttributes.width, mAttributes.height);
|
||||||
|
XSetWindowBackgroundPixmap(mDisplay, win, mImage);
|
||||||
|
XClearWindow(mDisplay, win);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Xpm::setWindowPixmapShaped(Window win)
|
||||||
|
{
|
||||||
|
XResizeWindow(mDisplay, win, mAttributes.width, mAttributes.height);
|
||||||
|
XSetWindowBackgroundPixmap(mDisplay, win, mImage);
|
||||||
|
XShapeCombineMask(mDisplay, win, ShapeBounding, 0, 0, mMask, ShapeSet);
|
||||||
|
XClearWindow(mDisplay, win);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Xpm::drawString(int pos, char* font, char* str)
|
||||||
|
{
|
||||||
|
XFontStruct* fontStruct;
|
||||||
|
GC gc;
|
||||||
|
XGCValues gcv;
|
||||||
|
|
||||||
|
if ((fontStruct = XLoadQueryFont(mDisplay, font)) == 0) {
|
||||||
|
cerr << APPNAME << ": could not load font '" << font << "'" << endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
gcv.foreground = WhitePixel(mDisplay, DefaultScreen(mDisplay));
|
||||||
|
gc = XCreateGC(mDisplay, mImage, GCForeground, &gcv);
|
||||||
|
|
||||||
|
int strLength = strlen(str);
|
||||||
|
int strWidth = XTextWidth(fontStruct, str, strLength);
|
||||||
|
|
||||||
|
int x = (64 / 2) - (strWidth / 2);
|
||||||
|
XSetFont(mDisplay, gc, fontStruct->fid);
|
||||||
|
XDrawString(mDisplay, mImage, gc, x, pos, str, strLength);
|
||||||
|
|
||||||
|
XFreeGC(mDisplay, gc);
|
||||||
|
XFreeFont(mDisplay, fontStruct);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Xpm::drawComposedString(int pos, char* font1, char* str1, char* font2, char* str2)
|
||||||
|
{
|
||||||
|
XFontStruct* fontStruct1;
|
||||||
|
XFontStruct* fontStruct2;
|
||||||
|
GC gc;
|
||||||
|
XGCValues gcv;
|
||||||
|
|
||||||
|
if ((fontStruct1 = XLoadQueryFont(mDisplay, font1)) == 0) {
|
||||||
|
cerr << APPNAME << ": could not load font '" << font1 << "'" << endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((fontStruct2 = XLoadQueryFont(mDisplay, font2)) == 0) {
|
||||||
|
cerr << APPNAME << ": could not load font '" << font2 << "'" << endl;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
gcv.foreground = WhitePixel(mDisplay, DefaultScreen(mDisplay));
|
||||||
|
gc = XCreateGC(mDisplay, mImage, GCForeground, &gcv);
|
||||||
|
|
||||||
|
int str1Length = strlen(str1);
|
||||||
|
int str1Width = XTextWidth(fontStruct1, str1, str1Length);
|
||||||
|
int str2Length = strlen(str2);
|
||||||
|
int str2Width = XTextWidth(fontStruct2, str2, str2Length);
|
||||||
|
|
||||||
|
int x = (64 / 2) - ((str1Width + str2Width) / 2);
|
||||||
|
XSetFont(mDisplay, gc, fontStruct1->fid);
|
||||||
|
XDrawString(mDisplay, mImage, gc, x, pos, str1, str1Length);
|
||||||
|
|
||||||
|
x += str1Width;
|
||||||
|
XSetFont(mDisplay, gc, fontStruct2->fid);
|
||||||
|
XDrawString(mDisplay, mImage, gc, x, pos, str2, str2Length);
|
||||||
|
|
||||||
|
XFreeGC(mDisplay, gc);
|
||||||
|
XFreeFont(mDisplay, fontStruct1);
|
||||||
|
XFreeFont(mDisplay, fontStruct2);
|
||||||
|
}
|
45
Temperature.app-1.5/Xpm.h
Normal file
45
Temperature.app-1.5/Xpm.h
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
//
|
||||||
|
// Temperature.app
|
||||||
|
//
|
||||||
|
// Copyright (c) 2000-2002 Per Liden
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef _XPM_H_
|
||||||
|
#define _XPM_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
|
||||||
|
class Xpm
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Xpm(Display* display, Window root, char** data);
|
||||||
|
virtual ~Xpm();
|
||||||
|
void setWindowPixmap(Window win);
|
||||||
|
void setWindowPixmapShaped(Window win);
|
||||||
|
void drawString(int pos, char* font, char* str);
|
||||||
|
void drawComposedString(int pos, char* font1, char* str1, char* font2, char* str2);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Display* mDisplay;
|
||||||
|
XpmAttributes mAttributes;
|
||||||
|
Pixmap mImage;
|
||||||
|
Pixmap mMask;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
210
Temperature.app-1.5/pixmaps/main.xpm
Normal file
210
Temperature.app-1.5/pixmaps/main.xpm
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * main_xpm[] = {
|
||||||
|
"64 64 143 2",
|
||||||
|
" c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #2F2542",
|
||||||
|
"@ c #302643",
|
||||||
|
"# c #322745",
|
||||||
|
"$ c #332846",
|
||||||
|
"% c #342948",
|
||||||
|
"& c #352A49",
|
||||||
|
"* c #362B4B",
|
||||||
|
"= c #372C4C",
|
||||||
|
"- c #382D4E",
|
||||||
|
"; c #392E4F",
|
||||||
|
"> c #3A2E50",
|
||||||
|
", c #3B2F52",
|
||||||
|
"' c #3C3053",
|
||||||
|
") c #3C3154",
|
||||||
|
"! c #3D3155",
|
||||||
|
"~ c #3E3256",
|
||||||
|
"{ c #3F3357",
|
||||||
|
"] c #3F3358",
|
||||||
|
"^ c #403459",
|
||||||
|
"/ c #41345A",
|
||||||
|
"( c #41355A",
|
||||||
|
"_ c #41355B",
|
||||||
|
": c #42355B",
|
||||||
|
"< c #42365C",
|
||||||
|
"[ c #43365D",
|
||||||
|
"} c #B7BAC7",
|
||||||
|
"| c #312745",
|
||||||
|
"1 c #352A4A",
|
||||||
|
"2 c #372C4D",
|
||||||
|
"3 c #3A2F51",
|
||||||
|
"4 c #3B3052",
|
||||||
|
"5 c #43365C",
|
||||||
|
"6 c #43375E",
|
||||||
|
"7 c #44375E",
|
||||||
|
"8 c #44375F",
|
||||||
|
"9 c #44385F",
|
||||||
|
"0 c #45385F",
|
||||||
|
"a c #322846",
|
||||||
|
"b c #392E50",
|
||||||
|
"c c #3B3053",
|
||||||
|
"d c #453860",
|
||||||
|
"e c #463961",
|
||||||
|
"f c #332948",
|
||||||
|
"g c #3D3154",
|
||||||
|
"h c #403358",
|
||||||
|
"i c #463962",
|
||||||
|
"j c #473A62",
|
||||||
|
"k c #473A63",
|
||||||
|
"l c #483A63",
|
||||||
|
"m c #483A64",
|
||||||
|
"n c #332947",
|
||||||
|
"o c #342A49",
|
||||||
|
"p c #483B64",
|
||||||
|
"q c #493B65",
|
||||||
|
"r c #493C65",
|
||||||
|
"s c #493C66",
|
||||||
|
"t c #352B4A",
|
||||||
|
"u c #483B65",
|
||||||
|
"v c #4A3C66",
|
||||||
|
"w c #4A3C67",
|
||||||
|
"x c #4A3D67",
|
||||||
|
"y c #4B3D67",
|
||||||
|
"z c #4B3D68",
|
||||||
|
"A c #362B4C",
|
||||||
|
"B c #382D4D",
|
||||||
|
"C c #43375D",
|
||||||
|
"D c #4B3E69",
|
||||||
|
"E c #4C3E69",
|
||||||
|
"F c #4C3E6A",
|
||||||
|
"G c #4C3F6A",
|
||||||
|
"H c #392D4F",
|
||||||
|
"I c #453960",
|
||||||
|
"J c #4D3F6A",
|
||||||
|
"K c #4D3F6B",
|
||||||
|
"L c #4E406C",
|
||||||
|
"M c #4F406D",
|
||||||
|
"N c #4F416D",
|
||||||
|
"O c #4F416E",
|
||||||
|
"P c #50416E",
|
||||||
|
"Q c #382C4D",
|
||||||
|
"R c #4D3F6C",
|
||||||
|
"S c #4E406D",
|
||||||
|
"T c #50426F",
|
||||||
|
"U c #504270",
|
||||||
|
"V c #514270",
|
||||||
|
"W c #514371",
|
||||||
|
"X c #524371",
|
||||||
|
"Y c #524372",
|
||||||
|
"Z c #524472",
|
||||||
|
"` c #534473",
|
||||||
|
" . c #534574",
|
||||||
|
".. c #544574",
|
||||||
|
"+. c #544575",
|
||||||
|
"@. c #554676",
|
||||||
|
"#. c #564777",
|
||||||
|
"$. c #50416F",
|
||||||
|
"%. c #554675",
|
||||||
|
"&. c #574778",
|
||||||
|
"*. c #574879",
|
||||||
|
"=. c #584879",
|
||||||
|
"-. c #58497A",
|
||||||
|
";. c #58497B",
|
||||||
|
">. c #59497B",
|
||||||
|
",. c #59497C",
|
||||||
|
"'. c #3E3257",
|
||||||
|
"). c #564778",
|
||||||
|
"!. c #594A7C",
|
||||||
|
"~. c #5A4A7D",
|
||||||
|
"{. c #5A4B7D",
|
||||||
|
"]. c #5B4B7E",
|
||||||
|
"^. c #5C4C7F",
|
||||||
|
"/. c #5C4C80",
|
||||||
|
"(. c #5A4A7C",
|
||||||
|
"_. c #5D4D81",
|
||||||
|
":. c #5D4D82",
|
||||||
|
"<. c #5E4D82",
|
||||||
|
"[. c #5E4E82",
|
||||||
|
"}. c #5E4E83",
|
||||||
|
"|. c #5F4F84",
|
||||||
|
"1. c #604F85",
|
||||||
|
"2. c #615086",
|
||||||
|
"3. c #605086",
|
||||||
|
"4. c #615187",
|
||||||
|
"5. c #625188",
|
||||||
|
"6. c #625288",
|
||||||
|
"7. c #635289",
|
||||||
|
"8. c #625187",
|
||||||
|
"9. c #63528A",
|
||||||
|
"0. c #64538B",
|
||||||
|
"a. c #64538A",
|
||||||
|
"b. c #65548C",
|
||||||
|
"c. c #66548D",
|
||||||
|
"d. c #66558D",
|
||||||
|
"e. c #67558F",
|
||||||
|
"f. c #67568F",
|
||||||
|
"g. c #685790",
|
||||||
|
"h. c #695791",
|
||||||
|
"i. c #6B5894",
|
||||||
|
"j. c #2E2440",
|
||||||
|
"k. c #292039",
|
||||||
|
"l. c #00FF29",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||||
|
" . + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < < [ [ [ [ [ [ [ < < : _ ( / ^ ] { ~ ! ) ' , > ; - = * & % $ # @ } ",
|
||||||
|
" . @ | $ % 1 * 2 - ; 3 4 ' ! ~ { ] ^ / _ < 5 [ 6 7 7 8 9 0 0 0 9 8 7 7 6 [ 5 < _ / ^ ] { ~ ! ' 4 3 ; - 2 * 1 % $ | } ",
|
||||||
|
" . | a % & * 2 - b 3 c ) ! ~ ] ^ / : < [ 6 7 0 d d e e e e e e e e e d d 0 7 6 [ < : / ^ ] ~ ! ) c 3 b - 2 * & % a } ",
|
||||||
|
" . a f & * 2 - b 3 ' g ~ { h ^ _ < [ 7 9 d e e i j k k l m m m l k k j i e e d 9 7 [ < _ ^ h { ~ g ' 3 b - 2 * & f } ",
|
||||||
|
" . n o * = - b 3 ' g ~ { ^ / : [ 6 8 d e i k l p p q r s s s s s r q p p l k i e d 8 6 [ : / ^ { ~ g ' 3 b - = * o } ",
|
||||||
|
" . o t = - ; 3 ' g ~ { ^ ( < [ 7 d e i k p u r v w x y z z z z z y x w v r u p k i e d 7 [ < ( ^ { ~ g ' 3 ; - = t } ",
|
||||||
|
" . 1 A B ; 3 c g ~ { ^ ( < C 8 d e k p q s w y z D E F F G G G F F E D z y w s q p k e d 8 C < ( ^ { ~ g c 3 ; B A } ",
|
||||||
|
" . * 2 H > 4 ) ~ { ^ ( < 6 9 I i k p s w z D E J K K L L L L L L L K K J E D z w s p k i I 9 6 < ( ^ { ~ ) 4 > H 2 } ",
|
||||||
|
" . = - b , ' ! { ^ ( < 6 0 e j m q v y D F K K L M N O O P P P O O N M L K K F D y v q m j e 0 6 < ( ^ { ! ' , b - } ",
|
||||||
|
" . Q ; 3 ' ! ~ h / < C 9 e j p q w z E J R S N P T U V V W W W V V U T P N S R J E z w q p j e 9 C < / h ~ ! ' 3 ; } ",
|
||||||
|
" . - > 4 ) ~ ] ^ : [ 8 I j p r x z F K L N P T V X Y Z ` ` ` ` ` Z Y X V T P N L K F z x r p j I 8 [ : ^ ] ~ ) 4 > } ",
|
||||||
|
" . ; 3 ' ! { ^ _ [ 7 d i m q x z F K S O T V X Z ` ...+.+.+.+.+... .` Z X V T O S K F z x q m i d 7 [ _ ^ { ! ' 3 } ",
|
||||||
|
" . > 4 g ~ ] / < 6 d e k q w z F K M P V X Z ` ..+.@.@.#.#.#.#.#.@.@.+...` Z X V P M K F z w q k e d 6 < / ] ~ g 4 } ",
|
||||||
|
" . 3 ' ! { ^ : [ 8 e k p v z F K M $.V X ` ..%.@.#.&.*.*.*.=.*.*.*.&.#.@.%...` X V $.M K F z v p k e 8 [ : ^ { ! ' } ",
|
||||||
|
" . , ) ~ ] / < 7 d i p s y E K S P V Y ` +.@.#.&.*.-.;.>.>.,.>.>.;.-.*.&.#.@.+.` Y V P S K E y s p i d 7 < / ] ~ ) } ",
|
||||||
|
" . ' ! '.^ _ [ 9 e k q w D J L O V X ` +.@.).*.-.>.!.~.{.].].].{.~.!.>.-.*.).@.+.` X V O L J D w q k e 9 [ _ ^ '.! } ",
|
||||||
|
" . ' ~ ] / < 6 d i p s z F R N T X ` +.@.).*.;.!.~.].^.^./././.^.^.].~.!.;.*.).@.+.` X T N R F z s p i d 6 < / ] ~ } ",
|
||||||
|
" . ) ~ h ( 5 7 e k u w D K S P V Z ..@.).*.>.(.].^./._.:.<.[.<.:._./.^.].(.>.*.).@...Z V P S K D w u k e 7 5 ( h ~ } ",
|
||||||
|
" . ! '.^ _ [ 0 e l r y E K N T X ` %.#.*.;.(.].^._.<.}.|.|.|.|.|.}.<._.^.].(.;.*.#.%.` X T N K E y r l e 0 [ _ ^ '.} ",
|
||||||
|
" . ! { ^ : 6 d i p v z J L P V Z ..@.&.-.!.].^._.[.|.1.2.2.2.2.2.1.|.[._.^.].!.-.&.@...Z V P L J z v p i d 6 : ^ { } ",
|
||||||
|
" . ~ ] / < 7 d j p w D K M T X ` +.#.*.>.~.^._.[.|.3.4.5.6.7.6.5.4.3.|.[._.^.~.>.*.#.+.` X T M K D w p j d 7 < / ] } ",
|
||||||
|
" . ~ ] ( < 7 e k q x E K N U Y .@.&.-.!.]./.<.|.3.8.7.9.0.0.0.9.7.8.3.|.<./.].!.-.&.@. .Y U N K E x q k e 7 < ( ] } ",
|
||||||
|
" . ~ h ( [ 8 e k r y F L O V Z ..@.*.;.~.^._.}.1.4.7.a.b.c.c.c.b.a.7.4.1.}._.^.~.;.*.@...Z V O L F y r k e 8 [ ( h } ",
|
||||||
|
" . ~ ^ _ [ 9 e l s z F L O V ` +.#.*.>.{.^.:.|.2.5.9.b.d.e.f.e.d.b.9.5.2.|.:.^.{.>.*.#.+.` V O L F z s l e 9 [ _ ^ } ",
|
||||||
|
" . ~ ^ _ [ 0 e m s z G L P W ` +.#.*.>.]./.<.|.2.6.0.c.e.g.h.g.e.c.0.6.2.|.<./.].>.*.#.+.` W P L G z s m e 0 [ _ ^ } ",
|
||||||
|
" . '.^ _ [ 0 e m s z G L P W ` +.#.=.,.]./.[.|.2.7.0.c.f.h.i.h.f.c.0.7.2.|.[./.].,.=.#.+.` W P L G z s m e 0 [ _ ^ } ",
|
||||||
|
" . ~ ^ _ [ 0 e m s z G L P W ` +.#.*.>.]./.<.|.2.6.0.c.e.g.h.g.e.c.0.6.2.|.<./.].>.*.#.+.` W P L G z s m e 0 [ _ ^ } ",
|
||||||
|
" . ~ ^ _ [ 9 e l s z F L O V ` +.#.*.>.{.^.:.|.2.5.9.b.d.e.f.e.d.b.9.5.2.|.:.^.{.>.*.#.+.` V O L F z s l e 9 [ _ ^ } ",
|
||||||
|
" . ~ h ( [ 8 e k r y F L O V Z ..@.*.;.~.^._.}.1.4.7.a.b.c.c.c.b.a.7.4.1.}._.^.~.;.*.@...Z V O L F y r k e 8 [ ( h } ",
|
||||||
|
" . ~ ] ( < 7 e k q x E K N U Y .@.&.-.!.]./.<.|.3.8.7.9.0.0.0.9.7.8.3.|.<./.].!.-.&.@. .Y U N K E x q k e 7 < ( ] } ",
|
||||||
|
" . ~ ] / < 7 d j p w D K M T X ` +.#.*.>.~.^._.[.|.3.4.5.6.7.6.5.4.3.|.[._.^.~.>.*.#.+.` X T M K D w p j d 7 < / ] } ",
|
||||||
|
" . ! { ^ : 6 d i p v z J L P V Z ..@.&.-.!.].^._.[.|.1.2.2.2.2.2.1.|.[._.^.].!.-.&.@...Z V P L J z v p i d 6 : ^ { } ",
|
||||||
|
" . ! '.^ _ [ 0 e l r y E K N T X ` %.#.*.;.(.].^._.<.}.|.|.|.|.|.}.<._.^.].(.;.*.#.%.` X T N K E y r l e 0 [ _ ^ '.} ",
|
||||||
|
" . ) ~ h ( 5 7 e k u w D K S P V Z ..@.).*.>.(.].^./._.:.<.[.<.:._./.^.].(.>.*.).@...Z V P S K D w u k e 7 5 ( h ~ } ",
|
||||||
|
" . ' ~ ] / < 6 d i p s z F R N T X ` +.@.).*.;.!.~.].^.^./././.^.^.].~.!.;.*.).@.+.` X T N R F z s p i d 6 < / ] ~ } ",
|
||||||
|
" . ' ! '.^ _ [ 9 e k q w D J L O V X ` +.@.).*.-.>.!.~.{.].].].{.~.!.>.-.*.).@.+.` X V O L J D w q k e 9 [ _ ^ '.! } ",
|
||||||
|
" . , ) ~ ] / < 7 d i p s y E K S P V Y ` +.@.#.&.*.-.;.>.>.,.>.>.;.-.*.&.#.@.+.` Y V P S K E y s p i d 7 < / ] ~ ) } ",
|
||||||
|
" . 3 ' ! { ^ : [ 8 e k p v z F K M $.V X ` ..%.@.#.&.*.*.*.=.*.*.*.&.#.@.%...` X V $.M K F z v p k e 8 [ : ^ { ! ' } ",
|
||||||
|
" . > 4 g ~ ] / < 6 d e k q w z F K M P V X Z ` ..+.@.@.#.#.#.#.#.@.@.+...` Z X V P M K F z w q k e d 6 < / ] ~ g 4 } ",
|
||||||
|
" . ; 3 ' ! { ^ _ [ 7 d i m q x z F K S O T V X Z ` ...+.+.+.+.+... .` Z X V T O S K F z x q m i d 7 [ _ ^ { ! ' 3 } ",
|
||||||
|
" . - > 4 ) ~ ] ^ : [ 8 I j p r x z F K L N P T V X Y Z ` ` ` ` ` Z Y X V T P N L K F z x r p j I 8 [ : ^ ] ~ ) 4 > } ",
|
||||||
|
" . Q ; 3 ' ! ~ h / < C 9 e j p q w z E J R S N P T U V V W W W V V U T P N S R J E z w q p j e 9 C < / h ~ ! ' 3 ; } ",
|
||||||
|
" . = - b , ' ! { ^ ( < 6 0 e j m q v y D F K K L M N O O P P P O O N M L K K F D y v q m j e 0 6 < ( ^ { ! ' , b - } ",
|
||||||
|
" . * 2 H > 4 ) ~ { ^ ( < 6 9 I i k p s w z D E J K K L L L L L L L K K J E D z w s p k i I 9 6 < ( ^ { ~ ) 4 > H 2 } ",
|
||||||
|
" . 1 A B ; 3 c g ~ { ^ ( < C 8 d e k p q s w y z D E F F G G G F F E D z y w s q p k e d 8 C < ( ^ { ~ g c 3 ; B A } ",
|
||||||
|
" . o t = - ; 3 ' g ~ { ^ ( < [ 7 d e i k p u r v w x y z z z z z y x w v r u p k i e d 7 [ < ( ^ { ~ g ' 3 ; - = t } ",
|
||||||
|
" . n o * = - b 3 ' g ~ { ^ / : [ 6 8 d e i k l p p q r s s s s s r q p p l k i e d 8 6 [ : / ^ { ~ g ' 3 b - = * o } ",
|
||||||
|
" . a f & * 2 - b 3 ' g ~ { h ^ _ < [ 7 9 d e e i j k k l m m m l k k j i e e d 9 7 [ < _ ^ h { ~ g ' 3 b - 2 * & f } ",
|
||||||
|
" . | a % & * 2 - b 3 c ) ! ~ ] ^ / : < [ 6 7 0 d d e e e e e e e e e d d 0 7 6 [ < : / ^ ] ~ ! ) c 3 b - 2 * & % a } ",
|
||||||
|
" . @ | $ % 1 * 2 - ; 3 4 ' ! ~ { ] ^ / _ < 5 [ 6 7 7 8 9 0 0 0 9 8 7 7 6 [ 5 < _ / ^ ] { ~ ! ' 4 3 ; - 2 * 1 % $ | } ",
|
||||||
|
" . + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < < [ [ [ [ [ [ [ < < : _ ( / ^ ] { ~ ! ) ' , > ; - = * & % $ # @ } ",
|
||||||
|
" . j.+ @ # $ % & * = B H b 3 4 ' g ! ~ '.] h ^ ^ / ( ( _ _ _ _ _ ( ( / ^ ^ h ] '.~ ! g ' 4 3 b H B = * & % $ # @ + } ",
|
||||||
|
" . } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } ",
|
||||||
|
" . . . . . . . . . . . . . ",
|
||||||
|
" . . . . . . . . k.k.k.k. ",
|
||||||
|
" . . . . . . . . . . k.l.l.l. ",
|
||||||
|
" . . . . . k.l.l.l. ",
|
||||||
|
" . . . . . . . ",
|
||||||
|
" ",
|
||||||
|
" "};
|
7
Temperature.app-1.5/pixmaps/redlight.xpm
Normal file
7
Temperature.app-1.5/pixmaps/redlight.xpm
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * redlight_xpm[] = {
|
||||||
|
"3 2 2 1",
|
||||||
|
" c None",
|
||||||
|
". c #FF0000",
|
||||||
|
"...",
|
||||||
|
"..."};
|
1
wmCalClock-1.25/BUGS
Normal file
1
wmCalClock-1.25/BUGS
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Please send bug reports to mghenderson@lanl.gov
|
61
wmCalClock-1.25/CHANGES
Normal file
61
wmCalClock-1.25/CHANGES
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
wmCalClock changes.
|
||||||
|
|
||||||
|
Version Description
|
||||||
|
------------------------------------------------------------------------------------------------
|
||||||
|
Version 1.25 - released July 2, 1999.
|
||||||
|
Some optimization + ignores double click if no command set (patch from
|
||||||
|
Robert Horn).
|
||||||
|
|
||||||
|
|
||||||
|
Version 1.24 - released March 27, 1999.
|
||||||
|
Added support for additional fonts for time field;
|
||||||
|
|
||||||
|
-tekton for Tekton
|
||||||
|
-arial for Arial (Helvetica) (this is the same font as usual)
|
||||||
|
-luggerbug for LuggerBug (part of AcidFonts).
|
||||||
|
-comicsans for ComicSans
|
||||||
|
-jazz for JazzPoster
|
||||||
|
|
||||||
|
Different width fonts get used depending on whether or not seconds
|
||||||
|
are displayed. Still need to add in a few more fonts... Graphite
|
||||||
|
would be nice! Or EagleFeather (Frank Lloyd Wright inspired font)?
|
||||||
|
|
||||||
|
Version 1.23 - released March 20, 1999.
|
||||||
|
Switched from wmgeneral.c stuff to xutils.c (a more stripped down version
|
||||||
|
of wmgeneral).
|
||||||
|
Centered Calendar text better.
|
||||||
|
Added command line options and code to change colors of the time
|
||||||
|
field digits and the background of the time field. So now you can
|
||||||
|
get things like darkblue on light grey or very dark color on an LCD-ish
|
||||||
|
colored background (e.g. wmCalClock -bc #6e9e69 -tc #001100)..
|
||||||
|
Rewrote the command line parsing routine.
|
||||||
|
|
||||||
|
Version 1.22 - released February 24, 1999.
|
||||||
|
Added double click detection and -e command-line option.
|
||||||
|
|
||||||
|
Version 1.21 - released February 4, 1999.
|
||||||
|
cosmetic for AfterStep users. removed spurious black line at RHS edge an mask.
|
||||||
|
|
||||||
|
Version 1.2 - released January 14, 1999.
|
||||||
|
Changed support for LowColor Pixmap. Now, check for Depth
|
||||||
|
automatically. If its <= 8, then use LowColor.
|
||||||
|
|
||||||
|
|
||||||
|
Version 1.11 - released January 8, 1999.
|
||||||
|
Fixed bug in 12-hour mode. Now displays 12:xx:xx AM instead
|
||||||
|
of 0:xx:xx AM.
|
||||||
|
|
||||||
|
|
||||||
|
Version 1.1 - released January 7, 1999.
|
||||||
|
Added support for LowColor Pixmap. (21 colors may still be a
|
||||||
|
bit high, but the poor saps with 8-bit displays can at least run
|
||||||
|
it now.)
|
||||||
|
|
||||||
|
Version 1.02 - released January 7, 1999.
|
||||||
|
Fixed bug in AM/PM determination...
|
||||||
|
|
||||||
|
Version 1.01 - released January 3, 1999.
|
||||||
|
Added "-S" option to inhibit drawing of seconds.
|
||||||
|
|
||||||
|
Version 1.0 - released December 16, 1998.
|
||||||
|
|
339
wmCalClock-1.25/COPYING
Normal file
339
wmCalClock-1.25/COPYING
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
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., 675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
54
wmCalClock-1.25/HINTS
Normal file
54
wmCalClock-1.25/HINTS
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
Hints for wmCalClock
|
||||||
|
|
||||||
|
Generic.
|
||||||
|
--------
|
||||||
|
% wmCalClock -h
|
||||||
|
|
||||||
|
wmCalClock version: 1.24
|
||||||
|
|
||||||
|
usage: wmCalClock [-b <Volume>] [-tc <Color>] [-bc <Color>] [-e "Command"] [-S]
|
||||||
|
[-24] [-g] [-s] [-l <longitude>] [-l] [-h]
|
||||||
|
|
||||||
|
-b <Volume> Beep on the hour. Volume is between -100 to 100.
|
||||||
|
-tekton Use the Tekton font for time field.
|
||||||
|
-arial Use the Arail (i.e. Helvetica) font for time field.
|
||||||
|
-jazz Use the JazzPoster font for time field.
|
||||||
|
-litterbug Use the Litterbug font for time field.
|
||||||
|
-comicsans Use the ComicSans font for time field.
|
||||||
|
-tc <Color> Color of the time digits (e.g. red or #ff8800).
|
||||||
|
-bc <Color> Background color.
|
||||||
|
-e "Command" Command to execute via double click of mouse button 1.
|
||||||
|
-S Do not show seconds.
|
||||||
|
-24 Show 24-hour time. Default is 12 hour AM/PM Time.
|
||||||
|
-g Show Greenwich time.
|
||||||
|
-s Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
|
||||||
|
-L <Longitude> Show Local Sidereal Time (LST) in 24-hour format.
|
||||||
|
Longitude is in degrees (- for West + for East).
|
||||||
|
-l Use a low-color pixmap to conserve colors. On 8-bit displays the
|
||||||
|
low color pixmap will always be used.
|
||||||
|
-h Display help screen.
|
||||||
|
|
||||||
|
Example: wmCalClock -b 100 -tc #001100 -bc #7e9e69
|
||||||
|
|
||||||
|
|
||||||
|
WindowMaker.
|
||||||
|
------------
|
||||||
|
In WindowMaker simply drag and drop the wmCalClock App on the WindowMaker Dock or Clip.
|
||||||
|
|
||||||
|
|
||||||
|
Afterstep.
|
||||||
|
---------
|
||||||
|
Afterstep users put the following in their .steprc "Wharf wmCalClock - MaxSwallow
|
||||||
|
"wmCalClock" wmCalClock &". Dont use Afterstep so I have no idea if it works...
|
||||||
|
|
||||||
|
Note: AfterStep's Wharf supposedly has a problem with pixmaps that are larger
|
||||||
|
than 60x60 pixels. Please tell the AfterStep authors to fix this, this is not
|
||||||
|
our fault, but a Wharf problem!
|
||||||
|
|
||||||
|
Other window managers.
|
||||||
|
----------------------
|
||||||
|
wmCalClock shows as a 64x64 shaped icon on your desktop under other window
|
||||||
|
managers.
|
||||||
|
|
||||||
|
|
||||||
|
|
24
wmCalClock-1.25/INSTALL
Normal file
24
wmCalClock-1.25/INSTALL
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Installation instructions for wmCalClock.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
--------------------------------------------------------------
|
||||||
|
wmCalClock requires the Xpm library (which should be available on
|
||||||
|
most machines with XFree86 installed).
|
||||||
|
|
||||||
|
Installation
|
||||||
|
--------------------------------------------------------------
|
||||||
|
1) gunzip wmCalClock-x.xx.tar.gz
|
||||||
|
1) tar -xvf wmCalClock-x.xx.tar
|
||||||
|
2) cd wmCalClock-x.xx/Src/
|
||||||
|
3) make
|
||||||
|
4) make install (must be root)
|
||||||
|
5) wmCalClock & (or 'wmCalClock -h' for help, or 'man wmCalClock' for the man page)
|
||||||
|
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
- On FreeBSD, you may need to use gmake.
|
||||||
|
- On Solaris 2.6, -lsocket is required (use the Solaris-specfic
|
||||||
|
LIB line in the Makefile instead of the default one for Linux).
|
||||||
|
- On SGI/IRIX, use gmake (?) or the Makefile.sgi
|
||||||
|
|
32
wmCalClock-1.25/README
Normal file
32
wmCalClock-1.25/README
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
wmCalClock-1.24 release
|
||||||
|
-----------------------
|
||||||
|
Author....: Michael G. Henderson <mghenderson@lanl.gov>
|
||||||
|
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
wmCalClock is a simple Calendar Clock that uses anti-aliased characters and
|
||||||
|
drop shadows. Doesnt do much except tell time...
|
||||||
|
|
||||||
|
|
||||||
|
Files
|
||||||
|
-----
|
||||||
|
README This file.
|
||||||
|
INSTALL Installation instructions.
|
||||||
|
HINTS Hints about what you can do with wmCalClock.
|
||||||
|
BUGS Bug reports
|
||||||
|
CHANGES Change history.
|
||||||
|
COPYING GNU General Public License Version 2.
|
||||||
|
TODO Wish list.
|
||||||
|
|
||||||
|
|
||||||
|
Bugs
|
||||||
|
-----
|
||||||
|
Send bug reports to mghenderson@lanl.gov
|
||||||
|
|
||||||
|
|
||||||
|
Copyright
|
||||||
|
----------
|
||||||
|
wmCalClock is copyright (c) 1998, 1999 by Michael G. Henderson and licensed
|
||||||
|
through the GNU General Public License. Read the COPYING file for the complete
|
||||||
|
GNU license.
|
36
wmCalClock-1.25/Src/Makefile
Normal file
36
wmCalClock-1.25/Src/Makefile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O2 -Wall
|
||||||
|
INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include
|
||||||
|
DESTDIR= /usr/X11R6
|
||||||
|
LIBDIR = -L/usr/X11R6/lib
|
||||||
|
|
||||||
|
# for Linux
|
||||||
|
LIBS = -lXpm -lX11 -lXext
|
||||||
|
|
||||||
|
# for Solaris
|
||||||
|
# LIBS = -lXpm -lX11 -lXext -lsocket -lnsl
|
||||||
|
|
||||||
|
OBJS = wmCalClock.o \
|
||||||
|
xutils.o
|
||||||
|
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) -D$(shell echo `uname -s`) -c $< -o $*.o $(INCDIR)
|
||||||
|
|
||||||
|
|
||||||
|
all: wmCalClock.o wmCalClock
|
||||||
|
|
||||||
|
wmCalClock.o: wmCalClock_master.xpm wmCalClock_mask.xbm
|
||||||
|
wmCalClock: $(OBJS)
|
||||||
|
$(CC) $(COPTS) $(SYSTEM) -o wmCalClock $^ $(INCDIR) $(LIBDIR) $(LIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
for i in $(OBJS) ; do \
|
||||||
|
rm -f $$i; \
|
||||||
|
done
|
||||||
|
rm -f wmCalClock
|
||||||
|
|
||||||
|
install:: wmCalClock
|
||||||
|
install -c -s -m 0755 wmCalClock $(DESTDIR)/bin
|
||||||
|
install -c -m 0644 wmCalClock.1 $(DESTDIR)/man/man1
|
||||||
|
|
36
wmCalClock-1.25/Src/Makefile.sgi
Normal file
36
wmCalClock-1.25/Src/Makefile.sgi
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O2 -Wall
|
||||||
|
INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include
|
||||||
|
DESTDIR= /usr/X11R6
|
||||||
|
LIBDIR = -L/usr/X11R6/lib
|
||||||
|
|
||||||
|
# for Linux, IRIX
|
||||||
|
LIBS = -lXpm -lX11 -lXext
|
||||||
|
|
||||||
|
# for Solaris
|
||||||
|
# LIBS = -lXpm -lX11 -lXext -lsocket -lnsl
|
||||||
|
|
||||||
|
OBJS = wmCalClock.o \
|
||||||
|
xutils.o
|
||||||
|
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $*.o $(INCDIR)
|
||||||
|
|
||||||
|
|
||||||
|
all: wmCalClock.o wmCalClock
|
||||||
|
|
||||||
|
wmCalClock.o: wmCalClock_master.xpm wmCalClock_mask.xbm
|
||||||
|
wmCalClock: $(OBJS)
|
||||||
|
$(CC) $(COPTS) $(SYSTEM) -o wmCalClock $(OBJS) $(INCDIR) $(LIBDIR) $(LIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
for i in $(OBJS) ; do \
|
||||||
|
rm -f $$i; \
|
||||||
|
done
|
||||||
|
rm -f wmCalClock
|
||||||
|
|
||||||
|
install:: wmCalClock
|
||||||
|
install -s -m 0755 wmCalClock $(DESTDIR)/bin
|
||||||
|
install -c -m 0644 wmCalClock.1 $(DESTDIR)/man/man1
|
||||||
|
|
36
wmCalClock-1.25/Src/Makefile.solaris
Normal file
36
wmCalClock-1.25/Src/Makefile.solaris
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O2 -Wall
|
||||||
|
INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include
|
||||||
|
DESTDIR= /usr/X11R6
|
||||||
|
LIBDIR = -L/usr/X11R6/lib
|
||||||
|
|
||||||
|
# for Linux
|
||||||
|
#LIBS = -lXpm -lX11 -lXext
|
||||||
|
|
||||||
|
# for Solaris
|
||||||
|
LIBS = -lXpm -lX11 -lXext -lsocket -lnsl
|
||||||
|
|
||||||
|
OBJS = wmCalClock.o \
|
||||||
|
xutils.o
|
||||||
|
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) -D$(shell echo `uname -s`) -c $< -o $*.o $(INCDIR)
|
||||||
|
|
||||||
|
|
||||||
|
all: wmCalClock.o wmCalClock
|
||||||
|
|
||||||
|
wmCalClock.o: wmCalClock_master.xpm wmCalClock_mask.xbm
|
||||||
|
wmCalClock: $(OBJS)
|
||||||
|
$(CC) $(COPTS) $(SYSTEM) -o wmCalClock $^ $(INCDIR) $(LIBDIR) $(LIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
for i in $(OBJS) ; do \
|
||||||
|
rm -f $$i; \
|
||||||
|
done
|
||||||
|
rm -f wmCalClock
|
||||||
|
|
||||||
|
install:: wmCalClock
|
||||||
|
install -s -m 0755 wmCalClock $(DESTDIR)/bin
|
||||||
|
install -c -m 0644 wmCalClock.1 $(DESTDIR)/man/man1
|
||||||
|
|
65
wmCalClock-1.25/Src/wmCalClock.1
Normal file
65
wmCalClock-1.25/Src/wmCalClock.1
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
.TH WMCALCLOCK 1 "16 December 1998"
|
||||||
|
.SH NAME
|
||||||
|
WMCALCLOCK \- Dockable Calendar Clock
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B wmCalClock
|
||||||
|
[-h] [-display <Display>] [-b <Volume>] [-e <Command>] [-24] [-s] [-S] [-L <Longitude>] [-l] [-tc <color>] [-bc <color>] [-tekton] [-comicsans] [-arial] [-luggerbug] [-jazz]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
wmCalClock is a simple Calendar Clock with anti-aliased text and drop-shadows.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.B \-h
|
||||||
|
Display list of command-line options.
|
||||||
|
.TP
|
||||||
|
.B \-display [display]
|
||||||
|
Use an alternate X Display.
|
||||||
|
.TP
|
||||||
|
.B \-b <Volume>
|
||||||
|
Beep on the hour with specified volume (between -100 and 100).
|
||||||
|
.TP
|
||||||
|
.B \-e <Command>
|
||||||
|
Command to execute via double click of mouse button 1. (Use quotes if your command
|
||||||
|
has white space in it).
|
||||||
|
.TP
|
||||||
|
.B \-24
|
||||||
|
Show time in 24-hour format instead of default 12-hour AM/PM format.
|
||||||
|
.TP
|
||||||
|
.B \-s
|
||||||
|
Show Greenwich Mean Sidereal Time (GMST) in 24-hour format.
|
||||||
|
.TP
|
||||||
|
.B \-S
|
||||||
|
Dont show seconds.
|
||||||
|
.TP
|
||||||
|
.B \-L <Longitude>
|
||||||
|
Show Local Sidereal Time (LST) in 24-hour format. Longitude is in degrees
|
||||||
|
(- for West + for East).
|
||||||
|
.TP
|
||||||
|
.B \-l
|
||||||
|
Force use of lower color pixmap to conserve colors. On displays with <= 8 bits,
|
||||||
|
the low color Pixmap will always be used.
|
||||||
|
.TP
|
||||||
|
.B \-tc <color>
|
||||||
|
Change color of time-field digits.
|
||||||
|
.TP
|
||||||
|
.B \-bc <color>
|
||||||
|
Change color of time-field background.
|
||||||
|
.TP
|
||||||
|
.B \-tekton
|
||||||
|
Use the Tekton font for time field.
|
||||||
|
.TP
|
||||||
|
.B \-arial
|
||||||
|
Use the Arial (i.e. Helvetica) font for time field.
|
||||||
|
.TP
|
||||||
|
.B \-jazz
|
||||||
|
Use the JazzPoster font for time field.
|
||||||
|
.TP
|
||||||
|
.B \-luggerbug
|
||||||
|
Use the LuggerBug font for time field.
|
||||||
|
.TP
|
||||||
|
.B \-comicsans
|
||||||
|
Use the ComicSans font for time field.
|
||||||
|
.SH BUGS
|
||||||
|
Who knows? (Let me know if you find any).
|
||||||
|
.SH AUTHOR
|
||||||
|
Michael G. Henderson <mghenderson@lanl.gov>
|
1029
wmCalClock-1.25/Src/wmCalClock.c
Normal file
1029
wmCalClock-1.25/Src/wmCalClock.c
Normal file
File diff suppressed because it is too large
Load diff
38
wmCalClock-1.25/Src/wmCalClock_mask.xbm
Normal file
38
wmCalClock-1.25/Src/wmCalClock_mask.xbm
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#define wmCalClock_mask_width 64
|
||||||
|
#define wmCalClock_mask_height 64
|
||||||
|
static char wmCalClock_mask_bits[] = {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00};
|
347
wmCalClock-1.25/Src/wmCalClock_master.xpm
Normal file
347
wmCalClock-1.25/Src/wmCalClock_master.xpm
Normal file
|
@ -0,0 +1,347 @@
|
||||||
|
/* XPM */
|
||||||
|
static char *wmCalClock_master[] = {
|
||||||
|
/* width height num_colors chars_per_pixel */
|
||||||
|
" 499 165 175 2",
|
||||||
|
/* colors */
|
||||||
|
".. c #000000",
|
||||||
|
".# c #020204",
|
||||||
|
".a c #0e0e0c",
|
||||||
|
".b c #0e0e14",
|
||||||
|
".c c #0e1214",
|
||||||
|
".d c #1c0000",
|
||||||
|
".e c #121214",
|
||||||
|
".f c #121614",
|
||||||
|
".g c #161614",
|
||||||
|
".h c #16161c",
|
||||||
|
".i c #161a1c",
|
||||||
|
".j c #181818 s Back",
|
||||||
|
".k c #1e1e24",
|
||||||
|
".l c #1e2224",
|
||||||
|
".m c #380000",
|
||||||
|
".n c #313115 s Color1",
|
||||||
|
".o c #222224",
|
||||||
|
".p c #222624",
|
||||||
|
".q c #262624",
|
||||||
|
".r c #26262c",
|
||||||
|
".s c #262a2c",
|
||||||
|
".t c #2a2a2c",
|
||||||
|
".u c #2a2e2c",
|
||||||
|
".v c #2e2e2c",
|
||||||
|
".w c #2e2e34",
|
||||||
|
".x c #282c38",
|
||||||
|
".y c #2e3234",
|
||||||
|
".z c #283038",
|
||||||
|
".A c #323234",
|
||||||
|
".B c #323634",
|
||||||
|
".C c #32363c",
|
||||||
|
".D c #36363c",
|
||||||
|
".E c #363a3c",
|
||||||
|
".F c #3a3a3c",
|
||||||
|
".G c #3a3e3c",
|
||||||
|
".H c #303040",
|
||||||
|
".I c #303440",
|
||||||
|
".J c #303840",
|
||||||
|
".K c #3a3e44",
|
||||||
|
".L c #3e3e44",
|
||||||
|
".M c #383848",
|
||||||
|
".N c #383c48",
|
||||||
|
".O c #3e4244",
|
||||||
|
".P c #384048",
|
||||||
|
".Q c #550000",
|
||||||
|
".R c #710000",
|
||||||
|
".S c #4a4a12 s Color2",
|
||||||
|
".T c #656510 s Color3",
|
||||||
|
".U c #7e7e0d s Color4",
|
||||||
|
".V c #424244",
|
||||||
|
".W c #424644",
|
||||||
|
".X c #404048",
|
||||||
|
".Y c #42464c",
|
||||||
|
".Z c #46464c",
|
||||||
|
".0 c #464a4c",
|
||||||
|
".1 c #4a4a4c",
|
||||||
|
".2 c #4a4e4c",
|
||||||
|
".3 c #404050",
|
||||||
|
".4 c #404450",
|
||||||
|
".5 c #404850",
|
||||||
|
".6 c #484850",
|
||||||
|
".7 c #4a4e54",
|
||||||
|
".8 c #4e4e54",
|
||||||
|
".9 c #484858",
|
||||||
|
"#. c #484c58",
|
||||||
|
"## c #4e5254",
|
||||||
|
"#a c #485058",
|
||||||
|
"#b c #525254",
|
||||||
|
"#c c #52565c",
|
||||||
|
"#d c #56565c",
|
||||||
|
"#e c #565a5c",
|
||||||
|
"#f c #5a5e5c",
|
||||||
|
"#g c #505060",
|
||||||
|
"#h c #505460",
|
||||||
|
"#i c #5a5e64",
|
||||||
|
"#j c #5e5e64",
|
||||||
|
"#k c #5e6264",
|
||||||
|
"#l c #62626c",
|
||||||
|
"#m c #62666c",
|
||||||
|
"#n c #666a6c",
|
||||||
|
"#o c #666a74",
|
||||||
|
"#p c #6a6e74",
|
||||||
|
"#q c #6a7274",
|
||||||
|
"#r c #6e7274",
|
||||||
|
"#s c #6e727c",
|
||||||
|
"#t c #6e767c",
|
||||||
|
"#u c #72767c",
|
||||||
|
"#v c #727a7c",
|
||||||
|
"#w c #767a7c",
|
||||||
|
"#x c #767a84",
|
||||||
|
"#y c #767e84",
|
||||||
|
"#z c #7a7e84",
|
||||||
|
"#A c #7a8284",
|
||||||
|
"#B c #7e8284",
|
||||||
|
"#C c #7e828c",
|
||||||
|
"#D c #7e868c",
|
||||||
|
"#E c #8d0000",
|
||||||
|
"#F c #aa0000",
|
||||||
|
"#G c #c60000",
|
||||||
|
"#H c #e20000",
|
||||||
|
"#I c #ff0000",
|
||||||
|
"#J c #97970a s Color5",
|
||||||
|
"#K c #b2b208 s Color6",
|
||||||
|
"#L c #cbcb05 s Color7",
|
||||||
|
"#M c #e4e402 s Color8",
|
||||||
|
"#N c #ffff00 s Color9",
|
||||||
|
"#O c #82868c",
|
||||||
|
"#P c #828a8c",
|
||||||
|
"#Q c #868a8c",
|
||||||
|
"#R c #868a94",
|
||||||
|
"#S c #868e94",
|
||||||
|
"#T c #8a8e94",
|
||||||
|
"#U c #8a9294",
|
||||||
|
"#V c #8a929c",
|
||||||
|
"#W c #8e929c",
|
||||||
|
"#X c #8e969c",
|
||||||
|
"#Y c #92969c",
|
||||||
|
"#Z c #929a9c",
|
||||||
|
"#0 c #929aa4",
|
||||||
|
"#1 c #969aa4",
|
||||||
|
"#2 c #969ea4",
|
||||||
|
"#3 c #9a9ea4",
|
||||||
|
"#4 c #9aa2a4",
|
||||||
|
"#5 c #98a0a8",
|
||||||
|
"#6 c #9aa2ac",
|
||||||
|
"#7 c #9ea2ac",
|
||||||
|
"#8 c #9ea6ac",
|
||||||
|
"#9 c #a2a6ac",
|
||||||
|
"a. c #a2aaac",
|
||||||
|
"a# c #a0a4b0",
|
||||||
|
"aa c #a2aab4",
|
||||||
|
"ab c #a6aab4",
|
||||||
|
"ac c #a6aeb4",
|
||||||
|
"ad c #aaaeb4",
|
||||||
|
"ae c #aab2bc",
|
||||||
|
"af c #aeb2bc",
|
||||||
|
"ag c #aeb6bc",
|
||||||
|
"ah c #b2b6bc",
|
||||||
|
"ai c #b2b6c4",
|
||||||
|
"aj c #b2bac4",
|
||||||
|
"ak c #b6bac4",
|
||||||
|
"al c #b6bec4",
|
||||||
|
"am c #babecc",
|
||||||
|
"an c #bac2cc",
|
||||||
|
"ao c #bec2cc",
|
||||||
|
"ap c #bec6cc",
|
||||||
|
"aq c #bec6d4",
|
||||||
|
"ar c #c2cad4",
|
||||||
|
"as c #c6cad4",
|
||||||
|
"at c #c6ced4",
|
||||||
|
"au c #c6cedc",
|
||||||
|
"av c #c8ccd8",
|
||||||
|
"aw c #cacedc",
|
||||||
|
"ax c #c8d0d8",
|
||||||
|
"ay c #cad2dc",
|
||||||
|
"az c #ced6dc",
|
||||||
|
"aA c #d0d0d0",
|
||||||
|
"aB c #d0d0d8",
|
||||||
|
"aC c #ced6e4",
|
||||||
|
"aD c #d0d0e0",
|
||||||
|
"aE c #d0d4e0",
|
||||||
|
"aF c #d0d8e0",
|
||||||
|
"aG c #d2dae4",
|
||||||
|
"aH c #d8d8e0",
|
||||||
|
"aI c #d8d8e8",
|
||||||
|
"aJ c #d8dce8",
|
||||||
|
"aK c #d8e0e8",
|
||||||
|
"aL c #e0e0f0",
|
||||||
|
"aM c #e0e4f0",
|
||||||
|
"aN c #e0e8f0",
|
||||||
|
"aO c #e8e8f8",
|
||||||
|
"aP c #e8ecf8",
|
||||||
|
"aQ c #e8f0f8",
|
||||||
|
"aR c #f0f0f8",
|
||||||
|
"aS c #f0f4f8",
|
||||||
|
/* pixels */
|
||||||
|
"aSaSaRaRaRaQaQaQaPaPaPaPaPaPaPaOaOaNaNaNaNaMaMaMaMaMaMaLaLaKaKaKaKaJaJaJaJaJaJaJaIaHaFaFaFaFaEaEaEaEaEaEaDaBaxaxaxaxaxavavava#........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aSaRaRaRaQaQaQaPaPaPaPaPaPaPaOaOaNaNaNaNaMaMaMaMaMaMaLaLaKaKaKaKaJaJaJaJaJaJaJaIaHaFaFaFaFaEaEaEaEaEaEaDaBaxaxaxaxaxavavavav#h........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aRaR#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#h........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aRaR#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#h........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aRaQ#5#5................................................................................................................#5#5#h........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aQaQ#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#h........................aGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.0.0.0#WaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.0.0.0#wanaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGan#W#k.0.0.0#vaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.0.0.0#WaGaGaGaGaGaGaGaGaGaGaGaGan#W#W#W#W#WaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.0.0.0#wanaGaGaGaGaGaGaGaGaa#W#W#W#W#W#W#U#U#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W.0.0.0aaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.0.0.0#WaGaGaGaGaGaGan#W#W#W#W#W#W#U#U#U#U#U#U#WaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.0.0.0#wanaGaGaGaGaGaGaGaGaGaG#W.0.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaG",
|
||||||
|
"aQaQ#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#g........................aGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.h#TaCaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.i.#.#.#.#.#.##iazaCaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGan.y.#.#.#.#.#.#.#.#.YalaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.h#TaCaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.YazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.i.#.#.#.#.#.##iazaCaGaGaGaGaG.0.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaG#w.i.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.h#TaCaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaa.i.#.#.#.#.#.##iazaCaGaGaGaGaG#w.#.#.#.#.#.#.#.halaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaa.i.#.#.#.#.#.#.walaCaGaGaGaGaG",
|
||||||
|
"aQaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#g........................aGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.##3ayaCaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.##datazaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGan.#.#.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.##3ayaCaGaGaGaGaGaG#w.#.#.#.#.#.#.LaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.##datazaGaGaGaG.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGan.i.#.#.#.#.#.#.##BarayaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.##3ayaCaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqayaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.##datazaGaGaG#k.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaG#W.#.#.#.#.#.#.#.#.#.gagazaGaGaGaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#g........................aG#k.#.#.#.#.q.p.#.#.#.##barazaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.e.D.#.#.#.#.faoawaCaGaa.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.E.e.#.#.#.##WasazaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaG.h.#.#.F.D.p.#.#.#.#.##masazaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.e.D.#.#.#.#.faoawaCaGaGaGaGan.i.#.#.#.#.#.#.DagaqazaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.E.e.#.#.#.##WasazaGaGaG.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaGaGaa.#.#.#.#.#.#.q.D.D#OajarazaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.e.D.#.#.#.#.faoawaC#U.#.#.#.#.#.#.#.#.#.#.#.#.eaaaharazaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.E.e.#.#.#.##WasazaGaa.#.#.#.#.E#p#i.#.#.#.#.LarazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGan.i.#.#.#.#.E.D.#.#.#.#.sarazaGaGaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#a........................aG.#.#.#.##i#1#1#e.#.#.#.##8arazaG.#.#.#.##i#1#1#e.#.#.#.##8arazaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.p#1#1#T.#.#.#.##kaoayaGaG.#.#.#.s.#.#.#.##k#9anayaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#0#1.o.#.#.#.pakataCaG.h.u#Taa#7#8#p.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#1#1#e.#.#.#.##8arazaG#i#raj#9#3#7#W.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.p#1#1#T.#.#.#.##kaoayaGaGaGaG#k.#.#.g.E.#.#.#.y#9anayaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#0#1.o.#.#.#.pakataCaGaa.#.#.#.W#k#k#k#k#k#l#QabanayaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#1#1#e.#.#.#.##8arazaGan.i.#.#.#.f#i#7#2#2#7abajarazaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.p#1#1#T.#.#.#.##kaoayan#S#B#r#m#l#k#k#k.c.#.#.####1aeaqazaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#0#1.o.#.#.#.pakataC#k.#.#.#.e#1#1#6.0.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#1#1#e.#.#.#.##8araz#k.#.#.#.e#T#1#2#n.#.#.#.##UarazaGaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#a........................#w.#.#.#.e#0#0#8ae.e.#.#.##iakat#u.#.#.#.e#0#0#8ae.e.#.#.##iakataCaGaGaGaGaGaGaGaGaGaGan.#.#.#.##u#Y#7ad.7.#.#.#.oagasaCaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.Z#W#Y#8#P.#.#.#.##ZanayaG#Tarajadadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.e#0#0#8ae.e.#.#.##iakataCaCawanafadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##u#Y#7ad.7.#.#.#.oagasaCaGaGaa.#.#.##m.D.#.#.#.w#6alayaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.Z#W#Y#8#P.#.#.#.##ZanayaG#U.#.#.##B#U#Z#3#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.e#0#0#8ae.e.#.#.##iakataC#k.#.#.#.F#W#3#6#8abagalaqayaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##u#Y#7ad.7.#.#.#.oagasazazaqag#9#7#6#6#z.#.#.#.##S#1agasaCaGaGaGaGaGaGaGaGaGaG.y.#.#.#.Z#W#Y#8#P.#.#.#.##Zanay.Z.#.#.#.A#Y#7ae#x.#.#.#.##9alataCaGaGaGaGaGaGaGaGaGaG#w.#.#.#.e#0#0#8ae.e.#.#.##iakat.h.#.#.#.Z#0#3aaae.F.#.#.#.DakataCaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#a.........................0.#.#.#.A#Y#8aiap.O.#.#.#.Aacap.Z.#.#.#.A#Y#8aiap.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##W#1aeao#C.#.#.#.#aaanayaGazarajac.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##m#X#7aiap.#.#.#.##nagataCaCayaranapasat.V.#.#.#.l#8amayaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.A#Y#8aiap.O.#.#.#.AacapazaGazauaqaqasag.g.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##W#1aeao#C.#.#.#.#aaanayaGaG.i.#.#.fab.D.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##m#X#7aiap.#.#.#.##nagataC#T.#.#.##W#ZaaahalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.A#Y#8aiap.O.#.#.#.Aacapal.#.#.#.f#U#3#p#u#zanarawazaCaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##W#1aeao#C.#.#.#.#aaanayaCayaqanalalal.s.#.#.#.O#U#6alayaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##m#X#7aiap.#.#.#.##nagat.Z.#.#.#.c#1aeap#r.#.#.#.k#0adaqazaGaGaGaGaGaGaGaGaGaG.0.#.#.#.A#Y#8aiap.O.#.#.#.Aacap.#.#.#.##m#1acalar#C.#.#.#.eacapazaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................h.#.#.####1aearay#S.#.#.#.c#8am.h.#.#.####1aearay#S.#.#.#.c#8amayaGaGaGaGaGaGaGaGaGaG#k.#.#.#.l#W#6alauay.#.#.#.##wagataCaCayaran.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.##B#1aearay.Y.#.#.#.OabapazaGaCazazazaCaC.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaG.h.#.#.####1aearay#S.#.#.#.c#8amayaGaG#T#T#T#i.h.#.#.#.o#W#8anayaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.l#W#6alauay.#.#.#.##wagataC#w.#.#.##k#8.E.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.##B#1aearay.Y.#.#.#.Oabapaz.Z.#.#.#.#.#.#.O#qauayayazaCaGaGaGaGaGaGaGaGaGaGaGaG.h.#.#.####1aearay#S.#.#.#.c#8am#t.#.#.#.D.Y.#.#.#.#.##iayaCaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.l#W#6alauay.#.#.#.##wagasaCaCazayayay#R.#.#.#.##C#YaaaoazaGaGaGaGaGaGaGaGaGaGaa.#.#.#.##B#1aearay.Y.#.#.#.Oabap#8.#.#.#.#.o#T#3.#.#.#.##j#YacapazaGaGaGaGaGaGaGaGaGaG.h.#.#.####1aearay#S.#.#.#.c#8al.#.#.#.####3ajataz#S.#.#.#.##7alayaG",
|
||||||
|
"aPaP#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................#.#.#.##k#3ajawaG#T.#.#.#.##3ak.#.#.#.##k#3ajawaG#T.#.#.#.##3akawaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#XaaaoazaC.#.#.#.##kaaapazaGaCazay.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#3ajawaC.Z.#.#.#.y#8amayaGaGaGaGaGaGan.#.#.#.##k#6alayaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#3ajawaG#T.#.#.#.##3akawaGaG.#.#.#.#.#.#.#.7#2#1acapazaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#XaaaoazaC.#.#.#.##kaaapal.#.#.#.s#8#8.G.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#3ajawaC.Z.#.#.#.y#8amay.Z.#.#.#.#.#.#.#.#.gajazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#3ajawaG#T.#.#.#.##3ak.Y.#.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#XaaaoazaC.#.#.#.##kaaapazaGaGaGaGaG.h.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaG#W.#.#.#.##T#3ajawaC.Z.#.#.#.y#8amay.Y.#.#.#.#.#.#.#.#.#.W#W#3agataCaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#3ajawaG#T.#.#.#.##3aj.u.#.#.#.b#Talayan.w.#.#.#.##1agasaC",
|
||||||
|
"aPaO#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................#.#.#.##k#6alayaG#U.#.#.#.##1af.#.#.#.##k#6alayaG#U.#.#.#.##1agasaCaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#1afaraCaG.#.#.#.##j#7amayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#3alayaG.Z.#.#.#.y#6alayaGaGaGaGaGaG.i.#.#.#.e#W#8amayaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#6alayaG#U.#.#.#.##1agasaCaG.#.#.#.#.#.#.r#e#3#9akataCaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#1afaraCaG.#.#.#.##j#7am.Y.#.#.##C#3ab.L.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#3alayaG.Z.#.#.#.y#6alay.h.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#6alayaG#U.#.#.#.##1ag.#.#.#.#.#.#.#.#.#.#.#.#.###arazaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#1afaraCaG.#.#.#.##j#7amayaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#3alayaG.Z.#.#.#.y#6alayay#p.#.#.#.#.#.#.#.o#D#YaaanayaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##k#6alayaG#U.#.#.#.##1af#p.#.#.#.#.#.K.V.#.#.#.#.#.##Wabapaz",
|
||||||
|
"aOaO#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................#.#.#.##j#6alayaG#U.#.#.#.##Waa.#.#.#.##j#6alayaG#U.#.#.#.##WaaapazaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#3ajawaGaG.#.#.#.##i#6alayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6alayaGaGaGaGaG.0.#.#.#.##l#YabapazaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##j#6alayaG#U.#.#.#.##WaaapazaG.#.#.#.#.#.#.#.#.e#4arazaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#3ajawaGaG.#.#.#.##i#6#X.#.#.#.2#2#6ah.V.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6alay.Z#S#z#p##.w.#.#.#.#.###asazaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##j#6alayaG#U.#.#.#.##Waa.#.#.#.#.#.7#Y#2#v.c.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#3ajawaGaG.#.#.#.##i#6alayaGaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6alay#T.g.#.#.#.#.#.#.#.#.c#TaiataCaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##j#6alayaG#U.#.#.#.##Waaan.g.#.#.#.#.#.#.#.#.#.#.#.a#U#8anay",
|
||||||
|
"aOaN#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................#.#.#.##i#6alayaG#U.#.#.#.##T#7.#.#.#.##i#6alayaG#U.#.#.#.##T#7amayaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaG.#.#.#.##i#6alayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6alayaGaGaGaG.0.#.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG#U.#.#.#.##T#7amayaGayanab#R.O.#.#.#.#.sarazaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaG.#.#.#.##i#6.f.#.#.#.o.A.D.L.g.#.#.#.c.C.LayaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6alayaGazaqaf#9#6#T.e.#.#.#.eakataCaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG#U.#.#.#.##T#7.#.#.#.#.G#R#X#3#6#e.#.#.#.##pakataCaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaG.#.#.#.##i#6alayaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaG.Z.#.#.#.y#6al#R.#.#.#.#.W#i.k.#.#.#.#.eaaawaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG#U.#.#.#.##T#7alag.t.#.#.#.#.#.#.F.#.#.#.w#Waaapaz",
|
||||||
|
"aNaN#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5#..........................w.#.#.#.L#6alayaG#k.#.#.#.k#T#7.s.#.#.#.L#6alayaG#k.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaG#v.#.#.#.c#6alayaGaa.#.#.#.##z#6alayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##p#6alayaG.h.#.#.####6alayaGaGaG.0.#.#.#.#.D#Y#0abanayaGaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7amayaGazaqag#9#7#n.#.#.#.##UarazaGaGaGaGaGaGaGaGaGaGaG#v.#.#.#.c#6alayaGaa.#.#.#.##z#3.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#asazaCaGaGaGaGaGaGaGaGaGan.#.#.#.##p#6alayaG.h.#.#.####6alayaGaCayaqanalak#k.#.#.#.#abanayaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7.#.#.#.##e#U#6aeakal.#.#.#.##macapazaGaGaGaGaGaGaGaGaG#v.#.#.#.c#6alayaGaa.#.#.#.##z#6alayaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##p#6alayaG.h.#.#.####6al.#.#.#.##i#1#Y#1#n.#.#.#.##marazaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7amauat#V.0.A.A#c#T.o.#.#.#.7#1afasaC",
|
||||||
|
"aNaN#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5.9.........................Z.#.#.#.w#6alayaG.Z.#.#.#.w#Waa.L.#.#.#.w#6alayaG.Z.#.#.#.w#WaaapazaGaGaGaGaGaGaGaGaG#U.#.#.#.##3akawaG#U.#.#.#.##S#6alayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG.#.#.#.##k#6alayaGan.y.#.#.#.#.D#0#0#9akataCaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.w#6alayaG.Z.#.#.#.w#WaaapazaGaCayaqanalaj.#.#.#.##pakataCaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##3akawaG#U.#.#.#.##S#6.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#akaqayaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG.#.#.#.##k#6alayaGaGaCazayayaw#O.#.#.#.##3agataCaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.w#6alayaG.Z.#.#.#.w#Waa.s.#.#.#.7#0aeapauay.#.#.#.##j#8amayaGaGaGaGaGaGaGaGaG#U.#.#.#.##3akawaG#U.#.#.#.##S#6alayaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaG.#.#.#.##k#6#z.#.#.#.##2#1#7aeai.r.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.w#6alayaG.Z.#.#.#.w#Waaaoayazarakac#8#8#p.#.#.#.##A#3akawaG",
|
||||||
|
"aNaN#5#5...j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.jaA#5#5.9........................#T.#.#.#.##Takawan.#.#.#.##k#1af#D.#.#.#.##Takawan.#.#.#.##k#1agasaCaGaGaGaGaGaGaGaGaGaG.#.#.#.##cagasaC.w.#.#.#.w#T#7amayaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Y.#.#.#.k#3alay#v.#.#.#.##W#6alayan.i.#.#.#.##p#0#0#8ajarazaGaGaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##Takawan.#.#.#.##k#1agagaCaGaGaCazayay#4.#.#.#.##macapazaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##cagasaC.w.#.#.#.w#T#7.K.L.F.A.y.A.B.D.e.#.#.#.a.w.AaaajarazaGaGaGaGaGaGaGaGaG.Y.#.#.#.k#3alay#v.#.#.#.##W#6alayaGaGaGaGaGaGaG.Z.#.#.#.k#YacapazaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##Takawan.#.#.#.##k#1af#d.#.#.#.b#3ajauaC#T.#.#.#.##z#6alayaGaGaGaGaGaGaGaGaGaG.#.#.#.##cagasaC.w.#.#.#.w#T#7amayaGan.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Y.#.#.#.k#3alay#v.#.#.#.##W#6#z.#.#.#.##B#1aeapat.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##Takawan.#.#.#.##k#1agasaCaGazatapan#z.#.#.#.#.V#W#8alayaG",
|
||||||
|
"aNaM#5#5aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaA#5#5.9........................aG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alau.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alayaGaGaGaGaGaGaGaGaGaGaG#i.#.#.#.c#Dao#u.#.#.#.##p#WaaapazaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG#8.#.#.#.##eaj#6.h.#.#.#.O#W#8amaj.h.#.#.#.#.e.A.A.D.K.V.Za.aGaGaGaGaGaGaGaGaGaGaGaGaGaG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7al#R.h#k#WaGaGaG#v.h.#.#.#.##U#8anayaGaGaGaGaGaGaGaGaGaGaG#i.#.#.#.c#Dao#u.#.#.#.##p#Waaamanagaa#7#7#8aa.D.#.#.#.w#U#2aaajarazaGaGaGaGaGaGaGaGaG#8.#.#.#.##eaj#6.h.#.#.#.O#W#8am#S.Z#WanaGaGaa.Z.#.#.#.#.8#YacapazaGaGaGaGaGaGaGaGaGaGaG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alag.#.#.#.#.B#8aua..h.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaG#i.#.#.#.c#Dao#u.#.#.#.##p#WaaapazaG#k.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#8.#.#.#.##eaj#6.h.#.#.#.O#W#8#X.#.#.#.#.w#3ajau#T.#.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alayaGaGaGal#S.w.#.#.#.#.e#D#0acapazaG",
|
||||||
|
"aMaM#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5.6........................aG#T.#.#.#.#.#.#.#.#.#.##l#Yaaaoay#S.#.#.#.#.#.#.#.#.#.##l#YaaaoazaGaGaGaGaGaGaGaGaGaGaGal.g.#.#.#.#.#.#.#.#.#.A#W#2agataCaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.#.e#C#Yabap.#.#.#.#.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.#.#.#.#.#.#.##l#Yaaao.Z.#.#.#.#.#.#.#.#.#.#.#.7#T#8anayaGaGaGaGaGaGaGaGaGaGaGal.g.#.#.#.#.#.#.#.#.#.A#W#2agarataqanalalalal.L.#.#.#.w#ZabakaqayaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.#.e#C#Yabap#i.#.#.#.#.#.#.#.#.#.#.o#W#3agataCaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.#.#.#.#.#.#.##l#Yaaaoay#s.#.#.#.#.#.#.#.#.#.#.##z#WaaapazaGaGaGaGaGaGaGaGaGaGal.g.#.#.#.#.#.#.#.#.#.A#W#2agataCan.#.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.#.e#C#Yabao.u.#.#.#.#.e.K.u.#.#.#.#.e#W#8anayaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.#.#.#.#.#.#.##l#Yaaaoaz#U.#.#.#.#.#.#.#.#.e#O#0#9akataCaG",
|
||||||
|
"aMaM#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5.5........................aGaC.V.#.#.#.#.#.#.#.#.A#W#3agataCaC.V.#.#.#.#.#.#.#.#.A#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaC#Q.#.#.#.#.#.#.#.#.e#D#ZaaanayaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaj.g.#.#.#.#.#.#.#.##m#Y#8akat.#.#.#.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.A#W#3agat.h.#.#.#.#.#.#.#.#.#.#.W#T#YabapazaGaGaGaGaGaGaGaGaGaGaGaC#Q.#.#.#.#.#.#.#.#.e#D#ZaaanayaCazayayayayay.Y.#.#.#.y#3aiasazaCaGaGaGaGaGaGaGaGaGaGaGaj.g.#.#.#.#.#.#.#.##m#Y#8akat.w.#.#.#.#.#.#.#.#.#.D#O#0abanayaGaGaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.A#W#3agatazaz.O.#.#.#.#.#.#.#.#.##m#W#3agataCaGaGaGaGaGaGaGaGaGaGaC#Q.#.#.#.#.#.#.#.#.e#D#ZaaanayaG#k.#.#.#.##D#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaj.g.#.#.#.#.#.#.#.##m#Y#8akataj.g.#.#.#.#.#.#.#.#.#.e#D#0acapazaGaGaGaGaGaGaGaGaGaGaGaC.V.#.#.#.#.#.#.#.#.A#W#3agataC#W.#.#.#.#.#.#.#.p#P#0#8ajarazaGaG",
|
||||||
|
"aMaM#5#5................................................................................................................#5#5.5........................aGaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaz#2.r.#.#.#.#.#.W#Y#Z#9akataCaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCag##.#.#.#.#.#.o#Q#Z#6agaraz.#.#.#.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaGay#o.e.#.#.#.#.e#m#Y#1abanaya..Z.#.#.#.#.#.#.#.o#v#Y#Z#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaz#2.r.#.#.#.#.#.W#Y#Z#9akataCaGaGaGaGaGaGaG.Z.#.#.#.A#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaCag##.#.#.#.#.#.o#Q#Z#6agaraz#k.h.#.#.#.#.#.#.o#c#Z#1#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaCat#z.e.#.#.#.#.#.o#Q#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaz#2.r.#.#.#.#.#.W#Y#Z#9akataCan.#.#.#.#.V#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCag##.#.#.#.#.#.o#Q#Z#6agarazazat##.e.#.#.#.#.#.#.0#P#0#9akataCaGaGaGaGaGaGaGaGaGaGaGaGay#o.e.#.#.#.#.e#m#Y#1abanayaG#W.#.#.#.#.#.C#w#0#1#9ajarazaGaGaG",
|
||||||
|
"aMaM#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.5........................aGaGaCatal#O#n#m#t#Y#0#3abalataCaGaGaCatal#O#n#m#t#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGayao#2#o#m#l#W#W#0#9ajarazaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj#p#m#k#C#Y#0#6aeaoayaCayanab#0#U#S#S#T#W#W#W#W#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaCatal#O#n#m#t#Y#0#3abalataCaGazar#R#n#m#k#t#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGayao#2#o#m#l#W#W#0#9ajarazaGaGaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj#p#m#k#C#Y#0#6aeaoayaGaGazar#u#n#m#k#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCatal#O#n#m#t#Y#0#3abalataCaGaGazasak#Z#n#m#l#X#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGaGayao#2#o#m#l#W#W#0#9ajarazaGaGaGauak#8#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj#p#m#k#C#Y#0#6aeaoayaGaGazasak#Z#o#n#p#A#6#1#1#9ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaCatal#O#n#m#t#Y#0#3abalataCaGan#T#B#r#R#Y#Y#0#3abakarazaGaGaGaG",
|
||||||
|
"aMaM#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................aGaGaGazatanagab#8#8abaganatazaGaGaGaGazatanagab#8#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCawaoahab#8#7#8acakarazaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazarakac#8#7#8abahaoawaCaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaGaGaGazatanagab#8#8abaganatazaGaGaCatalad#8#7#6#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCawaoahab#8#7#8acakarazaGaGaGaGaGaGaGaGaGaGazaqagabagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazarakac#8#7#8abahaoawaCaGaGaCatalad#8#7#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatanagab#8#8abaganatazaGaGaGaGazatanagab#8#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCawaoahab#8#7#8acakarazaGaGaGaCatalac#9acalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazarakac#8#7#8abahaoawaCaGaGaGazatanahacaaaa#9#9acakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatanagab#8#8abaganatazaGaGaGazaqag#9#7#8abaganatazaGaGaGaGaG",
|
||||||
|
"aMaL#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................aGaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapamalamapatazaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatapamalamapatayaCaGaGaCayaqanalalalalalalalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGazatapanalalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapamalamapatazaGaGaGaGaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatapamalamapatayaCaGaGaGaGazatapanalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaCayatapamalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapamalamapatazaGaGaGaGaGayarananapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatapamalamapatayaCaGaGaGaGaGaCayatapanalalanapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGaCayaqanalamapatayaCaGaGaGaGaGaG",
|
||||||
|
"aLaL#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................aGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaCazayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaG",
|
||||||
|
"aLaK#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aKaK#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"aKaK#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.4........................aGaGaGaGaG#W#W#W#WaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W#W#WaaaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#W#W#WaGaGaGaGaGaGaGaGan#W#k.0.0.0#vaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGaGaGaGaGaGaGan#W#W#W#W#WaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W#W#WaaaGaGaGaGaGaGaGaGaa#W#W#W#W#W#W#U#U#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#W#W#WaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W.0.0.0aaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGan#W#W#W#W#W#W#U#U#U#U#U#U#WaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W#W#WaaaGaGaGaGaGaGaGaGaGaG#W.0.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#W#W#WaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaG..",
|
||||||
|
"aKaK#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.3........................aGaGan#k.i.#.#.#.#ayazaCaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.0.#.#.#.#.YazaCaGaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.i.#.#.#.#ayazaCaGaGaGan.y.#.#.#.#.#.#.#.#.YalaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.YazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.0.#.#.#.#.YazaCaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.i.#.#.#.#ayazaCaGaGaGaGaGaGaGaG#w.i.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.0.#.#.#.#.YazaCaGaGaGaGaGaG#w.#.#.#.#.#.#.#.halaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.i.#.#.#.#ayazaCaGaGaGaGaGaa.i.#.#.#.#.#.#.walaCaGaGaGaGaG..",
|
||||||
|
"aKaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.3........................aa#k.#.#.#.#.#.#.#anaqayaCaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.y.#.#.#.#.#.#.LaqayaCaGaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#k.#.#.#.#.#.#.#anaqayaCaGaGan.#.#.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaGaGaGaGaGaG#w.#.#.#.#.#.#.LaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaG#W.y.#.#.#.#.#.#.LaqayaCaGaGaGaGaG.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaa#k.#.#.#.#.#.#.#anaqayaCaGaGaGaGaGan.i.#.#.#.#.#.#.##BarayaGaGaGaGaGaGaGaGaGaGaGaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqayaGaGaGaGaGaGaGaGaGaGaGaG#W.y.#.#.#.#.#.#.LaqayaCaGaGaGaG#k.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#k.#.#.#.#.#.#.#anaqayaCaGaGaG#W.#.#.#.#.#.#.#.#.#.gagazaGaGaGaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.X........................#k.#.#.#.#.#.#.#.##9agaqazaGaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.#.#.#.##pagaqazaGaGaGaa.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.#.#.#.DagaqazaGaGaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.#.#.#.##9agaqazaGaGaG.h.#.#.F.D.p.#.#.#.#.##masazaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGan.i.#.#.#.#.#.#.DagaqazaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.#.#.#.DagaqazaGaGaGaGaG.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.#.#.#.##9agaqazaGaGaGaGaa.#.#.#.#.#.#.q.D.D#OajarazaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.#.#.#.##pagaqazaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.eaaaharazaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.#.#.#.#.DagaqazaGaGaGaa.#.#.#.#.E#p#i.#.#.#.#.LarazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.#.#.#.##9agaqazaGaGan.i.#.#.#.#.E.D.#.#.#.#.sarazaGaGaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.P........................#W.#.#.#.r.#.#.#.##W#9anayaGaGaG.#.#.#.##i#1#1#e.#.#.#.##8arazaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.s.#.#.#.##k#9anayaGaGaGaG.#.#.#.s.#.#.#.##k#9anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.g.e.#.#.#.y#9anayaGaGaGaG.h.u#Taa#7#8#p.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.r.#.#.#.##W#9anayaGaGaG#i#raj#9#3#7#W.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.s.#.#.#.##k#9anayaGaGaGaGaGaG#k.#.#.g.E.#.#.#.y#9anayaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.g.e.#.#.#.y#9anayaGaGaGaGaa.#.#.#.W#k#k#k#k#k#l#QabanayaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.r.#.#.#.##W#9anayaGaGaGan.i.#.#.#.f#i#7#2#2#7abajarazaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.s.#.#.#.##k#9anayaGaGan#T#B#r#m#l#k#k#k.c.#.#.####1aeaqazaGaGaGaGaGaGaGaGaGaGaG.0.#.#.g.e.#.#.#.y#9anayaGaGaG#k.#.#.#.e#1#1#6.0.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.r.#.#.#.##W#9anayaGaG#k.#.#.#.e#T#1#2#n.#.#.#.##UarazaGaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.P........................aG.h#paf#o.#.#.#.##T#6alayaGaG#w.#.#.#.e#0#0#8ae.e.#.#.##iakataCaGaGaGaGaGaGaGaGaGaGaGaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.w#2ag.D.#.#.#.w#6alayaGaGaGaG#Tarajadadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGaG.h#paf#o.#.#.#.##T#6alayaGaGaGaGawanafadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGaGaGaa.#.#.##m.D.#.#.#.w#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#W.w#2ag.D.#.#.#.w#6alayaGaGaGaG#U.#.#.##B#U#Z#3#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaGaGaG.h#paf#o.#.#.#.##T#6alayaGaGaG#k.#.#.#.F#W#3#6#8abagalaqayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGazaqag#9#7#6#6#z.#.#.#.##S#1agasaCaGaGaGaGaGaGaGaGaGaGaG#W.w#2ag.D.#.#.#.w#6alayaGaGaG.0.#.#.#.A#Y#7ae#x.#.#.#.##9alataCaGaGaGaGaGaGaGaGaGaGaGaG.h#paf#o.#.#.#.##T#6alayaGaG.i.#.#.#.Z#0#3aaae.F.#.#.#.DakataCaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.P........................aGazarai#r.#.#.#.##S#6alayaGaG.0.#.#.#.A#Y#8aiap.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGazarajac.#.#.#.##i#6alayaGaGaGaGazarajac.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj.F.#.#.#.y#6alayaGaGaGaGaGayaranapasat.V.#.#.#.l#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGazarai#r.#.#.#.##S#6alayaGaGaGaGazauaqaqasag.g.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaGaGaGazarajac.#.#.#.##i#6alayaGaGaGaGaG.i.#.#.fab.D.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj.F.#.#.#.y#6alayaGaGaGaG#U.#.#.##W#ZaaahalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGazarai#r.#.#.#.##S#6alayaGaGan.#.#.#.f#U#3#p#u#zanarawazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGazarajac.#.#.#.##i#6alayaGaGaGaCayaqanalalal.s.#.#.#.O#U#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGazaraj.F.#.#.#.y#6alayaGaGaG.Z.#.#.#.c#1aeap#r.#.#.#.k#0adaqazaGaGaGaGaGaGaGaGaGaGaGaGazarai#r.#.#.#.##S#6alayaGaG.#.#.#.##m#1acalar#C.#.#.#.eacapazaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGayar#B.#.#.#.##S#6alayaGaG.h.#.#.####1aearay#S.#.#.#.c#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGayaran.#.#.#.##i#6alayaGaGaGaGaGayaran.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayar.O.#.#.#.y#6alayaGaGaGaGaGaGazazazaCaC.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGayar#B.#.#.#.##S#6alayaGaGaGaGaG#T#T#T#i.h.#.#.#.o#W#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGayaran.#.#.#.##i#6alayaGaGaGaG#w.#.#.##k#8.E.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayar.O.#.#.#.y#6alayaGaGaGaG.Z.#.#.#.#.#.#.O#qauayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayar#B.#.#.#.##S#6alayaGaG#w.#.#.#.D.Y.#.#.#.#.##iayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayaran.#.#.#.##i#6alayaGaGaGaGaCazayayay#R.#.#.#.##C#YaaaoazaGaGaGaGaGaGaGaGaGaGaGaGaGaGayar.O.#.#.#.y#6alayaGaGaGaa.#.#.#.#.o#T#3.#.#.#.##j#YacapazaGaGaGaGaGaGaGaGaGaGaGaGaGayar#B.#.#.#.##S#6alayaGaG.#.#.#.####3ajataz#S.#.#.#.##7alayaG..",
|
||||||
|
"aJaJ#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaCaz#R.#.#.#.##S#6alayaGaG.#.#.#.##k#3ajawaG#T.#.#.#.##3akawaGaGaGaGaGaGaGaGaGaGaGaGaGaGazay.#.#.#.##i#6alayaGaGaGaGaGaGazay.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaz.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGan.#.#.#.##k#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaz#R.#.#.#.##S#6alayaGaGaGaGaG.#.#.#.#.#.#.#.7#2#1acapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazay.#.#.#.##i#6alayaGaGaGan.#.#.#.s#8#8.G.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaz.Z.#.#.#.y#6alayaGaGaGaG.Z.#.#.#.#.#.#.#.#.gajazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaz#R.#.#.#.##S#6alayaGaG.0.#.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazay.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaG.h.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaz.Z.#.#.#.y#6alayaGaGaGaG.Y.#.#.#.#.#.#.#.#.#.W#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaCaz#R.#.#.#.##S#6alayaGaG.w.#.#.#.b#Talayan.w.#.#.#.##1agasaC..",
|
||||||
|
"aJaI#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaGaG#T.#.#.#.##S#6alayaGaG.#.#.#.##k#6alayaG#U.#.#.#.##1agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaG.i.#.#.#.e#W#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##S#6alayaGaGaGaGaG.#.#.#.#.#.#.r#e#3#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaG.0.#.#.##C#3ab.L.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaG.h.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##S#6alayaGaG.#.#.#.#.#.#.#.#.#.#.#.#.###arazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaz#p.#.#.#.#.#.#.#.o#D#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#T.#.#.#.##S#6alayaGaG#u.#.#.#.#.#.K.V.#.#.#.#.#.##Wabapaz..",
|
||||||
|
"aIaH#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaGaG#U.#.#.#.##S#6alayaGaG.#.#.#.##j#6alayaG#U.#.#.#.##WaaapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaG.0.#.#.#.##l#YabapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaG.#.#.#.#.#.#.#.#.e#4arazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaa.#.#.#.2#2#6ah.V.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaG.Z#S#z#p##.w.#.#.#.#.###asazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.#.#.#.#.#.7#Y#2#v.c.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaG#T.g.#.#.#.#.#.#.#.#.c#TaiataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaC.g.#.#.#.#.#.#.#.#.#.#.#.a#U#8anay..",
|
||||||
|
"aHaF#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaGaG#U.#.#.#.##S#6alayaGaG.#.#.#.##i#6alayaG#U.#.#.#.##T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaG.0.#.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaGazanab#R.O.#.#.#.#.sarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaG.i.#.#.#.o.A.D.L.g.#.#.#.c.C.LayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGazaqaf#9#6#T.e.#.#.#.eakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.#.#.#.#.G#R#X#3#6#e.#.#.#.##pakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG#W.#.#.#.#.W#i.k.#.#.#.#.eaaawaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGak.t.#.#.#.#.#.#.F.#.#.#.w#Waaapaz..",
|
||||||
|
"aFaF#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaGaG#U.#.#.#.##S#6alayaGaG.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaG.0.#.#.#.#.D#Y#0abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaGazaqag#9#7#n.#.#.#.##UarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaG.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#asazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaCayaqanalak#k.#.#.#.#abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.#.#.#.##e#U#6aeakal.#.#.#.##macapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG.#.#.#.##i#1#Y#1#n.#.#.#.##marazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaCat#V.0.A.A#c#T.o.#.#.#.7#1afasaC..",
|
||||||
|
"aFaF#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.N........................aGaGaGaG#U.#.#.#.##S#6alayaGaG.Z.#.#.#.w#6alayaG.Z.#.#.#.w#WaaapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGan.y.#.#.#.#.D#0#0#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaGaCayaqanalaj.#.#.#.##pakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaG.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#akaqayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaCazayayaw#O.#.#.#.##3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.w.#.#.#.7#0aeapauay.#.#.#.##j#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaG#W.#.#.#.##2#1#7aeai.r.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGazasakac#8#8#p.#.#.#.##A#3akawaG..",
|
||||||
|
"aFaF#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.M........................aGaGaGaG#U.#.#.#.##S#6alayaGaG#T.#.#.#.##Takawan.#.#.#.##k#1agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGan.i.#.#.#.##p#0#0#8ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGanaGaGaGaCazayay#4.#.#.#.##macapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaG.Z.O.F.A.y.A.B.D.e.#.#.#.a.w.AaaajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.k#YacapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG#i.#.#.#.b#3ajauaC#T.#.#.#.##z#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGan.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaG#W.#.#.#.##B#1aeapat.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaGazatapan#z.#.#.#.#.V#W#8alayaG..",
|
||||||
|
"aFaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.M........................aGaGaGaG#U.#.#.#.##S#6alayaGaGaG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGan.i.#.#.#.#.e.A.A.D.K.V.Za.aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG#W.i#k#WaGaGaG#v.h.#.#.#.##U#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGazarahaa#7#7#8aa.D.#.#.#.w#U#2aaajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG#W.0#WanaGaGaa.Z.#.#.#.#.8#YacapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGal.#.#.#.#.B#8aua..h.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaG#k.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaa.#.#.#.#.w#3ajau#T.#.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaGaGaGal#S.w.#.#.#.#.e#D#0acapazaG..",
|
||||||
|
"aEaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.J........................aGaGaGaG#U.#.#.#.##S#6alayaGaGaG#T.#.#.#.#.#.#.#.#.#.##l#YaaaoazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.0.#.#.#.#.#.#.#.#.#.#.#.7#T#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGayaqanalalalal.L.#.#.#.w#ZabakaqayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG#k.#.#.#.#.#.#.#.#.#.#.o#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaG#s.#.#.#.#.#.#.#.#.#.#.##z#WaaapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGan.#.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG.w.#.#.#.#.e.K.u.#.#.#.#.e#W#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaG#W.#.#.#.#.#.#.#.#.e#O#0#9akataCaG..",
|
||||||
|
"aEaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.J........................aGaGaGaG#U.#.#.#.##S#6alayaGaGaGaC.V.#.#.#.#.#.#.#.#.A#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaG.i.#.#.#.#.#.#.#.#.#.#.W#T#YabapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaCazayayayayay.Y.#.#.#.y#3aiasazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaG.y.#.#.#.#.#.#.#.#.#.D#O#0abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaGaz.O.#.#.#.#.#.#.#.#.##m#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaG#k.#.#.#.##D#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.y#6alayaGaGaGal.g.#.#.#.#.#.#.#.#.#.e#D#0acapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##S#6alayaGaGaG#W.#.#.#.#.#.#.#.p#P#0#8ajarazaGaG..",
|
||||||
|
"aEaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.J........................aGaGaGaG#U.#.#.#.##T#6alayaGaGaGaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.A#7alayaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#6alayaGaGaa.Z.#.#.#.#.#.#.#.o#v#Y#Z#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.A#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.A#7alayaGaGaG#k.h.#.#.#.#.#.#.o#c#Z#1#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#6alayaGaGaGaCat#z.e.#.#.#.#.#.o#Q#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGan.#.#.#.#.V#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.A#7alayaGaGaGaCat##.e.#.#.#.#.#.#.0#P#0#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#U.#.#.#.##T#6alayaGaGaG#W.#.#.#.#.#.C#w#0#1#9ajarazaGaGaG..",
|
||||||
|
"aEaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.J........................aGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaCatal#O#n#m#t#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGazanab#0#U#S#S#T#W#W#W#W#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGazar#R#n#m#k#t#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGaGazar#u#n#m#k#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGazasak#Z#n#m#l#X#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGauak#8#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGaGazasak#Z#o#n#p#A#6#1#1#9ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayan#8#X#X#8anayaGaGaGan#T#B#r#R#Y#Y#0#3abakarazaGaGaGaG..",
|
||||||
|
"aEaE#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................aGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGazatanagab#8#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqagabagaqazaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaCatalad#8#7#6#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGaGaGaGaGaGaGazaqagabagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqagabagaqazaGaGaGaGaCatalad#8#7#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGazatanagab#8#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaCatalac#9acalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqagabagaqazaGaGaGaGaGazatanahacaaaa#9#9acakarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqaf#9#9afaqazaGaGaGaGazaqag#9#7#8abaganatazaGaGaGaGaG..",
|
||||||
|
"aEaD#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................aGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaCayaqanalalalalalalalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGazatapanalalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaGaGazatapanalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaCayatapamalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaGayarananapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaGaGaGaCayatapanalalanapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqananaqayaCaGaGaGaGaCayaqanalamapatayaCaGaGaGaGaGaG..",
|
||||||
|
"aDaB#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................aGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaCazayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaG..",
|
||||||
|
"aBax#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"axax#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"axax#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.I........................aGaGaGaa#w.0.0.0#waaaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W.0.0.0#k#WaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#w.0.0.0#waaaGaGaGaGaGaGaGaGan#W#k.0.0.0#vaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W.0.0.0#k#WaGaGaGaGaGaGaGaGaGaGaGaGan#W#W#W#W#WaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaa#W#W#W#W#W#W#U#U#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#w.0.0.0#waaaGaGaGaGaGaGaGaGaGaGaGaGaGaa#W.0.0.0aaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#W.0.0.0#k#WaGaGaGaGaGaGan#W#W#W#W#W#W#U#U#U#U#U#U#WaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#k.0.0.0#WanaGaGaGaGaGaGaGaGaGaG#W.0.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#w.0.0.0#waaaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaG",
|
||||||
|
"axax#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.H........................aGaa.y.#.#.#.#.#.#.#.walaCaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.#.#.#.#.#.#.#.h#TaCaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.y.#.#.#.#.#.#.#.walaCaGaGaGan.y.#.#.#.#.#.#.#.#.YalaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.#.#.#.#.#.#.#.h#TaCaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.YazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaGaG.0.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaa.y.#.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaG#w.i.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.#.#.#.#.#.#.#.h#TaCaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazaCaGaGaGaGaGaGaGaGaGaGaGaG#w.i.#.#.#.#.#.#.##iazaCaGaGaGaGaG#w.#.#.#.#.#.#.#.halaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.y.#.#.#.#.#.#.#.walaCaGaGaGaGaGaa.i.#.#.#.#.#.#.walaCaGaGaGaGaG",
|
||||||
|
"axax#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.H........................an.#.#.#.#.#.#.#.#.#.#.gagazaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.#.##OayaCaGaGan#w.i.#.#.#.#.#.##BaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.#.#.gagazaGaGan.#.#.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.#.##OayaCaGaGaGaGaGaG#w.#.#.#.#.#.#.LaqayaCaGaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaG.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGan.i.#.#.#.#.#.#.##BarayaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.#.##OayaCaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqayaGaGaGaGaGaGaGaGaGaGaG#w.#.#.#.#.#.#.#.#.#.#.OatazaGaGaG#k.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.#.#.#.#.#.#.#.gagazaGaGaG#W.#.#.#.#.#.#.#.#.#.gagazaGaGaGaG",
|
||||||
|
"axav#5#5..aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaA#5#5.z........................aG.h.#.#.f.F.D.#.#.#.#.###arazaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.F.D.e.#.#.#.#.faoawaCaGaa.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaGaGaGaGaGaGaGaGaGaGaGaG.h.#.#.f.F.D.#.#.#.#.###arazaGaG.h.#.#.F.D.p.#.#.#.#.##masazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.F.D.e.#.#.#.#.faoawaCaGaGaGaGan.i.#.#.#.#.#.#.DagaqazaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaGaG.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaGaGaG.h.#.#.f.F.D.#.#.#.#.###arazaGaGaGaa.#.#.#.#.#.#.q.D.D#OajarazaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.F.D.e.#.#.#.#.faoawaC#U.#.#.#.#.#.#.#.#.#.#.#.#.eaaaharazaGaGaGaGaGaGaGaGaGaGaa.#.#.#.s.F.p.#.#.#.#.##VasazaGaa.#.#.#.#.E#p#i.#.#.#.#.LarazaGaGaGaGaGaGaGaGaGaGaGaGaG.h.#.#.f.F.D.#.#.#.#.###arazaGan.i.#.#.#.#.E.D.#.#.#.#.sarazaGaGaG",
|
||||||
|
"avav#5#5aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaA#5#5.z........................aG#i.g#nac#8#8#W.e.#.#.#.#ajarazaG.#.#.#.##i#1#1#e.#.#.#.##8arazaGaGaGaGaGaGaGaGaGaGaGaGaa.##e#2#6#2#6.D.#.#.#.##uaoayaGaG.#.#.#.s.#.#.#.##k#9anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.h.u#Taa#7#8#p.#.#.#.#.DakataCaG.h.u#Taa#7#8#p.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaG#i.g#nac#8#8#W.e.#.#.#.#ajarazaG#i#raj#9#3#7#W.#.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaGaa.##e#2#6#2#6.D.#.#.#.##uaoayaGaGaGaG#k.#.#.g.E.#.#.#.y#9anayaGaGaGaGaGaGaGaGaGaGaGaGaG.h.u#Taa#7#8#p.#.#.#.#.DakataCaGaa.#.#.#.W#k#k#k#k#k#l#QabanayaGaGaGaGaGaGaGaGaGaGaGaG#i.g#nac#8#8#W.e.#.#.#.#ajarazaGan.i.#.#.#.f#i#7#2#2#7abajarazaGaGaGaGaGaGaGaGaGaGaGaGaa.##e#2#6#2#6.D.#.#.#.##uaoayan#S#B#r#m#l#k#k#k.c.#.#.####1aeaqazaGaGaGaGaGaGaGaGaGaGaG.h.u#Taa#7#8#p.#.#.#.#.DakataC#k.#.#.#.e#1#1#6.0.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaGaGaG#i.g#nac#8#8#W.e.#.#.#.#ajaraz#k.#.#.#.e#T#1#2#n.#.#.#.##UarazaGaG",
|
||||||
|
"avav#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5.z........................aGa.ajanagaeagaj#u.#.#.#.##8akat#u.#.#.#.e#0#0#8ae.e.#.#.##iakataCaGaGaGaGaGaGaGaGaGaGaGaG#Tapae#9abagaj.#.#.#.##nahataCaG.Z#e#7aa.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#Tarajadadagaj.F.#.#.#.AacapazaG#Tarajadadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGa.ajanagaeagaj#u.#.#.#.##8akataCaCawanafadagaj.F.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGaG#Tapae#9abagaj.#.#.#.##nahataCaGaGaa.#.#.##m.D.#.#.#.w#6alayaGaGaGaGaGaGaGaGaGaGaGaGaG#Tarajadadagaj.F.#.#.#.AacapazaG#U.#.#.##B#U#Z#3#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaGaGa.ajanagaeagaj#u.#.#.#.##8akataC#k.#.#.#.F#W#3#6#8abagalaqayaGaGaGaGaGaGaGaGaGaGaGaGaGaG#Tapae#9abagaj.#.#.#.##nahataCazaqag#9#7#6#6#z.#.#.#.##S#1agasaCaGaGaGaGaGaGaGaGaGaGaG#Tarajadadagaj.F.#.#.#.Aacapaz.Z.#.#.#.A#Y#7ae#x.#.#.#.##9alataCaGaGaGaGaGaGaGaGaGaGaGa.ajanagaeagaj#u.#.#.#.##8akat.h.#.#.#.Z#0#3aaae.F.#.#.#.DakataCaG",
|
||||||
|
"avav#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5.z........................aGaGaCauaraqasat#O.#.#.#.##Oacap.Z.#.#.#.A#Y#8aiap.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGazaralalanarat.#.#.#.###abapazaGazarajac.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayaranapasat.V.#.#.#.l#8amayaGaCayaranapasat.V.#.#.#.l#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGaCauaraqasat#O.#.#.#.##OacapazaGazauaqaqasag.g.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaGaGaGazaralalanarat.#.#.#.###abapazaGaG.i.#.#.fab.D.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGayaranapasat.V.#.#.#.l#8amayaG#U.#.#.##W#ZaaahalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCauaraqasat#O.#.#.#.##Oacapal.#.#.#.f#U#3#p#u#zanarawazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaralalanarat.#.#.#.###abapazaCayaqanalalal.s.#.#.#.O#U#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGayaranapasat.V.#.#.#.l#8amay.Z.#.#.#.c#1aeap#r.#.#.#.k#0adaqazaGaGaGaGaGaGaGaGaGaGaGaGaCauaraqasat#O.#.#.#.##Oacap.#.#.#.##m#1acalar#C.#.#.#.eacapazaG",
|
||||||
|
"a##h#h#h#h#h#g#g#g#a#a#a#.#.#.#.#.#..9.9.9.6.5.5.5.4.4.4.4.4.4.3.3.X.P.P.P.N.N.N.N.N.N.N.M.M.J.J.J.J.I.I.I.I.I.I.H.H.z.z.z.z.x........................aGaGaGaCazazaCaC#T.#.#.#.##U#8an.h.#.#.####1aearay#S.#.#.#.c#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGayatauayaCaC.#.#.#.##j#7amayaGaCayaran.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazazazaCaC.Z.#.#.#.y#6alayaGaGaGazazazaCaC.Z.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazazaCaC#T.#.#.#.##U#8anayaGaG#T#T#T#i.h.#.#.#.o#W#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGayatauayaCaC.#.#.#.##j#7amayaG#w.#.#.##k#8.E.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazazazaCaC.Z.#.#.#.y#6alayaG.Z.#.#.#.#.#.#.O#qauayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazazaCaC#T.#.#.#.##U#8an#t.#.#.#.D.Y.#.#.#.#.##iayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayatauayaCaC.#.#.#.##j#7amayaGaCazayayay#R.#.#.#.##C#YaaaoazaGaGaGaGaGaGaGaGaGaGaGaGaGaGazazazaCaC.Z.#.#.#.y#6alaya..#.#.#.#.o#T#3.#.#.#.##j#YacapazaGaGaGaGaGaGaGaGaGaGaGaGaGaCazazaCaC#T.#.#.#.##U#8am.#.#.#.####3ajataz#S.#.#.#.##7alayaG",
|
||||||
|
"......................................................................................................................................................aGaGaGaGaGaGaGaG.w.#.#.#.w#T#8am.#.#.#.##k#3ajawaG#T.#.#.#.##3akawaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaG#v.#.#.#.##T#6alayaGaGaGazay.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##k#6alayaGaGaGaGaGaGaGan.#.#.#.##k#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.w#T#8amayaGaG.#.#.#.#.#.#.#.7#2#1acapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaG#v.#.#.#.##T#6alayan.#.#.#.s#8#8.G.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##k#6alayaG.Z.#.#.#.#.#.#.#.#.gajazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.w#T#8am.Y.#.#.#.#.#.#.#.#.#.#.#.OatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaG#v.#.#.#.##T#6alayaGaGaGaGaGaG.h.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.#.#.#.##k#6alayaG.Y.#.#.#.#.#.#.#.#.#.W#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.w.#.#.#.w#T#8al.u.#.#.#.b#Talayan.w.#.#.#.##1agasaC",
|
||||||
|
"......................................................................................................................................................aGaGaGaGaGaGaG#k.#.#.#.##p#Waaao.#.#.#.##k#6alayaG#U.#.#.#.##1agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.L#T#7amayaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.e#W#8amayaGaGaGaGaGaGaG.i.#.#.#.e#W#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.##p#WaaapazaGaG.#.#.#.#.#.#.r#e#3#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.L#T#7amay.Z.#.#.##C#3ab.L.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.e#W#8amayaG.h.#.#.#.#.#.#.#.#.#.gagazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.##p#Waaap.#.#.#.#.#.#.#.#.#.#.#.#.###arazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa.#.#.#.#.L#T#7amayaGaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.#.#.#.e#W#8amayaGaz#p.#.#.#.#.#.#.#.o#D#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.##p#Waaao#r.#.#.#.#.#.K.V.#.#.#.#.#.##Wabapaz",
|
||||||
|
"......................................................................................................................................................aGaGaGaGaGaG#W.#.#.#.#.A#W#2agar.#.#.#.##j#6alayaG#U.#.#.#.##WaaapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.e#z#YabapazaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.##l#YabapazaGaGaGaGaGaG.0.#.#.#.##l#YabapazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.A#W#2agataCaGaG.#.#.#.#.#.#.#.#.e#4arazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.e#z#Yabap#8.#.#.#.2#2#6ah.V.#.#.#.y#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.##l#YabapazaG.Z#S#z#p##.w.#.#.#.#.###asazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.A#W#2agas.#.#.#.#.#.7#Y#2#v.c.#.#.#.#ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.e#z#YabapazaGaGaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.##l#YabapazaG#T.g.#.#.#.#.#.#.#.#.c#TaiataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.A#W#2agasay.g.#.#.#.#.#.#.#.#.#.#.#.a#U#8anay",
|
||||||
|
"......................................................................................................................................................aGaGaGaGaG#W.#.#.#.#.e#Y#Zaaanay.#.#.#.##i#6alayaG#U.#.#.#.##T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##t#W#8ajataCaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.Y#W#3agataCaGaGaGaGaG.0.#.#.#.#.Y#W#3agataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#Y#ZaaanayaGaGaGazanab#R.O.#.#.#.#.sarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##t#W#8ajat.h.#.#.#.o.A.D.L.g.#.#.#.c.C.LayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.Y#W#3agataCaGaGazaqaf#9#6#T.e.#.#.#.eakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#Y#Zaaanay.#.#.#.#.G#R#X#3#6#e.#.#.#.##pakataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##t#W#8ajataCaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.Y#W#3agataC#W.#.#.#.#.W#i.k.#.#.#.#.eaaawaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#Y#ZaaanayaCaj.t.#.#.#.#.#.#.F.#.#.#.w#Waaapaz",
|
||||||
|
"......................................................................................................................................................aGaGaGaG#W.#.#.#.#.e#P#0#9akataz.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##n#W#2agarazaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#Y#0abanayaGaGaGaGaG.0.#.#.#.#.D#Y#0abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#P#0#9akataCaGaGaGazaqag#9#7#n.#.#.#.##UarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##n#W#2agaraz.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#asazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#Y#0abanayaGaGaGaCayaqanalak#k.#.#.#.#abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#P#0#9akataz.#.#.#.##e#U#6aeakal.#.#.#.##macapazaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##n#W#2agarazaGaGaGaGaG.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#Y#0abanayaG.#.#.#.##i#1#Y#1#n.#.#.#.##marazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.e#P#0#9akataCaGaCat#V.0.A.A#c#T.o.#.#.#.7#1afasaC",
|
||||||
|
"......................................................................................................................................................aGaGaG#k.#.#.#.#.e#P#0#8ajarazaG.Z.#.#.#.w#6alayaG.Z.#.#.#.w#WaaapazaGaGaGaGaGaGaGaGaGaGaGaG#W.i.#.#.#.##p#Y#0aaanayaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.y.#.#.#.#.D#0#0#9akataCaGaGaGan.y.#.#.#.#.D#0#0#9akataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.e#P#0#8ajarazaGaGaGaGaCayaqanalaj.#.#.#.##pakataCaGaGaGaGaGaGaGaGaGaGaGaGaG#W.i.#.#.#.##p#Y#0aaanayaG.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#akaqayaGaGaGaGaGaGaGaGaGaGaGaGan.y.#.#.#.#.D#0#0#9akataCaGaGaGaGaCazayayaw#O.#.#.#.##3agataCaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.e#P#0#8ajarazaG.w.#.#.#.7#0aeapauay.#.#.#.##j#8amayaGaGaGaGaGaGaGaGaGaGaGaG#W.i.#.#.#.##p#Y#0aaanayaGaGaGaGaG#w.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.y.#.#.#.#.D#0#0#9akataC#W.#.#.#.##2#1#7aeai.r.#.#.#.DakataCaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.e#P#0#8ajarazaGaGaGazasakac#8#8#p.#.#.#.##A#3akawaG",
|
||||||
|
"......................................................................................................................................................aGaG.0.#.#.#.#.D#0#0#8ajarazaGaG#T.#.#.#.##Takawan.#.#.#.##k#1agasaCaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.f#X#1#1#9akataCaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##p#0#0#8ajarazaGaGaGan.i.#.#.#.##p#0#0#8ajarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#0#0#8ajarazaGaGanaGaGaGaCazayay#4.#.#.#.##macapazaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.f#X#1#1#9akataCaG.Z.O.F.A.y.A.B.D.e.#.#.#.a.w.AaaajarazaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##p#0#0#8ajarazaGaGaGaGaGaGaGaGaGaG.Z.#.#.#.k#YacapazaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#0#0#8ajarazaGaG#i.#.#.#.b#3ajauaC#T.#.#.#.##z#6alayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.f#X#1#1#9akataCaGaGaGaGan.i.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.##p#0#0#8ajarazaG#W.#.#.#.##B#1aeapat.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.D#0#0#8ajarazaGaGaGaGaGazatapan#z.#.#.#.#.V#W#8alayaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aG.0.#.#.#.#.#.A.A.D.K.V.Y#vaGaGaG.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.p.A.B.E.K.V.ZaGaGaGaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.#.e.A.A.D.K.V.Za.aGaGan.i.#.#.#.#.e.A.A.D.K.V.Za.aGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.A.A.D.K.V.Y#vaGaG#W.i#k#WaGaGaG#v.h.#.#.#.##U#8anayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.p.A.B.E.K.V.ZaGaGazarahaa#7#7#8aa.D.#.#.#.w#U#2aaajarazaGaGaGaGaGaGaGaGaGan.i.#.#.#.#.e.A.A.D.K.V.Za.aGaG#W.0#WanaGaGaa.Z.#.#.#.#.8#YacapazaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.A.A.D.K.V.Y#vaGaGal.#.#.#.#.B#8aua..h.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.p.A.B.E.K.V.ZaGaGaGaGaG#k.#.#.#.##O#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan.i.#.#.#.#.e.A.A.D.K.V.Za.aGaa.#.#.#.#.w#3ajau#T.#.#.#.####8anayaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.A.A.D.K.V.Y#vaGaGaGaGaGaGal#S.w.#.#.#.#.e#D#0acapazaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.................................0.#.#.#.#.#.#.#.#.#.#.#.#.YazaCaG#T.#.#.#.#.#.#.#.#.#.##l#YaaaoazaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazaCaGaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##SazaC.#.#.#.#.#.#.#.#.#.#.#.#.##SazaCaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.YazaC.0.#.#.#.#.#.#.#.#.#.#.#.7#T#8anayaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazazayaqanalalalal.L.#.#.#.w#ZabakaqayaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##SazaC#k.#.#.#.#.#.#.#.#.#.#.o#W#3agataCaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.YazaCaG#s.#.#.#.#.#.#.#.#.#.#.##z#WaaapazaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#ayazaCaGan.#.#.#.#.Y#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##SazaC.w.#.#.#.#.e.K.u.#.#.#.#.e#W#8anayaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.YazaCaG#W.#.#.#.#.#.#.#.#.e#O#0#9akataCaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.................................0.#.#.#.#.#.#.#.#.#.#.#.#.LaqayaCaC.V.#.#.#.#.#.#.#.#.A#W#3agataCaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqayaCaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##zaqay.#.#.#.#.#.#.#.#.#.#.#.#.##zaqayaCaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.Laqay.h.#.#.#.#.#.#.#.#.#.#.W#T#YabapazaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqawazazayayayayay.Y.#.#.#.y#3aiasazaCaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##zaqay.w.#.#.#.#.#.#.#.#.#.D#O#0abanayaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.LaqayaCaz.O.#.#.#.#.#.#.#.#.##m#W#3agataCaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.#anaqayaC#k.#.#.#.##D#YaaanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##zaqawaj.g.#.#.#.#.#.#.#.#.#.e#D#0acapazaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.LaqayaC#W.#.#.#.#.#.#.#.p#P#0#8ajarazaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.................................0.#.#.#.#.#.#.#.#.#.#.#.#.DagaqazaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.##9agaqazaGaGaGaG.#.#.#.##i#6alayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##pagaq.#.#.#.#.#.#.#.#.#.#.#.#.##pagaqazaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.Dagaq#8.Z.#.#.#.#.#.#.#.o#v#Y#Z#9akataCaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.##9agaqazaGaGaGaGaGaG.Z.#.#.#.A#6alayaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##pagaq#i.h.#.#.#.#.#.#.o#c#Z#1#9akataCaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.DagaqazaCat#z.e.#.#.#.#.#.o#Q#Y#1abanayaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.#.##9agaqal.#.#.#.#.V#W#3agasaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.#.#.#.#.#.#.#.#.#.##pagaqayat##.e.#.#.#.#.#.#.0#P#0#9akataCaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.#.#.#.#.#.Dagaqaz#U.#.#.#.#.#.C#w#0#1#9ajarazaGaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGayanaa#Y#T#S#S#T#W#W#W#Y#1abanayaGaCatal#O#n#m#t#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#W#Y#1abanayaGaGaGaGayan#8#X#X#8anayaGaGaGaGaGaGaGaGaGaGaGaGaGaGazanab#0#U#S#S#T#W#W#W#W#Y#1abanatanab#0#U#S#S#T#W#W#W#W#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#Y#1abanayazar#R#n#m#k#t#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#W#Y#1abanayaGaGaGaGaGaGaGayan#9#1#9anayaGaGaGaGaGaGaGaGaGaGaGaGazanab#0#U#S#S#T#W#W#W#W#Y#1abanayazar#u#n#m#k#X#Y#0#3abakarazaGaGaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#Y#1abanayaGazasak#Z#n#m#l#X#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#W#Y#1abanayaCauak#8#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazanab#0#U#S#S#T#W#W#W#W#Y#1abanayazarak#Z#o#n#p#A#6#1#1#9ajarazaGaGaGaGaGaGaGaGaGaGaGaGayanaa#Y#T#S#S#T#W#W#W#Y#1abanayan#S#B#r#R#Y#Y#0#3abakarazaGaGaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGazaqag#9#6#6#6#6#6#6#6#7#9agaqazaGaGazatanagab#8#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGaGaGaGazaqaf#9#9afaqazaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqawaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#7#9agaqazaCatalad#8#7#6#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGaGaGaGaGaGaGazaqagabagaqazaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaCatalad#8#7#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#7#9agaqazaGaGazatanagab#8#7#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaCatalac#9acalataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#6#7#9agaqazaGazatanahacaaaa#9#9acakarazaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#6#6#6#6#6#6#6#7#9agaqazaGazaqag#9#7#8abaganatazaGaGaGaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaCayaqanalalalalalalalalanaqayaCaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayaCaGaGaGaGaCayaqananaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayazayaqanalalalalalalalalalanaqayaCaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalanaqayaCaGazatapanalalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayaCaGaGaGaGaGaGaGaCayaqanaqayaCaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayaCaGazatapanalalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalanaqayaCaGaGaGaCayatapamalamapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayaCaGayarananapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalalanaqayaCaGaGaCayatapanalalanapatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanalalalalalalalalanaqayaCaGaCayaqanalamapatayaCaGaGaGaGaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaCazayayayayayayayayayayazaCaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayazaCaGaGaGaCazayayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaGaGaGaGaCazayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayazaCaGaGaGaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayayazaCaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayayayayayayayazaCaGaGaGaCazayayayazaCaGaGaGaGaGaGaGaG",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGan#W#k.0.0.0#vaaaGaGaGaGaGaGaGaGaGaGaa#k.0.0#kaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W#w.0.0.0#k#WaGaGaGaGaGaGaGaGaGaGaGaGaa#W#W#WanaGaGaG....aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#WanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaa#WaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.............Q.Q...........d.d.........d.Q.Q.........Q.Q.Q.Q.Q.Q.d.............d.d.................m.m.............Q.Q.d.......Q.Q.Q.Q...d.Q.d.........m.Q.m...............d.Q.Q........................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................an.y.#.#.#.#.#.#.#.#.YalaCaGaGaGaGaGan.0.#.#.#.#.#.#.walaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.#.#.#.#.h#8aCaGaGaGaGaGaGaG#w.y.#.#.#.##SazaCaG....aGaG.#.0aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.ZaGaGaGaGaG#W.##TazaCaGaGaGaGaGaG.0.#.ZaG.w.#.ZaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.##TaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.##Tan.#.##TaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.##UaGaGaGaGaGaG.0.#azazaGaGaGaG#w.#.#.ZaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.i.#.#a.aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#k.#.#.ZanaGaGaGaGaGaGanaaaGaGaGaGaG#W.#.haG#T.##UaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.h#ianaGaGaGaGaGaGaGaGaGaGaGaGaG........#E#I#I#I#H.d......#F#F......#F#I#I#I#H.....Q#I#I#I#I#I#I.Q...........d#H#F......#F#H#I#I#I#I#E.........Q#H#I#I#I.R...Q#I#I#I#I#I#I#H.d.....d#G#I#I#I#G..........#E#I#I#I#H.m....................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................an.#.#.#.#.#.#.#.#.#.#.gatazaGaGaGaG.y.#.#.#.#.#.#.#.#.gatazaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.#.#.#.#.#.#.#.#.#.##3ayaCaGaGan#w.i.#.#.#.#.#.##BaqayaC....aGaG.#.ZatatazaGaGaGaGaGaGaGaGaGaGaGaGaG.0.##P#C#ZaqataCaGaG#W.##OapataCaGaGaGaGaG.0.#.gar.#.#.VaqatazaGaGaGaGaGaGaGaGaGaGaGaGaG.#.Z.#.OaqawaCaGaGaGaGaGaGaGaGaGaGaGaGaG.#.##e#O.#.##OarayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#atatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.##RatayaCaGaGaG.0.#aqaoayaGaGaG.0.#.Y.#apatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.i.h#R#paparayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.y.##u#r.#.tasayaGaGaGaG.#.ZaCaCaGaGaG#W.#.##p#O.##RatayaCaGaGaGaGaGaGaGaGaGaGaGaGaG.#.w#O#c.#.tatazaGaGaGaGaGaGaGaGaGaGaG......#F#I.R...d#H#G....#F#I#F....#E#H.R...d#H.R...Q#I......#H#H.d..........#F#I#F......#I#F.Q.Q.d...........Q#I#F.d..#F#H...Q#I.Q.Q...d#I.R......#E#H.m...d#I.Q......#F#I.R...d#F#H.d..................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aG.h.#.#.F.D.p.#.#.#.#.##masazaGaG#k.#.#.#.#.q.p.#.#.#.##barazaGaGaGaGaGaGaGaGaGaGaGaGaG#k.#.#.r.E.D.#.#.#.#.#.saoawaCaGaa.#.#.#.#.#.#.#.##pagaqaz....aGaG.#.Vag.f.#.##TaG.#.Z.h.##TaGaGaGaGaG.Z.##w#p#Xae.L.#.wan#T.#.L.#.fajaCaGaGaGaG.w.g.f#D.r.#.F#9#T.#.#.hal#T.##k.#aGaGaGaGaGaa.##e.#.eaa.L.v.h.##kaG.Z.w.w.ZaGaGaGaGan.#.u.r#i.s.##raa#c.#.#.ZaG.w.waG.w.haGaGaGaGaGaG.Z.#aj.#.VaC.Z.#aG.#.Z.h.##TaGaGaGaGaGaG#W.##B.F.#ay#T.##U.Z.#agaearaGaGaG.h.g.K.##B#u.##TaG.#.ZaG#U.#.h.h.ZaGaGaGaGaG.#.g#Wacabag.V.#.wan#T.#.Z.#.wanaGaGaGaGaa.##iaoag.7.##Rac.w.##k.Z.#.#.OarayaGaG#W.#.t.q#s.##zag#c.#.h#TaG.h.haG.w.haGaGaGaGaG.#.Vad#8#i.##Sac.h.##kaGaG#k.#.haGaGaG.....R#I.Q.......m#I.m#F#H#G#F...m#I.m......#F#F...Q#I....#F#H.d..........#E#H#G#F......#I.Q...............m#I#F.............m#I.m....#E#I.d......#I.Q.....Q#I.d.....d#I.R.......Q#I.Q..................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aG#i#raj#9#3#7#W.#.#.#.#.DakataCaG.#.#.#.##i#1#1#e.#.#.#.##8arazaGaGaGaGaGaGaGaGaGaGaGaG#W#iacac#7#7#8.o.#.#.#.#aeaoayaGaG.#.#.#.s.#.#.#.##k#9anay....aGaG.#.O#9#0#C.g.#aq.#.var.u.#arawaCaGaG.Z.#.#.##p#k.##4.##e#O.####A.##carayaGaGaG.#.V.E.A.D.e.##Yaa#2#s.#.O#O.#.g.VaratazaGaG#w.##B.D.##O.E.#ag#e.##1.V.#.u#parauaCaG#W.##B.#.A.0.#.A#1#6#4.W.##C#r.#at.##iatatazaGaGaG.Z.#ac.#.Lar.V.#at.#.uar.u.#arawaCaGaGaG#W.##x.D.#ao#O.##R.V.#aa#9aoaCaGan.#.V#r.##b#p.##Oas.#.Yag.##iaj.#.OaratazaGaG#T.#.#.e#Y#m.##8.##e#O.##r#2.##easayaGaG#W.##Oad#9#s.##p.r.gajagar.#.LacadapazaG#U.##m.#.W.##s#i.##3#e.#af#i.#at.##iatatazaGaG.#.O#8#3#s.##p.r.t#s.##2#r.##Tagarataz....#G#G..........#I.Q.d.m#F#F...d#F........#H#E........#F#I#I#H.d.......Q#I.m#F#F.....Q#I.R#E#I#I#H.Q....#G#H...m#G#I#I#E...........d#I#E........#I.R#E#I#I#H.R.....Q#I........#F#I#F...d.m............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGawanafadagaj.F.#.#.#.Aacapaz#v.#.#.#.e#0#0#8ae.e.#.#.##iakataCaGaGaGaGaGaGaGaGaGaGaGaGazaraiaeagaj#u.#.#.#.##3ahataCaG.Z#e#7aa.#.#.#.##i#6alay....aGaG.#.O#W.e.g.f.#aa.#.Lae.E.#adakawaGaG.Z.#aa#1#8.F.#.#.#.E#u.##u#3.#.EaeanazaGaG.#.O.D.A.Y.D.##W#p.#.t.#.E#s.##xacabahataGaG.0.#.#.#.##m.D.#ag#s.##s.G.#agabadalayaG#W.##z.#.A#x.#.A#0.F.#.t.##r#2.#.K.#a.agajataGaGaG.Z.#ab.#.Fae.G.#ah.#.Kae.E.#adakawaGaGaG#U.##x.D.#ad#u.##z.F.##8#8aoaCaG#W.#.#.#.#.A#n.##xaf.#.O#u.##Baj.#.EabajataGaGaGae#i.#.E.L.#.#.#.E#u.##xad.#.FafaoazaGaa.##n#9ab#n.##O.#.Gakafag.#.F#2#3akayaG#U.##w.Y.e.##p.C.#al#w.##u#x.#.F.##VagajataGaG.#.O#8#9#c.##O.#.#.#.##r.G.#apahaealaw....#I.Q..........#I.Q....#F#F...........m#H#I.m......#F#I#G#F#H#H.....m#I.Q..#F#F.....Q#I#I#G.Q.Q#F#I.d.d#I.Q.Q#I#H.R#E#I.m........#E#I.d.........R#I#I#E.Q#E#I#F...m#I.R...Q#G#I#H#F..#H#I............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGazauaqaqasag.g.#.#.####8anay.Z.#.#.#.A#Y#8aiap.O.#.#.#.AacapazaGaGaGaGaGaGaGaGaGaGaGaGaCayaraqasat.V.#.#.#.k#YacapazaGazarajac.#.#.#.##i#6alay....#w#w.##c#p.##z.r.##0.#.F#7.D.##8aaaqaGaG.Z.#aa#0#7.7.##2#T#2#n.##i#y.##i#8agataGaa.##c#p.##n.D.##O.D.#ac.#.B#m.##r#3#7agataGaG.#.u#u#n.#.A.A.##X.Z.##D.D.##9#2aaalayaG#k.##U.C.##1.#.o#1.#.L#m.##n#6.r.e.pab#9agataG#W#W.h.gab.#.q#8.q.#ab.#.F#7.D.##8aaaqaGaa#W.Z.##T.D.##U#e.##w.D.##6#8aoaCaG.0.##z#n.l.##m.##i#X.#.K#B.#.8#Y.#.E#6acaraGaG#U#R#m.#.0.1.##2#T#2#n.##i#z.#.2#8agataGaG.h.##e#k.#.uaf.e.e#X#Xaj.#.s#T#8anazaG#U.##w#y.#.##m#c.##P.0.##Yaa.#.q.eaa#8afataGaG.#.t#p.2.#.Vaf.e.q#8#R#1.0.##u#Xafapay...Q#I.d.........m#I.m....#F#F.........R#I#H.m.........m.m.....d#I.Q.d#H.Q....#F#G.R#E.Q#I.Q........#I.Q.Q#I.m#I#H.d....#G#F........#H#F.........d#H#F.d.......R#I.....Q#I#I#I#G.m#F#F..#H#H............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaG#T#T#T#i.h.#.#.#.o#W#8anay.h.#.#.####1aearay#S.#.#.#.c#8amayaGaGaGaGaGaGaGaGaGaGaGaGaGa.#T#T#u.w.#.#.#.##z#YacapazaGaCayaran.#.#.#.##i#6alay.....i.#.u#8#U.e.#.p.##Y.#.E#6.D.##9#8aoaCaG.Z.#ab#3agac.t.#.##w#p.#.E.#.qae#7aeataG#W.##B#p.##p#p.##n#o.#.f.e.A#m.##p#3adapazaGaa.##eaa#0.e.e.A.#.e.#.7ac.D.##7#6ajataCaG.Z.#ag.D.##2.C.##3.D.#.r.##m#2#k.##e#3#8alayaG#k.#.h#B#9#p.#.e.D.##9.#.E#6.D.##9#8aoaCaa.#.##eae#U.e.#.0.##u.D.##6#8aoaCaG.h.gag#1.W.##u.B.#.o.r.G#7.0.#.o.#.F#7abaraGaG.y.#.####8#S.p.#.##w#p.#.e.#.q#2#7adasaGaGak.t.#.##cacac#p.e.#.0an#r.#.0aaapaCaG#U.##x#7.p.##m#Z.0.#.e#uac#8.F.#.Y#2#7akayaGaG.#.#.#.e#canab#p.e.#.c#2#X.r.#.eajataC...Q#I..........#E#H......#F#F......#E#I#E......................#I.Q#H#I#I#I#I#I#I#F#F..............#I.Q.Q#I#H#H.d......#G#F.......R#I.m........#H#F..........#F#G.........Q.d...d#I.Q...d..............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaG.#.#.#.#.#.#.#.7#2#1acapaz.#.#.#.##k#3ajawaG#T.#.#.#.##3akawaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.r#R#X#3ahataCaGaGaGazay.#.#.#.##i#6alay....aGayalac#7acae#7#2#0#3ac#8abajab#9apaCaGaGarac#9anayatag#6#8aeajae#7aaab#9aiawaGaGazal#8#9aa#8aa#8#8afad#3#3#1#7aa#8aiawaGaGaGaCao#9#6acaa.B.##1#2aaaa#8ad#9#9anaCaGaGaGataf#8ab#8#8ad#7#9ag#9#2#1#3.F.##X#1aaapaCaGaGayapaf#7aaagaa#8ad#8#7ad#8abajab#9apaCaGaCaraj#9#8aeab#7adab#7aa#8#9apaCaGaGasad#3aaac#6#3#9#7abad#7#Xad#p.##i#3abaraGaGaGayanaf#9#7abaa#3#8#u.##u#3#9ab#8agataGaGaCaqac#8acac#9acagaa#8aiaranaa#9anazaGaGayaj#9aeae#2#1acad#9abaaabalal#7#1#9apaCaGaGaCao#8#3acac#9aeai#9#3aaagalae#8aeapay...Q#I.........m#I#E......#F#F.....Q#I.Q..........#F#E.........Q#I.d#F#F#E.Q.Q#F#F.....d.Q.........R#I...d#I#I.d.......Q#I.Q......#H#G.........Q#I.d........#F#I.m..#E#F........#F#I.d..................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaG.#.#.#.#.#.#.r#e#3#9akataC.#.#.#.##k#6alayaG#U.#.#.#.##1agasaCaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.e.0#R#3adaoayaGaGaGaGaGaG.#.#.#.##i#6alay....aGatajacaealamadaa#9adajaeahanahagaraGaGaGatajagaraCazaoaeadahanaladadadafaqazaGaGazanafaiajafaiagaeajaiabaaaaaeagafanayaGaGaGaCapafagapan.F.##2#0#8acagalagagaraGaGaGaGauajafakagafalagafalafaaaa#s.##Bac#3afataGaGaGayanaeacakapajadadacaeajaeahanahagaraGaGazaragabagaoalaeadaeadagaeafaraGaGaGatagaeanapagadagaeadaead.f.#.#.0#7#1acaraGaGaGawaladacaganalaead#w.##u#3#6aaaeaoazaGaGaGayanadaaacaganarakadaganaqajaeanayaGaGayanagalanaeabalanagadaealataragabaiataGaGaGaGarad#8aaacagaparaladaeakaranaeadalaw...d#I.R.....R#I#H........#F#F...d#H#F.......m#H..#F#E.......Q#I#E............#F#F....#F#I.d.....R#I.R....#F#H.d.....R#I#G.......R#I.Q.........m#I.Q.....Q#H#I.Q....#E#I.d.....R#I.R....#F#F............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaG.#.#.#.#.#.#.#.#.e#4arazaG.#.#.#.##j#6alayaG#U.#.#.#.##WaaapazaGaGaGaGaGaGaGaGaGaGaGaG.0.#.#.#.#.#.#.#.##ualataCaGaGaGaGaGaG.#.#.#.##i#6alay....aGazasaqarayayarapaparataratayatatazaGaGaGazatatazaGaGayaraqarawauararaqasazaGaGaGaGayasatatasatatasatatarapaqaratasayaCaGaGaGaGayasatazayaral#9#6agapatayatatazaGaGaGaGazatasauatasawatasawataqaparataoacaaanazaGaGaGaCauararawazawaraqararataratayatatazaGaGaGayaraqatazayararararatarasazaGaGaGazatasayazatarataraqararataralad#8#7aiawaGaGaGazataqaqatazayaraqararah#8acamarayaGaGaGaGaGayarapaqatayazawararauayauarawaCaGaGaCayatawayasarawayatararawaCazatarataCaGaGaGaGazarapaparatazaCawaraqatayayaraqataz....#F#I#G#H#I#F.d........#G#F...R#I#I#I#I#I#I#I...m#I#G#F#H#I#F..............#G#G.....d#H#I#F#H#I.R........#H#I#F#H#I#E........#F#I............#F#I#H#I#I#G.d.......d#H#H#F#H#I#E......#I#I............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaGazanab#R.O.#.#.#.#.sarazaC.#.#.#.##i#6alayaG#U.#.#.#.##T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGazanab#c.c.#.#.#.#a.arazaGaGaGaGaGaG.#.#.#.##i#6alay....aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCataiafarazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazapagalataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaualaeadagarazaGaGaGaGaGaCaGaGaGaGaGaGaCayanagamayaCaGaGaGaGaGaGaGaGaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaG.......Q#E.R.m.............m.m...d.Q.Q.Q.Q.Q.Q.Q.....m#F#F.R.m.................m.m.........Q#F.R.d.............R#F.R.d...........m.Q...............Q.R.Q.d.............d.R#F#E.d........#E.Q............",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaGazaqag#9#7#n.#.#.#.##Uaraz.w.#.#.#.L#6alayaG#k.#.#.#.k#T#7amayaGaGaGaGaGaGaGaGaGaGaGaGaGazaqag#9#U.e.#.#.#.7alataCaGaGaGaGaG.#.#.#.##i#6alay....aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazatatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayatawaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazataqaqatazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG........................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaGaCayaqanalaj.#.#.#.##pakat.Y.#.#.#.w#6alayaG.Z.#.#.#.w#WaaapazaGaGaGaGaGaGaGaGaGaGaGaGaGaCayaqanal.L.#.#.#.AacapazaGaGaGaGaG.#.#.#.##i#6alay....aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG........................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................anaGaGaGaCazayay#4.#.#.#.##macap#R.#.#.#.##Takawan.#.#.#.##k#1agasaCaGaGaGaGaGaGaGaGaGaGanaGaGaGaCazayay.g.#.#.#.y#8amayaGaGaGaGaG.#.#.#.##i#6alay..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................#W.i#k#WaGaGaG#v.h.#.#.#.##U#8amay.g.#.#.#.A#3ag.Z.#.#.#.e#W#7alayaGaGaGaGaGaGaGaGaGaGaG.#.Z#TalaGaGa..w.#.#.#.##k#7alayaGaGaGaGaG.#.#.#.##i#6alay....aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#WaaaGaGaGaGaGaGaGaGaGaGaGaGaG#WaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaanaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG...........j.T#N#N.T.j.j.j.j#J#N.j.j.j#J#N#N#J.j.j#J#N#N#J.j.j.j.j.n#N#K.j.j#N#N#N#N.T.j.T#M#N#K.j.T#N#N#N#N#N.j.j#K#N#N.T.j.j.U#N#N#J.j.j.j.j.........j.S.T.j.j.j.n.T.T.S.j....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.................................0.#.#.#.#.#.#.#.#.#.#.#.7#T#8anay#S.#.#.#.#.#.#.#.#.#.##l#YaaaoazaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.#.#.#.#.#.#.#.o#W#8amayaGaGaGaGaG.#.#.#.##i#6alay....aG.#.##Tan.#.##TaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.#.#.#.#.ZaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.0.#aG#T.##Uan.#.ZaGaGaGaGaGaGaGaGaG.#.ZazazaGaGaGaGaG.0.#.#.#.##T.#.ZazazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.#.#.##TaGaGaGaG.#.ZaCaCaGaGaGaGaGaG#k.#.#.haCaGaGaGaGaGaGaaanaGaGaGaGaGaGaGaG#W.i.#.#a.aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG...........n#N#M#M#N.n.j.j.T#N#N.j.j.U#N#L#L#N.U.S#N#L#L#N.U.j.j.j#J#N#K.j.S#N#L#K#K.S.n#M#M#L#N.U.S#K#K#K#N#M.j#J#N#L#M#N.S.S#N#M#L#N.U.j.j.j.........j#K#N.j.j.j.T#M#K#N.n....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG.................................i.#.#.#.#.#.#.#.#.#.#.W#T#Yabapazaz.V.#.#.#.#.#.#.#.#.A#W#3agataCaGaGaGaGaGaGaGaGaGaG#k.#.#.#.#.#.#.#.#.#.#.o#O#0acapazaGaGaGaGaG.#.#.#.##i#6alay....aG.#.##e#O.#.##OarayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGan#T.w.##C#ZaqataCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG#W.##Q#e.g#i#O.##RasataCaGaGaGaGaGaG.#.YaoaqayaGaGaGaGaa#T.#.t#Cac.#.OanapayaGaGaGaGaGaGaGaGaGaGaGaGaGaG.#.w#O#CacarayaGaGaaajararazaGaGaGaGaa.#.Z#P#DapasazaGaGaG#W.##TaCaCaGaGaGaGaGaG.i.h#R#paparayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG...........U#N.S.S#N.U.j#J#N#N#N.j.j.U#N.n.j#N#K.U#L.j.j#N#K.j.j.S#N#N#K.j.T#N.T.j.j.j.T#N.S.j#K.S.j.j.j.T#N.S.j#K#N.j.T#N.T#K#N.n.j#L#K.j.S.T.........j#N#K.T.j.j.T#K.j#K.T....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aa.Z.#.#.#.#.#.#.#.o#v#Y#Z#9akataCaGay#o.e.#.#.#.#.e#m#Y#1abanayaGaGaGaGaGaGaGaGaGaGaGan#i.g.#.#.#.#.#.#.e#c#Z#1#9akataCaGaGaGaGaG.#.#.#.##i#6alay....an.#.u.r#i.s.##raaaa.w.#.wanaG.#.0.h.##TaGaGaGaGaGaGaGaGaz.O.##8#7.E.#aw#T.##UaG.Z.#.wanaGaGaGaGaGaGaGaa.##z.F.L.L#u.##Waf.L.#.wanaG#k.#.h.#.OadagataGaGaGaGaGay.#.E#7#8.#.r.e.##OaC.#.ZaG.Z.#aGaGaGaGaGaGaGaG.#.u#u#paa.#.O.h#T.#.VakamayaGaGaGaG#W.#.V#6aaac##.#.#.ZaG.#.#.##CasazaGaGaGaGaG.#.g#Wacab.G.#az#T.##U.Z.w.w.#.ZaGaGaGaGaGaG..........#K#N.j.j#N#K.j#J.T#K#N.j.j.j.j.j.n#N#K.j.j.j.T#N#J.j.j#L#L#N#K.j.U#N#M#N#J.j#K#N.n.T.n.j.j.j.j#L#L.j.j.U#N.U#K#N.n#K#N.j.j#K#N.j#K#N.........T#L.U#J.j.j.T#M#K#N.n....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGazar#R#n#m#k#t#X#Y#0#3abakarazaGaGaCatal#O#n#m#t#Y#0#3abalataCaGaGaGaGaGaGaGaGaGaGaGaGazar#4#p#m#m#k#X#Y#0#3abakarazaGaGaGaGaGaGayan#8#X#X#8anay....#W.##B.#.A.0.#.A#1.s.gay.g.uas.#.war.u.#arawaCaGaGaGaGaGaC.V.##3#1.F.#aq#O.##R#r.##8.##easayaGaGaGaGaGaG.#.K.e.7.e.D.#ac#f.##2.##e#3.##iag.#.G#6abaraGaGaGaGaGaz.#.F#1#3.#.r#6.p.#aq.#.Yas.V.#atatazaGaGaGaGaG.#.#.#.#aa.#.#.O#1.#.OaialawaGaGaGaGaG.Z.#.#.Cadaa#4.W.##C#O.##xabahataCaGaGaGaG#T.#.#.e#Y.K.#ar#O.##R.V.#ag#p.##OatazaGaGaG..........#K#N.j.j#N#K.j.j.j#K#N.j.j.j.j.j#K#N.S.j.j#K#N#L.j.j.S#N.n#N#K.j#K#N#K#M#N.S#K#N#M#N#N.S.j.j.S#N.U.j.j.j#M#N#N#J.j.U#N#K.U#N#N.j.S.T........#J#N#N#M.j.j.T#L.T.n.j....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaCatalad#8#7#6#7#8abaganatazaGaGaGaGazatanagab#8#8abaganatazaGaGaGaGaGaGaGaGaGaGaGaGaGaCayapaiab#8#7#7#8abaganatazaGaGaGaGaGaGaGazaqaf#9#9afaqaz....#W.##z.#.A#x.#.A#0.#.Oan.F.#af.#.Oae.E.#adakawaGaGaGaGaGaG.Z.##9#7.L.#ah#u.##z.F.#.#.#.EaeaoazaGaGaGaGaG.w.L.##8.#.C.o#8.D.#.#.#.E#u.##Cag.#.D#1aaaraGaGaGaGaGaG.#.L#7#9.#.L#6.B.#ac.#.Laf.G.#ahagaraGaGaGaGaG.#.O#6#0#9.#.Ladaa.#.FaaagataGaGaGaGaGay#X.D.##u.O.#.t.##r#u.##r#1aaapazaGaGaGaGaGae#i.#.E.L.#ag#u.##z.F.#af#u.##uagaraCaGaG..........#K#N.j.j#N#K.j.j.j#K#N.j.j.j.j.T#N#K.j.j.j.U#L#N.T.j#M#J.j#N#K.j.j.S.j.n#N#K#K#N#K.U#N#L.j.j#J#N.j.j.j#J#N.U#K#N.S.j#M#N#N#N#N.j.j.j........#L.S.j#M.n.j.T#K.j.j.j....................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGazatapanalalalamapatayaCaGaGaGaGaGaGaCayatapananapatayaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatapamalalamapatayaCaGaGaGaGaGaGaGaGaCayaqananaqayaC....#k.##U.C.##1.#.o#1.q.fad.e.q#9.#.F#8.D.##8#i#eaCaGaGaGaGaG.Z.#ab#8.L.##1#i.##w.0.##1#T#2#6.F#QaGaGaGaGaG.Z.g.e#2.#.e.B#2.0.##3#T#2#y.#.8#X.#.E#3.E#OaCaGaGaGaGaG.#.O#8ab.#.L#7.C.##8.#.r#8.q.#ab#i#caCaGaGaGaG.#.O#3#Z#8.#.G#6#2.#.F#6.E#OaCaGaGaGaG#u#O.F.##z.#.L#m.##n#o.##i#S#k#eazaGaGaGaG#U#R#m.#.0.D.##X#f.##w.D.##8#p.##r#C.LajaGaG..........#K#N.j.j#N#K.j.j.j#K#N.j.j.j.T#N#M.n.j.j.j.j.j#L#N.T#N#L#K#N#M.U.j.j.j.j#N#K#K#N.j.j#K#N.j.j#M#L.j.j.j#N#K.j.j#N#K.j.j.T.S#K#N.j.U#K..................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG................................aGaGaGaCazayayayayayazaCaGaGaGaGaGaGaGaGaGaGaCazayayazaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazayayayayazaCaGaGaGaGaGaGaGaGaGaGaGaCazayayazaCaG.....Z.#ag.D.##2.C.##3#X.r.#.p#2#9.#.F#7.D.##9.e#cauayaCaGaGaG.Z.#ab#8ab.g.#.0.##u#U.p.#.##w#z.##2awayaGaGaG#T.#.E#1.B.##n#1#X.s.#.##w#7.7.#.e.q.F#z.##ZauayaGaGaGaG.#.O#8ab.#.L#8.D.##9#p.#.e.D.##9.e#cauayaCaGaG.#.O#7#7aj.#.L#7#8.#.K#A.##ZauayaGaGaa.h.#.g#u#6.D.#.p.##m#2.q.##z.e#eawayaCaGaG.y.#.####8#R.e.#.0.##u.D.##6#p.##u.0.farawaz...........U#N.S.S#N.U.j.j.j#K#N.j.j.n#N#M.n.j.j.U#L.j.j#L#N.T#N#N#N#N#N#K#L#L.j.S#N#J.T#N.n.j#L#N.j.j#N#K.j.j.j#N#L.j.n#N#K.n#J.S.j#M#K.j#K#N..................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG......................................................................................................................................................................................aGataf#8ab#8#8ad#7#9aiad#9ac#9acag#8abaj#Z.##8alanayaGaGaGaGarac#9anaraf#8adab#7acab#3#8#k.tapalaqazaGaGaGasad#2#8ae#7#1acalaf#6#8aealaj#9aaab#e.pakalapazaGaGaGaCap#9acaqan#9abajab#8ae#9#8ad#W.##8alanayaGaGaCap#9abarayao#9acapan#i.pakalapazaGaGaGatalac#7#8ad#8#1#1#3aeaf#W.#a.alanayaGaGaGayanaf#9#6aa#9#7adab#7aa#8#8ajag.p#kakalat...........n#N#M#M#N.n.j.j.j#K#N.j.j#J#N#L#K#K.U.T#N#L#L#N#J.j.j.j.j#N#K.j#K#N#L#M#N.n.n#N#M#L#N#J.j.T#N.T.j.j.j#J#N#L#M#N.S.n#N#M#L#N.T.j.j.j..................................................................................................................................................................................................................................",
|
||||||
|
"..........aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaG......................................................................................................................................................................................aGauajafakagafalagagaoanafadafananafahan#7#QaiaeakawaGaGaGaGatajagarayanaeadaeadajalaead#TacalafanazaGaGaGayalacagalafacalaranaeadaiapaqahacac#O#3agaeanazaGaGaGaGaragajataragahanahafalajadad#1#PaiaeakawaGaGaGaragajataCaragajatar#S#2agaeanazaGaGaCaraiacadajamafaaaaacalan#3#RagaeajawaGaGaGawaladacaganalaeadaeadagaeafanal#uagaeagar...........j.T#N#N.T.j.j.j.j#K#N.j.j#N#N#N#N#N#K.j#J#N#N#J.j.j.j.j.j#N#K.j.n#L#N#M.T.j.j.T#M#N#K.n.j.T#N.T.j.j.j.n#J#N#N.U.j.j.T#N#N#J.j.j.j.j..................................................................................................................................................................................................................................",
|
||||||
|
"............................................................................................................................................................................................................................................................................................................aGazatasauatasawatatayayaraqarayayasatayataranaiaoazaGaGaGaGazatatazaCayararararauayaraqararamajaraCaGaGaGaCayaratayatarawazayaraqarayazataqaqaqapalajaraCaGaGaGaGazatatazayatatayatasayauaraqaraqanaiaoazaGaGaGazatatazaGazatatazayarapalajaraCaGaGaGayaraparawayataqaparawayasaqamaganazaGaGaGazataqaqatayayararararatarasayawaraoajalaw................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"............................................................................................................................................................................................................................................................................................................aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazauarayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCazatasazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCayatasazaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGazauarayaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGayatasazaGaGaGaGaGaGaCaGaGaGaGaGaGaGaGaGaGazauarayaGaGaGaGaGaGaCaGaGaGaGaGaGaGaGaGaGaGaGaGaCayarataC................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
"............................................................................................................................................................................................................................................................................................................aGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaCaCaG................................................................................................................................................................................................................................................................................................................................................................................",
|
||||||
|
".......................................................................................................................................................j.j.j.j.j.T.T.j.j.j.j.j.j.j.j.j.n.n.j.j.j.j.j.j.j.j.n.T.T.j.j.j.j.j.j.j.j.T.T.T.T.T.T.n.j.j.j.j.j.j.j.j.j.j.n.n.j.j.j.j.j.j.j.j.j.j.j.j.S.S.j.j.j.j.j.j.j.j.j.j.T.T.n.j.j.j.j.j.j.j.T.T.T.T.j.n.T.n.j.j.j.j.j.j.j.S.T.S.j.j.j.j.j.j.j.j.j.j.j.n.T.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".......................................................................................................................................................j.j.j#J#N#N#N#M.n.j.j.j.j.j.j.j#K#K.j.j.j.j.j.j.j#K#N#N#N#M.j.j.j.j.j.j.T#N#N#N#N#N#N.T.j.j.j.j.j.j.j.j.j.n#M#K.j.j.j.j.j.j.j#K#M#N#N#N#N#J.j.j.j.j.j.j.j.j.T#M#N#N#N.U.j.j.j.j.j.T#N#N#N#N#N#N#M.n.j.j.j.j.j.n#L#N#N#N#L.j.j.j.j.j.j.j.j.j#J#N#N#N#M.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.j.j.j.j.j.j.j.j.j.j.j.j.n#J.j.j.j.j.j.j.T#K#K#J.j.j.j.j.j.j.T.T.n.n.n.S.S.j.j.j.j.j.j.j.j.j.j.j#J.j.j.j.j.j.j.j.j.j.j.j.T.S.j.j.j.j.j.j.n.T.T.T.T.j.j.j.j.n.U.j.j.j.j.j.n.j.j.j.j.j.j.U#K#K.U.j.j.j.j.j.j.j.j.U#K#J.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j#K#N.U.j.n#M#L.j.j.j.j.j.j#K#N#K.j.j.j.j.j.j#J#M.U.j.n#M.U.j.j.j.j.j.T#N.j.j.j#M#M.n.j.j.j.j.j.j.j.j.j#K#N#K.j.j.j.j.j.j.j#N#K.T.T.n.j.j.j.j.j.j.j.j.j.T#N#K.n.j#K#M.j.j.j.j.j.T#N.T.T.j.n#N.U.j.j.j.j.j.j#J#M.S.j.n#N.T.j.j.j.j.j.j.j#K#N.U.j.n#K#M.n.j.j.j.j.j.n.S.j.j.j.j.j.j.j#J#N#N#N#M#J.j.j.j.j.j.j.n.T#J#N.U.j.j.j.j.j#L#N#N#N#N#M.j.j.j.j.j.U#N#N#N#N#N#K.j.j.j.j.j.j.j.j.j.j#L#N.j.j.j.j.j.j.j#L#L#L#M#N.T.j.j.j.j.j#K#N#N#N#N.U.j.j.j.j.j#N#M#M#M#M#N#M.j.j.j.j.j#M#N#N#N#N#M.j.j.j.j.j.T#N#N#N#N#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.U#N.T.j.j.j.S#N.S.j.j.j.j#K#M#L#K.j.j.j.j.j.S#N.S.j.j.j#K#K.j.j.j.j.j.T#N.j.j#K#M.n.j.j.j.j.j.j.j.j.j#J#M#L#K.j.j.j.j.j.j.j#N.T.j.j.j.j.j.j.j.j.j.j.j.S#N#K.j.j.j.j.j.j.j.j.j.j.S#N.S.j.j#J#N.n.j.j.j.j.j.j#N.T.j.j.T#N.n.j.j.j.j.j.j.n#N.U.j.j.j.T#N.T.j.j.j.j.j#M#N.j.j.j.j.j.j#M#N#N#N#N#N#N#K.j.j.j.j.S#L#N#N#N.j.j.j.j.S#M#N#N#N#N#N#N#J.j.j.j.j.T#N#N#N#N#N.S.j.j.j.j.j.j.j.j.j#K#N#N.j.j.j.j.j.j.j#N#N#N#N#N.S.j.j.j.j#L#N#N#N#N#N.j.j.j.j.j.n#N#N#N#N#N#N.U.j.j.j.j.U#N#N.U#J#N#N.T.j.j.j.j#M#N#N#N#N#N#N.U.j.j.n.S.j.j.j.j.j.j.j.j.j.j.S#K#K.U.j.j.j.j.j.j.j.j.j.j.n#K.S.j.j.j.j.j.j.j.j.j.j.j.U#K#J.S.j.j.j.j.j.j.j.j.j.S#K#K.U.j.j.j.j.j.j.j.j.j.j.j.n#J#J.j.j.j.j.j.j.j.j#J#K#K#K#K#K.T.j.j.j.j.j.j.j.j.j.n#J.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#J#K.U.j.j.j.j.j.j.j.j.j.j.T#K#K.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j#L#L.j.j.j.j.j#N.T.j.j.j.j.n.S#K#K.j.j.j.j.j.n#K.j.j.j.j#M#J.j.j.j.j.j.j.j.j#K#N#N#M.n.j.j.j.j.j.j.j.T#N.S#K#K.j.j.j.j.j.j.T#N.U#J#N#N#M.T.j.j.j.j.j.j#L#M.j.S#L#N#N#J.j.j.j.j.j.j.j.j.j.n#N#J.j.j.j.j.j.j.j#N.U#J#N#N#M.U.j.j.j.j.j.j.T#N.j.j.j.j#K#N#K.j.j.j.j.j#M#M.j.j.j.j.j#K#N#N#N#N#N#N#N#N.U.j.j.j.j.S#N#N#N.j.j.j.j.j.T#M#M.n#L#N#N#K.j.j.j.j.U#J.T#M#N#L.j.j.j.j.j.j.j.j.j#J#N#N#N.j.j.j.j.j.j.S#N#N#J.T#J.U.j.j.j.U#N#N#K.j.j.U.j.j.j.j.j.U#N#L#M#N#N#L.j.j.j.j.j#J#N#N.j.T#N#N.T.j.j.j.T#N#N#J.j#L#N#N#L.j.j#M#N.j.j.j.j.j.j.j.j.j.T#N#N#N#N#K.j.j.j.j.j.j.j.j.T#M#N.T.j.j.j.j.j.j.j.j.j.n#M#N#N#N#N.S.j.j.j.j.j.j.j#J#N#N#N#N#M.j.j.j.j.j.j.j.j.j.j#K#N#N.j.j.j.j.j.j.j.j#L#N#N#N#N#N.U.j.j.j.j.j.j.j.j.n#M#N#J.j.j.j.j.j.j.j.j#M#N#N#N#N#N#N#J.j.j.j.j.j.j.n#M#N#N#N#J.j.j.j.j.j.j.j.j#L#N#N#N#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j#N.T.j.j.j.j.j#N.T.j.j.j.j.j.j#K#K.j.j.j.j.j.j.j.j.j.S#M#N.S.j.j.j.j.j.j.j#K#N#L#K#M#M.j.j.j.j.j.j.S#N.T.j#K#K.j.j.j.j.j.j.T#N#N#L.T.T#K#N.n.j.j.j.j.n#N.T.T#N#M.U#J#N.S.j.j.j.j.j.j.j.j#J#N.n.j.j.j.j.j.j.j.U#N#N#J.T#J#N#K.j.j.j.j.j.S#N.U.j.T#L#N#M#K.j.j.j.j.j.n.j.j.j.j.j.n#N#N#N#J.n.n#L#N#N#L.j.j.j.j.n#N#N#N.j.j.j.j.j.j.n#J.j#J#N#N#J.j.j.j.j.n.j.j#N#N#K.j.j.j.j.j.j.j.j#J#N#N#N#N.j.j.j.j.j.j.U#N#N#L.T.j.j.j.j.j#L#N#M.S.U.U.S.j.j.j.j.j.U.n.j#K#N#N.T.j.j.j.j.j.S#N#N#N#N#N#L.j.j.j.j.T#N#N#K.S#L#N#N#N.j.j#M#M.j.j.j.j.j.j.j.j.n#N#M.n.j#K#N.S.j.j.j.j.j.j.j#N#N#N.T.j.j.j.j.j.j.j.j.j#K#N#J.j.S#N#K.j.j.j.j.j.j.j.T#J.n.j#J#N.T.j.j.j.j.j.j.j.j.U#N#N#N.j.j.j.j.j.j.j.j#K#K.j.j.j.j.j.j.j.j.j.j.j.j.j#M#N#J.j.j.j.j.j.j.j.j.j#J#K#K#K#L#N#N.S.j.j.j.j.j.j#J#N.T.j#L#N.j.j.j.j.j.j.j.U#N#J.j.n#K#N.U.j.j.n.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................T#N.n.j.j.j.j.S#N.S.j.j.j.j.j.j#K#K.j.j.j.j.j.j.j.j.U#N#M.S.j.j.j.j.j.j.j.j.S.S.j.j.n#N.T.j.j.j.j.n#M.T.j.j#K#L.U#J.j.j.j.j.T#N.T.j.j.j.j#N.T.j.j.j.j.T#N.S#N#M.n.j.j#L#K.j.j.j.j.j.j.j.j#M#K.j.j.j.j.j.j.j.n#M#K.n.j.j.j.U#N.j.j.j.j.j.j.T#N#N#N#L.S#K#K.j.j.j.j.j.j.j.j.j.j.j.T#N#N#M.j.j.j.S#N#N#N.j.j.j.j.j#N#N#N.j.j.j.j.j.j.j.j.j#M#N#N.T.j.j.j.j.j.j.U#N#N#N#L.j.j.j.j.j.j.U#N#L.T#N#N.j.U.j.j.j.j#K#N#N#N#N#J.j.j.j.j#N#N#N#N#N#N#N.T.j.j.j.j.j.j.S#N#N#M.j.j.j.j.j.j.n#M#N#N#N#N#L.j.j.j.j.n#N#N#N#N#N#N#N#N.j.j.n.j.j.j.j.j.j.j.j.j.U#N.T.j.j.S#N#J.j.j.j.j.j.j.j.S.U#N.T.j.j.j.j.j.j.j.j.j.n.S.j.j.S#N#K.j.j.j.j.j.j.j.j.j.j.j#J#N.T.j.j.j.j.j.j.j.n#N#M#L#N.j.j.j.j.j.j.j.j#K#M#M#N#N#J.j.j.j.j.j.j.j.j#J#N.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j#M#N.T.j.j.j.j.j.j.j#K#N.n.j#L#N.j.j.j.j.j.j.j#K#N.j.j.j.n#N#K.j.j#K#N.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................T#N.j.j.j.j.j#J#M.j.j.j.j.j.j.j#K#K.j.j.j.j.j.j.j#J#N#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N.T.j.j.j.j#M#N#N#N#N#N#N#K#K.j.j.j.j.j.j.j.j.j.j.j#N.T.j.j.j.j.T#N#M#M.n.j.j.j#L#K.j.j.j.j.j.j.j.U#N.S.j.j.j.j.j.j.j#M#K.j.j.j.j.j#K#L.j.j.j.j.j.j.j.j.T.n.j.n#N.T.j.j.j.j.j#K#K.j.j.j.j.T#N#N#M.j.j.j.T#N#N#N.j.j.j.j.j#N#N#N.j.j.j.j.j.j.j.j.T#N#N#L.j.j.j.j.j.j.j.j.n#L#N#N.U.j.j.j.j.T#N#N#K#J#N#N#M#M.j.j.j.j.n.j.T#N#N#N.T.j.j.j#N#N#N#N#N#N#N#M.j.j.j.j.j.j#K#N#N.U.j.j.j.j.j.j#M#N#N#N#N#N#N#L.j.j.j.j.U#N#N#N#N#N#N#M.j.j.j.j.j.j.j.j.j.j.j.j#K#N.j.j.j.j#N#K.j.j.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j.j.j.j.j.j.S#M#N.S.j.j.j.j.j.j.j.j.n#K#N#N#M.j.j.j.j.j.j.j.j#L#N.T#K#N.j.j.j.j.j.j.j.j#N#N#N#K#L#N.U.j.j.j.j.j.j.j#N#N#M#N#L.n.j.j.j.j.j.j.j.j.j.j#J#N#K.j.j.j.j.j.j.j.j.T#N#M#L#N#K.j.j.j.j.j.j.j#K#N.n.j.j.n#N#K.j.j.T#K.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................T#N.j.j.j.j.S#N#J.j.j.j.j.j.j.j#K#K.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j.j.j#K#J.j.j.j.j.T#N.n.j.j.j.j#K#K#J.T.T#K#K.j.j.j.j.j.j.n.T.j.j.j.j.U#N.j.j.j.j.j.n#N#N.n.j.j.j.T#N.T.j.j.j.j.j.j.j#M#L.j.j.j.j.j.j.j.T#N.n.j.j.j.j#K#N.S.j.j.j.j.j#J#K.j.j.j.j#K#N.n.j.j.j.j.j#N#N.j.j.j.j.S#N#N#N#K.S.T#M#N#N#K.j.j.j.j.j#M#N#N.n.j.j.j.j.j.j.j#M#N#N#J#J.T.j.j.j.j.T.T.j.U#N#N#J.j.j.j.T#N#N#N#N#N#N#N#N#N.j.j.j.j.T.j.j#J#N#N.U.j.j.j#M#N#N.T.j#M#N#N.n.j.j.j.j.T#N#N#N.j.j.j.j.j.j.T#N#N#K.j.S#N#N#N.n.j.j.j.j.T.S.n#J#N#N#J.j.j#K#K.j.j.j.j.j.j.j.j#K#N.j.j.j.j#N#K.j.j.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j.j.j.j.j#J#N#N.T.j.j.j.j.j.j.j.j.j.S#N#N#N#K.j.j.j.j.j.j.j#J#N#K.j#K#N.j.j.j.j.j.j.j.j#N#M.n.j.j#L#M.j.j.j.j.j.j.S#N#N#K#K#N#M.j.j.j.j.j.j.j.j.j.j#N#N.n.j.j.j.j.j.j.j.j.n#M#N#N#N#J.j.j.j.j.j.j.j.S#N#N#K#L#N#N.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................n#N.U.j.j.U#N#M.j.j.j.j.j.j.j.j#K#K.j.j.j.j.j.n#M#K.j.j.j.S#M.j.j.j.j.j#K#J.j.j.j.T#N#J.j.j.j.j.j.j.j.j.j.j#K#K.j.j.j.j.j.j#K#N.n.j.j.U#N.U.j.j.j.j.j.j#K#M.n.j.j.U#N#L.j.j.j.j.j.j.j.U#N.T.j.j.j.j.j.j.j.S#N.T.j.j.T#M#N.T.j.j.j.j.j.j#J#N.n.j.j.U#N.U.j.j.j.j.j.j#J.T.j.j.j.j.j#K#N#N#N#N#N#N#N#N.T.j.j.j.j.j#M#N#N.S.j.j.j.j.j.j#J#N#N#N#N#N.n.j.j.j.j#L#L.U#M#N#N.T.j.j.j#K#L#K#J.U#K#N#N#K#K.n.j.j.j#M#J#J#N#N#N.T.j.j.j#L#N#N#J.S#N#N#N.j.j.j.S#J#N#N#N#J.j.j.j.j.j.j.U#N#N#L.S.U#N#N#N.j.j.j.j.j#M#K#K#N#N#M.n.j.j#N#N.j.j.j.j.j.j.j.j#K#N.j.j.j.j#N#K.j.j.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j.j.j.j#M#N#K.n.j.j.j.j.j.j.j.j.j.j.j.j.S#M#N.S.j.j.j.j.j.S#N#N#N#N#N#N#N.S.j.j.j.j.j.j.S.n.j.j.j#K#N.j.j.j.j.j.j.T#N.T.j.j.U#N.T.j.j.j.j.j.j.j.j.U#N#J.j.j.j.j.j.j.j.j.j#L#N.U.n#K#N.U.j.j.j.j.j.j.j.S#L#N#N#M#N.S.j.j.n.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j#K#N#L#M#N#K.n.j.j.j.j.j.j.j.j#L#K.j.j.j.j.j.U#N#N#N#N#N#N#N.j.j.j.j.j.S#N#L#K#M#N#K.j.j.j.j.j.j.j.j.j.j.j#L#L.j.j.j.j.j.j.n#M#N#K#M#N.U.j.j.j.j.j.j.j.j#M#N#K#M#N#J.j.j.j.j.j.j.j.j#K#N.j.j.j.j.j.j.j.j.j#K#N#M#N#N#L.n.j.j.j.j.j.j.j.n#M#M#K#M#N#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N#N#N#N#N#N.T.j.j.j.j.j.j#M#N#N.T.j.j.j.j.j.T#N#N#N#N#N#N.j.j.j.j.U#N#N#N#N#N#L.j.j.j.j.j.j.j.j.j.U#N#N.U.j.j.j.j.n#N#N#N#N#N#M.j.j.j.j.T#N#N#N#N#N#N#J.j.j.j.j.U#M#N#N.T.j.j.j.j.j.j.j#N#N#N#N#N#N#N#J.j.j.j.j.T#N#N#N#N#N.T.j.j.j#J.T.j.j.j.j.j.j.j.j.U#N.S.j.j.T#N.T.j.j.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j.j.j.U#N#K.j.j.j.j.j.j.j.j.j.j.j.S.n.j.j.T#N.T.j.j.j.j.j.n#J#K#K#K#M#N#K.n.j.j.j.j.j.j.j.j.j.j.j#L#N.j.j.j.j.j.j.T#N.T.j.j.T#N.T.j.j.j.j.j.j.j.j#L#N.S.j.j.j.j.j.j.j.j.j#N#K.j.j.j#N#K.j.j.j.j.j.j.j.j.j.j.T#N#L.j.j.j#K#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j.T#J.U.S.j.j.j.j.j.j.j.j.j.j.S.S.j.j.j.j.j.n.T.T.T.T.T.T.T.j.j.j.j.j.j.S#K#K.U.S.j.j.j.j.j.j.j.j.j.j.j.j.S.S.j.j.j.j.j.j.j.j.T#K.U.n.j.j.j.j.j.j.j.j.j.j.U#K.U.n.j.j.j.j.j.j.j.j.j.S.T.j.j.j.j.j.j.j.j.j.j.T.U.T.n.j.j.j.j.j.j.j.j.j.j.n.U#K#J.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#K#L#L.U.j.j.j.j.j.j.j.U#N#N#N#K.j.j.j.j.j#J#K#J#J#J#J#M.S.j.j.S#K#N#N#N#N#L.n.j.j.j.j.j.j.j.j.S#M#N#N#M.T.j.j.j.U#N#N#N#N#L.n.j.j.j.j.j#J#N#N#N#N#L.j.j.j.j.j.j.j.U#N.S.j.j.j.j.j.j.j.S#L#N#N#N#N#K.j.j.j.j.j#J#N#M#M#K.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#N#L.n.n#M#N.n.j.j.j.j.j.j.j.S#J#N#J.S.j.j.j.j.j.j.j.j#K#N.T.T.T.T.j.j.j.j.j.j.j.j#N#M.n.j#K#N.S.j.j.j.j.j.j.j.j.j.j#K#N.j.j.j.j.j.j.j.j#M#K.j.j#K#N#J.j.j.j.j.j.j.n#N#L.n.n#L#N.n.j.j.j.j.j.j.j.S#N#L.j.j.j.j.j.j.j.j.j.j#N#M.n.j.T#N#J.j.j.j.j.j.j.j.j.S#J#N#M.n.j.j.j.U#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U.T.n.n.T.j.j.j.j.j.j.j.j.j.j.j.S.n.j.j.j.j.j.T.U.T.j.j.j.j.j.j.j.j.j.j.T.T.n.n.T.S.j.j.j.S.j.n.T.S.j.j.j.j.j.j.j.j.n.T.U.S.j.j.j.j.j.j.j.j.j.S.n.j.j.j.j.j.j.j.j.j.S.U.T.n.j.j.j.j.j.j.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#N#N#N#J.j.j.j.j.j.j.j.j#N#N#N#N#N.j.j.j.j.j.j.j.j#K#N#N#N#N#N#J.j.j.j.j.j.j.j#J#N#N#N#N#K.j.j.j.j.j.j.j.j.j.j.j#K#N.j.j.j.j.j.j.j.j#K#N#N#N#N#M.n.j.j.j.j.j.j.j#J#N#N#N#N#J.j.j.j.j.j.j.j.j#J#N.U.j.j.j.j.j.j.j.j.j.j#J#N#N#N#N#M.n.j.j.j.j.j.j.j#M#N#N#L.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#K#K.S.j.j.j.j.j.j.j.j.j.S.T.T.T.S.j.j.j.j.j.j.j.j.n.T.T.T.T.T.n.j.j.j.j.j.j.j.j.S#K#K.T.j.j.j.j.j.j.j.j.j.j.j.j.T#J.j.j.j.j.j.j.j.j.j.U#K#K.U.j.j.j.j.j.j.j.j.j.j.U#K#K.S.j.j.j.j.j.j.j.j.j.T#J.j.j.j.j.j.j.j.j.j.j.j.j.S#K#K#J.n.j.j.j.j.j.j.j.j#J#J.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S.j.j.j.j.j.j.S.S.j.j.j.j.j.j.j.j.T.j.j.j.j.j.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.j.j.j.j.j.j.j.n.T.j.j.j.S#K#J.j.j.j.j.T.n.n.S.j.j.j.j.j.j.j.U.j.j.j.j.j.j.j.T.j.j.j.j.S.T.T.j.j.j.T.j.j.j.j.j.j.j.S#K#K.n.j.j.j.j.U#K.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j.T#M#M.S.j.j.j.j#J.U.j.j.j.j#K#N#L.j.j.j.j#K#N#M#N.U.j.j.j.j.j.j#K.S.j.j.j.T#L#M#N#L.j.j.j.j.j#J#N#N.T.j.j.j#J#M#N#N#M.j.j.j.j#M#N#M.j.j.j.j.j.j#L#N#L.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#L#N#N.T.j.j.j.j.U#M.T.j.j.n#N#N#N#K.j.j.j#L#N#N#N.n.j.j.j.j.j.T#M.j.j.j.j#J#M#N#K.j.j.j#J#N#N#L.j.j.j#K#N#M#N#L.j.j.j#N#N#N#L.j.j.j.U#N#N#N.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#K#K.S.j.j.j.j.j.j.j.j#K.n.j.j.j.j.j.j.j.j.U#J.n.j.j.j.j.j.j.j.T.U.S.j.j.j.j.j.j.j.j.j#J#J.j.j.j.j.j.j.U#J.U#J.U.j.j.j.j.j.j.j.n#K.n.j.j.j.j.j.j.T.T.T.S.T.n.j.j.j.j.j.j.U.U.j.j.j.j.j.j.j.j.T#J.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
"...........j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................j.j#N#L#M#L.j.j.j.j#N.U.j.j.j.U#N#K#N.U.j.j.j#M#L#K#N.U.j.j.j.j.j.U#N.S.j.j.j#K#N#L#L.U.j.j.j.j.T#N#J#K#L.j.j.j#M#M#K#N#K.j.j.j#J#N.T#M.U.j.j.j.j#K#N#J#N.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J.T.j.j.j.j.T#L#J#K#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#L#N#N#N#N.S.j.j#J#N#N.j.j.j#L#N#N#N#N.j.j.j#L#N#N#L.j.j.j.j.j.j#L#N.j.j.j.j#K#N#N#L.j.j.S#N#N#N#J.j.j.j#L#N#N#N.U.j.j.T#N#J#L#N.j.j.j#N#N#N#N#L.j.j.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N#N#N.n.j.j.j.j.j.j#K#N.S.j.j.j.j.j.j.j#L#N#N#N.n.j.j.j.j.j#J#N#N#N.T.j.j.j.j.j.j.j.S#N#M.j.j.j.j.j.j#N#N#N#N#N.j.j.j.j.j.j.j#L#N.n.j.j.j.j.j#J#N#N#N#N#N#J.j.j.j.j.j#L#N#N#L.j.j.j.j.j.j#K#N#N#N.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#L.j.j#N.S.j.j#K#N.U.j.j.j#L.U.j.U#K.j.j.j#N.j.S#L.j.j.j.j.j.j#L#N.j.j.j.j#K.U.j.j.j.j.j.j.j#L#K.j.j.T.j.j.j#N.S.j#L.T.j.j.j#L.U.n#K.U.j.j.j.j#N.S.j#J#L.j.j.j#J.T.j.j.j.j.j.j.j.j.j.n#J#K.j.j.j.j.T.T.j.U#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#N#N#N#N#J.j.j.j#N#N.j.j.j.U#M.T#N#N.j.j.j#J.U#N#J.j.j.j.j.j.U#N#M.j.j.j.j#L#N.T#J.j.j#J#N.U.n.T.j.j.j#M#M#N#N.n.j.j.T#N.T#K#N.j.j.S#N#K.T#N#N.j.j#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N.T.T#N#J.j.j.j.j.j.U#N#N.S.j.j.j.j.j.j#J#N.U.U#N.U.j.j.j.j.j#L#L.T#M#L.j.j.j.j.j.j.j#K#N#M.j.j.j.j.j.j#N#K.S.T.n.j.j.j.j.j.j.U#N#J.j.j.j.j.j.j.n#J#J#J#N#N.T.j.j.j.j.U#N.T.U#N.S.j.j.j.j.n#N#J.j#M#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#M.U.j.j#L.T.j.j#J#N.U.j.j.j#N.S.j.U#K.j.j.j.U.j#L#K.j.j.j.j.j.T#L#M.j.j.j.j#K.U.U#K.S.j.j.j.S#N.j.j.S.j.j.j.j.U.j.j#N.S.j.j.j#L.S.j#M.S.j.j.j.T#L.j.j#J#M.j.j.j#N#J.j.j.j.j.j.j.j.j.j#J#J#L.S.j.j.j.T#L#M#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#L.j#J#N#L.j.j.j#N#N.j.j.j.j.T.j#N#N.j.j.j.j.T#N#J.j.j.j.j.j#M#N#M.j.j.j.j#M#N.U.j.j.j#L#N.T.U.j.j.j.n.S.n#N#L.j.j.j.n#N#N#N#L.j.j.S#N#K.U#N#N.n.j#M.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#M#K.j.j#L#M.j.j.j.j.j.S#K#N.S.j.j.j.j.j.j.S.U.j.j#N.U.j.j.j.j.j.j.j.j#K#L.j.j.j.j.j.j.T#N#N#M.j.j.j.j.j.j#N#L#K#K.n.j.j.j.j.j.j#N#K.j.j.j.j.j.j.j.j.j.j.n#N#J.j.j.j.j.j#J#N.j.j#N.T.j.j.j.j.T#N.j.j.T#N.S.j.j.j.j.j#J#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N.j.j.j#L.T.j.j.j#K.U.j.j.j.T.j.j#L#J.j.j.j.j.U#N#N#J.j.j.j.j#L.U#L.S.j.j.j#K#N#N#N#M.j.j.j.T#L.j#M#N#J.j.j.j.j.j.T#M.j.j.j.j#K#L#N#N#K.j.j.j.T#L.j.j#M#M.j.j.j#L.T.j.j.j.j.j.j.j.j.j#L.U.T#L.j.j.j.T.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N.U.j.n#N#M.j.j.j#N#N.j.j.j.j.j.S#N#L.j.j.j.j#J#N#N.S.j.j.j#J#M#K#M.S.n.j.n#N#N#N.T.j.j#M#N#N#N#L.j.j.j.j.U#N.U.j.j.j.j#N#N#N#L.j.j.n#N#N#N#N#N.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N.U.j.j#K#N.j.j.j.j.j.j.S#N.n.j.j.j.j.j.j.j.j.j#K#N.T.j.j.j.j.j.j.T#L#N#J.j.j.j.j.j.j#L#L#J#N.j.j.j.j.j.j#N#N#N#N#M.j.j.j.j.j.T#N#L#L.U.j.j.j.j.j.j.j.j#K#N.j.j.j.j.j.j.U#N#J#L#N.n.j.j.j.j.U#N.j.j.S#N.S.j.j.j.j.j#L#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#M.j.j.j#L.T.j.j.j#K.U.j.j.j.j.j#J#N.S.j.j.j.j#M#J.U#M.j.j.j.T#M.j#L.j.j.j.j#L#N.j.j#N.S.j.j#J#J#K#M#J#N.j.j.j.j.j#K#J.j.j.j.j#J#N#J.U#N.T.j.j.S#N.U#L#N#L.j.j.j.j.j.j.j.j.j.j.j.j.j.U.U.j.j#J.n.j.j.T.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N.U.j.n#N#M.j.j.j#M#N.j.j.j.j.j#J#N#J.j.j.j.j.j#J#N#J.j.j.n#N#L#K#N#M.S.j.j.j#J#N#K.j.j#M#N#N#N#N.n.j.j.j#M#N.S.j.j.j#J#N#N#N#N.T.j.j#K#N#N#N#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N.U.j.j#J#N.j.j.j.j.j.j.T#N.n.j.j.j.j.j.j.j.j#K#N#K.j.j.j.j.j.j.j#L#N#N.S.j.j.j.j.j.T#N.T.U#M.j.j.j.j.j.n#N#L.j.U#N.S.j.j.j.j#J#N#N#N#N.T.j.j.j.j.j.j.j#N#K.j.j.j.j.j.j.j#N#N#N#L.j.j.j.j.j.S#N#K.T#L#N.n.j.j.j.j.j.S.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#L.j.j.j#M.S.j.j.j#K.U.j.j.j.j.T#N.U.j.j.j.j.j.S.j.j#M.S.j.j#K.U.j#N#M.U.j.j#L.U.j.j#L.T.j.j#J#L#M.j.j#M.S.j.j.j.j#M.T.j.j.j.j#N.U.j.j#K.U.j.j.j#K#N#M.T#L.j.j.j.j.j.j.j.j.j.j.j.j.j.U.j.j.j.S.S.j.j.S.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#M.S#K#N#L.j.j.j#M#N.j.j.j.j.j#M#N#J.T.j.j.n.n.n#N#K.j.j#L#N#N#N#N#N.S.j.n.j.j#N#M.j.j#M#N.n#K#N.S.j.j.S#N#M.j.j.j.j#M#N.j#J#N#J.j.j.j.T.T#N#M.j.j#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N.U.j.j#K#N.j.j.j.j.j.j.T#N.n.j.j.j.j.j.j.j#K#N#K.j.j.j.j.j.j.j.j.n.U#N#L.j.j.j.j.j#M#N#L#M#N#K.j.j.j.j.j#K.n.j.n#N.T.j.j.j.j#L#N.n.n#N#K.j.j.j.j.j.j.T#N.T.j.j.j.j.j.j.U#N#J#K#N.U.j.j.j.j.j#K#N#N#N#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#L.j.j.S#N.j.j.j.j#K.U.j.j.j.j#N#J.j.j.j.j.j.S.j.j.j#M.S.j.S#N#N#N#N#M.U.j.j.j.j.j.j#L.T.j.j#J#N.U.j.j#M.S.j.j.j.S#N.j.j.j.j.T#M.j.j.j#M.T.j.j.j.j.S.j.U#L.j.j.j#K.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#N#N#N#N.U.j.j.j#M#N.n.j.j.j.T#N#N#N.U.j.j.U#K#L#N#J.j.n#L#K.U#L#N#K.T.j.T#K#K#N#L.j.j#L#N.U#L#N.S.j.S#L#N#K.j.j.j.j#M#N.T#K#N.U.j.j.U#L#L#N.U.j.j#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#J.j.j#L#L.j.j.j.j.j.j.T#N.n.j.j.j.j.j.j.S#N#J.j.j.j.j.j.j.j.j.j.j.j#J#N.j.j.j.j.j#M#N#N#N#N#L.j.j.j.j.j.j.j.j.n#N.T.j.j.j.j#L#L.j.j#L#L.j.j.j.j.j.j#K#N.j.j.j.j.j.j.j#L#M.j.j#N#K.j.j.j.j.j.j.T.U#N#K.j.j.j.j.j.j.T.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#L.j.j#J#L.j.j.j.j#K.U.j.j.j.U#N.j.j.j.j.j.S#M.j.j.S#M.j.j.S#L#J.T#M.j.j.j.j.U.j.j.j#M.S.j.j.U#N.j.j.S#N.j.j.j.j.U#L.j.j.j.j#J#J.j.j.U#N.j.j.j#J#K.j.j#L#J.j.j.j#N.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N#N#N#L.j.j.j.j#M#N.S.j.j.j#L#N#N#N.T.j.j#M#N#N#N.S.j.j.j.j.j#K#N.S.j.j.T#N#N#N#J.j.j#J#N#N#N#M.j.j.n#L#N.U.j.j.j.j#K#N#N#N#N.S.j.j#J#N#N#N.j.j.j.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#L#M.j.j#N#J.j.j.j.j.j.j.T#N.n.j.j.j.j.j.j.U#N.n.j.n.j.j.j.j.j.j#M.T.j#K#N.j.j.j.j.j.j.j.j#K#M.j.j.j.j.j.n#J.j.j#J#N.n.j.j.j.j#K#N.j.j#N#K.j.j.j.j.j.j#N#K.j.j.j.j.j.j.j#L#L.j.j#N#K.j.j.j.j.j.j.j.U#N.T.j.j.j.j.j.j#K#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#M.j.j#N.U.j.j.j.j#K.U.j.j.j#L#J.j.S#J.j.j.S#N.j.j#K#K.j.j.j.j.j.j#M.S.j.j.j#N.T.j#J#M.j.j.j.T#N.j.j#L#K.j.j.j.j#L#J.j.j.j.j#J#K.j.T#N#J.j.j.j.U#L.j.S#N.S.j.j.j#K.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#L#J.j.j.j.j.S#N#N.U.j.j.j#K#J#J#L.U.j.S#M#N#N#J.j.j.j.j.j.n#N#N#K.j.j#J#N#N#L.j.j.j.j#M#N#N.U.j.j.j.j#K.U.j.j.j.j.n#M#N#N#K.j.j.j#K#N#L.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#L#M#N.S.j.j.j.j.j.T#N#N#N.n.j.j.j.j.j#J#N#N#N#N.U.j.j.j.j.j#N#N#K#N#K.j.j.j.j.j.j.j.j#K#N.j.j.j.j.j.S#N#L#K#N#L.j.j.j.j.j.U#N#J#J#N.T.j.j.j.j.j.T#N.T.j.j.j.j.j.j.j#J#N#K#K#N.U.j.j.j.j.j.T#L#N#K.j.j.j.j.j.j.j.U#L.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#L#N#L.j.j.j.j.j#L#J.j.j.j#N#N#N#N#M.j.j.j#N#K#L#N.S.j.j.j.j.j.j#N.S.j.j.j#K#N#L#N.T.j.j.j.j#L#L#M#N.S.j.j.j.j#N.T.j.j.j.j.T#N#L#N#K.j.j.j.j.S#N#K#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T.T.S.S.j.j.j.j.j.j.j.n.j.j.j.T.T.j.j.j.j.j.j.S.T.S.T.j.j.n.n.T.j.j.j.j.j.j.U.T.j.j.j.j.j.j.S.j.j.j.j.j.j.U.T.j.j.j.j.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#N.U.j.j.j.j.j.j.T#M#M#L.j.j.j.j.j.j.T#M#L#L#M.U.j.j.j.j.j.T#N#N#L.j.j.j.j.j.j.j.j.j.U#L.j.j.j.j.j.j#J#N#N#M.n.j.j.j.j.j.j#L#N#N#K.j.j.j.j.j.j.U#N.j.j.j.j.j.j.j.j.j#L#N#N#K.j.j.j.j.j.j#N#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#N#L.j.j.j.j.j.j#J.T.j.j.j#K#K#K#L#J.j.j.j.U#N#M.T.j.j.j.j.j.j.j#K.S.j.j.j.j#L#N.U.j.j.j.j.j.S#N#M.S.j.j.j.j.j#K.S.j.j.j.j.j#J#M#J.j.j.j.j.j.j#J#N#L.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.S.j.j.j.j.j.j.j.j.j.T.T.j.j.j.j.j.j.j.j.S.j.j.j.j.j.j.j.j.j.j.n.n.j.j.j.j.j.j.j.T.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.T.T.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#M#N#N#N#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#M#N#M.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#K#K#J.n.j.j.j.j.j.j.j.j.j.j.j.j#L#N.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#N#M#N#N#M.j.j.j.j.j.j.j.j.j.j.n#M#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.U.T.j.j.j.j.j.j.j.T#N#N#N#N.U.j.j.j.j.j.j.j#J.U.U#K#L.S.j.j.j.j.j.j.j#K#N#L#N#J.j.j.j.j.j.j.j.j.j#J#K#J.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#N#N#N#N#N.S.j.j.j.j.j.j.j.j.j.n#K#N#N.j.j.j.j.j.j.j.j.j.n#L#N#M.n.j.j.j.j.j.j.j.j.T#K#K.j.T#N#N#J.j.j.j.j.j.j.j.j.j#M#N#N.T.j.j.j.j.j.j.j.j.n#K#K#L#N#N#M.j.j.j.j.j.j.j#M#N#K.n#N#M.j.j.j.j.j.j.S#N#N#N#N#N.T.j.j.j.j.j.j.n#N#K.j#N#K.j.j.j.j.j.j.j.j#M#N#N#N#N.T.j.j.j.n.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N#N#J#K#N#M.n.j.j.j.j.j.j.j.j#M#N#N#N.j.j.j.j.j.j.j.j.j#L#N#N#N#M.j.j.j.j.j.j.j.j.j.j.T#J.U#N#N#J.j.j.j.j.j.j.j.j.S#N#N#N.T.j.j.j.j.j.j.j.j.T#N#N#N#N#N#L.j.j.j.j.j.j.T#N#N.U.T.U#J.j.j.j.j.j.j.T#N#N#L#M#N.n.j.j.j.j.j.j.T#N#N.U#N#K.j.j.j.j.j.j.j.U#N#N#J#K#N#M.j.j.j#M#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#M#N#N.n.n#N#N#J.j.j.j.j.j.j.j.j#L#J#N#N.j.j.j.j.j.j.j.j.n#N#L.n#M#N.S.j.j.j.j.j.j.j.j.j#K#N#N#N#M.S.j.j.j.j.j.j.j.j#L#M.S#N#J.j.j.j.j.j.j.j.j.T#N#M.T.T#K.n.j.j.j.j.j.j#K#N#N#N#N#N.T.j.j.j.j.j.j.j#J.n.j#M#M.j.j.j.j.j.j.j.S#N#N#N#N.U.j.j.j.j.j.j.j#K#N#N.j.T#N#N.S.j.j#M#M.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N#N.j.j#L#N#N.n.j.j.j.j.j.j.j.j.T#N#N.j.j.j.j.j.j.j.j.j.T.S.j#M#N.T.j.j.j.j.j.j.j.j.j.T#M#K#N#N#M.S.j.j.j.j.j.j.S#N.U.j#N#K.j.j.j.j.j.j.j.j.T#N#K#J#K#J.j.j.j.j.j.j.j#K#N#N#L#L#N#M.n.j.j.j.j.j.j.j.j.U#N#K.j.j.j.j.j.j.j.T#M#N#N#N#N.S.j.j.j.j.j.j#K#N#N.T#K#N#N.T.j.j.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N#N.n.j#K#N#N.T.j.j.j.j.j.j.j.j.T#N#M.j.j.j.j.j.j.j.j.j.j.j.U#N#N.S.j.j.j.j.j.j.j.n.T.S.j.j#K#N#N#K.j.j.j.j.j.j#J#N.T.n#N#M.T.T.j.j.j.j.j.j#K#N#N#N#N#N#L.j.j.j.j.j.j#K#N#N.j.j#N#N#J.j.j.j.j.j.j.j.j#L#N#J.j.j.j.j.j.j.S#N#M.S#J#N#N#K.j.j.j.j.j.j#J#N#N#N#N#N#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#M#N#N.T.j#K#N#N#J.j.j.j.j.j.j.j.j.T#N#K.j.j.j.j.j.j.j.j.j.j#K#N#N#K.j.j.j.j.j.j.j.j#M#N#N.U.S#M#N#N.S.j.j.j.j.j.j#L#N#L#N#N#N#N#N.j.j.j.j.j.j.T#M#J.T#K#N#N.S.j.j.j.j.j.S#N#N.T.j#N#N#L.j.j.j.j.j.j.j.n#N#N.T.j.j.j.j.j.j#K#N#L.j.j#N#N#K.j.j.j.j.j.j.j#J#M#J#L#N#N.j.j.j#K#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#N#J.j#K#N#N#J.j.j.j.j.j.n#M#L#M#N#M#K#N.n.j.j.j.j.j.T#M#N#N#J.j.j.j.j.j.j.j.j.j#J#N#N#N#N#N#N.T.j.j.j.j.j.j.n#N#N#N#N#N#N#M#N.j.j.j.j.j.j#L#L.T.j.T#N#N.T.j.j.j.j.j.j#K#N#N#L#N#N#L.j.j.j.j.j.j.j.T#N#N.T.j.j.j.j.j.j#K#N#N#M#N#N#N.T.j.j.j.j.j.j.S.U.S.n#M#N#J.j.j.j#N#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#M#N#N#J#N#N#N.S.j.j.j.j.j.S#N#N#N#N#N#N#N.T.j.j.j.j.j#L#N#N#N#K#K#K.n.j.j.j.j.j.j.j#K#N#N#M#J.S.j.j.j.j.j.j.j.n#M#L.U.U#N#N.U.j.j.j.j.j.j.j#J#N#N#K#M#N#N.T.j.j.j.j.j.j.j.U#N#N#N#N.T.j.j.j.j.j.j.j#J#N#N.T.j.j.j.j.j.j.S#M#N#N#N#L.S.j.j.j.j.j.j.T#N#N#M#M#N#M.n.j.j.j#J.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#N#N#N#N#N#K.j.j.j.j.j.j.j.T.S.n.T.U#K#M.n.j.j.j.j.j#K#N#N#N#N#N#N#M.j.j.j.j.j.j.j.j.j.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#N#N#N.j.j.j.j.j.j.j.j#J#N#N#N#N#M.j.j.j.j.j.j.j.j.j.j.T.T.S.j.j.j.j.j.j.j.j#K#N#J.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#N#N#N#N#L.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.U#K#K.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T.U#K#N#L.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#J.T.T.j.j.j.j.j.j.j.j.j.n#J#K#J.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U.n.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S#K#K.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#K.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.j.j.j.j.j.j.j.j.j#L.S.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N#N.T.j.j.j.j.j.j.j.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N.U.j.j.j.j.j.j.j.j.j.j.j.j.T#N#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#N#L.j.j.j.j.j.j.j.U#N.n.j.j.j.j.j.S.T.j.j.j.j.j.T#N#L#N#N.j.j.j.j.j.j#K#N.n.j.j.j.j.j.j.j#J#K.j.j.j.j#J#N#N#L.j.j.j.j#K#L#N#K.j.j.j.j#K#L#N.S.j.j.j.j.n#M#M.S.j.j.j#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N#N#K.j.j.j.j.j.S#N#N.j.j.j.j.j.j#N#N.T.j.j.j.j.j#J.j.U#N.T.j.j.j.j.j#N#N.n.j.j.j.j.j#M#N#N#M.j.j.j.j#M#L.n#N.j.j.j.j#N#N#N#J.j.j.j.j#M.T#M.T.j.j.j.j#K#N#N#L.j.j.j#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#K#J#N.n.j.j.j.j#K#N#M.j.j.j.j.j.U#N#N#K.j.j.j.j.j.j#L#M#N.n.j.j.j.j.S#N#N.S.j.j.j.j.S#N#N#N#K.j.j.j.j#N#L#J.T.j.j.j.j#N#J#M.U.j.j.j.j#N#M#N.n.j.j.j.j#N#K.U#N.n.j.j#L.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#N.U.S#N.U.j.j.j.j.T#K#N.j.j.j.j.j#K#J#J#M.j.j.j.j.j.n#N#N#M.j.j.j.j.j#J#J#L.T.j.j.j.j.n#N.T.T.j.j.j.j.S#N#N#N#K.j.j.j.j.S.j#N.T.j.j.j.j#L#N#N.S.j.j.j.n#N.U.S#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#N.U.j#N#K.j.j.j.j.j#K#N.j.j.j.j.j.n.j#K#N.j.j.j.j.j.j#J#J#N#L.j.j.j.j#M.S#K.U.j.j.j.j.S#N#L#N.T.j.j.j.S#N#K#J#N.n.j.j.j.j.T#N.n.j.j.j.n#N#N#N#K.j.j.j.n#N#M#L#N.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.U#N#J.j#N#M.j.j.j.j.j#K#M.j.j.j.j.j.j.n#N#L.j.j.j.j.S#L.n.j#N#M.j.j.j.j#N.U#M#M#J.j.j.j.T#N#N#N#L.j.j.j.j#N.U.j#N.U.j.j.j.j#J#N.j.j.j.j#K#M.j#N#L.j.j.j.j#M#N#N#N.S.j.j#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T#N#K.j#N#M.j.j.j.j.S#K#L.n.j.j.j.j.n#M#N.T.j.j.j.j.U#N#L#K#N#J.j.j.j.n#N#N#N#N#M.j.j.j.n#K.j#K#N.j.j.j.j#M#M.T#N#J.j.j.j.j#K#N.j.j.j.j#M#M.n#N#L.j.j.j.j.S.U#K#N.j.j.j#N.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#N#M.n#N#M.j.j.j.U#N#N#N#N.U.j.j.j#L#N#J.j.j.j.j.j.n#N#N#N#M.j.j.j.j.U#N#N#N#N.U.j.j.j.U#N.j#K#N.j.j.j.j.T#N#N#N.U.j.j.j.j#M#N.j.j.j.j#L#N#N#N.U.j.j.j.S#L.T#M#L.j.j.j#K.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#K#N#M#N#K.j.j.j.T#N#M#N#N.U.j.j.n#N#N#N#N#J.j.j.j.j.U#M#J.j.j.j.j.j.S#K.j#M#N.j.j.j.j.n#N#N#N#N.j.j.j.j.j.U#N#N.n.j.j.j.j#N#N.j.j.j.j.T#M#L.U.j.j.j.j.U#N#N#N.T.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n#N#N#N.T.j.j.j.j.j.j.n#J.n.j.j.j#J#L#N#N#M.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#N#N.S.j.j.j.j.T#N#N#K.j.j.j.j.j.j.j.j.j.j.j.j.j#M.T.j.j.j.j.j.j.j.j.j.j.j.j.S#N#N#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.n.T.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j#J#J.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T.n.j.j.j.j.j.j.S.U.j.j.j.j.j.j.j.j.j.j.j.j.j.j.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T.S.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
|
||||||
|
".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j"
|
||||||
|
};
|
BIN
wmCalClock-1.25/Src/wmCalClock_master_LowColor.gif
Normal file
BIN
wmCalClock-1.25/Src/wmCalClock_master_LowColor.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
193
wmCalClock-1.25/Src/wmCalClock_master_LowColor.xpm
Normal file
193
wmCalClock-1.25/Src/wmCalClock_master_LowColor.xpm
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
/* XPM */
|
||||||
|
static char *wmCalClock_master_LowColor[] = {
|
||||||
|
/* width height num_colors chars_per_pixel */
|
||||||
|
" 499 165 21 1",
|
||||||
|
/* colors */
|
||||||
|
". c #000000",
|
||||||
|
"# c #000001",
|
||||||
|
"a c #0e1114",
|
||||||
|
"b c #171717",
|
||||||
|
"c c #181818 s Back",
|
||||||
|
"d c #313115 s Color1",
|
||||||
|
"e c #2e3033",
|
||||||
|
"f c #3d3f44",
|
||||||
|
"g c #64640f s Color3",
|
||||||
|
"h c #585b60",
|
||||||
|
"i c #7c8186",
|
||||||
|
"j c #abab08 s Color7",
|
||||||
|
"k c #f4f401 s Color9",
|
||||||
|
"l c #8c9198",
|
||||||
|
"m c #9aa1a9",
|
||||||
|
"n c #a8aeb6",
|
||||||
|
"o c #b9c0ca",
|
||||||
|
"p c #c7cdd5",
|
||||||
|
"q c #ccd4dc",
|
||||||
|
"r c #ced6e4",
|
||||||
|
"s c #d2dae4",
|
||||||
|
/* pixels */
|
||||||
|
"###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############ssssnhffhnssssssssssnhffhnsssssssssssssssssssssphhfflssssssssssssnlllossssssssssssssssssssslffhhossssssssslhhfflosssssssssssssssssssssnhffhnssssssssolhffhhnsssssssssssssssssssssphhfflssssssssssssolllllnssssssssssssssssssslffhhossssssssnlllllllllossssssssssssssssssnhffhnsssssssssssssmmfffnssssssssssssssssssphhfflssssssolllllllllllllsssssssssssssssssslffhhosssssssssslhffhnsssssssssssssssssssssnhffhnssssssssssnhffhnssssssss",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############ssof#a#a##eorsssssof#a#a##eorssssssssssssssssshaa##a#blrssssssshf####lqrsssssssssssssssssnb#a##a#hrrsssshe####a##hqrssssssssssssssssof#a#a##eorsssoe##a###a#forssssssssssssssssshaa##a#blrssssssssse#####frrsssssssssssssssnb#a##a#hrrsssssf#########lqrssssssssssssssof#a#a##eorsssssssshe###a#lqrssssssssssssssshaa##a#blrsssl#############qqrsssssssssssssnb#a##a#hrrsssssha###a##borssssssssssssssssof#a#a##eorsssssnb##a###eorsssss",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############sse########apqsssse########apqsssssssssssssssha########mqrssphba#####ipqrssssssssssssssso#########hprssha#########fpqssssssssssssssse########apqsrp##########apqsssssssssssssssha########mqrssssssi######fpqrssssssssssssso#########hpqsssra###a#####ipqrssssssssssssse########apqsssssoba######ipqssssssssssssssha########mqrrm###a#########opqsssssssssssso#########hpqsssha########bnqssssssssssssssse########apqsssl#########bnqssss",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############sh#a##eba###hpqssh#a##eba###hpqsssssssssssssna###bf####boqrsna#######hoorsssssssssssssssb####fb####lprso###efba####lpqsssssssssssssh#a##eba###hpqsrb##ffe####ahpqsssssssssssssna###bf####boqrssssob##a###fnpqsssssssssssssb####fb####lpqsss##########hoorssssssssssssh#a##eba###hpqsssn######eefiopqssssssssssssna###bf####boqrl######a#####bnnpqsssssssssssb####fb####lpqsn####fhha###fpqsssssssssssssh#a##eba###hpqsob###aff####epqsss",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############s####hmmh####mprs####hmmh####mpqssssssssssssf###elml####hoqss###e#a#ahnoqssssssssssssssl####lmle###eopssbelnmnh####foprssssssssssss####hmmh####mprshhommml####foprssssssssssssf###elml####hoqssssh##bf#a#emoqssssssssssssl####lmle##aboprsn##afhhhhhhlnoqssssssssssss####hmmh####mpqsob###bhmmmmnnpqssssssssssssf###elml####hoqoliihhhhhaa##hmnpqssssssssssl####lmle###eopsh###bmmnf####opqssssssssssss####hmmh####mpsh###bllmh####lpqss",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############hb##bmlmnb###hopha##bmlmnb###hoprssssssssssp#a##hmmnh###enprsfhnn####hmoqsssssssssssssse#a#fmlml####loqslpnnnoof###enorssssssssssshb##bmlmnb###hopssspnnnof###enorsssssssssssp#a##hmmnh###enprssn###hf###emoqrssssssssssse#a#fmlml####moqsl###llmnnnnmnpqssssssssssshb##bmlmnb###hoprh##aflmmmnnopqrsssssssssssp#a##hmmnh###enpqqpnnnnmi####llnprsssssssssse#a#fmlml####loqfa##elmni####moprsssssssssshb##bmlmnb###hopb#a#fmmnnf###foprs",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############h###elmopf###enph###elmopf###enoqssssssssssl####mmnoi####noqsspnn####hmoqssssssssssssss###ahlmoo###ahnprrqpooppf##abmoqsssssssssssh###elmopf###enorsrpppqnb###hmoqsssssssssssl####mmnoi####noqssb##bnf###emoqssssssssssss###ahlmoo###ahnprl###llnnoooopqrsssssssssssh###elmopf###enooa##almihiopqqrssssssssssssl####mmnoi####noqrqpooooe###flmoqsssssssssss###ahlmoo###ahnqf###amnqh##abmnpqssssssssssh###elmopf###enp####hmnopl###anoqs",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############b###hmnppl###bmoa###hmnppl###bmoqssssssssssh###elmoqq####inprrqpo#a##hmopsssssssssssssn####lmnpqf###fnpqsrqsqrrfa##enoqsssssssssssb###hmnppl###bmoqsslllhb###elmoqsssssssssssh###elmoqq####inpri###hne###emopsssssssssssn####lmnpqf###fnpqf######fhqpqrrrsssssssssssb###hmnppl###bmoha##ff##a##hqrrssssssssssssh###elmoqq####inprrqqppl####imnorssssssssssn####lmnpqf###fnpn####elma###hmnoqssssssssssb###hmnppl###bmo###ahmnpql####moqs",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###################hmoqrl####mo#a##hmoqrl####moqsssssssssrh###elnorr#a##hnorsrrr###ahmoqsssssssssssssla###lmoqsfa##emoqsssssrp####hmnqsssssssssss####hmoqrl####moqss#######hlmnpqssssssssssrh###elnorr#a##hnoo###enmf#a#emoqsssssssssssla###lmoprh###emoph##a###a#boqrsssssssssssss####hmoqrl####moh###########fpqsssssssssssrh###elnorr#a##hnorsrssrb##aflmnprssssssssssla###lmoprh###enoqfa########flmnprssssssssss####hmoqrl####moe####loqoe####mnpr",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs#################a#hmopsl####mn####hmopsl##a#mnprsssssssssf###emnprr####hnoqsssr####hmoqrssssssssssssl####lmnqrf##aemoqrsssssb###bmmpqsssssssssss##a#hmopsl##a#mnprs#####aehmmnpssssssssssssf###emnprr####hnof###imnf###emoqrssssssssssl####lmnrrf##aemoqa#########bnssssssssssssss##a#hmopsl##a#mn##########a##hpqsssssssssssf###emnprr####hnoqrsssi####llnorrssssssssssl####lmnrrf###emoqqha#####aeimnoqsssssssssss##a#hmopsl####mnha####ff###a##lnpq",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###################hmoqsl#a##ln###ahmoqsl####lnpqsssssssssf#a#emoqss###ahmoqssss####hmoqsssssssssssssl####lmoqrh###emoqsssssf###ahlnoqsssssssssss####hmoqsl####lnors##a#####amprssssssssssssf#a#emoqss##a#hmm##afmmof###emoqsssssssssssl####lmorsf###emorfllhhe#####hpqssssssssssss####hmoqsl####ln#####hmmia####opqssssssssssf#a#emoqss###ahmoqssssb###flmnprsssssssssssl####lmorsf##aemoqlb########alnprsssssssssss####hmoqsl#a##lnpb##a########almoq",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###################hnnrrl####lm####hmopsl####lmopsssssssssh###emoprs####hmopssss#a##hnoprssssssssssssl##a#lmoqrf###emopssssfa###fmmnprsssssssssss#a##hnnrrl####lmoqsqonlf####epqssssssssssssh###emoprs####hma###eeefb###befqrssssssssssl##a#lmopsh###emopsroommlb###aoprsssssssssss#a##hnnrrl####lm##a#filmmh####hoprsssssssssh###emoprs####hmopsssi##a#llnorrsssssssssssl##a#lmopsh###emol####fhe####anqssssssssssss#a##hnnrrl####lmone####a#f###elnoq",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############e#a#fmoqsh###elmea##fmorsh##ablmoqsssssssssh###amorsn#a##imoqssss####hmoqssssssssssssso####hmoqsb###hmoqssqh####fmlnoqsssssssssssse###fmorsh###elmoqsqpnmnh####lpqsssssssssssh###amorsn####im##########a####pqrssssssssso####hmoqrb###hmoqsrqpoooh####noqssssssssssse###fmorsh##abln####hlmnoo###ahnoqsssssssssh###amorsn#a##imoqsssb###flmnprsssssssssssso####hmoqrb###hmo###ahmmmh####hpqssssssssssse###fmoqsh##ablmoppmfeehle###hmnps",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############f###emoqsfa##elnf###emoqsfa##elnorsssssssssm####moprl####lmopssss##a#hmopssssssssssssss###ahmops##a#hmopsoe####flmmoprssssssssssssf#a#emopsh###elnorsrqpooo####hopsssssssssssm####moprl#a##lm#a###########a#opqssssssssss###ahmops####hmopssrqqqql####mnprssssssssssf#a#emopsfa##elne###hlnppq####hnoqsssssssssm####moprl####lmopssi####llnorssssssssssssss###ahmops####hmi####mmmnoe##afoprssssssssssf#a#emoqsfa##elnorqponmmh####imops",
|
||||||
|
"#####ccccccccccccccccccccccccccccccccccccccccccccccccccccccs###############l####lopp####hmni####lopp####hmnprssssssssss#a##hnpre###elmoqssss####hmoqssssssssssssssfa##bmoqi####lmorob####ilmmopqsssssssssssssl####loqo####hlonrsrrqqqm###ahnoqsssssssssss#a##hnpre###elmfffeefefb###aeennpqsssssssssfa##bmopi##a#lmoqssrsrrsf###elnpqssssssssssl####lopp####hmnh###amoprl##a#imoqssssssssss#a##hnpre###elmorsob##aflmnprssssssssssssssfa##bmoqi##a#lmi####imnppf###enoqssssssssssl####lopp####hmnprrqpopi#a##flmors",
|
||||||
|
"####ssssssssssssssssssssssssssssssssssssssssssssssssssssssss###############sb###emnf###blmorb###emnf#a#blnoqrssssssssssh###aipha###ilnorssss##a#hmopssssssssssssssn###ahnmb###flnoob####beeefffnssssssssssssssb###emnf##aalnolbhlsrsib####lnoqsssssssssssh###aipi####ilnoonnmmmne#a#elmnopqsssssssssn###ahnmb###flnolflprsnfa###hlnoqsssssssssssb###emnf#a#blmon####emqmb###blnoqssssssssssh###aipi####ilnorsh####llnpqrssssssssssssssn###ahnmb###flnl##a#emnql####hmoqsssssssssssb###emnf##aalnoqrssole####bllnoqs",
|
||||||
|
"###########################################################################sl#a#####a#ahlnopl#a####a###hlnoqsssssssssssob#####a###elmnprsssra###hmoqssssssssssssssrf#########allno####a########lqrssssssssssssl#######a##hlnof########a##hlmoqsssssssssssob#########elmnpppooooof###elmooqrsssssssssrf####a####allnoh#########ablmnpssssssssssssl######a###hlnopia##########ilnoqssssssssssob#########elmnpro##a#flmnprsssssssssssssssrf#########allnoe####afe####almoqsssssssssssl#######a##hlnorl########bimmoprs",
|
||||||
|
"###########################################################################srf####a###emmnqrrf########flmnprsssssssssssrl########bimmorsssss###ahmoqrssssssssssssssob###a##a#hmmop#############ipprsssssssssssrfa###a###flmnqb#a########fllnpqsssssssssssrl########bimmorrqqqpqqf###emopqrrssssssssssob######a#hmmope#########fllnoqssssssssssssrfa#######flmoprpf###a##a##hmmnprssssssssssrl#######aaimmorsh####llnoqrssssssssssssssssob######a#hmmopoa########aallnpqsssssssssssrfa###a###flmnprl#######eimmopqss",
|
||||||
|
"###########################################################################ssshb####bhlmnoqrsrhaa###bhlmnorsssssssssssssqme#a##aflmmoprsssss####hmoqsssssssssssssssrnh#####blmmnpr##a###a##a##ahnpqssssssssssssrhb####bhlmnoqnf###a##abilmmoprssssssssssssqme#a##aflmmoprrrsrsssf#a#emoqrssssssssssssrnh#####blmmnprhba##a##ehlmmoprsssssssssssssrhb#a##bhlmnoqrrpib#####blmmnoqssssssssssssqme##a##flmmoprp##a#flmnprsssssssssssssssssrnha##a#blmmnpqqphb######fimmoprssssssssssssrhb####bhlmnorsl##a##filmnnpqsss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssrrolhhimmmnoprrsrroihhimmmnoprsssssssssssssspomhhhmlmmopqssssssronlmmoqrsssssssssssssssrpohihimlmnpprqonmlllllllmlmnoqssssssssssssrrolhhilmmnoprsrplhhhillmmnnpqsssssssssssssspomhhhmlmmopqrssssssssronmmoqrsssssssssssssrpohihimlmnppssrpihhhmllmnopqssssssssssssssrqoihhimmmnoprrsrpolhihmmlmmoprssssssssssssspomhhhmlmmopqrrsqommmnorrssssssssssssssssssrpnhihimlmnpqrsqpomhihlmmmmopqsssssssssssssrqolhhilmmnoprrplihlmlmmmopqssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssrrpoonmmnnoprssssqpponmmnnopqsssssssssssssssrroonnmmnoprrsssssrrpnmnnorssssssssssssssssrqponnmmnooqrrrpnmmmmmmmmmmnnprsssssssssssssqpoonmnnnoprssrponnmmnmnnoprsssssssssssssssrroonnmmnopqssssssssssrpnnnprssssssssssssssrqponmnmnnpprssrponnnmmnnopqssssssssssssssssqpponmmnnopqrsssqpoonmmmnnoprssssssssssssssrqponnmmnopqsssrponmnoprsssssssssssssssssssrqponmmmnooprssrqpoonnnnmnopqsssssssssssssssrpoonnmnnopqssrqponmmnnopqsssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############ssssrqppooopqrrsssssrpppooppqrssssssssssssssssrrrppoooopqrsssssssrqpooprrssssssssssssssssssqpooooopqrrsrqpooooooooooopqrrsssssssssssssrqppoooqqrssssrppooooooqqsssssssssssssssssrrqppoooopqrssssssssssrqoopqrssssssssssssssssqpooooppqrrssrqppooooppqrrsssssssssssssssssrqppooppqrrsssssrrpoooopprrsssssssssssssssrrpppoooopqrsssrqpooopqssssssssssssssssssssssrpooooopqrrssssrppooonpopqrssssssssssssssssrqpoooppqrrsssrpoooooqqrssssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############sssssrrqqqrrsrssssssssrqrqqrsrsssssssssssssssssrrrrpqqrrsssssssssrrrqrqrsssssssssssssssssssrrrpqqrrrsssrrrprppqpqpqpqqrssssssssssssssssrrqqqrrsrsssssrqrpqpqrrssssssssssssssssssssrrrpqqrrssssssssssssrrrqrrrsssssssssssssssssrrrpqqrrssssssrqpqpqqrrsssssssssssssssssssrrrqqqqrrrsssssssrrrqqqqrsrsssssssssssssssssrrrqqqrrssssssrqpqrrssssssssssssssssssssssssrrrqqrrrssssssssrqqqqqqrsssssssssssssssssssrrrqqrrrssssssrrqqqrrrsssssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp#######################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq#######################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############sssssllllssssssssssnhffhnsssssssssssssssssssssssnlllosssssssssssnlllossssssssssssssssssssssolllnssssssssslhfhflosssssssssssssssssssssssllllssssssssolhffhhnsssssssssssssssssssssssnlllosssssssssssolllllnssssssssssssssssssssolllnssssssssnlllllllllossssssssssssssssssssllllsssssssssssssnlffhmssssssssssssssssssssnlllosssssolllllllllllllsssssssssssssssssssolllnsssssssssslffhhnrssssssssssssssssssssssllllssssssssssnhffhnssssssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssohb####qqrssssrpf###a##eorsssssssssssssssssshe####lqrssssssshe####lqrssssssssssssssssssnf####fqrssssshb#a#####hrrssssssssssssssssrphb####qqrsssoe###a##a#forsssssssssssssssssshe####lqrssssssssse##a##fqrssssssssssssssssnf####fqrssssssf#########lqrssssssssssssssrphb####qqrsssssssshb##a##lqrsssssssssssssssrie####lqrsssl#############qqrssssssssssssssnf####fqrssssssh##a####borssssssssssssssssrphb####qqrssssrnb###a##eorsssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############nh##a####porrsssse##a#####bpqssssssssssssssoiba#####ipqrsssoibaa####ipqrsssssssssssssssle##a###fpqrsssia######a##fprssssssssssssssnh#######porrsso##########bpqssssssssssssssoiba#####ipqrsssssssi#####afpprsssssssssssssle##a###fpqrsssss##a##a####ipqrssssssssssssnh####a##porrssssspba######ipqsssssssssssssohb######ipqrssl#a###########opqssssssssssssle##a###fpqrsssshb########bnrssssssssssssssnh#######porrsssl#########bnrssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############h########nnpqsssh####be####hpqsssssssssssssn####a##ahnpqsssn#######ahnpqsssssssssssssssb#####a#fnpqsssn###efe#####lpqsssssssssssssh#####a##nnpqsssb##fee##a##hpqsssssssssssssn#####a#ahnpqssssssob#a####enpqsssssssssssssb#######fnpqsssss#########ahnpqssssssssssssh########nnpqssssn#####abffiopqssssssssssssnaa###a#ahnpqsrm####a##a####bnnpqsssssssssssb#######fnpqsssna###fhh####fpqsssssssssssssh#####a##nnpqssob####ff####epqsss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############la##e#a##lnoqsss##a#hmmh####mpqsssssssssssss###e####hnoqssss###e####hnoqsssssssssssssssfa#ba###enoqssssbelmmmha###foprssssssssssssl#a#e####lnoqssshiommml###afoprsssssssssssss##ae####hnoqssssssh##af###enoqsssssssssssssfa#bb#a#enoqssssn##afhhhhhhlnoqssssssssssssl#a#e####lnoqsssob###bhmmmmnnpqsssssssssssss###e####hnoqssolihhhhhhb#a#hlnpqsssssssssssfa#bb###enopsssh###bmmnfa###opqssssssssssssl#a#e####lnoqssha##blmmha###lpqss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############sbhoh####lmoqssi###ammmnb###hoprssssssssssssfhmn###ahmoqssssfhmn###ahmoqssssssssssssssslemnf###emoqsssslponnooea##enoqsssssssssssssbhoh####lmoqsssrqonnnof###enoqsssssssssssssfhmn###ahmoqsssssn###hf###emoqssssssssssssslemnf###emoqssssl###llmmnnnnnpqsssssssssssssbhoh####lmoqsssh###flmmmnnopqssssssssssssssfhmn###ahmoqssrrponnnni####lmnprssssssssssslemnf#a#emorsssf###emmni####moprssssssssssssbhoh####lmoqssb##aflmnnf###eoprs#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssqoha###lmopssf###elmopf###enorssssssssssssspon####hnopssssspon####hnopssssssssssssssssrpof###emoprsssrppooppf###emoqssssssssssssssqoi####lmopssssrqpppnb###hmoqsssssssssssssspnn####hnopsssssb#abnf##aemopssssssssssssssrpoe###emoprsssl###llnnoooopprssssssssssssssqoi##a#lmopsso#a#blmhiioppqrssssssssssssssspon####hnopsssrqpooooe###flmoqsssssssssssssrpoe###emopsssh###bmnpha##elnpqsssssssssssssqoi####lmopss####hmnopi###bnoqs#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssppl####lmoqssba##hmnppl###anoqsssssssssssssqpo##a#hmoqssssrqpo##a#hmoqsssssssssssssssssppf###emoqssssssqqrrsf###emoqssssssssssssssppi#a##lmoqssssrlllhb##ablmoqsssssssssssssrrpp####hmoqsssri###hmf###emoqsssssssssssssssppfa##emoqsssrh######fhpppqrsssssssssssssssppi####lmoqssi###ff#a###hqrssssssssssssssssppo#a##hmoqsssrrqrppl####ilnorssssssssssssssppf###emoqssrn#a##blma###hlnoqsssssssssssssppi#a##lmoqss####hmoprl####moqs#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############ssrrl####lmopss####hmoprl####mopsssssssssssssrrq####hmopssssssrq####hmoprsssssssssssssssssrf#a#emoqrsssssssssoa###hmopssssssssssssssrql####lmopsssss#######hmmnorsssssssssssssssqq##a#hmoprsso###emne###emoprsssssssssssssssrf###emoqrssrf##a##a#aborrssssssssssssssssrrl####lmoprsf###########fprssssssssssssssssrq####hmopsssssrrsrb###fmmnprsssssssssssssssrfa##emoqrssrf#########fmmnqrsssssssssssssrql####lmopssea##alopoe####mnpr#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssrrl#a##lmoqss####hmoqsl#a##mnprsssssssssssssss####hmoqssssssrs####hmorssssssssssssssssssqh###emoqssssssssssb###ammoqssssssssssssssrrl####lmoqsssss######ehmmopssssssssssssssssrs####hmorsssf###imnfa##emorssssssssssssssssqh###emoqssssb#########bnrssssssssssssssssrrl####lmorss#a###a###a###hpqsssssssssssssssrs###ahmoqsssssssri####llnoqsssssssssssssssssf###emoqsssssh#a####abllnoqssssssssssssssrrl####lmoqsri#####ff###a##lnpq#",
|
||||||
|
"#####sssssssssssssssssssssssssssssssssssssssssssssssssssssspa##############ssssl####lmoprs#a##hnnrrl####lnoqsssssssssssssss##a#hnoprsssssss#a##hnoprssssssssssssssssssf###emopsssssssssf##a#hmnorssssssssssssssssl####lmoprssss##a#####ampqssssssssssssssssss##a#hmopssna##hmmnf###emopsssssssssssssssssf##aemoprsssflihhe#####hpqsssssssssssssssssl##a#lmoprs#####hlmia####opqssssssssssssssss####hmoqrsssssssb##aflmnprsssssssssssssssssh###emopsssslba#######alnqrssssssssssssssssl####lmopsrra###########blmoq#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############ssssl####lmorss###ahmoqsl####lmoqsssssssssssssss####hmoqssssssss###ahmoqsssssssssssssssssssf###emoqssssssssf#a##flmnprssssssssssssssssl#a##lmorsssssronlf####epqssssssssssssssssss####hmoqssb###beffb###befqsssssssssssssssssf###emorsssssrponmlb###aoprssssssssssssssssl####lmoqss###aellmmh####hoprsssssssssssssss##a#hmoqsssssssi####imnorssssssssssssssssssf###emoqsssl####fhe####bnpsssssssssssssssssl#a##lmoqssroe#a####f###elnoq#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssssl##a#lmopsse###fmoqrh##ablmorsssssssssssssss#a##hmopssssssss####hmopsssssssssssssssssssh###emopsssssssfa###fmmnoqsssssssssssssssssl####lmopsssssqpnnmha###lpqsssssssssssssssss#a##hnopss####a#####a####prrsssssssssssssssh###emopsssssrqooooh####noqssssssssssssssssl####lmopss####hlmnoo##a#hnoqsssssssssssssss####hmopsssssssb###fmmnprssssssssssssssssssfa##emopsss####hmmlha###hprssssssssssssssssl####lmopsssrplfefhle###hmnps#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssssl####lmoqssf###emoqrh###elnpqsssssssssssssss###ahmorssssssss#a##hmoqsssssssssssssssssssf##aemoqsssssof####emlmoprsssssssssssssssssl####lmoqsssssrqpooo###ahnprssssssssssssssss###ahmorss############a##ooqsssssssssssssssf###emoqssssssrqrppla###mnprsssssssssssssssl#a##lmoqsse##afmnopq####hnoqsssssssssssssss###ahmoqsssssri####llnoqsssssssssssssssssssf##aemorsrm##a#mmmnoe###foprsssssssssssssssl####lmoqssssrponmnh###ahmoqs#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############ssssl####lmopssla###lopo####hmnprsssssssssssssss####hmopssssssss###ahmopsssssssssssssssssssfa##emoqrsssob####ilmmoorssssssssssssssssssl##a#lmopssosssrqqqm####hooqssssssssssssssss####hmopssfffeeeffa###aeenopqssssssssssssssfa##emopssssssssrsrf###elnoqsssssssssssssssl####lmopssha##amoprl###aimoqsssssssssssssssa###hmoqrssssob##aflmnprsssssssssssssssssssh###emopssl####imnppf###enoqsssssssssssssssl##a#lmopsssssqpooi#a##fmnnrr#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssssl####lmorssrb###elof###ammoqssssssssssssssss###ahmoqssssssss####hmoqsssssssssssssssssssf###emoqsssob####aeeefffnssssssssssssssssssl####lmoqsslbhlrrrib###almoqssssssssssssssss#a##hmorssrponnmmmf###elmnnpqssssssssssssssf###emoqssrmflossnf####hlnprsssssssssssssssl####lmoqsso####empnb###blmoqsssssssssssssss###ahmoqsssssh####llnoqssssssssssssssssssssf###emoqsrn####emopl####hmoqsssssssssssssssl####lmoqrsssssole####allnpqs#",
|
||||||
|
"#####sssssssssssssssssssssssssssssssssssssssssssssssssssssspa##############ssssl##a#lmoprssl##a####a##hmnoqssssssssssssssssa###hmoqrsssssss#a##hmoqrssssssssssssssssssh###emopsss##a##a#######lqrssssssssssssssssl####lmopssfa##########hlmoqssssssssssssssss###ahmopsssqoooooof###elnoorrssssssssssssssh##aemoqrssh#a####a###elmnpqsssssssssssssssl####lmopssri########a##ilnorsssssssssssssss####hmoqrsssp##a#flmnprrsssssssssssssssssssfa##emopssse####afe####blmppsssssssssssssssl####lmopsssl########bllnopqs#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############ssssl####lmoqsssrf########flmnprssssssssssssssss####hmoqssssssss###ahmoqsssssssssssssssssssf###emorsss#########a###ipqrsssssssssssssssl#a##lmorssb##a#######fllnprssssssssssssssss####hmoqsssrqrpqprf#a#emoprrsssssssssssssssf###emoqssse#########filnoqssssssssssssssssl#a##lmoqssrqf#a##a###ahlmnprsssssssssssssss###ahmoqssssh####llnorsssssssssssssssssssssf###emorsssoba########bimnoqsssssssssssssssl#a##lmoqssrm#######eimmnpqss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssssl####lmopssssrhb#a##bhmmnoqsssssssssssssssss##a#hmoqrsssssss####hmopsssssssssssssssssssfa##enopsss####a########hoorsssssssssssssssl####lmopssnf###a##aehmlnnprssssssssssssssss#a##hmoqrssssrssssfa##emoprssssssssssssssssfa##emopssshb#a####ehlmmoprssssssssssssssssl####lmopsssrpia#####eimmnorssssssssssssssss#a##hmoqrsso####flmnprsssssssssssssssssssssh###fmopssrrpha#####aflmmoprsssssssssssssssl####lmopssrl##a##filmmopqrss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############sssssronllmoqssssrqolhhilmmmoprsssssssssssssssssromlmmoqssssssssronlmmorsssssssssssssssssssrronmmoqsssronmllllmlmlmmnoqssssssssssssssssqonllmoqsssrqlhhhillmmnopqsssssssssssssssssqonlmmoqsssssssssssponmmoqsssssssssssssssssrronmnorssssrpihhhlllmnopqssssssssssssssssssqonllmorssssqpomhihlllmnoprssssssssssssssssromlmmoqsssssqonlmnorsssssssssssssssssssssrrqpmmmoqssssppolihiimmmmopqsssssssssssssssssqonllmoqsssollhlmllmnopqssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############sssssqpnnnnorsssssrpoonmnnnopqssssssssssssssssssrpnnmnprrsssssssrpnnmnpqrsssssssssssssssssssrpnnnpqsssrpnnmmmmmmmmmmoorssssssssssssssssronnnnorsssrponnmmmnnnopqssssssssssssssssssronnmnprrssssssssssrpnnnpqssssssssssssssssssronnnpqssssrponnnnmnnopqsssssssssssssssssssronnnnorsssssrponnmnmnnopqsssssssssssssssssrpnnmnprrsssrponmnoprrssssssssssssssssssssssronnnprsssssqponnnmmmnooqssssssssssssssssssronnnnprrsssqpnnmmnnopqrssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############sssssrqpooorrssssssrpppooopqrssssssssssssssssssrrqpoopqrsssssssrrroooprrssssssssssssssssssssrppoorrsssrqponooooooooopqrsssssssssssssssrrrpooorrsssrrppoooooopqsssssssssssssssssssrrrpoopqrssssssssssrrqpoorrssssssssssssssssssrrpooqrsssssrppooooppqrsssssssssssssssssssrrrpooorrsssssrrqppooopprrsssssssssssssssssrrqpoopqrssssrqpopoprssssssssssssssssssssssssrrpopqrsssssrrqqooooooprssssssssssssssssssrrrpoooqrsssrrqpoooppqrssssss#",
|
||||||
|
"#####sssssssssssssssssssssssssssssssssssssssssssssssssssssspa##############sssssrrqqrrrsssssssssrqqqrrsssssssssssssssssssssrrrqrrrrssssssssrrrrprrrsssssssssssssssssssssrrrrrrsssrrrqrppppqpqpqqrrsssssssssssssssssrqqrrrssssssrqqpqpqrsssssssssssssssssssssssrrprrrrssssssssssssrrqrrrsssssssssssssssssssrqrrrrssssssrqqpqprrrssssssssssssssssssssssrqrqrrsssrssssrrqqprqrrsssssssssssssssssssrrrprqrrsssssrrpqqrssssssssssssssssssssssssssrrqrrrsssssssrrrqqqqrrsssssssssssssssssssssrqrqrrrsssssrqqpqqrrsssssss#",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp#######################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq#######################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############ssrniffhhnssssssssssnhffhnssssssssssssssssssssolhffhlssssssssssssnlllosssssssssssssssssssslhhfflossssssssslhfhflosssssssssssssssssssrniffhhnssssssssolhffhhnssssssssssssssssssssolhffhlssssssssssssolllllnsssssssssssssssssslhhfflossssssssnlllllllllossssssssssssssssrniffhhnsssssssssssssmmfffnsssssssssssssssssolhffhlssssssolllllllllllllssssssssssssssssslhhfflosssssssssslhffhnsssssssssssssssssssrniffhhnssssssssssnhffhnssssssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssp###############sne#####a#eorsssssof#a#a##eorsssssssssssssssoh####a##blrssssssshf####lqrsssssssssssssssshe####a##hrrsssshe#####a#hrrsssssssssssssssne#####a#eorsssoe##a###a#forsssssssssssssssoh####a##blrssssssssse#####frrsssssssssssssshe####a##hrrsssssf#########lqrsssssssssssssne#####a#eorsssssssshe###a#lqrsssssssssssssoh####a##blrsssl#############qqrsssssssssssshe####a##hrrsssssha###a##borsssssssssssssssne#####a#eorsssssnb#a#a##eorsssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssssq###############o##########bnqssssea#######apqsssssssssssssse##########lqrssoiba#####ipqrssssssssssssssia#########fpqssia##a######fpqssssssssssssso##########bnqsrp##########apqsssssssssssssse##########lqrssssssi###a##fpqrssssssssssssia#########fpqssss#a##a#####ipqrssssssssssso##########bnqsssssoba######ipqssssssssssssse##########lqrsla##a#########opqsssssssssssha#########fpqsssha########bnqssssssssssssso##########bnqsssl#########anqssss",
|
||||||
|
"#####sssssssssssssssssssssssssssssssssssssssssssssssssssssspa##############sb##bff#####hpqssh####eba###hpqsssssssssssssha##ffa####aoqrsn#####a##hoorssssssssssssssn###efba####lpqsn###efe#####lpqsssssssssssssb##bff#####hpqsrb##ffe####ahprsssssssssssssha##ffa####aoqrssssob######fnpqssssssssssssn###efba####lpqsss######a###hoorssssssssssssb##bff#####hpqsssn######eefiopqssssssssssssha##ffa####aoqrl######a#####bnnpqsssssssssso###efba####lpqsn####fhha###fpqsssssssssssssb##bff#####hpqsob####ff####epqsss",
|
||||||
|
"####ppqpqpqqpqqpqqqpqqqpqqqpqqpqqpqqpqqpqqpqqpqqqpqpqqpqqpqp###############shbhnnmlb####opqs####hmmh####mpqssssssssssssn#hmmmmf###ahoqss###e###ahnoqssssssssssssssrbelnmnh####foprrbelmmnh####foprsssssssssssshbhnnmlb####opsshhommml####foprssssssssssssn#hmmmmf###ahoqssssh##bf###emoqssssssssssssrbelnmnh####foprsn##afhhhhhhlnoqsssssssssssshbhnnmlb####opqsob###bhmmmmnnpqssssssssssssn#hmmmmfa###ioqoliihhhhhaa##hmnpqsssssssssssbelnmnh####foqsh###bmmnf####opqsssssssssssshbhnnmlb####opsh#a#almmh####lpqss",
|
||||||
|
"#######################a####a####a#####a##a##a##a#a#a#aa#aa################snopnnooha###mophb##bmlmnb###hoprsssssssssssslonnnno####hpprsfhnn####hmoqssssssssssssssslpnnnoof###enorslpnnnnof#a#enorssssssssssssnopnnooha###moprsspnnnof###enoqssssssssssssslonnnno####hpprssn##ahf##aemoqrsssssssssssslpnnnoof###enorsl###llmmnnnmnpqssssssssssssnopnnooha###moprh#a#flmmmnnopqrssssssssssssslonnmno####hoprqpnnnnmi####llnprssssssssssslpnnnoof###enoqfa##elmni####moprsssssssssssnopnnooha###mopb###fmmnnf###foprs",
|
||||||
|
"###########################################################################srrqpoppl####lnoh###elmopf###enoqssssssssssssqpooopp##a#hnoqsspnn#a##hmoqsssssssssssssssrqpooppf##abmoqsrqpoppqf###bmoqssssssssssssrrqpoppl####lnorsrpppqnb###hmoqsssssssssssssqpooopp##a#hnoqssb##anf###emoqsssssssssssssrqpooppf##abmoqsl###lmmonooopqrssssssssssssrrqpoppl####lnoo###alnhiiopqqrssssssssssssssqpooopp####hnoqrqpooooe###flmoqssssssssssssrqpooppf##abmoph###amnqh##abmnpqsssssssssssrrqpoppl####inp###ahlnopia##anoqs",
|
||||||
|
"###########################################################################ssrrrrrrl####lmob###hmnppl###bmoqsssssssssssssqppprr####hmorsrqpo###ahmopsssssssssssssssssrqrrrfa##enopssrrqqrrfa##fmoqsssssssssssssrrrrrrl####lmoqsslllhb###elmoqssssssssssssssqppprr####hmorsi###hne###emopsssssssssssssssrqrrrfa##enoqsf######fhrqprrrsssssssssssssrrrrrrl####lmoha##ff#####hqrrsssssssssssssssqppqrr##a#hmorrrqqppl####imnorssssssssssssssrqrrrfa##enoqm####elma###hmnoqssssssssssssrrrrrrl##a#lmo####hmopql####moqs",
|
||||||
|
"###########################################################################ssssrssse###elno####hmoqrl####moqsssssssssssssrrrsri####lmoqssrrr####hmoqssssssssssssssssssssrp####hmoqssssssrp####hmoqsssssssssssssssrssse###elmoqss#######hlmnpqssssssssssssssrrrsri####lmoqo###enmf###emoqssssssssssssssssssrp####hmoqsfa######aaorssssssssssssssssssrssse###elmoh###########fpqsssssssssssssssrrrsri####lmoqsssrsrb##aflmnprsssssssssssssssssrp####hmoqsfa########flmnprssssssssssssssrssse###elmoea##aloqoe####mnpr",
|
||||||
|
"###########################################################################sssssssh##a#hmmo#a##hmopsl#a##mnprssssssssssssssrsn###aflmoqrsssr####hmoqrssssssssssssssssssssb###blnopsssssssb###blnopssssssssssssssssssh##a#hmnoqss#####aehmmnpsssssssssssssssssrsn###aflmoqf###imnf#a#emoqrssssssssssssssssssb###blnopsb#########anrssssssssssssssssssssh##a#hmno#####a##a####hpqssssssssssssssssssn####flmoqrssssi####llnorrssssssssssssssssssb###blmoqsrha#####aeimnoqssssssssssssssssssh####hmnoh#####ff######lnpq",
|
||||||
|
"###########################################################################ssssssl####emmnp###ahmoqsl####lnpqsssssssssssssssob###ailnpqsssss##a#hmoqssssssssssssssssssssf###ahlnoqssssssf###ahlnoqsssssssssssssssssl####emmnpsss##a#####amprssssssssssssssssssob###ailnon###hmmof###emoqssssssssssssssssssf###ahlnorsfllhhea####hpqssssssssssssssssssl####emmnp##a##hlmiaa###opqssssssssssssssssob###bilnpqsssssb###flmnprssssssssssssssssssf###ahlnpqslb########alnprsssssssssssssssssl##a#emmnpsb#########a#almoq",
|
||||||
|
"###########################################################################sssssl#a##bllnor####hmopsl####lmopssssssssssssssob##a#ilmoprsssss####hnoprssssssssssssssssssfa###fmmnqrsssssfa###fmmnqrssssssssssssssssl#a##bllnorsssronlf####epqsssssssssssssssssob##a#ilmopb###beefb###befqrssssssssssssssssfa###fmmnqrssrpnnmla###aoprssssssssssssssssl#a##bllnor####fllmmh####hoprssssssssssssssob##a#ilmoprrsssi##a#llnorrsssssssssssssssssfa###fmmnprl###afhe####anqsssssssssssssssssl####bmlnoqroe######f###elnoq",
|
||||||
|
"###########################################################################ssssl####bimnopre###fmorsh##ablmoqsssssssssssssob####hlmnpqrssssra###hmoqsssssssssssssssssqh####fmlnoqssssrh####fmlnoqssssssssssssssssl####almmoprsssrpnmnh####lpqsssssssssssssssob####hlmnpr####a##########pqrsssssssssssssqh####fmlnoqsssrqpoooha###noqsssssssssssssssl####almmopr####hlmnno###ahnoqsssssssssssssob####hlmnpqssssrb###flmnprssssssssssssssssqh####flmnoqs####hmlmh####hpqsssssssssssssssl##a#aimmoprrrpmffehle###hmnps",
|
||||||
|
"###########################################################################sssha###bllnnpqsfa##emoqrfa##elnorsssssssssssslba##ahmmmpprssssss###ahmopssssssssssssssssoe####flmmoprsssoe####flmmoprsssssssssssssssha###bllmopqssssrqpooo####hopsssssssssssssslba##ahmmnoqr##a######a##a##opqrsssssssssssoe####flmmoprsssrrqqppl####mnprsssssssssssssha###bllmopqse###hlnpqq####hnoqsssssssssssslba###ilmnoqrssssi####llnorssssssssssssssssoe####fmlnoprl#a##mmmnoe##afoprsssssssssssssha###almmopqssrqponmmh####imops",
|
||||||
|
"###########################################################################ssf####flmmoprssl####lopp####hmnprsssssssssssl####blmmmoprsssssss####hmoqsssssssssssssssob###ahmmmopqsssob####ilmmopqsssssssssssssssf####flmmopqssossrrqqqm###ahnoqssssssssssssl####blmmmoprsfffeeeefb###aeennpqssssssssssob###ahmmmopqsssssrsrssf###elnpqssssssssssssf####flmmopqssha##amoprl##a#imoqsssssssssssl####amlmmoprssssob##aflmnprsssssssssssssssob###ahlmmoorsl####imnppf###enoqssssssssssssf####flmmnpqssssrqpopi#a##flmors",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sfa####eeffffhsssb###emnf##aalnoqsssssssssssl#a###eeeffffssssssss#a##hmopssssssssssssssob####afeefffnssob####beeefffnssssssssssssssfa####eeefffhsslbhlssrib####mmoqsssssssssssl#a###eeeffffssspnnmnmne###elmnopqsssssssssob####afeefffnsslfmossnf#a##hlnoqsssssssssssfa####eeefffirso####emqmb###blnoqssssssssssl#a###eeeffffsssssh####llnpqrssssssssssssssob#a##bfeefffnsn####emopl####hmoqsssssssssssfa####eeffffirsssssole####bllnoqs",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################h####a#######hsssl#a#####a##hlnoqsssssssssrm#############qrrsssss###ahmoqssssssssssssss###a#########lqr####a########lqrssssssssssrh####a##a####hssf#a########aflnoqsssssssssrm#############rqrqpooooofa##emmooqssssssssss###a#########lqsh##########blmnpssssssssssrh####a##a####fqrri###########ilnoqssssssssrm#############rqrrp##a#flmnprsssssssssssssss#############lrre####afe####almoqsssssssssrh####a#######fqrsl########bimmoprs",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################f############fpqrrf####a###flmnprssssssssssl####a########porrssss####hmoqrsssssssssssss#############ipq##a######a###ipprssssssssssf############fprb########a#fllnosssssssssssl####a########opprqqppqpf###emopqrrsssssssss#############ipqe######a##fllnoqsssssssssssf############fpqrqf###a##a##hmmnprsssssssssl####a########opqrh####llnoqrsssssssssssssss#a#######a###ippob########aallnpqssssssssssf############fpqrl#######eimmopqss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################f##a###a##a##fnorsrhb####bhlmnorsssssssssssl#a#####a##a##nnpqsssra###hmoqssssssssssssss###a##a##a##ahnp######a#####ahnpqsssssssssqh###a#####a##fnonf#a##a##ehmlnoprssssssssssl#a#####a##a##nnpqrsssssfa##emnqrsssssssssss###a##a##a##ahnphb##a###ehlmmoprssssssssssqh###a#####a##fnoqrpib#####blmmnoqssssssssssl#a####a###a##nnoo#a##flmnprssssssssssssssss###a##a#####ahnorphaa#####fimmoprssssssssssf##a###a##a##fnprl#a###filmnnpqsss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ssonllllllllmmnorsrrolhhilmmnoprssssssssssssronlllllllllmlnoqssssqonmlnoqrssssssssssssssonmlllllllmlmnoqonmlllllllmlmnoqssssssssssrqonllllllllmmnorrplhhhillmmnnpqssssssssssssronlllllllllmmnoqsssssssronmnorrssssssssssssonmlllllllmlmnorrpihhhmllmnopqssssssssssssrqonllllllllmmnorrrpolhihmlmmmoprsssssssssssronlllllllllmlnpprpommmnorrsssssssssssssssssonlllllllmllmnpprpolhihlmmmmopqsssssssssssssonllllllllmlnoqolihmllmmnopqssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################srpnnmmmmmmmmmnpqssrpoonmnnnopqssssssssssssrqpnnmmmmmmmmmnnprssssronnmnorssssssssssssssrpnmmmmmmmmmmmooqpnmmmmmmmmmmnnpqsssssssssssrpnnmmmmmmmmmnpqrponnnmmnnnoqqssssssssssssrqpnnmmmmmmmmmmnprssssssrqpnnnpqssssssssssssrpnmmmmmmmmmmnnpqrponnnmmnnopqssssssssssssssrpnnmmmmmmmmmnpqssrpoonmmmnnopqsssssssssssrqpnnmmmmmmmmmnnorrponmnoprsssssssssssssssssrpnnmmmmmmmmnmoorrqpoonnnnmnopqsssssssssssssrpnnmmmmmmmmnnorrqponmmnnopqsssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################srqooooooooooopqrrssrqppoooqqrssssssssssssssrqoooooooooooopprssssrroooprrrsssssssssssssrqpooooooooooopqrqpooooooooooopprsssssssssssrqpoooooooooopprrqppooooooqqsssssssssssssssrqoooooooooooopprrssssssrqoopprssssssssssssrqpooooooooooopqrrrpoooooppqrsssssssssssssssrqpoooooooooopqrsssrqpooooppqrsssssssssssssrqooooooooooooprrrqpooopqssssssssssssssssssrqpoooooooooooorrrsrqpooonpopqrsssssssssssssrqpooooooooooprrsrpooooopqrrsssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################srrrqrppqpqpqqqrsssssrrqqqrrssssssssssssssssrrrqqqpqpqqqpqqrssssssrrrrqrsssssssssssssssrrrprpppqpqpqqqrrrrprppqpqqpqprrssssssssssssrrrprpprpqqqqrrsssrqqpppqrrssssssssssssssssrrrrprppqqqpqqqrssssssssrrrqrrsssssssssssssrrrprpppqpqpqprrrssrrqqqqqrrssssssssssssssssrrqrpprpqqqprqrrssssrrrrqqrrrssssssssssssssrrrqrppqpqqqqqqrssrqqqrrsssssssssssssssssssrrrpqpqpqpqppqrrsssrrrrqqqqqrsssssssssssssssrrrprppppqqqqqrsssrrqqqrrsrssssss",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss########################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss########################################################################################################################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ssolhfhfinrsssssssssnhffhnssssssssssssssssssssliffhhlssssssssssssnlllosss##ssssssssssssssssssssssssssssssolossssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssnlssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################oe########forssssrpf###a##eorsssssssssssssssh########bmrssssssshe####lqrs##ss#fssssssssssssssssf###fsssssl#lrrssssssf#fse#fsssssssssssssssse##lssssssssssssssss##lo##lsssssssssssssssssf#ssssssssssssssssssl#lssssssf#qqssssi##fsssssssssssssssssslb##msssssssssssssssrph##fossssssonsssssl#bsl#lssssssssssssssss###bhosssssssssssss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################o##a#######bpqsssse########bpqsssssssssssssse########a#mqrssoiba#####ipqr##ss#fqpqsssssssssssssh#limpprssl#loprsssssh#bp##fppqsssssssssssss#f#fpprsssssssssssss##hl##loqrssssssssssssssh#ppqsssssssssssssssl#lpqrsssfapoqsssf#faoprsssssssssssssssbblhqpqsssssssssssssse#ihaepqssss#fsrsssl##hl#lpqrsssssssssssss#elh#eprsssssssssss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sb##fee#a###hpqssh####ee####hpqsssssssssssssh##effa####eoqrsn####a##ahnpq##ssafnb##ls#fb#lsssssf#ihlnf#epl#f#aorsssrebbie#fml##bol#h#sssssn#h#anfeb#hsfeefsssso#eehe#hnh##fseesebssssssf#o#fsf#s#fb#lssssssl#if#ql#lf#nnpsssbbf#lh#ls#fsl#bbfsssss#bmnnnf#eol#f#eosssrn#hpnh#lne#hf##fpqsrm#eeh#inh#blsbbsebsssss#fnmh#lnb#hssh#bsss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################shhpmmml##a#foprs#a##hmlh####mpqssssssssssssmhnnmmme####norss###e####hnoq##ss#fnmib#p#epe#pqrssf##ahham#hi#hi#hpqsss#ffeeb#lnmhafl#bfppqssi#le#le#nh#mf#ehrprsl#i#ef#fmmmf#lhap#hpprsssf#n#fpf#q#epe#pqrsssl#ie#ol#lf#nnorso#fhahhblp#fo#ho#fppqssl##blham#hl#hn#hpqssl#lnmhaheboop#fnnoqsl#hafahh#mh#nh#p#hppqss#fnmhaheehamhalnppq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ssronnnof###enoqi###blmnnb###hoprssssssssssssrponnni####mnprsfhmn###ahmoq##ss#flaab#n#fnf#noqsrh#nmnf###fhahm#enorss#ffeff#mh#e#fh#innnpssf####hf#niahf#onnoqsl#i#ei#elf#eahm#f#nnopssrh#n#fnf#o#fnf#noqsssl#if#oh#if#nmorrm##a#fh#in#hh#io#fnopsssnh#ff###fh#in#fnoqsn#hmoh#l#eonn#fmmoqsl#ifbahf#ph#ii#f#lnopss#fmnh#l###ahf#oonoq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sssqpppnb###hmoqf###emmnpf###enorssssssssssssrpppppf###elnpqsspon####hnop##hl#hhahe#m#fme#mnorsf#nmmh#mlmhahi#hnnpsn#hh#hf#lf#n#ehahmmopss#ehhaee#mf#lf#mmnopsh#lf#m#el#fh#hneabnnnpsllbbn#eme#n#fme#mnornlf#le#lh#hf#mmprrf#lhb#hahl#fl#hl#emnprsllh#fh#mlmhbhi#fnnpssb#hhaenballo#elmoqsl#hl##hh#lh#ln#eannnpss#ehh#fnbemlmh#hmnoq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ssrlllhb##ablnorb###hmnpql###anoqsssssssssssssmllie####ilnoqsrqpo##a#hmoq#ab#enlbae#l#fmf#nmprsf#nmnme##lh#f#ennnpsl#ii#ihahh#bbfhahmnoqsn#hombbe#a#fnf#mmnpssf#oe#me#mf#eahmh#hmmoqsh#binh#be#m#emf#nmorna#hnlb#faif#mmorsbbnmf#ie#befmf#b#fmnpsse##hnlb##lh#b#emmnpssoe##hnnhaafph#fnosrlainbahmf#bhnmf#fmmorss###ahpnha#amleabopr####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sss#######hmmnoq##a#hmoprl#a##mnqsssssssssssssf#####aellmnqsssrrq####hmop##sqommnnmmmmnmnnnmorsspnmorpnmmoonmnnmoqrsrommnnnnnnnmmmnnnopsssrommnne#mmnnmnnmprsssqnmnmnnmmnmmmmf#lmnorssronmnomnnmnnmnonmprrrpomnnnnnnmnnmprsspnmnnmmnmnnmlnhahmnprssronmmnnmmi#hnmnmnqssrpnmnnnnonmoppnmorsrpomnommnnnnnnoommmorssspmmnnmoommmnonmnoq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sss#####abhmmops####hmorsl####mnprsssssssssssrh#####aflmnpqssssss####hmoq##sponnoonnmnonnpnopsssponprqpnnnoonnnnoqssqonoononnonnnnnnnoqssssoonpof#mmmnnonnpsssspononnonnpnnnh#lnmnpsssqpnnooonnnnonnonnprrqpnnnoonnnnnnnpsssponopnnonnnnbaafmlnpsssqonnnoonni#immnnpqssrqonnnnooonnooonoqssqonoonnopnnnoppnmopsssrpnmnnnoponnoponnoq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sss##a#####ampqs####hmoprl####lnpqssssssssssssf#a######hpprssssss##a#hnop##sqpppqqpooppppqppqsssrpprssqpppqppppprssssqppppppppqpopppprrssssqppqqpommnppqpqqssssrppqppqppqppppqonnoqsssrppppqpppppppqrpqqsssqppprqpppppppqsssqppqqppppppppponnmoprssqppppsqppppnmnopqsssssqpopprqqppqrppqrssrqqqppppppppprqqpprssssqpooppqrppppqqpppq####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sssronlf####eors###ahmorsl####lmoqsssssssssssssqonhb###ampqssssss####hmoq##ssrrrsrsssssrssssssssssssssssrrssrrrrssssssrrrrrrssrrrrssssssssssrssrrponpqsssssssssssssssssssrrsrqonopsssssssrsssrrrrssrssssssssrrsssrrrssssssssssssssssrrrrrponnnprssssrrrsssrrqqpnoqrssssssrsrssssrsrrrrrssssssssssrssssssssrsssssssssrsssssssrsrsrrss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sssrpnmnha###lpqe###fmopsha##elmoqrssssssssssssrpnmlb###hnprsssss#a##hmop##sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrqpprsssssssssssssssssssssssssqpqrsssssssssssssssssssssssssssssssssssssssssssssssssssssssqppppqrssssssssssssrrqprrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sssrqpooo###ahoqfa##emorsf###elnpqsssssssssssssrqpoof###enpqsssss###ahmoq##sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss####################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ossrrqqqm####hnpl####lopo####hmnprssssssssssossrrrqqb###emoqsssss####hmop###############################################################################################################################################################################################################################################################################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################lbhlsrrib###almopb###emof#a#blmoqrssssssssss#florrne###ahmoqsssss#a##hmoq##ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssslnssssssssssssslnssssssssssssssssssssssssssnosssssssssssssssssssssssssssssssssssssssssssssssssss#####cgkkgccccjkcccjkkjccjkkjccccdkjcckkkkgcgkkjcgkkkkkccjkkgccgkkjcccc....cdgcccdggdc##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################fa##########hlmorl##########hmnoqssssssssssl###########elnoqrssss###ahmop##s##lo##lsssssssssssssssssssl####fssssssssssssssssssf#sl#lo#fsssssssss#frqsssssf####l#frqsssssssssssssss####lssss#fsrssssssh##brssssssnosssssssslb##nsssssssssssssssss#####dkkkkdccgkkccgkjjkgdkjjkgcccjkjcdkjjjddkkjkgdjjjkkcjkjkkddkkjkgccc....cjkcccgkjkd##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################b########a#fllnpqrf#a######flmnprssssssssssha#########eilnoqsssss####hmoq##s##hl##ipqrssssssssssssssssole#impprsssssssssssssssm#lhahl#lpprssssss#fopqssssnl#ein#fopqssssssssssssss#elinpqsrnoppqsssrnafilopqsssl#lrrssssssbblhopqsssssssssssssss#####gkddkgcjkkkccgkdckjgjcckjccdkkjcgkgcccgkdcjdcccgkdcjkcgkgjkdcjjcdg....ckjgccgjcjg##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################nfa##a###billnopqsqhb##a#bhmmnoqsssssssssssphb##a##aahlmnoprsssss#a##hmoq##o#ebhe#hnne#eos#fb#lssssssssrf#nme#ql#lsf#eosssssssn#hfffhalnf#eosh#b#fnnpsssssq#fmn#ea#lq#fsf#ssssssss#ehim#fbl#fooqssssl#fnmnh##fs###ipqsssss#bmnnf#ql#lfee#fssssss#####jkcckjcjgjkcccccdkjcccgkjccjjkjcgkkkjcjkdgdccccjjccgkgjkdjkccjkcjk....gjgjccgkjkd##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################srplhhhimlmmnnpqssrqolhhilmmmoprsssssssssssrqpmihhhllmmnnpqssssssqonlmmoq##l#iaef#fmebqbep#epe#pqrssssssf#mmf#ol#lh#n#hpqsssssqafahbf#nh#m#hm#ho#fmnpssssss#emm#emb#oafqf#ppqsssss####n##fm#fnopsssssf##ennmf#il#innprssssl##blf#ol#lf#oh#lpqsss#####jkcckjcccjkcccccjkdccjkjccdkdkjcjkjkkdjkkkkdccdkgccckkkjcgkjgkkcdg....jkkkccgjgdc##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################srponnmmmmnnppqssssrpoonmmnnoprsssssssssssssrqonnnnmmnnoprsssssssronnmnpq##l#i#ei#el#foe#n#fnf#nopssssssf#nmf#ohaif###fnoqsssssef#m#fbnf###fhain#fmnprsssss#fmm#fmf#n#fnf#onpsssss#fnmm#fnn#fnnqrssssrlf#hf#e#hi#hmnpqsssssnh#ff#nhaif#ni#hoprss#####jkcckjcccjkccccgkjcccgjkgckjckjccdcdkjjkjgkjccjkcccjkgjkdckkkkkccc....jdckdcgjccc##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################ssqppoooooppprssssssrpppoopprrsssssssssssssssrrppoooooprrsssssssrrrpooprr##h#lf#m#embbnaen#fmf#mhhrssssrh#nmf#mh#if#mlmmflsssssfbam#bemf#mlmi#hm#emfirsssss#fnn#fme#m#eme#nhhrssss#fmln#fmm#fmelrsssshlf#lafhbhhahlhhqssssllh#ff#mhahf#nhbhifoss#####jkcckjcccjkcccgkkdcccccjkgkjjkkgcccckjjkccjkcckjccckjcckjccgdjkcgj...............##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss################sssrqqpqpqqrssssssssssrqqqqrrssssssssssssssssssrqqpqqrrsssssssssssrrprqrr##fane#me#mle#elm#fme#nahpqrssrf#nmnb#h#hme##hl#lqqsssl#fme#hmle##hnh#aefhalqqssss#fmn#fnf#nhaae#mbhpqrss#fmmo#fmm#fi#lprssnb#bhne#e#hne#ibhpqrsse#ahmla#f#if#mhaihaoqq#####gkddkgcccjkccdkkdccgjccjkgkkkkkjjjcdkjgkdcjkcckjccckjcdkjdjdckjcjk...............##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss###########################################################################################spnnnmnnmmonmnnnnnnol#mooqsssspnnopnmnnmnnmnhepopqssspnlmommnonnnnonnmnhboooqsssrpmnpommonnnmnnl#mooqsssonnpqonnpohbooossssqonmnnmmmmnnl#mooqsssqonmmmnnnnmnnnonbhoop#####dkkkkdcccjkccjkjjjggkjjkjcccckjcjkjkkddkkjkjcgkgcccjkjkkddkkjkgccc...............##################################################################################################",
|
||||||
|
"#####ssssssssssssssssssssssssssssssssssssssssssssssssssssss###########################################################################################sqononnonooonnnponnonlnnopssssponpqonnonnonnlnnnoqsssqonnonnoponnoopnnnlmnnpqsssspnoppononnoonnmlnnoqrsspnoprpnopplmonoqsssponnoonnnnoomlnnoqrssqonnooonnnnnnnpohonnp#####cgkkgccccjkcckkkkkjcjkkjccccckjcdjkkgccgkkjdcgkgcccdjkkgccgkkjcccc...............##################################################################################################",
|
||||||
|
"######################################################################################################################################################sqpppppqpppqppppqppqppooorssssqpprrqppppqqppppooprsssrqppqpppqqpopqqpppopooprssssqpprppprppqppoppooorsssrppqrqppqpppnopssssppoppqppopprppoooqsssrpoppqpppppqppprqpooq########################################################################################################################################################################################",
|
||||||
|
"######################################################################################################################################################ssrsssssssssrsrsssssrqppqrsssssrsrssrsrrsrsrqqppqssssssssssssssssssssrrrqpppsssssssssssssssssssrqppqrsssssrsssrrssrqppqrssssrrsrsrssrsrrqpppssssssrrsssrrsrsssssrpppq########################################################################################################################################################################################",
|
||||||
|
"........................................................................##############################################################################sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss########################################################################################################################################################################################",
|
||||||
|
".....######################################################................cccccggcccccccccddccccccccdggccccccccggggggdccccccccccddccccccccccccddccccccccccggdcccccccggggcdgdcccccccdgdcccccccccccdggcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
".....######################################################................cccjkkkkdcccccccjjcccccccjkkkkccccccgkkkkkkgcccccccccdkjcccccccjkkkkkjccccccccgkkkkgcccccgkkkkkkkdcccccdjkkkjcccccccccjkkkkdcccccccccccccccccdccccccccccccdjccccccgjjjccccccggdddddcccccccccccjcccccccccccgdccccccdggggccccdgcccccdccccccgjjgccccccccgjjgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................ccjkgcdkjccccccjkjccccccjkgcdkgcccccgkccckkdcccccccccjkjccccccckjggdcccccccccgkjdcjkcccccgkggcdkgccccccjkdcdkgcccccccjkgcdjkdcccccddcccccccjkkkkjccccccdgjkgcccccjkkkkkcccccgkkkkkjccccccccccjkcccccccjjjkkgcccccjkkkkgccccckkkkkkkccccckkkkkkcccccgkkkkkjcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cgkgcccdkdccccjkjjcccccdkdcccjjcccccgkccjkdcccccccccjkjjccccccckgcccccccccccdkjccccccccccdkdccjkdcccccckgccgkdccccccdkgcccgkgccccckkcccccckkkkkkkjccccdjkkkccccdkkkkkkkjccccgkkkkkdcccccccccjkkccccccckkkkkdccccjkkkkkcccccdkkkkkkgccccgkkgjkkgcccckkkkkkkgccddccccccccccdjjgccccccccccdjdcccccccccccgjjdcccccccccdjjgcccccccccccdjjccccccccjjjjjjgcccccccccdjgcccccccccccccccccccccccdjjgccccccccccgjjgcccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cjjccccckgccccddjjcccccdjcccckjccccccccjkkkdcccccccgkdjjccccccgkgjkkkgccccccjkcdjkkjcccccccccdkjccccccckgjkkkgccccccgkccccjkjccccckkcccccjkkkkkkkkgccccdkkkcccccgkkdjkkjccccgjgkkjcccccccccjkkkccccccdkkjgjgcccgkkjccgcccccgkjkkkjcccccjkkcgkkgcccgkkjcjkkjcckkcccccccccgkkkkjccccccccgkkgcccccccccdkkkkkdcccccccjkkkkkccccccccccjkkccccccccjkkkkkgccccccccdkkjcccccccckkkkkkkjccccccdkkkkjccccccccjkkkkjccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................ckgccccckgccccccjjcccccccccdkkdcccccccjkjjkkccccccdkgcjjccccccgkkjggjkdccccdkggkkgjkdccccccccjkdcccccccgkkjgjkjcccccdkgcgjkkjcccccdcccccdkkkjddjkkjccccdkkkccccccdjcjkkjccccdcckkjccccccccjkkkkccccccgkkjgcccccjkkdggdcccccgdcjkkgcccccdkkkkkjccccgkkjdjkkkcckkccccccccdkkdcjkdccccccckkkgcccccccccjkjcdkjcccccccgjdcjkgccccccccgkkkccccccccjjccccccccccccckkjcccccccccjjjjjkkdccccccjkgcjkcccccccgkjcdjkgccdgcccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................gkdccccdkdccccccjjccccccccgkkdccccccccddccdkgccccdkgccjjgjccccgkgcccckgccccgkdkkdccjjcccccccckjcccccccdkjdcccgkccccccgkkkjdjjcccccccccccgkkkcccdkkkccccckkkccccccccckkkgccccccgkkkjccccccgkjgkkcgccccjkkkkjcccckkkkkkkgccccccdkkkccccccdkkkkkjccccdkkkkkkkkccdcccccccccgkgccdkjcccccccdgkgcccccccccddccdkjcccccccccccjkgcccccccdkkjkccccccccjkkkkjccccccccjkgcccccccccccccckkgcccccccjkdcjkcccccccjkcccdkjccjkgccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................gkcccccjkcccccccjjcccccccjkjccccccccccccccckgcccckkkkkkkjjccccccccccckgccccgkkkdcccjjcccccccgkdccccccckjcccccjjccccccccgdcdkgcccccjjccccgkkkcccgkkkccccckkkccccccccgkkjccccccccdjkkgccccgkkjjkkkkccccdcgkkkgccckkkkkkkkccccccjkkgcccccckkkkkkkjccccgkkkkkkkccccccccccccjkcccckjccccccccgkgccccccccccccdkkdccccccccdjkkkccccccccjkgjkcccccccckkkjjkgccccccckkkkjdccccccccccjkjccccccccgkkjkjcccccccjkdccdkjccgjdccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................gkccccdkjcccccccjjccccccgkgcccccccccjjccccgkdccccjjjggjjccccccdgccccgkcccccdkkdcccgkgccccccckjcccccccgkdccccjkdcccccjjccccjkdccccckkccccdkkkjdgkkkjccccckkkdccccccckkkjjgccccggcgkkjcccgkkkkkkkkkccccgccjkkgccckkkgckkkdccccgkkkccccccgkkjcdkkkdccccgddjkkjccjjccccccccjkcccckjccccccccgkgcccccccccccjkkgcccccccccdkkkjcccccccjkjcjkcccccccckkdccjkccccccdkkjjkkcccccccccckkdccccccccdkkkkjcccccccdkkjjkkgcccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................dkgccgkkccccccccjjcccccdkjcccdkcccccjjcccgkjccccccccccjjccccccjkdccgkgccccccjkdccgkjcccccccgkgcccccccdkgccgkkgccccccjkdccgkgccccccjgcccccjkkkkkkkkgccccckkkdccccccjkkkkkdccccjjgkkkgcccjjjjgjkkjjdccckjjkkkgcccjkkjdkkkcccdjkkkjccccccgkkjdgkkkccccckjjkkkdcckkccccccccjkcccckjccccccccgkgcccccccccckkjdccccccccccccdkkdcccccdkkkkkkkdccccccddcccjkccccccgkgccgkgccccccccgkjcccccccccjkgdjkgcccccccdjkkkkdccdgcccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cjkjkkjdccccccccjjcccccgkkkkkkkcccccdkjjkkjcccccccccccjjccccccdkkjkkgcccccccckkjkkjccccccccjkcccccccccjkkkkjdcccccccdkkjkkjcccccccccccccccjkkkkkkgcccccckkkgcccccgkkkkkkccccgkkkkkjcccccccccgkkgccccdkkkkkkccccgkkkkkkjccccgkkkgccccccckkkkkkkjccccgkkkkkgcccjgccccccccgkdccgkgccccccccgkgcccccccccgkjcccccccccccddccgkgcccccdjjjjkkjdcccccccccccjkccccccgkgccgkgccccccccjkdccccccccckjccckjccccccccccgkjcccjkdccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................ccgjgdccccccccccddcccccdgggggggccccccdjjgdccccccccccccddccccccccgjgdccccccccccgjgdcccccccccdgccccccccccgggdccccccccccdgjjdcccccccccccccccccgjjjgcccccccgkkkjcccccjjjjjjkdccdjkkkkjdccccccccdkkkkgcccgkkkkjdcccccjkkkkjcccccccgkdcccccccdjkkkkjcccccjkkkjdccccccccccccccdkjddkkdcccccccdjkjdccccccccjkggggcccccccckkdcjkdccccccccccjkcccccccckjccjkjccccccdkjddjkdcccccccdkjcccccccccckkdcgkjccccccccdjkkdcccgkdccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggddgcccccccccccddcccccgggccccccccccggddgdcccdcdgdccccccccdggdcccccccccddcccccccccdggdccccccgccccccccccccccccccccjkkkkjcccccccckkkkkccccccccjkkkkkjcccccccjkkkkjcccccccccccjkccccccccjkkkkkdcccccccjkkkkjccccccccjkgccccccccccjkkkkkdccccccckkkjdcccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjjdcccccccccdgggdccccccccdgggggdccccccccdjjgccccccccccccgjcccccccccgjjgccccccccccgjjdcccccccccgjccccccccccccdjjjdccccccccjjdcccccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................cccccccccccccccccccccccccccccccccccccccccccdccccccddccccccccgcccccdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdcccccccdgcccdjjccccgdddcccccccgcccccccgccccdggcccgcccccccdjjdccccgjgcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
".....cccccccccccccccccccccccccccccccccccccccccccccccccccccc................ccgkkdccccjgccccjkjccccjkkkgccccccjdcccgjkkjcccccjkkgcccjkkkkcccckkkccccccjkjccccccccccccccccddccccccccccccccccccccccccccccccccccccccccccdjkkgccccgkgccdkkkjcccjkkkdcccccgkccccjkkjcccjkkjcccjkkkjccckkkjcccgkkkgcccccccccccccccccccccccccccccccccccccccccccccccccccccccdjjdccccccccjdccccccccgjdcccccccggdcccccccccjjccccccgjgjgcccccccdjdccccccgggdgdccccccggccccccccgjgcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc...cckjkjcccckgcccgkjkgccckjjkgcccccgkdcccjkjjgccccgkjjjccckkjkjcccjkgkgccccjkjkgcccccccccccccccjgccccgjjjjcccccccccccccccccccccccccccccccccjkkkkdccjkkcccjkkkkcccjkkjccccccjkccccjkkjccdkkkjcccjkkkgccgkjjkccckkkkjccdcccccccccccccccccccccccccccccccccccccccccccccccccccckkkkdccccccjkdcccccccjkkkdcccccjkkkgcccccccdkkcccccckkkkkcccccccjkdcccccjkkkkkjcccccjkkjccccccjkkkgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjjcckdccjkgcccjgcgjccckcdjccccccjkccccjgcccccccjjccgccckdcjgcccjgdjgcccckdcjjcccjgcccccccccdjjccccggcgjccccccccccccccccccccccccccccccccgkkkkkjccckkcccgkgkkcccjgkjcccccgkkccccjkgjccjkgdgccckkkkdccgkgjkccdkjgkkcckcccccccccccccccccccccccccccccccccccccccccccccccccccjkggkjcccccgkkdccccccjkggkgcccccjjgkjcccccccjkkcccccckjdgdccccccgkjccccccdjjjkkgccccgkggkdccccdkjckkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckgccjgccjkgccckdcgjcccgcjjcccccgjkccccjggjdcccdkccdccccgcckdcccjdckdcccgjccjkccckjcccccccccjjjdcccgjkjcccccccccccccccccccccccccccccccccjkjcjkjccckkccccgckkccccgkjccccckkkcccckkgcccjkggcccdddkjcccdkkkjccdkjgkkdckccccccccccccccccccccccccccccccccccccccccccccccccccckjccjkcccccdjkdccccccdgcckgccccccccjjccccccgkkkcccccckjjjdcccccckjccccccccccdkjcccccjkcckgccccgkccgkdcccccjjccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckcccjgcccjgcccgccjjccccgkkjccccjgjdcccjkkkkcccgjckkjcccccgkccccjjkkjcccgjcckkcccjgcccccccccjggjcccggcccccccccccccccccccccccccccccccccccjkgcdkkccckkcccccdkjccccjkkdcccjkjkddcdkkkgcckkkkjccccgkgcccckkkjccdkkkkkdccccccccccccccccccccccccccccccccccccccccccccccccccccckgccjkccccccdkdcccccccccjkgccccccgjkjccccccjjjkcccccckkkkkcccccgkjjgccccccccjkccccccgkjjkdccccgkccdkdcccccjkccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkcccjgcccjgcccccjkdcccckjgkcccgkcjccccjkcckdccjjjkjkcccccjjccccjkjgkgccdkgjkjcccccccccccccggccjdccggcccccccccccccccccccccccccccccccccccjkgcdkkccckkcccccjkjcccccjkjccdkjjkkdcccjkjcckkkkkdccckkdcccjkkkkgccjkkkkcccccccccccccccccccccccccccccccccccccccccccccccccccccckgccjkccccccgkdccccccccjkjcccccccjkkdcccccgkggkcccccdkjcgkdccccjkkkkgccccccckjccccccckkkjcccccdkjgjkdcccccdgccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjccckdcccjgccccgkgcccccdcckdccjgckkgccjgccjgccjjkcckdcccckgcccckgccjgcccjkkgjcccccccccccccgcccddccdgcccccccccccccccccccccccccccccccccccjkkdjkjccckkccccckkjgccdddkjccjkkkkkdcdcckkcckkdjkdccdkkcccckkcjkjcccggkkccjccccccccccccccccccccccccccccccccccccccccccccccccccckgccjkccccccgkdcccccccjkjccccccccdgkjccccckkjkkjcccccjdcdkgccccjkddkjccccccgkgccccccgkjjkgcccccjkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjccdkccccjgcccckjcccccdccckdcdkkkkkgccccccjgccjkgcckdcccdkccccgkccckgccccdcgjcccjgcccccccccccccccccccccccccccccccccccccccccccccccccccccgkkkkkgccckkdcccgkkkgccgjjkjcdjjgjkjgcgjjkjccjkgjkdcdjkjcccckkgjkgccgjjkgcckccccccccccccccccccccccccccccccccccccccccccccccccccckjccjjccccccgkdccccccdkjcccccccccccjkccccckkkkkjccccccccdkgccccjjccjjccccccjkcccccccjkcckjccccccggkjccccccggccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjccjjccccjgcccgkcccccdkccdkccdjjgkccccgccckdccgkccdkccccgjccccjjccgkcccjjccjjccckgccccccccccccccccccccccccccccccccccccccccccccccccccccccjkkkjcccckkdcccjkkkgcckkkkdcccccjkdccgkkkjccjkkkkccdjkgccccjkkkkdccjkkkcccgcccccccccccccccccccccccccccccccccccccccccccccccccccjkcckjccccccgkdccccccgkdcdcccccckgcjkccccccccjkcccccdjccjkdccccjkcckjcccccckjcccccccjjcckjcccccccgkgccccccjkccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkcckgccccjgcccjjcdjccdkccjjcccccckdccckgcjkcccgkccjjccccjjccccjjcgkjcccgjcdkdcccjgcccccccccccccccccccccccccccccccccccccccccccccccccccccccjjjccccdkkgcccjjjjgcdkkkjcccccdkkjccjkkjcccckkkgccccjgccccdkkkjcccjkjgcccccccccccccccccccccccccccccccccccccccccccccccccccccccgkjkkdcccccgkkkdcccccjkkkkgccccckkjkjccccccccjkcccccdkjjkjcccccgkjjkgcccccgkgcccccccjkjjkgcccccgjkjcccccccgjccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckjkjcccccjjccckkkkkccckjjkdcccccckdcccjkjkgccccjjkkdcccckgccccgkjkjccccdkjkjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggddcccccccdcccggccccccdgdgccddgccccccggccccccdccccccggccccdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjkkgccccccgkkjccccccgkjjkgcccccgkkjcccccccccgjccccccjkkkdccccccjkkjccccccgkcccccccccjkkjcccccckkjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkjccccccjgcccjjjjjcccgkkgcccccccjdccccjkgcccccdkkdcccccjdcccccjkjccccccjkjcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdcccccccccccccccccccddcccccccccggccccccccdccccccccccddcccccccggcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdggdccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccgcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjdcccccccccccccccccccccdkkkkjccccccccccccccccccccccccccccccccccccccgkkjcccccccccccccccccccccdkkkdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjjjdccccccccccccjkgcccccccccccccccccccccjkkkkkkccccccccccdkkdcccccccccccccggcccccccgkkkkgcccccccjggjjdcccccccjkjkjcccccccccjjjdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkkkkkdcccccccccdjkkcccccccccdjkkdccccccccgjjcgkkjccccccccckkkgccccccccdjjjkkkccccccckkjdkkccccccdkkkkkgccccccdkjckjcccccccckkkkkgcccddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjkkjjkkdcccccccckkkkcccccccccjkkkkccccccccccgjgkkjccccccccdkkkgccccccccgkkkkkjccccccgkkgggjccccccgkkjkkdccccccgkkgkjcccccccgkkjjkkccckkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkddkkjccccccccjjkkccccccccdkjdkkdcccccccccjkkkkdccccccccjkdkjccccccccgkkggjdccccccjkkkkkgcccccccjdckkcccccccdkkkkgcccccccjkkcgkkdcckkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkccjkkdccccccccgkkcccccccccgdckkgcccccccccgkjkkkdccccccdkgckjccccccccgkjjjjcccccccjkkjjkkdccccccccgkjcccccccgkkkkkdccccccjkkgjkkgccdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkdcjkkgccccccccgkkcccccccccccgkkdcccccccdgdccjkkjccccccjkgdkkggccccccjkkkkkjccccccjkkcckkjccccccccjkjccccccdkkdjkkjccccccjkkkkkkdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkgcjkkjccccccccgkjccccccccccjkkjcccccccckkkgdkkkdccccccjkjkkkkkccccccgkjgjkkdcccccdkkgckkjcccccccdkkgccccccjkjcckkjcccccccjkjjkkcccjjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjkkjcjkkjcccccdkjkkkjkdcccccgkkkjcccccccccjkkkkkkgccccccdkkkkkkkkccccccjjgcgkkgccccccjkkjkkjcccccccgkkgccccccjkkkkkkgccccccdgddkkjccckkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkkkjkkkdcccccdkkkkkkkgcccccjkkkjjjdcccccccjkkkjdcccccccdkjggkkgcccccccjkkjkkkgcccccccgkkkkgcccccccjkkgccccccdkkkkjdccccccgkkkkkkdcccjgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkkkkkjcccccccgddggjkdcccccjkkkkkkkcccccccccdccccccccccccccdkkkccccccccjkkkkkccccccccccggdccccccccjkjdcccccccccccccccccccdkkkkjdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdgjjgccccccccccccccccccccccccggjkjccccccccccccccccccccccccdjggcccccccccdjjjdcccccccccccccccccccccgdccccccccccccccccccccccdjjdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgjgccccccccccccccccccccccccdgccccccccccccccggcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdcccccccccjdccccccccccccckkkgcccccccgccccccccccccccckkgccccccccccccgkkcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjkjcccccccgkdcccccdgcccccgkjkkccccccjkdcccccccjjccccjkkjccccjjkjccccjjkdccccdkkdcccjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkjcccccdkkcccccckkgcccccjcgkgccccckkdccccckkkkcccckjdkcccckkkjcccckgkgccccjkkjccckccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkjjkdccccjkkcccccgkkjccccccjkkdccccdkkdccccdkkkjcccckjjgcccckjkgcccckkkdcccckjgkdccjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkgdkgccccgjkcccccjjjkcccccdkkkcccccjjjgccccdkggccccdkkkjccccdckgccccjkkdcccdkgdkdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkgckjcccccjkcccccdcjkccccccjjkjcccckdjgccccdkjkgcccdkjjkdccccgkdcccdkkkjcccdkkjkdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkjckkcccccjkccccccdkjccccdjdckkcccckgkkjcccgkkkjcccckgckgccccjkccccjkckjcccckkkkdccjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgkjckkccccdjjdccccdkkgccccgkjjkjcccdkkkkkcccdjcjkcccckkgkjccccjkcccckkdkjccccdgjkccckccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkkdkkcccgkkkkgcccjkjcccccdkkkkccccgkkkkgcccgkcjkccccgkkkgcccckkccccjkkkgcccdjgkjcccjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjkkkjcccgkkkkgccdkkkkjccccgkjcccccdjckkccccdkkkkcccccgkkdcccckkccccgkjgccccgkkkgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdkkkgccccccdjdcccjjkkkccccccccccccccckkdccccgkkjccccccccccccckgccccccccccccdkkjcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdgdccccccccccccccccjjcccccccccccccccgdccccccdgccccccccccccccdccccccccccccccgdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
||||||
|
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
|
||||||
|
};
|
72
wmCalClock-1.25/Src/wmcalclock.patch
Normal file
72
wmCalClock-1.25/Src/wmcalclock.patch
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
*** fastCalClock.c Thu Jul 1 10:08:07 1999
|
||||||
|
--- wmCalClock.c Thu Jul 1 09:38:53 1999
|
||||||
|
***************
|
||||||
|
*** 272,278 ****
|
||||||
|
int GotFirstClick2, GotDoubleClick2;
|
||||||
|
int GotFirstClick3, GotDoubleClick3;
|
||||||
|
int DblClkDelay;
|
||||||
|
- int HasExecute = 0; /* controls perf optimization */
|
||||||
|
char ExecuteCommand[1024];
|
||||||
|
|
||||||
|
|
||||||
|
--- 272,277 ----
|
||||||
|
***************
|
||||||
|
*** 451,457 ****
|
||||||
|
* to catch expose events, etc...
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
! if ( HasExecute == 0 || n>10){
|
||||||
|
|
||||||
|
n = 0;
|
||||||
|
|
||||||
|
--- 450,456 ----
|
||||||
|
* to catch expose events, etc...
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
! if (n>10){
|
||||||
|
|
||||||
|
n = 0;
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 722,734 ****
|
||||||
|
* Redraw and wait for next update
|
||||||
|
*/
|
||||||
|
RedrawWindow();
|
||||||
|
! if( HasExecute == 1) {
|
||||||
|
! usleep(DELAY);
|
||||||
|
! } else if( ShowSeconds == 1) {
|
||||||
|
! usleep( 200000L);
|
||||||
|
! } else {
|
||||||
|
! usleep( 500000L);
|
||||||
|
! }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
--- 721,727 ----
|
||||||
|
* Redraw and wait for next update
|
||||||
|
*/
|
||||||
|
RedrawWindow();
|
||||||
|
! usleep(DELAY);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 817,823 ****
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
strcpy(ExecuteCommand, argv[++i]);
|
||||||
|
- HasExecute = 1;
|
||||||
|
|
||||||
|
} else if (!strcmp(argv[i], "-g")){
|
||||||
|
|
||||||
|
--- 810,815 ----
|
||||||
|
***************
|
||||||
|
*** 975,981 ****
|
||||||
|
char Command[512];
|
||||||
|
|
||||||
|
|
||||||
|
- if( HasExecute == 0) return; /* no command specified. Ignore clicks. */
|
||||||
|
DblClkDelay = 0;
|
||||||
|
if ((xev->button == Button1) && (xev->type == ButtonPress)){
|
||||||
|
if (GotFirstClick1) GotDoubleClick1 = 1;
|
||||||
|
--- 967,972 ----
|
354
wmCalClock-1.25/Src/xutils.c
Normal file
354
wmCalClock-1.25/Src/xutils.c
Normal file
|
@ -0,0 +1,354 @@
|
||||||
|
/*
|
||||||
|
* xutils.c - A collection of X-windows utilties for creating WindowMAker
|
||||||
|
* DockApps.
|
||||||
|
*
|
||||||
|
* This file contains alot of the lower-level X windows routines. Origins with wmppp
|
||||||
|
* (by Martijn Pieterse (pieterse@xs4all.nl)), but its been hacked up quite a bit
|
||||||
|
* and passed on from one new DockApp to the next.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* 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, 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 (see the file COPYING); if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
#include "xutils.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* X11 Variables
|
||||||
|
*/
|
||||||
|
int x_fd;
|
||||||
|
XSizeHints mysizehints;
|
||||||
|
XWMHints mywmhints;
|
||||||
|
Pixel back_pix, fore_pix;
|
||||||
|
char *Geometry = "";
|
||||||
|
GC NormalGC;
|
||||||
|
XpmIcon wmgen;
|
||||||
|
Pixmap pixmask;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Colors for wmCalClock
|
||||||
|
*/
|
||||||
|
extern char TimeColor[30];
|
||||||
|
extern char BackgroundColor[30];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* flush_expose
|
||||||
|
*/
|
||||||
|
static int flush_expose(Window w) {
|
||||||
|
|
||||||
|
XEvent dummy;
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
while (XCheckTypedWindowEvent(display, w, Expose, &dummy))
|
||||||
|
i++;
|
||||||
|
|
||||||
|
return i;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RedrawWindow
|
||||||
|
* RedrawWindowXY
|
||||||
|
*/
|
||||||
|
void RedrawWindow(void) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RedrawWindowXY(int x, int y) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* copyXPMArea
|
||||||
|
* copyXBMArea
|
||||||
|
*/
|
||||||
|
void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
|
||||||
|
XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* initXwindow
|
||||||
|
*/
|
||||||
|
void initXwindow(int argc, char *argv[]){
|
||||||
|
|
||||||
|
int i;
|
||||||
|
char *display_name = NULL;
|
||||||
|
|
||||||
|
for (i=1; argv[i]; ++i) {
|
||||||
|
if (!strcmp(argv[i], "-display")) display_name = argv[i+1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!(display = XOpenDisplay(display_name))) {
|
||||||
|
fprintf(stderr, "%s: can't open display %s\n",
|
||||||
|
argv[0], XDisplayName(display_name));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
screen = DefaultScreen(display);
|
||||||
|
Root = RootWindow(display, screen);
|
||||||
|
DisplayDepth = DefaultDepth(display, screen);
|
||||||
|
x_fd = XConnectionNumber(display);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* openXwindow
|
||||||
|
*/
|
||||||
|
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits,
|
||||||
|
int pixmask_width, int pixmask_height) {
|
||||||
|
|
||||||
|
unsigned int borderwidth = 1;
|
||||||
|
XClassHint classHint;
|
||||||
|
char *wname = argv[0];
|
||||||
|
XTextProperty name;
|
||||||
|
XGCValues gcv;
|
||||||
|
unsigned long gcm;
|
||||||
|
int dummy=0, red, grn, blu;
|
||||||
|
XpmColorSymbol cols[10]={ {"Back", NULL, 0},
|
||||||
|
{"Color1", NULL, 0},
|
||||||
|
{"Color2", NULL, 0},
|
||||||
|
{"Color3", NULL, 0},
|
||||||
|
{"Color4", NULL, 0},
|
||||||
|
{"Color5", NULL, 0},
|
||||||
|
{"Color6", NULL, 0},
|
||||||
|
{"Color7", NULL, 0},
|
||||||
|
{"Color8", NULL, 0},
|
||||||
|
{"Color9", NULL, 0}};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create Pixmap
|
||||||
|
*/
|
||||||
|
cols[0].pixel = getColor(BackgroundColor, 1.0000, &red, &grn, &blu);
|
||||||
|
cols[1].pixel = getBlendedColor(TimeColor, 0.1522, red, grn, blu);
|
||||||
|
cols[2].pixel = getBlendedColor(TimeColor, 0.2602, red, grn, blu);
|
||||||
|
cols[3].pixel = getBlendedColor(TimeColor, 0.3761, red, grn, blu);
|
||||||
|
cols[4].pixel = getBlendedColor(TimeColor, 0.4841, red, grn, blu);
|
||||||
|
cols[5].pixel = getBlendedColor(TimeColor, 0.5922, red, grn, blu);
|
||||||
|
cols[6].pixel = getBlendedColor(TimeColor, 0.6980, red, grn, blu);
|
||||||
|
cols[7].pixel = getBlendedColor(TimeColor, 0.7961, red, grn, blu);
|
||||||
|
cols[8].pixel = getBlendedColor(TimeColor, 0.8941, red, grn, blu);
|
||||||
|
cols[9].pixel = getBlendedColor(TimeColor, 1.0000, red, grn, blu);
|
||||||
|
|
||||||
|
wmgen.attributes.numsymbols = 10;
|
||||||
|
wmgen.attributes.colorsymbols = cols;
|
||||||
|
wmgen.attributes.exactColors = False;
|
||||||
|
wmgen.attributes.closeness = 40000;
|
||||||
|
wmgen.attributes.valuemask = XpmReturnPixels | XpmReturnExtensions | XpmColorSymbols
|
||||||
|
| XpmExactColors | XpmCloseness | XpmSize;
|
||||||
|
if (XpmCreatePixmapFromData(display, Root, pixmap_bytes,
|
||||||
|
&(wmgen.pixmap), &(wmgen.mask), &(wmgen.attributes)) != XpmSuccess){
|
||||||
|
fprintf(stderr, "Not enough free colorcells.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create a window
|
||||||
|
*/
|
||||||
|
mysizehints.flags = USSize | USPosition;
|
||||||
|
mysizehints.x = 0;
|
||||||
|
mysizehints.y = 0;
|
||||||
|
|
||||||
|
back_pix = getColor("white", 1.0, &red, &grn, &blu);
|
||||||
|
fore_pix = getColor("black", 1.0, &red, &grn, &blu);
|
||||||
|
|
||||||
|
XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
|
||||||
|
&mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy);
|
||||||
|
|
||||||
|
mysizehints.width = 64;
|
||||||
|
mysizehints.height = 64;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
win = XCreateSimpleWindow(display, Root, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
iconwin = XCreateSimpleWindow(display, win, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Activate hints
|
||||||
|
*/
|
||||||
|
XSetWMNormalHints(display, win, &mysizehints);
|
||||||
|
classHint.res_name = wname;
|
||||||
|
classHint.res_class = wname;
|
||||||
|
XSetClassHint(display, win, &classHint);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up the xevents that you want the relevent windows to inherit
|
||||||
|
* Currently, its seems that setting KeyPress events here has no
|
||||||
|
* effect. I.e. for some you will need to Grab the focus and then return
|
||||||
|
* it after you are done...
|
||||||
|
*/
|
||||||
|
XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask
|
||||||
|
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
|
||||||
|
| KeyPressMask | KeyReleaseMask);
|
||||||
|
XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask
|
||||||
|
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
|
||||||
|
| KeyPressMask | KeyReleaseMask);
|
||||||
|
|
||||||
|
|
||||||
|
if (XStringListToTextProperty(&wname, 1, &name) == 0) {
|
||||||
|
fprintf(stderr, "%s: can't allocate window name\n", wname);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
XSetWMName(display, win, &name);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create Graphics Context (GC) for drawing
|
||||||
|
*/
|
||||||
|
gcm = GCForeground | GCBackground | GCGraphicsExposures;
|
||||||
|
gcv.foreground = fore_pix;
|
||||||
|
gcv.background = back_pix;
|
||||||
|
gcv.graphics_exposures = 0;
|
||||||
|
NormalGC = XCreateGC(display, Root, gcm, &gcv);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pixmask = XCreateBitmapFromData(display, win, pixmask_bits, pixmask_width, pixmask_height);
|
||||||
|
XShapeCombineMask(display, win, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
XShapeCombineMask(display, iconwin, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
|
||||||
|
|
||||||
|
mywmhints.initial_state = WithdrawnState;
|
||||||
|
mywmhints.icon_window = iconwin;
|
||||||
|
mywmhints.icon_x = mysizehints.x;
|
||||||
|
mywmhints.icon_y = mysizehints.y;
|
||||||
|
mywmhints.window_group = win;
|
||||||
|
mywmhints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
|
||||||
|
|
||||||
|
|
||||||
|
XSetWMHints(display, win, &mywmhints);
|
||||||
|
|
||||||
|
|
||||||
|
XSetCommand(display, win, argv, argc);
|
||||||
|
XMapWindow(display, win);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long getColor(char *ColorName, float fac, int *red, int *grn, int *blu) {
|
||||||
|
|
||||||
|
XColor Color;
|
||||||
|
XWindowAttributes Attributes;
|
||||||
|
|
||||||
|
XGetWindowAttributes(display, Root, &Attributes);
|
||||||
|
Color.pixel = 0;
|
||||||
|
|
||||||
|
XParseColor(display, Attributes.colormap, ColorName, &Color);
|
||||||
|
Color.red = (unsigned short)(fac*(Color.red-24) + 24);
|
||||||
|
Color.blue = (unsigned short)(fac*(Color.blue-24) + 24);
|
||||||
|
Color.green = (unsigned short)(fac*(Color.green-24) + 24);
|
||||||
|
Color.flags = DoRed | DoGreen | DoBlue;
|
||||||
|
XAllocColor(display, Attributes.colormap, &Color);
|
||||||
|
|
||||||
|
|
||||||
|
*red = Color.red;
|
||||||
|
*grn = Color.green;
|
||||||
|
*blu = Color.blue;
|
||||||
|
return Color.pixel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long getBlendedColor(char *ColorName, float fac, int red, int grn, int blu) {
|
||||||
|
|
||||||
|
XColor Color;
|
||||||
|
XWindowAttributes Attributes;
|
||||||
|
|
||||||
|
XGetWindowAttributes(display, Root, &Attributes);
|
||||||
|
Color.pixel = 0;
|
||||||
|
|
||||||
|
XParseColor(display, Attributes.colormap, ColorName, &Color);
|
||||||
|
Color.red = (unsigned short)(fac*(Color.red-red) + red);
|
||||||
|
Color.blue = (unsigned short)(fac*(Color.blue-grn) + grn);
|
||||||
|
Color.green = (unsigned short)(fac*(Color.green-blu) + blu);
|
||||||
|
Color.flags = DoRed | DoGreen | DoBlue;
|
||||||
|
XAllocColor(display, Attributes.colormap, &Color);
|
||||||
|
|
||||||
|
return Color.pixel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
48
wmCalClock-1.25/Src/xutils.h
Normal file
48
wmCalClock-1.25/Src/xutils.h
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
#ifndef WMGENERAL_H_INCLUDED
|
||||||
|
#define WMGENERAL_H_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Typedefs
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
Pixmap pixmap;
|
||||||
|
Pixmap mask;
|
||||||
|
XpmAttributes attributes;
|
||||||
|
} XpmIcon;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global variable
|
||||||
|
*/
|
||||||
|
Display *display;
|
||||||
|
Window Root;
|
||||||
|
Window iconwin, win;
|
||||||
|
int screen;
|
||||||
|
int DisplayDepth;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Function Prototypes
|
||||||
|
*/
|
||||||
|
void AddMouseRegion(int, int, int, int, int);
|
||||||
|
int CheckMouseRegion(int, int);
|
||||||
|
void openXwindow(int, char **, char **, char *, int, int);
|
||||||
|
void initXwindow(int, char **);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
void RedrawWindowXY(int, int);
|
||||||
|
void copyXPMArea(int, int, int, int, int, int);
|
||||||
|
void copyXBMArea(int, int, int, int, int, int);
|
||||||
|
void setMaskXY(int, int);
|
||||||
|
unsigned long getColor(char *, float, int *, int *, int *);
|
||||||
|
unsigned long getBlendedColor(char *, float, int, int, int);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
25
wmCalClock-1.25/TODO
Normal file
25
wmCalClock-1.25/TODO
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
TODO List
|
||||||
|
---------
|
||||||
|
|
||||||
|
- Add in a few more fonts... Graphite would be nice! Or EagleFeather
|
||||||
|
(its a Frank Lloyd Wright inspired font)?
|
||||||
|
|
||||||
|
- Allow fonts to be added externally via some sort of config file...
|
||||||
|
|
||||||
|
- Add alarm clock mode?
|
||||||
|
|
||||||
|
- graphical Moon-Phase Icon in Calendar section.
|
||||||
|
|
||||||
|
- Day numbers in Calendar section. This is something that I would really like myself!
|
||||||
|
|
||||||
|
- Allow Changing of fonts/colors for the main Calendar section.
|
||||||
|
|
||||||
|
- Foreign language support...
|
||||||
|
|
||||||
|
- Add indicators for Greenwich, sidereal, local sideareal time displays (right now
|
||||||
|
you dont really know what it is displaying just by looking at it)...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
339
wmSMPmon-3.1/COPYING
Normal file
339
wmSMPmon-3.1/COPYING
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
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., 675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
26
wmSMPmon-3.1/Changelog
Normal file
26
wmSMPmon-3.1/Changelog
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
3.1
|
||||||
|
|
||||||
|
- Fixed bug where wmSMPmon would crash if no swap is enabled/present
|
||||||
|
on the system (thanks to John Schmerge for finding this!)
|
||||||
|
- Added INSTALL file (thanks to Paul Johnson for reminding me)
|
||||||
|
|
||||||
|
|
||||||
|
3.0
|
||||||
|
|
||||||
|
- Improved processing of command line options - unknown options and
|
||||||
|
missing parameters are now dealt with
|
||||||
|
- wmSMPmon now properly supports single CPU machines! On a single CPU
|
||||||
|
machine, the CPU load bar is drawn wider and only one graph style is
|
||||||
|
supported.
|
||||||
|
- man page improved and edited Makefile so man page will get installed as well
|
||||||
|
|
||||||
|
|
||||||
|
2.9.2
|
||||||
|
|
||||||
|
- Separated OS dependent code from rest of program to improve portability
|
||||||
|
|
||||||
|
|
||||||
|
2.9.1
|
||||||
|
|
||||||
|
- Adapted wmSMPmon to kernel 2.6, using code from top and
|
||||||
|
procps. kernels 2.2, 2.4 and 2.6 are now supported.
|
20
wmSMPmon-3.1/GREETINGS
Normal file
20
wmSMPmon-3.1/GREETINGS
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
Un grand merci à Ben Jarvis[ankou] <bjarvis@d.umn.edu> (wmlm) à qui j'ai
|
||||||
|
"emprunté" une grande partie du code et à
|
||||||
|
Martijn Pieterse <pieterse@xs4all.nl>, qui à permis de développer si
|
||||||
|
facilement tant de DockApps.
|
||||||
|
|
||||||
|
Aussi merci à:
|
||||||
|
- Phir <phir@gcu-squad.org>
|
||||||
|
- Izar Tarandach
|
||||||
|
- Alain Schroeder
|
||||||
|
|
||||||
|
|
||||||
|
Also, thanks to the authors/contributors of top/procps:
|
||||||
|
|
||||||
|
- James C. Warner <warnerjc@worldnet.att.net>
|
||||||
|
- Michael K. Johnson <johnsonm@redhat.com>
|
||||||
|
- Albert D. Cahalan, <albert@users.sf.net>
|
||||||
|
- Fabian Frederick
|
||||||
|
|
||||||
|
Without their code, sysinfo-linux.c would have been a lot more difficult.
|
||||||
|
Thomas Ribbrock <emgaron@gmx.net>, November 2004
|
11
wmSMPmon-3.1/INSTALL
Normal file
11
wmSMPmon-3.1/INSTALL
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
Installation of wmSMPmon is very simple:
|
||||||
|
|
||||||
|
- cd wmSMPmon
|
||||||
|
- The default location wmSMPmon gets installed in is /usr/local/bin
|
||||||
|
(executable) and /usr/local/share/man (man page). If you'd like to
|
||||||
|
change that, you need to edit "Makefile" - both paths are defined
|
||||||
|
right at the top. The should be no need to change anything else.
|
||||||
|
- Run "make" followed by "make install". This will build and install
|
||||||
|
wmSMPmon.
|
||||||
|
|
||||||
|
That's all! :-)
|
40
wmSMPmon-3.1/LISEZ-MOI
Normal file
40
wmSMPmon-3.1/LISEZ-MOI
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
All further changes are documented in the file "Changelog"!
|
||||||
|
|
||||||
|
Thomas Ribbrock <emgaron@ribbrock.org>, March 2005
|
||||||
|
|
||||||
|
wmSMPmon 2.2
|
||||||
|
|
||||||
|
Sert à monitorer les charges CPU d'un système bi-processeurs, ainsi que
|
||||||
|
la RAM et le SWAP utilisés.
|
||||||
|
|
||||||
|
Nouveauté 1.3 : Prise en compte du taux de rafraichissement à la ligne
|
||||||
|
de commande.
|
||||||
|
|
||||||
|
Nouveauté 1.4 : Divers bugfixes. Réécriture partielle du système de
|
||||||
|
lecture des données pour une petite économie de CPU.
|
||||||
|
|
||||||
|
Nouveauté 1.5 : Nouvelles optimisations par PhiR. <phir@gcu-squad.org>
|
||||||
|
|
||||||
|
Nouveauté 2.0 : Nouvelle interface, apparition d'un graphique qui peut
|
||||||
|
avoir trois aspects différents.
|
||||||
|
|
||||||
|
Nouveauté 2.1 : Correction de quelques bugs et mise en place d'un switch
|
||||||
|
"-smp-fake" qui permet de tester wmSMPmon sur un machine mono-processeur, ainsi
|
||||||
|
que d'un autre switch "-no-swap" qui permet de désactiver le monitoring du swap.
|
||||||
|
|
||||||
|
Nouveauté 2.2 : Nettoyage permettant la compilation sur plus
|
||||||
|
d'architectures.
|
||||||
|
|
||||||
|
Pour compiler :
|
||||||
|
# make
|
||||||
|
|
||||||
|
Pour executer :
|
||||||
|
# ./wmSMPmon
|
||||||
|
|
||||||
|
Pour installer (en tant que root) :
|
||||||
|
# make install
|
||||||
|
|
||||||
|
|
||||||
|
Par RedSeb <red_seb@yahoo.com>, 1999-2000.
|
||||||
|
|
||||||
|
http://goupil.linuxfr.org
|
33
wmSMPmon-3.1/wmSMPmon/Makefile
Normal file
33
wmSMPmon-3.1/wmSMPmon/Makefile
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#(c)1999-2003 redseb
|
||||||
|
# Adapted for wmSMPmon 2.9.x and higher: Thomas Ribbrock
|
||||||
|
|
||||||
|
# Change the following two to determine installation location
|
||||||
|
BINDIR=/usr/local/bin/
|
||||||
|
MANDIR=/usr/local/share/man/
|
||||||
|
|
||||||
|
SRC = general.c sysinfo-linux.c ../wmgeneral/wmgeneral.c wmSMPmon.c
|
||||||
|
EXE = wmSMPmon
|
||||||
|
MAN = wmSMPmon.1
|
||||||
|
OBJ = $(SRC:.c=.o)
|
||||||
|
INSTALL = /usr/bin/install
|
||||||
|
INSTALLEXEFLAGS = -m 755 -s
|
||||||
|
INSTALLMANFLAGS = -m 644
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -Wall -O2 -g
|
||||||
|
LIB = -L/usr/X11R6/lib -lXpm -lXext -lX11
|
||||||
|
|
||||||
|
all: $(OBJ)
|
||||||
|
$(CC) -o $(EXE) $(OBJ) $(LIB)
|
||||||
|
|
||||||
|
$(OBJ): %.o : %.c
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(EXE)
|
||||||
|
rm -rf *.o
|
||||||
|
rm -rf ../wmgeneral/*.o
|
||||||
|
|
||||||
|
install:
|
||||||
|
$(INSTALL) $(INSTALLEXEFLAGS) $(EXE) $(BINDIR)
|
||||||
|
$(INSTALL) -d $(MANDIR)/man1
|
||||||
|
$(INSTALL) $(INSTALLMANFLAGS) $(MAN) $(MANDIR)/man1
|
78
wmSMPmon-3.1/wmSMPmon/general.c
Normal file
78
wmSMPmon-3.1/wmSMPmon/general.c
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/*######################################################################
|
||||||
|
# #
|
||||||
|
# This file contains some general utility functions for wmSMPmon. #
|
||||||
|
# #
|
||||||
|
# All of them were taken from the program 'top' from the procps #
|
||||||
|
# suite. #
|
||||||
|
# With thanks to the author of top: #
|
||||||
|
# James C. Warner <warnerjc@worldnet.att.net> #
|
||||||
|
# #
|
||||||
|
# This file is placed under the conditions of the GNU Library #
|
||||||
|
# General Public License, version 2, or any later version. #
|
||||||
|
# See file COPYING for information on distribution conditions. #
|
||||||
|
# #
|
||||||
|
######################################################################*/
|
||||||
|
|
||||||
|
# include "standards.h"
|
||||||
|
# include "general.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The usual program end --
|
||||||
|
* called only by functions in this section. */
|
||||||
|
void bye_bye (int eno, const char *str)
|
||||||
|
{
|
||||||
|
fflush(stdout);
|
||||||
|
if (str) {
|
||||||
|
if (eno) perror(str);
|
||||||
|
else {
|
||||||
|
fputs(str, stderr);
|
||||||
|
eno = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit(eno);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This routine simply formats whatever the caller wants and
|
||||||
|
* returns a pointer to the resulting 'const char' string... */
|
||||||
|
const char *fmtmk (const char *fmts, ...)
|
||||||
|
{
|
||||||
|
static char buf[BIGBUFSIZ]; /* with help stuff, our buffer */
|
||||||
|
va_list va; /* requirements exceed 1k */
|
||||||
|
|
||||||
|
va_start(va, fmts);
|
||||||
|
vsnprintf(buf, sizeof(buf), fmts, va);
|
||||||
|
va_end(va);
|
||||||
|
return (const char *)buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Standard error handler to normalize the look of all err o/p */
|
||||||
|
void std_err (const char *str)
|
||||||
|
{
|
||||||
|
static char buf[SMLBUFSIZ];
|
||||||
|
|
||||||
|
fflush(stdout);
|
||||||
|
/* we'll use our own buffer so callers can still use fmtmk()
|
||||||
|
* and, yes the leading tab is not the standard convention,
|
||||||
|
* but the standard is wrong -- OUR msg won't get lost in
|
||||||
|
* screen clutter, like so many others! */
|
||||||
|
snprintf(buf, sizeof(buf), "\t%s: %s\n", Myname, str);
|
||||||
|
|
||||||
|
/* not to worry, he'll change our exit code to 1 due to 'buf' */
|
||||||
|
bye_bye(0, buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle our own memory stuff without the risk of leaving the
|
||||||
|
* user's terminal in an ugly state should things go sour. */
|
||||||
|
void *alloc_c (unsigned numb)
|
||||||
|
{
|
||||||
|
void * p;
|
||||||
|
|
||||||
|
if (!numb) ++numb;
|
||||||
|
if (!(p = calloc(1, numb)))
|
||||||
|
std_err("failed memory allocate");
|
||||||
|
return p;
|
||||||
|
}
|
14
wmSMPmon-3.1/wmSMPmon/general.h
Normal file
14
wmSMPmon-3.1/wmSMPmon/general.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef WMSMP_GENERAL_H
|
||||||
|
#define WMSMP_GENERAL_H
|
||||||
|
|
||||||
|
/*###### Definitions for general utility functions #######################*/
|
||||||
|
|
||||||
|
void bye_bye (int eno, const char *str);
|
||||||
|
|
||||||
|
const char *fmtmk (const char *fmts, ...);
|
||||||
|
|
||||||
|
void std_err (const char *str);
|
||||||
|
|
||||||
|
void *alloc_c (unsigned numb);
|
||||||
|
|
||||||
|
#endif /* WMSMP_GENERAL_H */
|
56
wmSMPmon-3.1/wmSMPmon/standards.h
Normal file
56
wmSMPmon-3.1/wmSMPmon/standards.h
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/*######################################################################
|
||||||
|
# #
|
||||||
|
# This file contains the definitions of the functions that wmSMPmon #
|
||||||
|
# uses to determine CPU load, memory and swap information. #
|
||||||
|
# All functions should be implemented by any OS dependent module #
|
||||||
|
# that is added to wmSMPmon. See sysinfo-linux.c as an example. #
|
||||||
|
# #
|
||||||
|
# (c) 2004 Thomas Ribbrock <emgaron@gmx.net> #
|
||||||
|
# #
|
||||||
|
# This file is placed under the conditions of the GNU Library #
|
||||||
|
# General Public License, version 2, or any later version. #
|
||||||
|
# See file COPYING for information on distribution conditions. #
|
||||||
|
# #
|
||||||
|
######################################################################*/
|
||||||
|
|
||||||
|
#ifndef WMSMP_STANDARDS_H
|
||||||
|
#define WMSMP_STANDARDS_H
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
/*###### Valeurs de test ################################################*/
|
||||||
|
#define VRAI 1
|
||||||
|
#define FAUX 0
|
||||||
|
#define OK 0
|
||||||
|
#define ERREUR -1
|
||||||
|
|
||||||
|
/*###### Buffer Sizes ###################################################*/
|
||||||
|
#define SMLBUFSIZ 256
|
||||||
|
#define BIGBUFSIZ 2048
|
||||||
|
|
||||||
|
/*###### Image Size Definitions #########################################*/
|
||||||
|
#define TAILLE_T 44 /* Width Graph */
|
||||||
|
#define HAUTEUR 31 /* Max. height of CPU Load Bar+Graph */
|
||||||
|
|
||||||
|
/* Program name used in error messages */
|
||||||
|
char *Myname;
|
||||||
|
|
||||||
|
/* NumCPUs_DoInit returns the number of CPUs present in the system and
|
||||||
|
performs any initialization necessary for the sysinfo-XXX module */
|
||||||
|
unsigned int NumCpus_DoInit(void);
|
||||||
|
|
||||||
|
/* Get_CPU_Load returns an array of CPU loads, one for each CPU, scaled
|
||||||
|
to HAUTEUR. The array is defined and allocated by the main program
|
||||||
|
and passed to the function as '*load'. The number of CPUs present
|
||||||
|
is given in 'Cpu_tot' */
|
||||||
|
unsigned int *Get_CPU_Load(unsigned int *load, unsigned int Cpu_tot);
|
||||||
|
|
||||||
|
/* return current memory/swap usage on a scale from 0-100 */
|
||||||
|
unsigned int Get_Memory(void);
|
||||||
|
unsigned int Get_Swap(void);
|
||||||
|
|
||||||
|
#endif /* WMSMP_STANDARDS_H */
|
365
wmSMPmon-3.1/wmSMPmon/sysinfo-linux.c
Normal file
365
wmSMPmon-3.1/wmSMPmon/sysinfo-linux.c
Normal file
|
@ -0,0 +1,365 @@
|
||||||
|
/*######################################################################
|
||||||
|
# #
|
||||||
|
# This file contains all functions necessary to provide system #
|
||||||
|
# information on a Linux 2.2-2.6 system. #
|
||||||
|
# All routines were taken from/based on code from top and/or procps. #
|
||||||
|
# #
|
||||||
|
# With thanks to the original authors: #
|
||||||
|
# - James C. Warner <warnerjc@worldnet.att.net> #
|
||||||
|
# - Michael K. Johnson <johnsonm@redhat.com> #
|
||||||
|
# - Albert D. Cahalan, <albert@users.sf.net> #
|
||||||
|
# - Fabian Frederick #
|
||||||
|
# #
|
||||||
|
# This file is placed under the conditions of the GNU Library #
|
||||||
|
# General Public License, version 2, or any later version. #
|
||||||
|
# See file COPYING for information on distribution conditions. #
|
||||||
|
# #
|
||||||
|
######################################################################*/
|
||||||
|
|
||||||
|
#include "sysinfo-linux.h" /* include self to verify prototypes */
|
||||||
|
#include "general.h"
|
||||||
|
#include "standards.h"
|
||||||
|
|
||||||
|
#define BAD_OPEN_MESSAGE \
|
||||||
|
"Error: /proc must be mounted\n" \
|
||||||
|
" To mount /proc at boot you need an /etc/fstab line like:\n" \
|
||||||
|
" /proc /proc proc defaults\n" \
|
||||||
|
" In the meantime, mount /proc /proc -t proc\n"
|
||||||
|
|
||||||
|
#define MEMINFO_FILE "/proc/meminfo"
|
||||||
|
static int meminfo_fd = -1;
|
||||||
|
|
||||||
|
static char buf[1024];
|
||||||
|
|
||||||
|
/* assume no IO-wait stats (default kernel 2.4.x),
|
||||||
|
overridden if linux 2.5.x or 2.6.x */
|
||||||
|
static const char *States_fmts = STATES_line2x4;
|
||||||
|
|
||||||
|
|
||||||
|
/* This macro opens filename only if necessary and seeks to 0 so
|
||||||
|
* that successive calls to the functions are more efficient.
|
||||||
|
* It also reads the current contents of the file into the global buf.
|
||||||
|
*/
|
||||||
|
#define FILE_TO_BUF(filename, fd) do{ \
|
||||||
|
static int local_n; \
|
||||||
|
if (fd == -1 && (fd = open(filename, O_RDONLY)) == -1) { \
|
||||||
|
fprintf(stderr, BAD_OPEN_MESSAGE); \
|
||||||
|
fflush(NULL); \
|
||||||
|
_exit(102); \
|
||||||
|
} \
|
||||||
|
lseek(fd, 0L, SEEK_SET); \
|
||||||
|
if ((local_n = read(fd, buf, sizeof buf - 1)) < 0) { \
|
||||||
|
perror(filename); \
|
||||||
|
fflush(NULL); \
|
||||||
|
_exit(103); \
|
||||||
|
} \
|
||||||
|
buf[local_n] = '\0'; \
|
||||||
|
}while(0)
|
||||||
|
|
||||||
|
#define LINUX_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z)
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************/
|
||||||
|
/* get number of CPUs - max. 255 are supported */
|
||||||
|
/* also, perform some initialisation */
|
||||||
|
/* code taken from top and procps */
|
||||||
|
/***********************************************/
|
||||||
|
unsigned int NumCpus_DoInit(void)
|
||||||
|
{
|
||||||
|
long smp_num_cpus;
|
||||||
|
int linux_version_code;
|
||||||
|
|
||||||
|
static struct utsname uts;
|
||||||
|
int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
|
||||||
|
|
||||||
|
if (uname(&uts) == -1) /* failure implies impending death */
|
||||||
|
exit(1);
|
||||||
|
if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 3)
|
||||||
|
fprintf(stderr, /* *very* unlikely to happen by accident */
|
||||||
|
"Non-standard uts for running kernel:\n"
|
||||||
|
"release %s=%d.%d.%d gives version code %d\n",
|
||||||
|
uts.release, x, y, z, LINUX_VERSION(x,y,z));
|
||||||
|
linux_version_code = LINUX_VERSION(x, y, z);
|
||||||
|
|
||||||
|
if (linux_version_code > LINUX_VERSION(2, 5, 41))
|
||||||
|
States_fmts = STATES_line2x5;
|
||||||
|
if (linux_version_code >= LINUX_VERSION(2, 6, 0)) // grrr... only
|
||||||
|
// some 2.6.0-testX :-(
|
||||||
|
States_fmts = STATES_line2x6;
|
||||||
|
|
||||||
|
smp_num_cpus = sysconf(_SC_NPROCESSORS_CONF); // or _SC_NPROCESSORS_ONLN
|
||||||
|
if (smp_num_cpus < 1)
|
||||||
|
{
|
||||||
|
smp_num_cpus = 1; /* SPARC glibc is buggy */
|
||||||
|
}
|
||||||
|
|
||||||
|
if (smp_num_cpus > 255)
|
||||||
|
{
|
||||||
|
/* we don't support more than 255 CPUs (well, in fact no more
|
||||||
|
than two ate the moment... */
|
||||||
|
smp_num_cpus = 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int)smp_num_cpus;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************/
|
||||||
|
/*
|
||||||
|
* Copyright 1999 by Albert Cahalan; all rights reserved.
|
||||||
|
* This file may be used subject to the terms and conditions of the
|
||||||
|
* GNU Library General Public License Version 2, or any later version
|
||||||
|
* at your option, as published by the Free Software Foundation.
|
||||||
|
* 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 Library General Public License for more details.
|
||||||
|
*/
|
||||||
|
typedef struct mem_table_struct {
|
||||||
|
const char *name; /* memory type name */
|
||||||
|
unsigned long *slot; /* slot in return struct */
|
||||||
|
} mem_table_struct;
|
||||||
|
|
||||||
|
static int compare_mem_table_structs(const void *a, const void *b){
|
||||||
|
return strcmp(((const mem_table_struct*)a)->name,((const mem_table_struct*)b)->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* example data, following junk, with comments added:
|
||||||
|
*
|
||||||
|
* MemTotal: 61768 kB old
|
||||||
|
* MemFree: 1436 kB old
|
||||||
|
* MemShared: 0 kB old (now always zero; not calculated)
|
||||||
|
* Buffers: 1312 kB old
|
||||||
|
* Cached: 20932 kB old
|
||||||
|
* Active: 12464 kB new
|
||||||
|
* Inact_dirty: 7772 kB new
|
||||||
|
* Inact_clean: 2008 kB new
|
||||||
|
* Inact_target: 0 kB new
|
||||||
|
* Inact_laundry: 0 kB new, and might be missing too
|
||||||
|
* HighTotal: 0 kB
|
||||||
|
* HighFree: 0 kB
|
||||||
|
* LowTotal: 61768 kB
|
||||||
|
* LowFree: 1436 kB
|
||||||
|
* SwapTotal: 122580 kB old
|
||||||
|
* SwapFree: 60352 kB old
|
||||||
|
* Inactive: 20420 kB 2.5.41+
|
||||||
|
* Dirty: 0 kB 2.5.41+
|
||||||
|
* Writeback: 0 kB 2.5.41+
|
||||||
|
* Mapped: 9792 kB 2.5.41+
|
||||||
|
* Slab: 4564 kB 2.5.41+
|
||||||
|
* Committed_AS: 8440 kB 2.5.41+
|
||||||
|
* PageTables: 304 kB 2.5.41+
|
||||||
|
* ReverseMaps: 5738 2.5.41+
|
||||||
|
* SwapCached: 0 kB 2.5.??+
|
||||||
|
* HugePages_Total: 220 2.5.??+
|
||||||
|
* HugePages_Free: 138 2.5.??+
|
||||||
|
* Hugepagesize: 4096 kB 2.5.??+
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* obsolete */
|
||||||
|
unsigned long kb_main_shared;
|
||||||
|
/* old but still kicking -- the important stuff */
|
||||||
|
unsigned long kb_main_buffers;
|
||||||
|
unsigned long kb_main_cached;
|
||||||
|
unsigned long kb_main_free;
|
||||||
|
unsigned long kb_main_total;
|
||||||
|
unsigned long kb_swap_free;
|
||||||
|
unsigned long kb_swap_total;
|
||||||
|
/* recently introduced */
|
||||||
|
unsigned long kb_high_free;
|
||||||
|
unsigned long kb_high_total;
|
||||||
|
unsigned long kb_low_free;
|
||||||
|
unsigned long kb_low_total;
|
||||||
|
/* 2.4.xx era */
|
||||||
|
unsigned long kb_active;
|
||||||
|
unsigned long kb_inact_laundry;
|
||||||
|
unsigned long kb_inact_dirty;
|
||||||
|
unsigned long kb_inact_clean;
|
||||||
|
unsigned long kb_inact_target;
|
||||||
|
unsigned long kb_swap_cached; /* late 2.4 only */
|
||||||
|
/* derived values */
|
||||||
|
unsigned long kb_swap_used;
|
||||||
|
unsigned long kb_main_used;
|
||||||
|
/* 2.5.41+ */
|
||||||
|
unsigned long kb_writeback;
|
||||||
|
unsigned long kb_slab;
|
||||||
|
unsigned long nr_reversemaps;
|
||||||
|
unsigned long kb_committed_as;
|
||||||
|
unsigned long kb_dirty;
|
||||||
|
unsigned long kb_inactive;
|
||||||
|
unsigned long kb_mapped;
|
||||||
|
unsigned long kb_pagetables;
|
||||||
|
|
||||||
|
static void meminfo(void){
|
||||||
|
char namebuf[16]; /* big enough to hold any row name */
|
||||||
|
mem_table_struct findme = { namebuf, NULL};
|
||||||
|
mem_table_struct *found;
|
||||||
|
char *head;
|
||||||
|
char *tail;
|
||||||
|
static const mem_table_struct mem_table[] = {
|
||||||
|
{"Active", &kb_active}, // important
|
||||||
|
{"Buffers", &kb_main_buffers}, // important
|
||||||
|
{"Cached", &kb_main_cached}, // important
|
||||||
|
{"Committed_AS", &kb_committed_as},
|
||||||
|
{"Dirty", &kb_dirty}, // kB version of vmstat nr_dirty
|
||||||
|
{"HighFree", &kb_high_free},
|
||||||
|
{"HighTotal", &kb_high_total},
|
||||||
|
{"Inact_clean", &kb_inact_clean},
|
||||||
|
{"Inact_dirty", &kb_inact_dirty},
|
||||||
|
{"Inact_laundry",&kb_inact_laundry},
|
||||||
|
{"Inact_target", &kb_inact_target},
|
||||||
|
{"Inactive", &kb_inactive}, // important
|
||||||
|
{"LowFree", &kb_low_free},
|
||||||
|
{"LowTotal", &kb_low_total},
|
||||||
|
{"Mapped", &kb_mapped}, // kB version of vmstat nr_mapped
|
||||||
|
{"MemFree", &kb_main_free}, // important
|
||||||
|
{"MemShared", &kb_main_shared}, // important
|
||||||
|
{"MemTotal", &kb_main_total}, // important
|
||||||
|
{"PageTables", &kb_pagetables}, // kB version of vmstat
|
||||||
|
// nr_page_table_pages
|
||||||
|
{"ReverseMaps", &nr_reversemaps}, // same as vmstat
|
||||||
|
// nr_page_table_pages
|
||||||
|
{"Slab", &kb_slab}, // kB version of vmstat nr_slab
|
||||||
|
{"SwapCached", &kb_swap_cached},
|
||||||
|
{"SwapFree", &kb_swap_free}, // important
|
||||||
|
{"SwapTotal", &kb_swap_total}, // important
|
||||||
|
{"Writeback", &kb_writeback}, // kB version of vmstat
|
||||||
|
// nr_writeback
|
||||||
|
};
|
||||||
|
const int mem_table_count = sizeof(mem_table)/sizeof(mem_table_struct);
|
||||||
|
|
||||||
|
FILE_TO_BUF(MEMINFO_FILE,meminfo_fd);
|
||||||
|
|
||||||
|
kb_inactive = ~0UL;
|
||||||
|
|
||||||
|
head = buf;
|
||||||
|
for(;;){
|
||||||
|
tail = strchr(head, ':');
|
||||||
|
if(!tail) break;
|
||||||
|
*tail = '\0';
|
||||||
|
if(strlen(head) >= sizeof(namebuf)){
|
||||||
|
head = tail+1;
|
||||||
|
goto nextline;
|
||||||
|
}
|
||||||
|
strcpy(namebuf,head);
|
||||||
|
found = bsearch(&findme, mem_table, mem_table_count,
|
||||||
|
sizeof(mem_table_struct), compare_mem_table_structs
|
||||||
|
);
|
||||||
|
head = tail+1;
|
||||||
|
if(!found) goto nextline;
|
||||||
|
*(found->slot) = strtoul(head,&tail,10);
|
||||||
|
nextline:
|
||||||
|
tail = strchr(head, '\n');
|
||||||
|
if(!tail) break;
|
||||||
|
head = tail+1;
|
||||||
|
}
|
||||||
|
if(!kb_low_total){ /* low==main except with large-memory support */
|
||||||
|
kb_low_total = kb_main_total;
|
||||||
|
kb_low_free = kb_main_free;
|
||||||
|
}
|
||||||
|
if(kb_inactive==~0UL){
|
||||||
|
kb_inactive = kb_inact_dirty + kb_inact_clean + kb_inact_laundry;
|
||||||
|
}
|
||||||
|
kb_swap_used = kb_swap_total - kb_swap_free;
|
||||||
|
kb_main_used = kb_main_total - kb_main_free;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*
|
||||||
|
* This guy's modeled on libproc's 'five_cpu_numbers' function except
|
||||||
|
* we preserve all cpu data in our CPU_t array which is organized
|
||||||
|
* as follows:
|
||||||
|
* cpus[0] thru cpus[n] == tics for each separate cpu
|
||||||
|
* cpus[Cpu_tot] == tics from the 1st /proc/stat line */
|
||||||
|
static CPU_t *cpus_refresh (CPU_t *cpus, unsigned int Cpu_tot)
|
||||||
|
{
|
||||||
|
static FILE *fp = NULL;
|
||||||
|
int i;
|
||||||
|
// enough for a /proc/stat CPU line (not the intr line)
|
||||||
|
char buf[SMLBUFSIZ];
|
||||||
|
|
||||||
|
/* by opening this file once, we'll avoid the hit on minor page faults
|
||||||
|
(sorry Linux, but you'll have to close it for us) */
|
||||||
|
if (!fp) {
|
||||||
|
if (!(fp = fopen("/proc/stat", "r")))
|
||||||
|
std_err(fmtmk("Failed /proc/stat open: %s", strerror(errno)));
|
||||||
|
/* note: we allocate one more CPU_t than Cpu_tot so that the
|
||||||
|
last slot can hold tics representing the /proc/stat cpu
|
||||||
|
summary (the first line read) -- that slot supports our
|
||||||
|
View_CPUSUM toggle */
|
||||||
|
cpus = alloc_c((1 + Cpu_tot) * sizeof(CPU_t));
|
||||||
|
}
|
||||||
|
rewind(fp);
|
||||||
|
fflush(fp);
|
||||||
|
|
||||||
|
// first value the last slot with the cpu summary line
|
||||||
|
if (!fgets(buf, sizeof(buf), fp)) std_err("failed /proc/stat read");
|
||||||
|
|
||||||
|
cpus[Cpu_tot].x = 0; // FIXME: can't tell by kernel version number
|
||||||
|
cpus[Cpu_tot].y = 0; // FIXME: can't tell by kernel version number
|
||||||
|
if (4 > sscanf(buf, CPU_FMTS_JUST1, &cpus[Cpu_tot].u, &cpus[Cpu_tot].n, &cpus[Cpu_tot].s, &cpus[Cpu_tot].i, &cpus[Cpu_tot].w, &cpus[Cpu_tot].x, &cpus[Cpu_tot].y))
|
||||||
|
std_err("failed /proc/stat read");
|
||||||
|
// and just in case we're 2.2.xx compiled without SMP support...
|
||||||
|
if (1 == Cpu_tot)
|
||||||
|
{
|
||||||
|
/* do it "manually", otherwise we overwrite charge and total */
|
||||||
|
cpus[0].u = cpus[1].u;
|
||||||
|
cpus[0].n = cpus[1].n;
|
||||||
|
cpus[0].s = cpus[1].s;
|
||||||
|
cpus[0].i = cpus[1].i;
|
||||||
|
cpus[0].w = cpus[1].w;
|
||||||
|
cpus[0].x = cpus[1].x;
|
||||||
|
cpus[0].y = cpus[1].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// now value each separate cpu's tics
|
||||||
|
for (i = 0; 1 < Cpu_tot && i < Cpu_tot; i++) {
|
||||||
|
|
||||||
|
if (!fgets(buf, sizeof(buf), fp)) std_err("failed /proc/stat read");
|
||||||
|
cpus[i].x = 0; // FIXME: can't tell by kernel version number
|
||||||
|
cpus[i].y = 0; // FIXME: can't tell by kernel version number
|
||||||
|
if (4 > sscanf(buf, CPU_FMTS_MULTI, &cpus[i].u, &cpus[i].n, &cpus[i].s, &cpus[i].i, &cpus[i].w, &cpus[i].x, &cpus[i].y))
|
||||||
|
std_err("failed /proc/stat read");
|
||||||
|
}
|
||||||
|
return cpus;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int *Get_CPU_Load(unsigned int *load, unsigned int Cpu_tot)
|
||||||
|
{
|
||||||
|
static CPU_t *smpcpu = NULL;
|
||||||
|
unsigned int j;
|
||||||
|
register unsigned long charge, total = 0 ;
|
||||||
|
|
||||||
|
smpcpu = cpus_refresh(smpcpu, Cpu_tot);
|
||||||
|
|
||||||
|
for(j = 0 ; j < Cpu_tot ; j ++)
|
||||||
|
{
|
||||||
|
charge = smpcpu[j].u+smpcpu[j].s+smpcpu[j].n;
|
||||||
|
total = charge + smpcpu[j].i;
|
||||||
|
|
||||||
|
/* scale cpu to a maximum of HAUTEUR */
|
||||||
|
load[j] = ((HAUTEUR * (charge - smpcpu[j].charge)) / (total - smpcpu[j].total + 0.001)) + 1 ;
|
||||||
|
smpcpu[j].total = total ;
|
||||||
|
smpcpu[j].charge = charge ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return load;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int Get_Memory(void)
|
||||||
|
{
|
||||||
|
meminfo();
|
||||||
|
|
||||||
|
return (kb_main_used - kb_main_cached) / (kb_main_total / 100) ;
|
||||||
|
/* should be between 0 and 100 now */
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int Get_Swap(void)
|
||||||
|
{
|
||||||
|
/* returns swap usage as value between 0 and 100 OR 999 if no swap
|
||||||
|
* present */
|
||||||
|
meminfo();
|
||||||
|
|
||||||
|
return ( kb_swap_total == 0 ? 999 : kb_swap_used / (kb_swap_total / 100) );
|
||||||
|
}
|
33
wmSMPmon-3.1/wmSMPmon/sysinfo-linux.h
Normal file
33
wmSMPmon-3.1/wmSMPmon/sysinfo-linux.h
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef LINUX_SYSINFO_H
|
||||||
|
#define LINUX_SYSINFO_H
|
||||||
|
#include <string.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* These are the possible fscanf formats used in /proc/stat
|
||||||
|
reads during history processing.
|
||||||
|
( 5th number only for Linux 2.5.41 and above ) */
|
||||||
|
#define CPU_FMTS_JUST1 "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
|
||||||
|
#define CPU_FMTS_MULTI "cpu%*d %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
|
||||||
|
|
||||||
|
/* Summary Lines specially formatted string(s) -- see 'show_special' for syntax details + other cautions. */
|
||||||
|
#define STATES_line2x4 "%s\03" \
|
||||||
|
" %#5.1f%% \02user,\03 %#5.1f%% \02system,\03 %#5.1f%% \02nice,\03 %#5.1f%% \02idle\03\n"
|
||||||
|
#define STATES_line2x5 "%s\03" \
|
||||||
|
" %#5.1f%% \02user,\03 %#5.1f%% \02system,\03 %#5.1f%% \02nice,\03 %#5.1f%% \02idle,\03 %#5.1f%% \02IO-wait\03\n"
|
||||||
|
#define STATES_line2x6 "%s\03" \
|
||||||
|
" %#4.1f%% \02us,\03 %#4.1f%% \02sy,\03 %#4.1f%% \02ni,\03 %#4.1f%% \02id,\03 %#4.1f%% \02wa,\03 %#4.1f%% \02hi,\03 %#4.1f%% \02si\03\n"
|
||||||
|
|
||||||
|
/* These typedefs attempt to ensure consistent 'ticks' handling */
|
||||||
|
typedef unsigned long long TIC_t;
|
||||||
|
|
||||||
|
/* This structure stores a frame's cpu tics used in history
|
||||||
|
calculations. It exists primarily for SMP support but serves
|
||||||
|
all environments. */
|
||||||
|
typedef struct CPU_t {
|
||||||
|
TIC_t u, n, s, i, w, x, y; // as represented in /proc/stat
|
||||||
|
TIC_t charge, total;
|
||||||
|
} CPU_t;
|
||||||
|
|
||||||
|
#endif /* SYSINFO_H */
|
51
wmSMPmon-3.1/wmSMPmon/wmSMPmon.1
Normal file
51
wmSMPmon-3.1/wmSMPmon/wmSMPmon.1
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
.TH WMSMPMON 1
|
||||||
|
.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
|
||||||
|
.\" other parms are allowed: see man(7), man(1)
|
||||||
|
.SH NAME
|
||||||
|
wmSMPmon \- Window Maker System Monitor
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B wmSMPmon
|
||||||
|
.I "[options]"
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
.B wmSMPmon
|
||||||
|
is a Window Maker dock application that displays the following
|
||||||
|
information about the system:
|
||||||
|
.TP
|
||||||
|
- Current CPU utilization of up to two CPUs
|
||||||
|
.TP
|
||||||
|
- Up to two minutes history of CPU utilization
|
||||||
|
.TP
|
||||||
|
- Current memory usage
|
||||||
|
.TP
|
||||||
|
- Current swap usage
|
||||||
|
.PP
|
||||||
|
On dual CPU systems,
|
||||||
|
.B wmSMPmon
|
||||||
|
has three different styles for the utilization graph. To toggle between them
|
||||||
|
just click into the graph.
|
||||||
|
.SH OPTIONS
|
||||||
|
All options start with one dash.
|
||||||
|
.TP
|
||||||
|
.B \-h
|
||||||
|
Show summary of options.
|
||||||
|
.TP
|
||||||
|
.B \-r REFRESH_RATE
|
||||||
|
Set the refresh rate of the graph in microseconds. The default is 250000
|
||||||
|
(a quarter of a second).
|
||||||
|
.TP
|
||||||
|
.B \-g GRAPH_STYLE
|
||||||
|
Start using graph style #[1-3] (only on dual CPU systems). Style 1
|
||||||
|
shows the utiliziation in one graph, while 2 and 3 are split in two
|
||||||
|
little graphs. Style 2 shows the two graphs on top of each
|
||||||
|
other. Style 3 uses a mirror like type. The default style is 1, which
|
||||||
|
is also the style used on single CPU systems.
|
||||||
|
.TP
|
||||||
|
.B \-no-swap
|
||||||
|
Do not monitor swap.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
wmaker(1x)
|
||||||
|
.SH AUTHOR
|
||||||
|
This manual page was originally written by Alain Schroeder
|
||||||
|
<alain@debian.org> and adapted for wmSMPmon 3 by Thomas Ribbrock
|
||||||
|
<emgaron@gmx.net>
|
||||||
|
|
353
wmSMPmon-3.1/wmSMPmon/wmSMPmon.c
Normal file
353
wmSMPmon-3.1/wmSMPmon/wmSMPmon.c
Normal file
|
@ -0,0 +1,353 @@
|
||||||
|
/***************************************************************************
|
||||||
|
wmSMPmon III - Window Maker system monitor
|
||||||
|
VERSION : 3.1
|
||||||
|
DATE : 2005-11-06
|
||||||
|
ORIGINAL AUTHORS : redseb <redseb@goupilfr.org> and
|
||||||
|
PhiR <phir@gcu-squad.org>
|
||||||
|
CONTRIBUTORS : Alain Schröder <alain@parkautomat.net>
|
||||||
|
CURRENT MAINTAINER: Thomas Ribbrock <emgaron@gmx.net>
|
||||||
|
****************************************************************************
|
||||||
|
This file is placed under the conditions of the GNU Library
|
||||||
|
General Public License, version 2, or any later version.
|
||||||
|
See file COPYING for information on distribution conditions.
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
#include "../wmgeneral/wmgeneral.h"
|
||||||
|
#include "wmSMPmon_master.xpm"
|
||||||
|
#include "wmSMPmon_mask.xbm"
|
||||||
|
#include "general.h"
|
||||||
|
#include "standards.h"
|
||||||
|
#include "sysinfo-linux.h"
|
||||||
|
|
||||||
|
#define VERSION "3.1"
|
||||||
|
|
||||||
|
/*###### Dividers for redraw-loops ######################################*/
|
||||||
|
#define DIV1 6
|
||||||
|
#define DIV2 10
|
||||||
|
|
||||||
|
/*###### Messages #######################################################*/
|
||||||
|
#define MSG_NO_SWAP "No swap mode : Swap is not monitored.\n"
|
||||||
|
|
||||||
|
/*###### Funcition definitions ##########################################*/
|
||||||
|
void usage(int cpus, const char *str);
|
||||||
|
|
||||||
|
|
||||||
|
/*###### MAIN PROGRAM ###################################################*/
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
XEvent Event ;
|
||||||
|
|
||||||
|
unsigned int t0[TAILLE_T], /* history for CPU 0 -> Graph */
|
||||||
|
t1[TAILLE_T], /* history for CPU 1 -> Graph */
|
||||||
|
tm[TAILLE_T], /* history for CPU 0+1 -> Graph */
|
||||||
|
c1 = 6,
|
||||||
|
c2 = 9,
|
||||||
|
etat = 1,
|
||||||
|
lecture = 1,
|
||||||
|
delay = 250000,
|
||||||
|
delta = 0,
|
||||||
|
load = 0,
|
||||||
|
load0o = 0,
|
||||||
|
load1o = 0,
|
||||||
|
no_swap = FAUX,
|
||||||
|
draw_graph = FAUX,
|
||||||
|
NumCPUs, /* number of CPUs */
|
||||||
|
i = 0, /* counter */
|
||||||
|
mem = 0, /* current memory/swap scaled to 0-100 */
|
||||||
|
prec_mem = 0, /* memory from previous round */
|
||||||
|
prec_swap = 0, /* swap from previous round */
|
||||||
|
load_width = 3; /* width of load bar: 3 for SMP, 8 for UP */
|
||||||
|
|
||||||
|
unsigned long load0t=0, load1t=0 ;
|
||||||
|
|
||||||
|
unsigned int *CPU_Load; /* CPU load per CPU array */
|
||||||
|
|
||||||
|
|
||||||
|
/********** Initialisation **********/
|
||||||
|
NumCPUs = NumCpus_DoInit();
|
||||||
|
CPU_Load = alloc_c((NumCPUs) * sizeof(int));
|
||||||
|
|
||||||
|
if(NumCPUs == 1)
|
||||||
|
{
|
||||||
|
load_width = 8;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
load_width = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
Myname = strrchr(argv[0], '/');
|
||||||
|
if (Myname) ++Myname; else Myname = argv[0];
|
||||||
|
|
||||||
|
|
||||||
|
/* process command line args */
|
||||||
|
i = 1; /* skip program name (i=0) */
|
||||||
|
while(argc > i)
|
||||||
|
{
|
||||||
|
if(!strncmp(argv[i], "-r", 2))
|
||||||
|
{
|
||||||
|
i ++ ;
|
||||||
|
if(i == argc)
|
||||||
|
{
|
||||||
|
/* parameter missing! */
|
||||||
|
usage(NumCPUs, "no refresh rate given when using -r!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
delay = atol(argv[i]) ;
|
||||||
|
}
|
||||||
|
i ++ ;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(!strncmp(argv[i], "-h", 2))
|
||||||
|
{
|
||||||
|
usage(NumCPUs, NULL) ;
|
||||||
|
}
|
||||||
|
if(!strncmp(argv[i], "-g", 2) && NumCPUs > 1)
|
||||||
|
{
|
||||||
|
/* we only support this on SMP systems */
|
||||||
|
i ++ ;
|
||||||
|
if(i == argc)
|
||||||
|
{
|
||||||
|
/* parameter missing! */
|
||||||
|
usage(NumCPUs, "no graph style given when using -g!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
etat = atoi(argv[i]) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(1 > etat || etat > 3)
|
||||||
|
usage(NumCPUs, "Unknown graph style") ;
|
||||||
|
i ++ ;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(!strncmp(argv[i], "-no-swap", 8))
|
||||||
|
{
|
||||||
|
puts(MSG_NO_SWAP) ;
|
||||||
|
no_swap = VRAI ;
|
||||||
|
i ++ ;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if we get here, we found an illegal option */
|
||||||
|
usage(NumCPUs, "Illegal option!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* open initial window */
|
||||||
|
if(NumCPUs == 1)
|
||||||
|
{
|
||||||
|
/* we only have a single CPU - change the mask accordingly
|
||||||
|
NOTE: The for loop was derived from the differences between
|
||||||
|
wmSMPmon_mask.xbm and wmSMPmon_mask-single.xbm.
|
||||||
|
wmSMPmon_mask-single.xbm as such is NOT used in this
|
||||||
|
program! */
|
||||||
|
for (i = 33; i <= 289; i = i+8)
|
||||||
|
{
|
||||||
|
wmSMPmon_mask_bits[i] = 0xDF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openXwindow(argc,argv,wmSMPmon_master_xpm,wmSMPmon_mask_bits,wmSMPmon_mask_width,wmSMPmon_mask_height) ;
|
||||||
|
|
||||||
|
if(NumCPUs >= 2)
|
||||||
|
{
|
||||||
|
/* we have two CPUs -> draw separator between CPU load bars */
|
||||||
|
copyXPMArea(12, 4, 2, HAUTEUR + 2, 7, 4) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
delay = delay / 2 ;
|
||||||
|
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
t0[i] = 0 ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
t1[i] = 0 ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
tm[i] = 0 ;
|
||||||
|
|
||||||
|
/* -no-swap option was given */
|
||||||
|
if(no_swap)
|
||||||
|
copyXPMArea(60, 63, 60, 10, 6, 50) ;
|
||||||
|
|
||||||
|
/* MAIN LOOP */
|
||||||
|
while(VRAI)
|
||||||
|
{
|
||||||
|
if(lecture)
|
||||||
|
{
|
||||||
|
CPU_Load = Get_CPU_Load(CPU_Load, NumCPUs);
|
||||||
|
|
||||||
|
load = CPU_Load[0];
|
||||||
|
load0t = load0t + load ;
|
||||||
|
if(load != load0o)
|
||||||
|
{
|
||||||
|
/* redraw only if cpu load changed */
|
||||||
|
delta = HAUTEUR - load ;
|
||||||
|
copyXPMArea(108, 0, load_width, HAUTEUR, 4, 5) ;
|
||||||
|
copyXPMArea(108, delta + 32, load_width, load, 4, 5 + delta) ;
|
||||||
|
load0o = load;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(NumCPUs >= 2)
|
||||||
|
{
|
||||||
|
/* we have two CPUs -> do CPU 1 */
|
||||||
|
/* FIXME: What about more CPUs? */
|
||||||
|
load = CPU_Load[1];
|
||||||
|
|
||||||
|
if(load != load1o)
|
||||||
|
{
|
||||||
|
/* redraw only if cpu load changed */
|
||||||
|
delta = HAUTEUR - load ;
|
||||||
|
copyXPMArea(108, 0, 3, HAUTEUR, 9, 5) ;
|
||||||
|
copyXPMArea(108, delta + 32, 3, load, 9, 5 + delta) ;
|
||||||
|
load1o = load;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* we have to set load1t in any case to get the correct
|
||||||
|
graph below. With only one CPU, 'load' will still be
|
||||||
|
CPU_Load[0], on a SMP system, it will be CPU_Load[1]. */
|
||||||
|
load1t = load1t + load ;
|
||||||
|
|
||||||
|
|
||||||
|
if(c1 > DIV1)
|
||||||
|
{
|
||||||
|
mem = Get_Memory();
|
||||||
|
|
||||||
|
if(mem != prec_mem)
|
||||||
|
{
|
||||||
|
/* redraw only if mem changed */
|
||||||
|
copyXPMArea(30, 63, 30, 8, 29, 39) ;
|
||||||
|
copyXPMArea(0, 63, (mem * 30 / 100), 8, 29, 39) ;
|
||||||
|
prec_mem = mem ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!no_swap)
|
||||||
|
{
|
||||||
|
mem = Get_Swap();
|
||||||
|
|
||||||
|
if(mem != prec_swap)
|
||||||
|
{
|
||||||
|
/* redraw if there was a change */
|
||||||
|
if(mem == 999)
|
||||||
|
{
|
||||||
|
/* swap is disabled => show "none" */
|
||||||
|
copyXPMArea(60, 63, 60, 10, 6, 50);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* draw swap usage */
|
||||||
|
copyXPMArea(30, 63, 30, 8, 29, 50) ;
|
||||||
|
copyXPMArea(0, 63, (mem * 30 / 100), 8, 29, 50) ;
|
||||||
|
}
|
||||||
|
prec_swap = mem ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
c1 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(c2 > DIV2)
|
||||||
|
draw_graph = VRAI ;
|
||||||
|
if(draw_graph)
|
||||||
|
{
|
||||||
|
for(i = 1 ; i < TAILLE_T ; i ++)
|
||||||
|
{
|
||||||
|
t0[i - 1] = t0[i] ;
|
||||||
|
t1[i - 1] = t1[i] ;
|
||||||
|
tm[i - 1] = tm[i] ;
|
||||||
|
}
|
||||||
|
if((t0[TAILLE_T - 1] = load0t / c2) > HAUTEUR)
|
||||||
|
t0[TAILLE_T - 1] = HAUTEUR ;
|
||||||
|
if((t1[TAILLE_T - 1] = load1t / c2) > HAUTEUR)
|
||||||
|
t1[TAILLE_T - 1] = HAUTEUR ;
|
||||||
|
if((tm[TAILLE_T - 1] = (load0t + load1t) / (2 * c2)) > HAUTEUR)
|
||||||
|
tm[TAILLE_T - 1] = HAUTEUR ;
|
||||||
|
load0t = 0 ;
|
||||||
|
load1t = 0 ;
|
||||||
|
|
||||||
|
/* draw graph */
|
||||||
|
switch(etat)
|
||||||
|
{
|
||||||
|
case 1 :
|
||||||
|
copyXPMArea(64, 32, TAILLE_T, HAUTEUR, 15, 5) ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
copyXPMArea(116, 0, 1, tm[i], 15 + i, HAUTEUR + 5 - tm[i]) ;
|
||||||
|
break ;
|
||||||
|
case 2 :
|
||||||
|
copyXPMArea(64, 0, TAILLE_T, HAUTEUR, 15, 5) ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
copyXPMArea(116, 0, 1, t0[i]/2, 15 + i, HAUTEUR/2 + 5 - t0[i]/2) ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
copyXPMArea(116, 0, 1, t1[i]/2, 15 + i, HAUTEUR/2 + 21 - t1[i]/2) ;
|
||||||
|
break ;
|
||||||
|
case 3 :
|
||||||
|
copyXPMArea(64, 0, TAILLE_T, HAUTEUR, 15, 5) ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
copyXPMArea(116, 0, 1, t0[i]/2, 15 + i, HAUTEUR/2 + 5 - t0[i]/2) ;
|
||||||
|
for(i = 0 ; i < TAILLE_T ; i ++)
|
||||||
|
copyXPMArea(117, (HAUTEUR - t1[i])/2, 1, t1[i]/2, 15 + i, HAUTEUR/2 + 6) ;
|
||||||
|
break ;
|
||||||
|
}
|
||||||
|
c2 = 0 ;
|
||||||
|
draw_graph = FAUX ;
|
||||||
|
}
|
||||||
|
c1 ++ ;
|
||||||
|
c2 ++ ;
|
||||||
|
}
|
||||||
|
lecture = 1 - lecture ;
|
||||||
|
RedrawWindow() ;
|
||||||
|
if(NumCPUs >= 2 && XCheckMaskEvent(display, ButtonPressMask, &Event))
|
||||||
|
{
|
||||||
|
/* changing graph style not supported on single CPU systems */
|
||||||
|
if(Event.type == ButtonPress)
|
||||||
|
{
|
||||||
|
if((etat ++) >= 3)
|
||||||
|
etat = 1 ;
|
||||||
|
draw_graph = VRAI ;
|
||||||
|
lecture = VRAI ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
usleep(delay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*###### Usage Message ##################################################*/
|
||||||
|
void usage(int cpus, const char *str)
|
||||||
|
{
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
if (str)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "\nERROR: %s\n", str);
|
||||||
|
}
|
||||||
|
|
||||||
|
fputs("\nwmSMPmon "VERSION" - display system load (", stderr);
|
||||||
|
if(cpus == 1)
|
||||||
|
{
|
||||||
|
fputs("uniprocessor system)\n\n", stderr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fputs("(multiprocessor system)\n\n", stderr);
|
||||||
|
}
|
||||||
|
fputs("Options : -h this help screen.\n"
|
||||||
|
" -r RATE refresh rate (in microseconds, default 250000).\n", stderr);
|
||||||
|
|
||||||
|
if(cpus > 1)
|
||||||
|
{
|
||||||
|
fputs(" -g STYLE graph style (try 2 or 3, default is 1).\n", stderr);
|
||||||
|
}
|
||||||
|
|
||||||
|
fputs(" -no-swap don't monitore swap size.\n\n"
|
||||||
|
"<redseb@goupilfr.org> http://goupilfr.org\n"
|
||||||
|
"<phir@gcu-squad.org> http://gcu-squad.org\n"
|
||||||
|
"<emgaron@gmx.net> http://www.ribbrock.org\n",
|
||||||
|
stderr) ;
|
||||||
|
exit(OK) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
46
wmSMPmon-3.1/wmSMPmon/wmSMPmon_mask-single.xbm
Normal file
46
wmSMPmon-3.1/wmSMPmon/wmSMPmon_mask-single.xbm
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#define wmSMPmon_mask_width 64
|
||||||
|
#define wmSMPmon_mask_height 63
|
||||||
|
static unsigned char wmSMPmon_mask_single_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
46
wmSMPmon-3.1/wmSMPmon/wmSMPmon_mask.xbm
Normal file
46
wmSMPmon-3.1/wmSMPmon/wmSMPmon_mask.xbm
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#define wmSMPmon_mask_width 64
|
||||||
|
#define wmSMPmon_mask_height 63
|
||||||
|
static char wmSMPmon_mask_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f,
|
||||||
|
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
143
wmSMPmon-3.1/wmSMPmon/wmSMPmon_master.xpm
Normal file
143
wmSMPmon-3.1/wmSMPmon/wmSMPmon_master.xpm
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * wmSMPmon_master_xpm[] = {
|
||||||
|
"118 71 69 1",
|
||||||
|
" c #00000000FFFF",
|
||||||
|
". c #202020202020",
|
||||||
|
"X c #60601B1B0000",
|
||||||
|
"o c #000049494141",
|
||||||
|
"O c #2020B6B6AEAE",
|
||||||
|
"+ c #5F5F1D1D0000",
|
||||||
|
"@ c #00007D7D7171",
|
||||||
|
"# c #5D5D1E1E0000",
|
||||||
|
"$ c #5B5B1F1F0000",
|
||||||
|
"% c #000000000000",
|
||||||
|
"& c #595920200000",
|
||||||
|
"* c #C7C7C7C7C7C7",
|
||||||
|
"= c #575721210000",
|
||||||
|
"- c #555522220000",
|
||||||
|
"; c #535323230000",
|
||||||
|
": c #515124240000",
|
||||||
|
"> c #4F4F25250000",
|
||||||
|
", c #4D4D26260000",
|
||||||
|
"< c #4C4C27270000",
|
||||||
|
"1 c #4A4A28280000",
|
||||||
|
"2 c #484829290000",
|
||||||
|
"3 c #46462A2A0000",
|
||||||
|
"4 c #44442B2B0000",
|
||||||
|
"5 c #42422D2D0000",
|
||||||
|
"6 c #40402E2E0000",
|
||||||
|
"7 c #3E3E2F2F0000",
|
||||||
|
"8 c #3C3C30300000",
|
||||||
|
"9 c #3B3B31310000",
|
||||||
|
"0 c #393932320000",
|
||||||
|
"q c #373733330000",
|
||||||
|
"w c #353534340000",
|
||||||
|
"e c #333335350000",
|
||||||
|
"r c #313136360000",
|
||||||
|
"t c #2F2F37370000",
|
||||||
|
"y c #2D2D38380000",
|
||||||
|
"u c #2B2B39390000",
|
||||||
|
"i c #29293A3A0000",
|
||||||
|
"p c #C7C72F2F0000",
|
||||||
|
"a c #C2C234340000",
|
||||||
|
"s c #BDBD39390000",
|
||||||
|
"d c #B8B83E3E0000",
|
||||||
|
"f c #B3B342420000",
|
||||||
|
"g c #AFAF47470000",
|
||||||
|
"h c #AAAA4C4C0000",
|
||||||
|
"j c #27273B3B0000",
|
||||||
|
"k c #A5A551510000",
|
||||||
|
"l c #A0A055550000",
|
||||||
|
"z c #9C9C5A5A0000",
|
||||||
|
"x c #97975F5F0000",
|
||||||
|
"c c #929264640000",
|
||||||
|
"v c #8D8D68680000",
|
||||||
|
"b c #89896D6D0000",
|
||||||
|
"n c #848472720000",
|
||||||
|
"m c #7F7F77770000",
|
||||||
|
"M c #7A7A7B7B0000",
|
||||||
|
"N c #757580800000",
|
||||||
|
"B c #717185850000",
|
||||||
|
"V c #6C6C89890000",
|
||||||
|
"C c #67678E8E0000",
|
||||||
|
"Z c #626293930000",
|
||||||
|
"A c #5E5E98980000",
|
||||||
|
"S c #59599C9C0000",
|
||||||
|
"D c #5454A1A10000",
|
||||||
|
"F c #4F4FA6A60000",
|
||||||
|
"G c #4B4BABAB0000",
|
||||||
|
"H c #4646AFAF0000",
|
||||||
|
"J c #4141B4B40000",
|
||||||
|
"K c #3737BEBE0000",
|
||||||
|
"L c #3C3CB9B90000",
|
||||||
|
" ............................................XXXXXXXXoO",
|
||||||
|
" ............................................++++++++@O",
|
||||||
|
" ............................................########OO",
|
||||||
|
" ............................................$$$$$$$$OO",
|
||||||
|
" %%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ............................................&&&&&&&&OO",
|
||||||
|
" XXXXXXXX* %............................................* ............................................========OO",
|
||||||
|
" ++++++++* %............................................* ............................................--------OO",
|
||||||
|
" ########* %............................................* ............................................;;;;;;;;OO",
|
||||||
|
" $$$$$$$$* %............................................* ............................................::::::::OO",
|
||||||
|
" &&&&&&&&* %............................................* ............................................>>>>>>>>OO",
|
||||||
|
" ========* %............................................* ............................................,,,,,,,,OO",
|
||||||
|
" --------* %............................................* ............................................<<<<<<<<OO",
|
||||||
|
" ;;;;;;;;* %............................................* ............................................11111111OO",
|
||||||
|
" ::::::::* %............................................* ............................................22222222O@",
|
||||||
|
" >>>>>>>>* %............................................* ............................................33333333Oo",
|
||||||
|
" ,,,,,,,,* %............................................* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@44444444O ",
|
||||||
|
" <<<<<<<<* %............................................* ............................................55555555O ",
|
||||||
|
" 11111111* %............................................* ............................................66666666O ",
|
||||||
|
" 22222222* %............................................* ............................................77777777O ",
|
||||||
|
" 33333333* %............................................* ............................................88888888O ",
|
||||||
|
" 44444444* %............................................* ............................................99999999O ",
|
||||||
|
" 55555555* %............................................* ............................................00000000O ",
|
||||||
|
" 66666666* %............................................* ............................................qqqqqqqqO ",
|
||||||
|
" 77777777* %............................................* ............................................wwwwwwwwO ",
|
||||||
|
" 88888888* %............................................* ............................................eeeeeeeeO ",
|
||||||
|
" 99999999* %............................................* ............................................rrrrrrrrO ",
|
||||||
|
" 00000000* %............................................* ............................................ttttttttO ",
|
||||||
|
" qqqqqqqq* %............................................* ............................................yyyyyyyyO ",
|
||||||
|
" wwwwwwww* %............................................* ............................................uuuuuuuuO ",
|
||||||
|
" eeeeeeee* %............................................* ............................................iiiiiiiiO ",
|
||||||
|
" rrrrrrrr* %............................................* ............................................iiiiiiiiO ",
|
||||||
|
" tttttttt* %............................................* ",
|
||||||
|
" yyyyyyyy* %............................................* ............................................pppppppp ",
|
||||||
|
" uuuuuuuu* %............................................* ............................................aaaaaaaa ",
|
||||||
|
" uuuuuuuu* %............................................* ............................................ssssssss ",
|
||||||
|
" iiiiiiii* %............................................* ............................................dddddddd ",
|
||||||
|
" ********* ********************************************** ............................................ffffffff ",
|
||||||
|
" ............................................gggggggg ",
|
||||||
|
" %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ............................................hhhhhhhh ",
|
||||||
|
" %.OoooO.@OOO@.OoooO..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................kkkkkkkk ",
|
||||||
|
" %.OO.OO.O...o.OO.OO..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................llllllll ",
|
||||||
|
" %.O.O.O.O...o.O.O.O..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................zzzzzzzz ",
|
||||||
|
" %.@ooo@.@OOO@.@ooo@..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................xxxxxxxx ",
|
||||||
|
" %.O...O.O...o.O...O..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................cccccccc ",
|
||||||
|
" %.O...O.O...o.O...O..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................vvvvvvvv ",
|
||||||
|
" %.@ooo@.@OOO@.@ooo@..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................bbbbbbbb ",
|
||||||
|
" %....................* %jiuytrewq0987654321<,>:;-=&$#+* ............................................nnnnnnnn ",
|
||||||
|
" ********************** ******************************** ............................................mmmmmmmm ",
|
||||||
|
" ............................................MMMMMMMM ",
|
||||||
|
" %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ............................................NNNNNNNN ",
|
||||||
|
" %.@OOO@.@ooo@.@OOO@..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................BBBBBBBB ",
|
||||||
|
" %.O...o.O...O.O...O..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................VVVVVVVV ",
|
||||||
|
" %.O...o.O...O.O...O..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................CCCCCCCC ",
|
||||||
|
" %.@OOO@.@ooo@.@OOO@..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................ZZZZZZZZ ",
|
||||||
|
" %.o...O.O.O.O.O...o..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................AAAAAAAA ",
|
||||||
|
" %.o...O.OO.OO.O...o..* %jiuytrewq0987654321<,>:;-=&$#+* ............................................SSSSSSSS ",
|
||||||
|
" %.@OOO@.OoooO.@ooo...* %jiuytrewq0987654321<,>:;-=&$#+* ............................................DDDDDDDD ",
|
||||||
|
" %....................* %jiuytrewq0987654321<,>:;-=&$#+* ............................................FFFFFFFF ",
|
||||||
|
" ********************** ******************************** ............................................GGGGGGGG ",
|
||||||
|
" ............................................HHHHHHHH ",
|
||||||
|
" ............................................JJJJJJJJ ",
|
||||||
|
" ............................................KKKKKKKK ",
|
||||||
|
" ............................................KKKKKKKK ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+@OOO@.@ooo@.@OOO@..* %jiuOooo@q@OOO@5Oooo@,@OOOO&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+O...o.O...O.O...O..* %jiuOOreOqO987O5OO21O,O:;-o&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+O...o.O...O.O...O..* %jiuOtOeOqO987O5O3O1O,O:;-o&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+@OOO@.@ooo@.@OOO@..* %jiuOooOOqOoooO5OooOO,OOOOo&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+o...O.O.O.O.O...o..* %jiuOtreOqO987O5O321O,O:;-o&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+o...O.OO.OO.O...o..* %jiuOtreOqO987O5O321O,O:;-o&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+@OOO@.OoooO.@ooo...* %jiu@oooOq@OOO@5@oooO,@OOOO&$#+* ",
|
||||||
|
"KLJHGFDSAZCVBNMmnbvcxzlkhgfdsajiuytrewq0987654321<,>:;-=&$#+...................* %jiuytrewq0987654321<,>:;-=&$#+* "};
|
493
wmSMPmon-3.1/wmgeneral/wmgeneral.c
Normal file
493
wmSMPmon-3.1/wmgeneral/wmgeneral.c
Normal file
|
@ -0,0 +1,493 @@
|
||||||
|
/*
|
||||||
|
Best viewed with vim5, using ts=4
|
||||||
|
|
||||||
|
wmgeneral was taken from wmppp.
|
||||||
|
|
||||||
|
It has a lot of routines which most of the wm* programs use.
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
Author: Martijn Pieterse (pieterse@xs4all.nl)
|
||||||
|
|
||||||
|
---
|
||||||
|
CHANGES:
|
||||||
|
---
|
||||||
|
14/09/1998 (Dave Clark, clarkd@skyia.com)
|
||||||
|
* Updated createXBMfromXPM routine
|
||||||
|
* Now supports >256 colors
|
||||||
|
11/09/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* Removed a bug from parse_rcfile. You could
|
||||||
|
not use "start" in a command if a label was
|
||||||
|
also start.
|
||||||
|
* Changed the needed geometry string.
|
||||||
|
We don't use window size, and don't support
|
||||||
|
negative positions.
|
||||||
|
03/09/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* Added parse_rcfile2
|
||||||
|
02/09/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* Added -geometry support (untested)
|
||||||
|
28/08/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* Added createXBMfromXPM routine
|
||||||
|
* Saves a lot of work with changing xpm's.
|
||||||
|
02/05/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* changed the read_rc_file to parse_rcfile, as suggested by Marcelo E. Magallon
|
||||||
|
* debugged the parse_rc file.
|
||||||
|
30/04/1998 (Martijn Pieterse, pieterse@xs4all.nl)
|
||||||
|
* Ripped similar code from all the wm* programs,
|
||||||
|
and put them in a single file.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
|
||||||
|
#include "wmgeneral.h"
|
||||||
|
|
||||||
|
/*****************/
|
||||||
|
/* X11 Variables */
|
||||||
|
/*****************/
|
||||||
|
|
||||||
|
Window Root;
|
||||||
|
int screen;
|
||||||
|
int x_fd;
|
||||||
|
int d_depth;
|
||||||
|
XSizeHints mysizehints;
|
||||||
|
XWMHints mywmhints;
|
||||||
|
Pixel back_pix, fore_pix;
|
||||||
|
char *Geometry = "";
|
||||||
|
Window iconwin, win;
|
||||||
|
GC NormalGC;
|
||||||
|
XpmIcon wmgen;
|
||||||
|
Pixmap pixmask;
|
||||||
|
|
||||||
|
/*****************/
|
||||||
|
/* Mouse Regions */
|
||||||
|
/*****************/
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int enable;
|
||||||
|
int top;
|
||||||
|
int bottom;
|
||||||
|
int left;
|
||||||
|
int right;
|
||||||
|
} MOUSE_REGION;
|
||||||
|
|
||||||
|
MOUSE_REGION mouse_region[MAX_MOUSE_REGION];
|
||||||
|
|
||||||
|
/***********************/
|
||||||
|
/* Function Prototypes */
|
||||||
|
/***********************/
|
||||||
|
|
||||||
|
static void GetXPM(XpmIcon *, char **);
|
||||||
|
static Pixel GetColor(char *);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
void AddMouseRegion(int, int, int, int, int);
|
||||||
|
int CheckMouseRegion(int, int);
|
||||||
|
|
||||||
|
/*****************************************************************************\
|
||||||
|
|* parse_rcfile *|
|
||||||
|
\*****************************************************************************/
|
||||||
|
|
||||||
|
void parse_rcfile(const char *filename, rckeys *keys) {
|
||||||
|
|
||||||
|
char *p,*q;
|
||||||
|
char temp[128];
|
||||||
|
char *tokens = " :\t\n";
|
||||||
|
FILE *fp;
|
||||||
|
int i,key;
|
||||||
|
|
||||||
|
fp = fopen(filename, "r");
|
||||||
|
if (fp) {
|
||||||
|
while (fgets(temp, 128, fp)) {
|
||||||
|
key = 0;
|
||||||
|
q = strdup(temp);
|
||||||
|
q = strtok(q, tokens);
|
||||||
|
while (key >= 0 && keys[key].label) {
|
||||||
|
if ((!strcmp(q, keys[key].label))) {
|
||||||
|
p = strstr(temp, keys[key].label);
|
||||||
|
p += strlen(keys[key].label);
|
||||||
|
p += strspn(p, tokens);
|
||||||
|
if ((i = strcspn(p, "#\n"))) p[i] = 0;
|
||||||
|
free(*keys[key].var);
|
||||||
|
*keys[key].var = strdup(p);
|
||||||
|
key = -1;
|
||||||
|
} else key++;
|
||||||
|
}
|
||||||
|
free(q);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* parse_rcfile2 *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void parse_rcfile2(const char *filename, rckeys2 *keys) {
|
||||||
|
|
||||||
|
char *p;
|
||||||
|
char temp[128];
|
||||||
|
char *tokens = " :\t\n";
|
||||||
|
FILE *fp;
|
||||||
|
int i,key;
|
||||||
|
char *family = NULL;
|
||||||
|
|
||||||
|
fp = fopen(filename, "r");
|
||||||
|
if (fp) {
|
||||||
|
while (fgets(temp, 128, fp)) {
|
||||||
|
key = 0;
|
||||||
|
while (key >= 0 && keys[key].label) {
|
||||||
|
if ((p = strstr(temp, keys[key].label))) {
|
||||||
|
p += strlen(keys[key].label);
|
||||||
|
p += strspn(p, tokens);
|
||||||
|
if ((i = strcspn(p, "#\n"))) p[i] = 0;
|
||||||
|
free(*keys[key].var);
|
||||||
|
*keys[key].var = strdup(p);
|
||||||
|
key = -1;
|
||||||
|
} else key++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
free(family);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* GetXPM *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
static void GetXPM(XpmIcon *wmgen, char *pixmap_bytes[]) {
|
||||||
|
|
||||||
|
XWindowAttributes attributes;
|
||||||
|
int err;
|
||||||
|
|
||||||
|
/* For the colormap */
|
||||||
|
XGetWindowAttributes(display, Root, &attributes);
|
||||||
|
|
||||||
|
wmgen->attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions);
|
||||||
|
|
||||||
|
err = XpmCreatePixmapFromData(display, Root, pixmap_bytes, &(wmgen->pixmap),
|
||||||
|
&(wmgen->mask), &(wmgen->attributes));
|
||||||
|
|
||||||
|
if (err != XpmSuccess) {
|
||||||
|
fprintf(stderr, "Not enough free colorcells.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* GetColor *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
static Pixel GetColor(char *name) {
|
||||||
|
|
||||||
|
XColor color;
|
||||||
|
XWindowAttributes attributes;
|
||||||
|
|
||||||
|
XGetWindowAttributes(display, Root, &attributes);
|
||||||
|
|
||||||
|
color.pixel = 0;
|
||||||
|
if (!XParseColor(display, attributes.colormap, name, &color)) {
|
||||||
|
fprintf(stderr, "wm.app: can't parse %s.\n", name);
|
||||||
|
} else if (!XAllocColor(display, attributes.colormap, &color)) {
|
||||||
|
fprintf(stderr, "wm.app: can't allocate %s.\n", name);
|
||||||
|
}
|
||||||
|
return color.pixel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* flush_expose *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
static int flush_expose(Window w) {
|
||||||
|
|
||||||
|
XEvent dummy;
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
while (XCheckTypedWindowEvent(display, w, Expose, &dummy))
|
||||||
|
i++;
|
||||||
|
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* RedrawWindow *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void RedrawWindow(void) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
|
||||||
|
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC,
|
||||||
|
0,0, wmgen.attributes.width, wmgen.attributes.height, 0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* RedrawWindowXY *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void RedrawWindowXY(int x, int y) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC,
|
||||||
|
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC,
|
||||||
|
x,y, wmgen.attributes.width, wmgen.attributes.height, 0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* AddMouseRegion *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void AddMouseRegion(int index, int left, int top, int right, int bottom) {
|
||||||
|
|
||||||
|
if (index < MAX_MOUSE_REGION) {
|
||||||
|
mouse_region[index].enable = 1;
|
||||||
|
mouse_region[index].top = top;
|
||||||
|
mouse_region[index].left = left;
|
||||||
|
mouse_region[index].bottom = bottom;
|
||||||
|
mouse_region[index].right = right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* CheckMouseRegion *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
int CheckMouseRegion(int x, int y) {
|
||||||
|
|
||||||
|
int i;
|
||||||
|
int found;
|
||||||
|
|
||||||
|
found = 0;
|
||||||
|
|
||||||
|
for (i=0; i<MAX_MOUSE_REGION && !found; i++) {
|
||||||
|
if (mouse_region[i].enable &&
|
||||||
|
x <= mouse_region[i].right &&
|
||||||
|
x >= mouse_region[i].left &&
|
||||||
|
y <= mouse_region[i].bottom &&
|
||||||
|
y >= mouse_region[i].top)
|
||||||
|
found = 1;
|
||||||
|
}
|
||||||
|
if (!found) return -1;
|
||||||
|
return (i-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* createXBMfromXPM *|
|
||||||
|
\***************************************************************************/
|
||||||
|
void createXBMfromXPM(char *xbm, char **xpm, int sx, int sy) {
|
||||||
|
|
||||||
|
int i,j,k;
|
||||||
|
int width, height, numcol, depth;
|
||||||
|
int zero=0;
|
||||||
|
unsigned char bwrite;
|
||||||
|
int bcount;
|
||||||
|
int curpixel;
|
||||||
|
|
||||||
|
sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
|
||||||
|
|
||||||
|
|
||||||
|
for (k=0; k!=depth; k++)
|
||||||
|
{
|
||||||
|
zero <<=8;
|
||||||
|
zero |= xpm[1][k];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i=numcol+1; i < numcol+sy+1; i++) {
|
||||||
|
bcount = 0;
|
||||||
|
bwrite = 0;
|
||||||
|
for (j=0; j<sx*depth; j+=depth) {
|
||||||
|
bwrite >>= 1;
|
||||||
|
|
||||||
|
curpixel=0;
|
||||||
|
for (k=0; k!=depth; k++)
|
||||||
|
{
|
||||||
|
curpixel <<=8;
|
||||||
|
curpixel |= xpm[i][j+k];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( curpixel != zero ) {
|
||||||
|
bwrite += 128;
|
||||||
|
}
|
||||||
|
bcount++;
|
||||||
|
if (bcount == 8) {
|
||||||
|
*xbm = bwrite;
|
||||||
|
xbm++;
|
||||||
|
bcount = 0;
|
||||||
|
bwrite = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* copyXPMArea *|
|
||||||
|
|* *|
|
||||||
|
|* copies pixel area from master XPM to application window *|
|
||||||
|
|* *|
|
||||||
|
|* x,y: first corner of area to be copied from master XPM *|
|
||||||
|
|* sx,sy: second corner of area to be copied from master XPM *|
|
||||||
|
|* dx,dy: first corner of target area *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
|
||||||
|
XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* copyXBMArea *|
|
||||||
|
|* *|
|
||||||
|
|* copies pixel area from XBM to master XPM?!?!? *|
|
||||||
|
|* *|
|
||||||
|
|* x,y: first corner of area to be copied from XBM *|
|
||||||
|
|* sx,sy: width and height of area to be copied from XBM *|
|
||||||
|
|* dx,dy: first corner of target area *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
|
||||||
|
XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* setMaskXY *|
|
||||||
|
\***************************************************************************/
|
||||||
|
|
||||||
|
void setMaskXY(int x, int y) {
|
||||||
|
|
||||||
|
XShapeCombineMask(display, win, ShapeBounding, x, y, pixmask, ShapeSet);
|
||||||
|
XShapeCombineMask(display, iconwin, ShapeBounding, x, y, pixmask, ShapeSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************\
|
||||||
|
|* openXwindow *|
|
||||||
|
\***************************************************************************/
|
||||||
|
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits, int pixmask_width, int pixmask_height) {
|
||||||
|
|
||||||
|
unsigned int borderwidth = 1;
|
||||||
|
XClassHint classHint;
|
||||||
|
char *display_name = NULL;
|
||||||
|
char *wname = argv[0];
|
||||||
|
XTextProperty name;
|
||||||
|
|
||||||
|
XGCValues gcv;
|
||||||
|
unsigned long gcm;
|
||||||
|
|
||||||
|
char *geometry = NULL;
|
||||||
|
|
||||||
|
int dummy=0;
|
||||||
|
int i, wx, wy;
|
||||||
|
|
||||||
|
for (i=1; argv[i]; i++) {
|
||||||
|
if (!strcmp(argv[i], "-display")) {
|
||||||
|
display_name = argv[i+1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if (!strcmp(argv[i], "-geometry")) {
|
||||||
|
geometry = argv[i+1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(display = XOpenDisplay(display_name))) {
|
||||||
|
fprintf(stderr, "%s: can't open display %s\n",
|
||||||
|
wname, XDisplayName(display_name));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
screen = DefaultScreen(display);
|
||||||
|
Root = RootWindow(display, screen);
|
||||||
|
d_depth = DefaultDepth(display, screen);
|
||||||
|
x_fd = XConnectionNumber(display);
|
||||||
|
|
||||||
|
/* Convert XPM to XImage */
|
||||||
|
GetXPM(&wmgen, pixmap_bytes);
|
||||||
|
|
||||||
|
/* Create a window to hold the stuff */
|
||||||
|
mysizehints.flags = USSize | USPosition;
|
||||||
|
mysizehints.x = 0;
|
||||||
|
mysizehints.y = 0;
|
||||||
|
|
||||||
|
back_pix = GetColor("white");
|
||||||
|
fore_pix = GetColor("black");
|
||||||
|
|
||||||
|
XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
|
||||||
|
&mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy);
|
||||||
|
|
||||||
|
mysizehints.width = 64;
|
||||||
|
mysizehints.height = 64;
|
||||||
|
|
||||||
|
win = XCreateSimpleWindow(display, Root, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
iconwin = XCreateSimpleWindow(display, win, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
/* Activate hints */
|
||||||
|
XSetWMNormalHints(display, win, &mysizehints);
|
||||||
|
classHint.res_name = wname;
|
||||||
|
classHint.res_class = wname;
|
||||||
|
XSetClassHint(display, win, &classHint);
|
||||||
|
|
||||||
|
XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask | PointerMotionMask | StructureNotifyMask);
|
||||||
|
XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask | PointerMotionMask | StructureNotifyMask);
|
||||||
|
|
||||||
|
if (XStringListToTextProperty(&wname, 1, &name) == 0) {
|
||||||
|
fprintf(stderr, "%s: can't allocate window name\n", wname);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
XSetWMName(display, win, &name);
|
||||||
|
|
||||||
|
/* Create GC for drawing */
|
||||||
|
|
||||||
|
gcm = GCForeground | GCBackground | GCGraphicsExposures;
|
||||||
|
gcv.foreground = fore_pix;
|
||||||
|
gcv.background = back_pix;
|
||||||
|
gcv.graphics_exposures = 0;
|
||||||
|
NormalGC = XCreateGC(display, Root, gcm, &gcv);
|
||||||
|
|
||||||
|
/* ONLYSHAPE ON */
|
||||||
|
|
||||||
|
pixmask = XCreateBitmapFromData(display, win, pixmask_bits, pixmask_width, pixmask_height);
|
||||||
|
|
||||||
|
XShapeCombineMask(display, win, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
XShapeCombineMask(display, iconwin, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
|
||||||
|
/* ONLYSHAPE OFF */
|
||||||
|
|
||||||
|
mywmhints.initial_state = WithdrawnState;
|
||||||
|
mywmhints.icon_window = iconwin;
|
||||||
|
mywmhints.icon_x = mysizehints.x;
|
||||||
|
mywmhints.icon_y = mysizehints.y;
|
||||||
|
mywmhints.window_group = win;
|
||||||
|
mywmhints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
|
||||||
|
|
||||||
|
XSetWMHints(display, win, &mywmhints);
|
||||||
|
|
||||||
|
XSetCommand(display, win, argv, argc);
|
||||||
|
XMapWindow(display, win);
|
||||||
|
|
||||||
|
if (geometry) {
|
||||||
|
if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
|
||||||
|
fprintf(stderr, "Bad geometry string.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
XMoveWindow(display, win, wx, wy);
|
||||||
|
}
|
||||||
|
}
|
59
wmSMPmon-3.1/wmgeneral/wmgeneral.h
Normal file
59
wmSMPmon-3.1/wmgeneral/wmgeneral.h
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
#ifndef WMGENERAL_H_INCLUDED
|
||||||
|
#define WMGENERAL_H_INCLUDED
|
||||||
|
|
||||||
|
/***********/
|
||||||
|
/* Defines */
|
||||||
|
/***********/
|
||||||
|
|
||||||
|
#define MAX_MOUSE_REGION (16)
|
||||||
|
|
||||||
|
/************/
|
||||||
|
/* Typedefs */
|
||||||
|
/************/
|
||||||
|
|
||||||
|
typedef struct _rckeys rckeys;
|
||||||
|
|
||||||
|
struct _rckeys {
|
||||||
|
const char *label;
|
||||||
|
char **var;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _rckeys2 rckeys2;
|
||||||
|
|
||||||
|
struct _rckeys2 {
|
||||||
|
const char *family;
|
||||||
|
const char *label;
|
||||||
|
char **var;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Pixmap pixmap;
|
||||||
|
Pixmap mask;
|
||||||
|
XpmAttributes attributes;
|
||||||
|
} XpmIcon;
|
||||||
|
|
||||||
|
/*******************/
|
||||||
|
/* Global variable */
|
||||||
|
/*******************/
|
||||||
|
|
||||||
|
Display *display;
|
||||||
|
|
||||||
|
/***********************/
|
||||||
|
/* Function Prototypes */
|
||||||
|
/***********************/
|
||||||
|
|
||||||
|
void AddMouseRegion(int index, int left, int top, int right, int bottom);
|
||||||
|
int CheckMouseRegion(int x, int y);
|
||||||
|
|
||||||
|
void openXwindow(int argc, char *argv[], char **, char *, int, int);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
void RedrawWindowXY(int x, int y);
|
||||||
|
|
||||||
|
void createXBMfromXPM(char *, char **, int, int);
|
||||||
|
void copyXPMArea(int, int, int, int, int, int);
|
||||||
|
void copyXBMArea(int, int, int, int, int, int);
|
||||||
|
void setMaskXY(int, int);
|
||||||
|
|
||||||
|
void parse_rcfile(const char *, rckeys *);
|
||||||
|
|
||||||
|
#endif
|
9
wmWeather-1.31/BUGS
Normal file
9
wmWeather-1.31/BUGS
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Please send bug reports to mghenderson@lanl.gov
|
||||||
|
|
||||||
|
Ones I know about;
|
||||||
|
|
||||||
|
The wind speed is decoded only when it is listed in units of KT or MPS for the time being.
|
||||||
|
|
||||||
|
The Station code needs to be 4 characters. This is a bug because some stations have
|
||||||
|
numbers as well, and while not standard METAR, some stations have 5 characters.
|
||||||
|
|
108
wmWeather-1.31/CHANGES
Normal file
108
wmWeather-1.31/CHANGES
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
wmWeather changes.
|
||||||
|
|
||||||
|
Version Description
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
1.31 - released May 4, 1999.
|
||||||
|
fixed some conversion bugs in wind speed..
|
||||||
|
|
||||||
|
|
||||||
|
1.30 - released April 13, 1999.
|
||||||
|
Fixed a bug whereby the App would crash when trying to gain input
|
||||||
|
focus under non-WindowMaker WMs (focus is now grabbed by
|
||||||
|
`PointerRoot' not `iconwin').
|
||||||
|
|
||||||
|
Added StationID and `time-of-last-update' labels. To do this I needed
|
||||||
|
to shrink the fonts down and scrunch them together a bit more.
|
||||||
|
|
||||||
|
Added new command line option to change their color;
|
||||||
|
-tc <color>
|
||||||
|
|
||||||
|
Added code to properly decode wind speed when in MPS.
|
||||||
|
|
||||||
|
Fixed bug in beaufort wind speed calcs.
|
||||||
|
|
||||||
|
|
||||||
|
1.29 - released March 13, 1999.
|
||||||
|
Reorganized wmgeneral.c and renamed it xutils.c (wmgeneral.h
|
||||||
|
-> xutils.h as well ). Also moved it into the same directory as wmWeather.
|
||||||
|
Now, the openXwindow is split into 2 parts. You first need to call
|
||||||
|
initXwindow(argc, argv). This allows us to check the display depth
|
||||||
|
before we commit to a particular pixmap (this will be useful in my
|
||||||
|
other DockApps to dynamically set appropriate pixmaps based on depth).
|
||||||
|
Got rid of alot of the other routines that I never use.
|
||||||
|
|
||||||
|
Added 4 more command line option to set the colors of the text:
|
||||||
|
|
||||||
|
-bc <color> for setting the BackGround color.
|
||||||
|
-lc <color> for setting the Label color.
|
||||||
|
-dc <color> for setting the Data color.
|
||||||
|
-wgc <color> for setting the Wind Gust color.
|
||||||
|
|
||||||
|
Also cleaned up the pixmap to minimize the number of colors used.
|
||||||
|
|
||||||
|
Changed metric toggle to work with a key press (any key).
|
||||||
|
|
||||||
|
Added double click support. Now double clicking does the following:
|
||||||
|
|
||||||
|
Double Mouse Left: pops up the fully decoded METAR file
|
||||||
|
in xmessage.
|
||||||
|
|
||||||
|
Double Mouse Middle: Currently undefined.
|
||||||
|
|
||||||
|
Double Mouse Right: Forces a new update (i.e. download.)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1.28 - released March 9, 1999.
|
||||||
|
Changed -celsius (-c) option to -metric (-m). Naming makes more
|
||||||
|
sense that way...
|
||||||
|
|
||||||
|
Added -W option to display WindChill instead of DewPoint.
|
||||||
|
Since Windchill is not always available, we only show it if its
|
||||||
|
available. If its not, we paste up DewPoint as default.
|
||||||
|
|
||||||
|
Also added -mps option to display wind speed in units of
|
||||||
|
meters/second (when in -metric mode).
|
||||||
|
|
||||||
|
1.27 - released March 8, 1999.
|
||||||
|
fixed bug in speed calculation when wind is gusting.
|
||||||
|
|
||||||
|
|
||||||
|
1.26 - released February 24, 1999.
|
||||||
|
Added -delay option.
|
||||||
|
|
||||||
|
1.25 - released February 16, 1999.
|
||||||
|
Added Wind speeds on the 'Beaufort scale'
|
||||||
|
Thanks to Paul Martin <pm@zetnet.net> for this addition.
|
||||||
|
|
||||||
|
1.24 - released February 12, 1999.
|
||||||
|
Added --passive-ftp option to wget...
|
||||||
|
|
||||||
|
1.23 - released February 2, 1999.
|
||||||
|
Few more bug fixes...
|
||||||
|
Added support for different Pressure units...
|
||||||
|
|
||||||
|
1.22 - released February 1, 1999.
|
||||||
|
Fixed minor bug in direction abbreviations. Added a bit more to man
|
||||||
|
page.
|
||||||
|
|
||||||
|
1.21 - released January 29, 1999.
|
||||||
|
Fixed a problem in the perl script. Made the file paths absolute.
|
||||||
|
|
||||||
|
1.2 - released January 29, 1999.
|
||||||
|
Added Wind speed line. Ended up decoding the Raw METAR line.
|
||||||
|
Fixed a few bugs...
|
||||||
|
Changed location of files from /tmp to ~/.wmWeatherReports
|
||||||
|
Changed units of pressure and wind speed to mmHg and km/h
|
||||||
|
when Celsius is set. (Really should change the flag to -metric).
|
||||||
|
|
||||||
|
1.1 - Released Jan. 25, 1999.
|
||||||
|
Bug fixes.
|
||||||
|
Added Degrees F/C support...
|
||||||
|
Added a bit more info on where to find info on METAR/TAF
|
||||||
|
system...
|
||||||
|
|
||||||
|
1.0 - Initial release.
|
||||||
|
Released Jan. 19, 1999.
|
||||||
|
|
339
wmWeather-1.31/COPYING
Normal file
339
wmWeather-1.31/COPYING
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
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., 675 Mass Ave, Cambridge, MA 02139, 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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
27
wmWeather-1.31/HINTS
Normal file
27
wmWeather-1.31/HINTS
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
Hints for wmWeather
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WindowMaker.
|
||||||
|
------------
|
||||||
|
In WindowMaker simply drag and drop the wmWeather App on
|
||||||
|
the WindowMaker Dock or Clip.
|
||||||
|
|
||||||
|
|
||||||
|
Afterstep.
|
||||||
|
---------
|
||||||
|
Afterstep users put the following in their .steprc
|
||||||
|
"Wharf wmWeather - MaxSwallow "wmWeather" wmWeather &".
|
||||||
|
|
||||||
|
Note: AfterStep's Wharf has a problem with pixmaps that are
|
||||||
|
larger than 60x60 pixels. Please tell the AfterStep authors
|
||||||
|
to fix this, this is not our fault, but a Wharf problem!
|
||||||
|
|
||||||
|
|
||||||
|
Other window managers.
|
||||||
|
----------------------
|
||||||
|
wmWeather shows as a 64x64 shaped icon on your desktop under other
|
||||||
|
window managers.
|
||||||
|
|
||||||
|
|
||||||
|
|
29
wmWeather-1.31/INSTALL
Normal file
29
wmWeather-1.31/INSTALL
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
Installation instructions for wmWeather.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
wmWeather requires the Xpm library (which should be available on most machines
|
||||||
|
with XFree86 installed). And it requires that the GNU wget utility be installed
|
||||||
|
as well. wget is a utility that allows you to grab stuff like html files and
|
||||||
|
images diretly off the www without using a graphical browser. (Also, you
|
||||||
|
obviously need to be connected to internet in a way that wget will work.)
|
||||||
|
You also need to have Perl installed.
|
||||||
|
|
||||||
|
On FreeBSD systems you may need to use gmake instead of make.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
1) gunzip wmWeather-1.29.tar.gz
|
||||||
|
1) tar -xvf wmWeather-1.29.tar
|
||||||
|
2) cd wmWeather-1.29/Src/
|
||||||
|
3) make clean
|
||||||
|
4) make
|
||||||
|
5) make install (must be root)
|
||||||
|
6) wmWeather & (or 'wmWeather -h' for help, or 'man wmWeather' for the man page)
|
||||||
|
7) You need to set the location of perl correctly in GrabWeather if your perl
|
||||||
|
is located in a place other than /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
212
wmWeather-1.31/Src/GrabWeather
Executable file
212
wmWeather-1.31/Src/GrabWeather
Executable file
|
@ -0,0 +1,212 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
#
|
||||||
|
# Grabs the latest local weather conditions from the National Weather Service (NWS).
|
||||||
|
# Uses the decoded METAR reports.
|
||||||
|
#
|
||||||
|
# Need to give the 4-character METAR station code on the Command Line. E.g.;
|
||||||
|
#
|
||||||
|
# GrabWeather KLAM
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
require "ctime.pl";
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Change to users home directory. We used to dump into /tmp
|
||||||
|
# but using home dir instead avoids multiple users interfering
|
||||||
|
# with one another. (Yeah, we could "unique-ize" the filenames, but
|
||||||
|
# this is easier for now...)
|
||||||
|
#
|
||||||
|
$home = (getpwuid($<))[7];
|
||||||
|
$ok = chdir() || chdir($home);
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check to see if .wmWeatherReports exists.
|
||||||
|
# If not, make it and move to it.
|
||||||
|
#
|
||||||
|
if ( !(-e ".wmWeatherReports") ){
|
||||||
|
mkdir(".wmWeatherReports", 0775);
|
||||||
|
}
|
||||||
|
chdir(".wmWeatherReports");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$StationID = $ARGV[0];
|
||||||
|
$HTMLFileName = "$StationID.TXT";
|
||||||
|
$URL = "ftp://weather.noaa.gov/data/observations/metar/decoded/$HTMLFileName";
|
||||||
|
$DataFileName = "$StationID.dat";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# I think some of these wget command line options may cause problems
|
||||||
|
# for some people? Dont know why... (Perhaps they have a ~/.wgetrc file
|
||||||
|
# that overrides command line options?).
|
||||||
|
#
|
||||||
|
$GrabCmd = "wget --proxy=off --passive-ftp --tries 0 -q -O $home/.wmWeatherReports/$StationID.TXT $URL";
|
||||||
|
system "$GrabCmd";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Parse HTML File.
|
||||||
|
#
|
||||||
|
$Temp = -999.0;
|
||||||
|
$Chill = -999.0;
|
||||||
|
$DewPnt = -999.0;
|
||||||
|
$Pressure = -999.0;
|
||||||
|
$Hum = -999.0;
|
||||||
|
$Flag = 0;
|
||||||
|
open(TmpFile, "$HTMLFileName");
|
||||||
|
while (<TmpFile>){
|
||||||
|
chop;
|
||||||
|
if ($Flag == 0) { $StationInfo = $_; };
|
||||||
|
if ($Flag == 1) { $UpdateTime = $_; };
|
||||||
|
if ($_ =~ /^Sky conditions:/ ){ $SkyConditions = $_; $SkyConditions =~ s/Sky conditions: (.*)/\1/; }
|
||||||
|
if ($_ =~ /^Temperature:/ ){ $Temp = $_; $Temp =~ s/Temperature:\s*(\-{0,1}[0-9.]{1,}).*/\1/; }
|
||||||
|
if ($_ =~ /^Windchill:/ ){ $Chill = $_; $Chill =~ s/Windchill:\s*(\-{0,1}[0-9.]{1,}).*/\1/; }
|
||||||
|
if ($_ =~ /^Dew Point:/ ){ $DewPnt = $_; $DewPnt =~ s/Dew Point:\s*(\-{0,1}[0-9.]{1,}).*/\1/; }
|
||||||
|
if ($_ =~ /^Pressure \(.*\):/ ){ $Pressure = $_; $Pressure =~ s/Pressure \(.*\):\s*([0-9.]{2,}).*/\1/; }
|
||||||
|
if ($_ =~ /^Relative Humidity:/ ){ $Hum = $_; $Hum =~ s/Relative Humidity:\s*(\d{1,})\%.*/\1/; }
|
||||||
|
if ($_ =~ /^ob: / ){ $CodedMETAR = $_; $CodedMETAR =~ s/ob: (.*)/\1/; }
|
||||||
|
++$Flag;
|
||||||
|
}
|
||||||
|
close(TmpFile);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Isolate the Wind groups out of the coded METAR report.
|
||||||
|
# There may be two groups - the normal one and a variability set.
|
||||||
|
#
|
||||||
|
$WindGroup = $CodedMETAR;
|
||||||
|
$WindGroup =~ s/ RMK\s.*$//;
|
||||||
|
$VarWindGroup = $WindGroup;
|
||||||
|
|
||||||
|
|
||||||
|
if ($WindGroup =~ /.*\s\w{3}\d{2,3}KT\s\d{3}V\d{3}\s.*/ ) {
|
||||||
|
$VarWindGroup =~ s/.*\s\w{3}\d{2,3}KT\s(\d{3}V\d{3})\s.*/\1/;
|
||||||
|
$VarFlag = 1;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}MPS\s\d{3}V\d{3}\s.*/ ) {
|
||||||
|
$VarWindGroup =~ s/.*\s\w{3}\d{2,3}MPS\s(\d{3}V\d{3})\s.*/\1/;
|
||||||
|
$VarFlag = 1;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}G\d{2,3}KT\s(\d{2,3}V\d{2,3})\s.*/ ) {
|
||||||
|
$VarWindGroup =~ s/.*\s\w{3}\d{2,3}G\d{2,3}KT\s(\d{2,3}V\d{2,3})\s.*/\1/;
|
||||||
|
$VarFlag = 1;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}G\d{2,3}MPS\s(\d{2,3}V\d{2,3})\s.*/ ) {
|
||||||
|
$VarWindGroup =~ s/.*\s\w{3}\d{2,3}G\d{2,3}MPS\s(\d{2,3}V\d{2,3})\s.*/\1/;
|
||||||
|
$VarFlag = 1;
|
||||||
|
} else {
|
||||||
|
$VarWindGroup = "";
|
||||||
|
$VarFlag = 0;
|
||||||
|
}
|
||||||
|
$Direction1 = $VarWindGroup; $Direction1 =~ s/(\d{3})V\d{3}/\1/;
|
||||||
|
$Direction2 = $VarWindGroup; $Direction2 =~ s/\d{3}V(\d{3})/\1/;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$GustFlag = 0;
|
||||||
|
if ($WindGroup =~ /.*\s\w{3}\d{2,3}KT\s.*/ ) {
|
||||||
|
$WindGroup =~ s/.*\s(\w{3}\d{2,3}KT)\s.*/\1/;
|
||||||
|
$Direction = $WindGroup; $Direction =~ s/(\w{3})\d{2,3}KT/\1/;
|
||||||
|
$Speed = $WindGroup; $Speed =~ s/\w{3}(\d{2,3})KT/\1/;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}MPS\s.*/ ) {
|
||||||
|
$WindGroup =~ s/.*\s(\w{3}\d{2,3}MPS)\s.*/\1/;
|
||||||
|
$Direction = $WindGroup; $Direction =~ s/(\w{3})\d{2,3}MPS/\1/;
|
||||||
|
$Speed = $WindGroup; $Speed =~ s/\w{3}(\d{2,3})MPS/\1/;
|
||||||
|
$Speed *= 1.942;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}G\d{2,3}KT\s.*/ ) {
|
||||||
|
$WindGroup =~ s/.*\s(\w{3}\d{2,3}G\d{2,3}KT)\s.*/\1/;
|
||||||
|
$Direction = $WindGroup; $Direction =~ s/(\w{3})\d{2,3}G\d{2,3}KT/\1/;
|
||||||
|
$Speed1 = $WindGroup; $Speed1 =~ s/\w{3}(\d{2,3})G\d{2,3}KT/\1/;
|
||||||
|
$Speed2 = $WindGroup; $Speed2 =~ s/\w{3}\d{2,3}G(\d{2,3})KT/\1/;
|
||||||
|
$GustFlag = 1;
|
||||||
|
} elsif ($WindGroup =~ /.*\s\w{3}\d{2,3}G\d{2,3}MPS\s.*/ ) {
|
||||||
|
$WindGroup =~ s/.*\s(\w{3}\d{2,3}G\d{2,3}MPS)\s.*/\1/;
|
||||||
|
$Direction = $WindGroup; $Direction =~ s/(\w{3})\d{2,3}G\d{2,3}MPS/\1/;
|
||||||
|
$Speed1 = $WindGroup; $Speed1 =~ s/\w{3}(\d{2,3})G\d{2,3}MPS/\1/;
|
||||||
|
$Speed2 = $WindGroup; $Speed2 =~ s/\w{3}\d{2,3}G(\d{2,3})MPS/\1/;
|
||||||
|
$Speed1 *= 1.942; $Speed2 *= 1.942;
|
||||||
|
$GustFlag = 1;
|
||||||
|
} else {
|
||||||
|
$WindGroup = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Get the Time out of the coded Metar Report.
|
||||||
|
#
|
||||||
|
$UniversalTime = $CodedMETAR;
|
||||||
|
if ($UniversalTime =~ /$StationID \d{1,2}\d{2}\d{2}Z/ ){
|
||||||
|
|
||||||
|
$UniversalTime =~ s/$StationID (\d{1,2})(\d{2})(\d{2})Z .*/\2:\3/;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$UniversalTime = "99:99";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Write out the stuff we need to the Data File. This is the file that will
|
||||||
|
# be read by wmWeather.
|
||||||
|
#
|
||||||
|
if ($Flag > 0){
|
||||||
|
open(TmpFile, ">$DataFileName");
|
||||||
|
print TmpFile "$StationInfo\n";
|
||||||
|
print TmpFile "$UpdateTime\n";
|
||||||
|
print TmpFile "$SkyConditions\n";
|
||||||
|
print TmpFile "$UniversalTime\n";
|
||||||
|
print TmpFile "$Temp\n";
|
||||||
|
print TmpFile "$DewPnt\n";
|
||||||
|
print TmpFile "$Chill\n";
|
||||||
|
print TmpFile "$Pressure\n";
|
||||||
|
print TmpFile "$Hum\n";
|
||||||
|
|
||||||
|
if ($Direction eq "" ){
|
||||||
|
print TmpFile "-9999\n";
|
||||||
|
} elsif ($Direction =~ /VRB/ ){
|
||||||
|
print TmpFile "999\n";
|
||||||
|
} elsif ($VarFlag) {
|
||||||
|
$Direction += 0;
|
||||||
|
print TmpFile "-$Direction\n";
|
||||||
|
} else {
|
||||||
|
$Direction += 0;
|
||||||
|
print TmpFile "$Direction\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($WindGroup eq "" ) {
|
||||||
|
print TmpFile "-9999\n";
|
||||||
|
} elsif ($GustFlag) {
|
||||||
|
$AvgSpeed = ($Speed1 + $Speed2)/2.0;
|
||||||
|
$AvgSpeed *= 1.15155;
|
||||||
|
print TmpFile "-$AvgSpeed\n";
|
||||||
|
} else {
|
||||||
|
$Speed += 0;
|
||||||
|
$Speed *= 1.15155;
|
||||||
|
print TmpFile "$Speed\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
close(TmpFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
34
wmWeather-1.31/Src/Makefile
Normal file
34
wmWeather-1.31/Src/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O2 -Wall
|
||||||
|
INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include
|
||||||
|
DESTDIR= /usr/X11R6
|
||||||
|
LIBDIR = -L/usr/X11R6/lib
|
||||||
|
# for linux
|
||||||
|
LIBS = -lXpm -lX11 -lXext
|
||||||
|
# for Solaris
|
||||||
|
# LIBS = -lXpm -lX11 -lXext -lsocket
|
||||||
|
OBJS = wmWeather.o \
|
||||||
|
xutils.o
|
||||||
|
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) -D$(shell echo `uname -s`) -c $< -o $*.o $(INCDIR)
|
||||||
|
|
||||||
|
|
||||||
|
all: wmWeather.o wmWeather
|
||||||
|
|
||||||
|
wmWeather.o: wmWeather_master.xpm wmWeather_mask.xbm
|
||||||
|
wmWeather: $(OBJS)
|
||||||
|
$(CC) $(CFLAGS) $(SYSTEM) -o wmWeather $^ $(INCDIR) $(LIBDIR) $(LIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
for i in $(OBJS) ; do \
|
||||||
|
rm -f $$i; \
|
||||||
|
done
|
||||||
|
rm -f wmWeather
|
||||||
|
|
||||||
|
install:: wmWeather
|
||||||
|
install -c -s -m 0755 wmWeather $(DESTDIR)/bin
|
||||||
|
install -c -m 0755 GrabWeather $(DESTDIR)/bin
|
||||||
|
install -c -m 0644 wmWeather.1 $(DESTDIR)/man/man1
|
||||||
|
|
94
wmWeather-1.31/Src/wmWeather.1
Normal file
94
wmWeather-1.31/Src/wmWeather.1
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
.TH WMWEATHER 1.1 "19 January 1999"
|
||||||
|
.SH NAME
|
||||||
|
WMWEATHER \- Dockable Weather Monitor
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B wmWeather -station <4-char station ID> [-h] [-display <Display>] [-metric] [-kPa] [-hPa] [-mmHg] [-beaufort] [-mps] [-delay <Time in Minutes>] [-bc <color>] [-tc <color>] [-lc <color>] [-dc <color>] [-wgc <color>]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
wmWeather monitors local weather conditions (temperature, Dew Point, Pressure,
|
||||||
|
Humidity and Wind direction and speed). The user needs to specify a
|
||||||
|
4-character `METAR station identifier code'. (The standardized METAR station
|
||||||
|
designations and current weather reports are designed for use by the aviation
|
||||||
|
community. Since most major cities have at least one airport, there is usually
|
||||||
|
one or more METAR stations in a given city.) You (obviously) need to be
|
||||||
|
connected to the internet and you also need to have wget installed (most linux
|
||||||
|
systems should have it already). wmWeather will then attempt to download the
|
||||||
|
latest METAR report for the station of your choice (from the National Weather
|
||||||
|
Sevice run by NOAA).
|
||||||
|
.PP
|
||||||
|
You can toggles back and forth between imperial and metric units. I.e. between
|
||||||
|
(degrees Fareheight, inches of Mercury, and miles per hour) and (degrees
|
||||||
|
Celsius, millimeters of Mercury, and kilometers per hour). Any key press will
|
||||||
|
do this.
|
||||||
|
.PP
|
||||||
|
Also, a left double click will bring up the fully decoded METAR report up in
|
||||||
|
xmessage. And a right double click will force an immediate update (i.e.
|
||||||
|
wmWeather will attempt to grab the weather information).
|
||||||
|
.PP
|
||||||
|
When the wind speed turns red, this means that the wind is gusty and the listed
|
||||||
|
value is an average only. Similarly, a red direction indicates a variable wind
|
||||||
|
direction and the value given is the average direction.
|
||||||
|
.PP
|
||||||
|
To find out more about the METAR/TAF system and to find the METAR code for your
|
||||||
|
location, look at http://www.nws.noaa.gov/oso/oso1/oso12/metar.htm for NOAA's
|
||||||
|
"National Weather Service METAR/TAF Information" page. To determine what your
|
||||||
|
station ID is use the lookup utility at:
|
||||||
|
http://www.nws.noaa.gov/oso/siteloc.shtml.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.B \-h
|
||||||
|
Display list of command-line options.
|
||||||
|
.TP
|
||||||
|
.B \-display <display>
|
||||||
|
Use an alternate X Display.
|
||||||
|
.TP
|
||||||
|
.B \-station <4-char station ID> (or \-s <4-char station ID>)
|
||||||
|
This option tells wmWeather which METAR station to show data for.
|
||||||
|
.TP
|
||||||
|
.B \-metric (or \-m)
|
||||||
|
Display temperatures in degrees Celsius.
|
||||||
|
.TP
|
||||||
|
.B \-kPa
|
||||||
|
When toggled to Celsius, display pressure in units of kPa.
|
||||||
|
.TP
|
||||||
|
.B \-hPa
|
||||||
|
When toggled to Celsius, display pressure in units of hPa (i.e. milliBars).
|
||||||
|
.TP
|
||||||
|
.B \-mmHg
|
||||||
|
When toggled to Celsius, display pressure in units of millimeters of Mercury. (This is
|
||||||
|
the default for Celsius when no other units are specified).
|
||||||
|
.TP
|
||||||
|
.B \-beaufort
|
||||||
|
When toggled to Celsius, display wind speeds on the "beaufort scale".
|
||||||
|
.TP
|
||||||
|
.B \-mps
|
||||||
|
When toggled to metric display, show windspeed in units of meters/second.
|
||||||
|
.TP
|
||||||
|
.B \-delay <Time in Minutes>
|
||||||
|
Override time (in minutes) between updates (default is 15 minutes). (Times are approximate.)
|
||||||
|
.TP
|
||||||
|
.B \-lc <color>
|
||||||
|
Set the color of the labels. (E.g. -lc red or -lc salmon or -lc #4523ff).
|
||||||
|
.TP
|
||||||
|
.B \-bc <color>
|
||||||
|
Set the background color. (#8e8e69 is LCD-ish).
|
||||||
|
.TP
|
||||||
|
.B \-dc <color>
|
||||||
|
Set the color of the data entries.
|
||||||
|
.TP
|
||||||
|
.B \-tc <color>
|
||||||
|
Set the color of the station ID/update time header.
|
||||||
|
.TP
|
||||||
|
.B \-wgc <color>
|
||||||
|
Set the gusty-wind/variable-direction color. The wind speed indicator will turn
|
||||||
|
this color when the wind speed is gusty. (The value shown in this case is the
|
||||||
|
average speed). Similarly, the wind direction indicator with change to this
|
||||||
|
color when the wind direction is variable. (The value shown in this case is the
|
||||||
|
average direction).
|
||||||
|
.SH BUGS
|
||||||
|
Let me know if/when you find any.
|
||||||
|
.SH NOTES
|
||||||
|
Requires that a (fairly recent) version of wget be installed on your machine.
|
||||||
|
You can download wget from "http://sunsite.auc.dk/wget/".
|
||||||
|
.SH AUTHOR
|
||||||
|
Michael G. Henderson <mghenderson@lanl.gov>
|
1220
wmWeather-1.31/Src/wmWeather.c
Normal file
1220
wmWeather-1.31/Src/wmWeather.c
Normal file
File diff suppressed because it is too large
Load diff
38
wmWeather-1.31/Src/wmWeather_mask.xbm
Normal file
38
wmWeather-1.31/Src/wmWeather_mask.xbm
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#define wmWeather_mask_width 64
|
||||||
|
#define wmWeather_mask_height 64
|
||||||
|
static char wmWeather_mask_bits[] = {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00};
|
BIN
wmWeather-1.31/Src/wmWeather_master.gif
Normal file
BIN
wmWeather-1.31/Src/wmWeather_master.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
162
wmWeather-1.31/Src/wmWeather_master.xpm
Normal file
162
wmWeather-1.31/Src/wmWeather_master.xpm
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
/* XPM */
|
||||||
|
static char *wmWeather_master[] = {
|
||||||
|
/* width height num_colors chars_per_pixel */
|
||||||
|
" 134 148 7 1",
|
||||||
|
/* colors */
|
||||||
|
". c #000000",
|
||||||
|
"# c #181818 s BackColor",
|
||||||
|
"a c #79bdbf s LabelColor",
|
||||||
|
"b c #ff0000 s WindGustColor",
|
||||||
|
"d c #ffbf50 s DataColor",
|
||||||
|
"c c #6455ff s StationTimeColor",
|
||||||
|
"e c #d0d0d0",
|
||||||
|
/* pixels */
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.......................................................................",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.......................................................................",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.......................................................................",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.......................................................................",
|
||||||
|
"aaaa........................................................aaa...#ddd#########dd########.............................................",
|
||||||
|
"aaaa.######################################################eaaa...d###d#########d########.............................................",
|
||||||
|
"aaaa.######################################################eaaa...d######ddd####d###dd#d#.............................................",
|
||||||
|
"aaaa.######################################################eaaa...d#########d###d###d#d#d.............................................",
|
||||||
|
"aaaa.######################################################eaaa...d######dddd###d###d#d#d.............................................",
|
||||||
|
"aaaa.######################################################eaaa...d###d#d###d###d###d#d#d.............................................",
|
||||||
|
"aaaa.######################################################eaaa...#ddd###dddd##ddd##d###d.............................................",
|
||||||
|
"aaaa.######################################################eaaa.......................................................................",
|
||||||
|
"aaaa.######################################################eaaa.......................................................................",
|
||||||
|
"aaaa.#aaa##################################################eaaa.......................................................................",
|
||||||
|
"aaaa.##a###################################################eaaa.......................................................................",
|
||||||
|
"aaaa.##a###a#a##aaa##a#####################################eaaa.......................................................................",
|
||||||
|
"aaaa.##a###aaaa#a##a#######################################eaaa...##b#####b####bbb##bbbbb####b##bbbbb###bb##bbbbb##bbb###bbb######....",
|
||||||
|
"aaaa.##a###a##a#a##a#a#####################################eaaa...#b#b###bb###b###b#####b###bb##b######b########b#b###b#b###b#####....",
|
||||||
|
"aaaa.##a###a##a#aaa########################################eaaa...b###b#b#b#######b####b###b#b##b#bb##b########b##b###b#b##bb#####....",
|
||||||
|
"aaaa.###########a##########################################eaaa...b###b###b#####bb####bb##b##b##bb##b#b#bb#####b###bbb###bb#b#####....",
|
||||||
|
"aaaa.######################################################eaaa...b###b###b####b########b#bbbbb#####b#bb##b###b###b###b#####b#####....",
|
||||||
|
"aaaa.######################################################eaaa...#b#b####b###b#####b###b####b##b###b#b###b##b####b###b####b####b#....",
|
||||||
|
"aaaa.######################################################eaaa...##b###bbbbb#bbbbb##bbb#####b###bbb###bbb###b#####bbb###bb####bbb....",
|
||||||
|
"aaaa.#aaa##################################################eaaa...##############################################################b#....",
|
||||||
|
"aaaa.#a##a#################################################eaaa.......................................................................",
|
||||||
|
"aaaa.#a##a##aa##a##a#a#####################################eaaa...##d#####d####ddd##ddddd####d##ddddd###dd##ddddd##ddd###ddd######....",
|
||||||
|
"aaaa.#a##a#a#aa#a##a#######################################eaaa...#d#d###dd###d###d#####d###dd##d######d########d#d###d#d###d#####....",
|
||||||
|
"aaaa.#a##a#aa###aaaa#a#####################################eaaa...d###d#d#d#######d####d###d#d##d#dd##d########d##d###d#d##dd#####....",
|
||||||
|
"aaaa.#aaa###aa##aaaa#######################################eaaa...d###d###d#####dd####dd##d##d##dd##d#d#dd#####d###ddd###dd#d#####....",
|
||||||
|
"aaaa.######################################################eaaa...d###d###d####d########d#ddddd#####d#dd##d###d###d###d#####d#####....",
|
||||||
|
"aaaa.######################################################eaaa...#d#d####d###d#####d###d####d##d###d#d###d##d####d###d####d####d#....",
|
||||||
|
"aaaa.######################################################eaaa...##d###ddddd#ddddd##ddd#####d###ddd###ddd###d#####ddd###dd####ddd....",
|
||||||
|
"aaaa.#aaa##################################################eaaa...##############################################################d#....",
|
||||||
|
"aaaa.#a##a#################################################eaaa...############################################........................",
|
||||||
|
"aaaa.#a##a#aaa###aaa#a#####################################eaaa...#######d####################################........................",
|
||||||
|
"aaaa.#aaa##a##a#aa#########################################eaaa...######d#d#dddd##dd############d##d######d###........................",
|
||||||
|
"aaaa.#a####a######aa#a#####################################eaaa...#######d##d####d##d###########d##d######d##d........................",
|
||||||
|
"aaaa.#a####a####aaa########################################eaaa...##########ddd##d####d#d##d#d##dddd##ddd###d#........................",
|
||||||
|
"aaaa.######################################################eaaa...dddd######d####d####dddd#dddd#d##d#d##d##d##........................",
|
||||||
|
"aaaa.######################################################eaaa...##########d####d##d#d##d#d##d#d##d##dd##d##d........................",
|
||||||
|
"aaaa.######################################################eaaa...##########d#####dd##d##d#d##d#d##d#d#######d........................",
|
||||||
|
"aaaa.#a##a#################################################eaaa...####################################ddd#####........................",
|
||||||
|
"aaaa.#a##a#################################################eaaa.......................................................................",
|
||||||
|
"aaaa.#aaaa#a##a#a#a##a#####################################eaaa...d##d#d##d##dd##dddd#d##d#ddd##ddd#..................................",
|
||||||
|
"aaaa.#a##a#a##a#aaaa#######################################eaaa...dd#d#d##d#d##d#d####d##d#d##d#d##d..................................",
|
||||||
|
"aaaa.#a##a#a##a#a##a#a#####################################eaaa...dd#d#d##d##d###ddd##d##d#d##d#ddd#..................................",
|
||||||
|
"aaaa.#a##a##aaa#a##a#######################################eaaa...d#dd#dddd###d##d####d##d#ddd##d##d..................................",
|
||||||
|
"aaaa.######################################################eaaa...d#dd#dddd#d##d#d#####dd##d#d##d##d..................................",
|
||||||
|
"aaaa.######################################################eaaa...d##d#d##d##dd##dddd##dd##d##d#ddd#..................................",
|
||||||
|
"aaaa.######################################################eaaa.......................................................................",
|
||||||
|
"aaaa.#a##a#########a#######################################eaaa...b##b#b##b##bb##bbbb#b##b#bbb##bbb#..................................",
|
||||||
|
"aaaa.#a##a#########a#######################################eaaa...bb#b#b##b#b##b#b####b##b#b##b#b##b..................................",
|
||||||
|
"aaaa.#a##a#aaa###aaa#a#####################################eaaa...bb#b#b##b##b###bbb##b##b#b##b#bbb#..................................",
|
||||||
|
"aaaa.#aaaa#a##a#a##a#######################################eaaa...b#bb#bbbb###b##b####b##b#bbb##b##b..................................",
|
||||||
|
"aaaa.#aaaa#a##a#a##a#a#####################################eaaa...b#bb#bbbb#b##b#b#####bb##b#b##b##b..................................",
|
||||||
|
"aaaa.#a##a#a##a##aaa#######################################eaaa...b##b#b##b##bb##bbbb##bb##b##b#bbb#..................................",
|
||||||
|
"aaaa.######################################################eaaa.......................................................................",
|
||||||
|
"aaaa.######################################################eaaa...#d####d####dd##dddd###d##dddd##dd##dddd##dd###dd#######d#########...",
|
||||||
|
"aaaa.######################################################eaaa...d#d##dd###d##d####d##dd##d####d#######d#d##d#d##d######d##d######...",
|
||||||
|
"aaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaa...d#d###d######d##dd##d#d##ddd##ddd####d###dd##d##d########d#######...",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...d#d###d#####d#####d#dddd####d#d##d###d##d##d##ddd#######d###ddd##...",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...d#d###d####d###d##d###d##d##d#d##d##d###d##d####d##dd##d##d######...",
|
||||||
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...#d###ddd##dddd##dd####d###dd###dd###d####dd###dd###dd#####d######...",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"..................................................................#b####b####bb##bbbb###b##bbbb##bb##bbbb##bb###bb#######b#########...",
|
||||||
|
"..................................................................b#b##bb###b##b####b##bb##b####b#######b#b##b#b##b######b##b######...",
|
||||||
|
"..................................................................b#b###b######b##bb##b#b##bbb##bbb####b###bb##b##b########b#######...",
|
||||||
|
"..................................................................b#b###b#####b#####b#bbbb####b#b##b###b##b##b##bbb#######b###bbb##...",
|
||||||
|
"..................................................................b#b###b####b###b##b###b##b##b#b##b##b###b##b####b##bb##b##b######...",
|
||||||
|
".....######################################################.......#b###bbb##bbbb##bb####b###bb###bb###b####bb###bb###bb#####b######...",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....#aaa##################################################...........................................................................",
|
||||||
|
".....##a###################################################...........................................................................",
|
||||||
|
".....##a###a#a##aaa##a#####################################...........................................................................",
|
||||||
|
".....##a###aaaa#a##a#######################################...........................................................................",
|
||||||
|
".....##a###a##a#a##a#a#####################################...........................................................................",
|
||||||
|
".....##a###a##a#aaa########################################...........................................................................",
|
||||||
|
".....###########a##########################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################.......#################...................................................",
|
||||||
|
".....#aaa##################################################.......######a##a##aa###...................................................",
|
||||||
|
".....#a##a#################################################.......######a##a#a##a##...................................................",
|
||||||
|
".....#a##a##aa##a##a#a#####################################.......######a##a#a####a...................................................",
|
||||||
|
".....#a##a#a#aa#a##a#######################################.......######aaaa#a#####...................................................",
|
||||||
|
".....#a##a#aa###aaaa#a#####################################.......######aaaa#a##a#a...................................................",
|
||||||
|
".....#aaa###aa##aaaa#######################################.......######a##a##aa###...................................................",
|
||||||
|
".....######################################################.......#################...................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....#aaa##################################################...........................................................................",
|
||||||
|
".....#a##a#################################################...........................................................................",
|
||||||
|
".....#a##a#aaa###aaa#a#####################################...........................................................................",
|
||||||
|
".....#aaa##a##a#aa#########################################...........................................................................",
|
||||||
|
".....#a####a######aa#a#####################################...........................................................................",
|
||||||
|
".....#a####a####aaa########################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....#a##a#################################################...........................................................................",
|
||||||
|
".....#a##a#################################################...........................................................................",
|
||||||
|
".....#aaaa#a##a#a#a##a#####################################...........................................................................",
|
||||||
|
".....#a##a#a##a#aaaa#######################################...........................................................................",
|
||||||
|
".....#a##a#a##a#a##a#a#####################################...........................................................................",
|
||||||
|
".....#a##a##aaa#a##a#######################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....#a##a#########a#######################################...........................................................................",
|
||||||
|
".....#a##a#########a#######################################...........................................................................",
|
||||||
|
".....#a##a#aaa###aaa#a#####################################...........................................................................",
|
||||||
|
".....#aaaa#a##a#a##a#######################################...........................................................................",
|
||||||
|
".....#aaaa#a##a#a##a#a#####################################...........................................................................",
|
||||||
|
".....#a##a#a##a##aaa#######################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
".....######################################################...........................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"..#cc##ccc###cc##ccc##cccc#cccc##cc##c##c#ccc#####c#c##c#c####c##c#c##c##cc##ccc###cc##ccc###cc##ccc##c##c#c##c#c##c#c##c#c#c##cccc...",
|
||||||
|
"..c##c#c##c#c##c#c##c#c####c####c##c#c##c##c######c#c#c##c####cccc#cc#c#c##c#c##c#c##c#c##c#c##c##c###c##c#c##c#c##c#c##c#c#c#####c...",
|
||||||
|
"..c##c#ccc##c####c##c#ccc##ccc##c####cccc##c######c#cc###c####cccc#cc#c#c##c#c##c#c##c#c##c##c####c###c##c#c##c#c##c##cc##c#c####c#...",
|
||||||
|
"..cccc#c##c#c####c##c#c####c####c#cc#c##c##c######c#cc###c####c##c#c#cc#c##c#ccc##c##c#ccc####c###c###c##c#c##c#cccc##cc###c####c##...",
|
||||||
|
"..c##c#c##c#c##c#c##c#c####c####c##c#c##c##c###c##c#c#c##c####c##c#c#cc#c##c#c####cc#c#c#c##c##c##c###c##c##cc##cccc#c##c##c###c###...",
|
||||||
|
"..c##c#ccc###cc##ccc##cccc#c#####ccc#c##c#ccc###cc##c##c#cccc#c##c#c##c##cc##c#####cc##c##c##cc###c####cc###cc##c##c#c##c##c###cccc...",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"..#c####c####cc##cccc###c##cccc##cc##cccc##cc###cc#####...............................................................................",
|
||||||
|
"..c#c##cc###c##c####c##cc##c####c#######c#c##c#c##c##c#...............................................................................",
|
||||||
|
"..c#c###c######c##cc##c#c##ccc##ccc####c###cc##c##c####...............................................................................",
|
||||||
|
"..c#c###c#####c#####c#cccc####c#c##c###c##c##c##ccc####...............................................................................",
|
||||||
|
"..c#c###c####c###c##c###c##c##c#c##c##c###c##c####c##c#...............................................................................",
|
||||||
|
"..#c###ccc##cccc##cc####c###cc###cc###c####cc###cc#####...............................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................",
|
||||||
|
"......................................................................................................................................"
|
||||||
|
};
|
313
wmWeather-1.31/Src/xutils.c
Normal file
313
wmWeather-1.31/Src/xutils.c
Normal file
|
@ -0,0 +1,313 @@
|
||||||
|
/*
|
||||||
|
* xutils.c - A collection of X-windows utilties for creating WindowMAker
|
||||||
|
* DockApps.
|
||||||
|
*
|
||||||
|
* This file contains alot of the lower-level X windows routines. Origins with wmppp
|
||||||
|
* (by Martijn Pieterse (pieterse@xs4all.nl)), but its been hacked up quite a bit
|
||||||
|
* and passed on from one new DockApp to the next.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* 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, 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 (see the file COPYING); if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
#include "xutils.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* X11 Variables
|
||||||
|
*/
|
||||||
|
int x_fd;
|
||||||
|
XSizeHints mysizehints;
|
||||||
|
XWMHints mywmhints;
|
||||||
|
Pixel back_pix, fore_pix;
|
||||||
|
char *Geometry = "";
|
||||||
|
GC NormalGC;
|
||||||
|
XpmIcon wmgen;
|
||||||
|
Pixmap pixmask;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* flush_expose
|
||||||
|
*/
|
||||||
|
static int flush_expose(Window w) {
|
||||||
|
|
||||||
|
XEvent dummy;
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
while (XCheckTypedWindowEvent(display, w, Expose, &dummy))
|
||||||
|
i++;
|
||||||
|
|
||||||
|
return i;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RedrawWindow
|
||||||
|
* RedrawWindowXY
|
||||||
|
*/
|
||||||
|
void RedrawWindow(void) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RedrawWindowXY(int x, int y) {
|
||||||
|
|
||||||
|
flush_expose(iconwin);
|
||||||
|
XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
flush_expose(win);
|
||||||
|
XCopyArea(display, wmgen.pixmap, win, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* copyXPMArea
|
||||||
|
* copyXBMArea
|
||||||
|
*/
|
||||||
|
void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy) {
|
||||||
|
|
||||||
|
XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* initXwindow
|
||||||
|
*/
|
||||||
|
void initXwindow(int argc, char *argv[]){
|
||||||
|
|
||||||
|
int i;
|
||||||
|
char *display_name = NULL;
|
||||||
|
|
||||||
|
for (i=1; argv[i]; ++i) {
|
||||||
|
if (!strcmp(argv[i], "-display")) display_name = argv[i+1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!(display = XOpenDisplay(display_name))) {
|
||||||
|
fprintf(stderr, "%s: can't open display %s\n",
|
||||||
|
argv[0], XDisplayName(display_name));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
screen = DefaultScreen(display);
|
||||||
|
Root = RootWindow(display, screen);
|
||||||
|
DisplayDepth = DefaultDepth(display, screen);
|
||||||
|
x_fd = XConnectionNumber(display);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* openXwindow
|
||||||
|
*/
|
||||||
|
void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits,
|
||||||
|
int pixmask_width, int pixmask_height, char *BackColor, char *LabelColor,
|
||||||
|
char *WindGustColor, char *DataColor, char *StationTimeColor) {
|
||||||
|
|
||||||
|
unsigned int borderwidth = 1;
|
||||||
|
XClassHint classHint;
|
||||||
|
char *wname = argv[0];
|
||||||
|
XTextProperty name;
|
||||||
|
XGCValues gcv;
|
||||||
|
unsigned long gcm;
|
||||||
|
int dummy=0;
|
||||||
|
XpmColorSymbol cols[5]={ {"BackColor", NULL, 0},
|
||||||
|
{"LabelColor", NULL, 0},
|
||||||
|
{"DataColor", NULL, 0},
|
||||||
|
{"WindGustColor", NULL, 0},
|
||||||
|
{"StationTimeColor", NULL, 0} };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create Pixmap
|
||||||
|
*/
|
||||||
|
cols[0].pixel = getColor(BackColor, 1.0);
|
||||||
|
cols[1].pixel = getColor(LabelColor, 1.0);
|
||||||
|
cols[2].pixel = getColor(DataColor, 1.0);
|
||||||
|
cols[3].pixel = getColor(WindGustColor, 1.0);
|
||||||
|
cols[4].pixel = getColor(StationTimeColor, 1.0);
|
||||||
|
wmgen.attributes.numsymbols = 5;
|
||||||
|
wmgen.attributes.colorsymbols = cols;
|
||||||
|
wmgen.attributes.exactColors = False;
|
||||||
|
wmgen.attributes.closeness = 40000;
|
||||||
|
wmgen.attributes.valuemask = XpmReturnPixels | XpmReturnExtensions | XpmColorSymbols
|
||||||
|
| XpmExactColors | XpmCloseness | XpmSize;
|
||||||
|
if (XpmCreatePixmapFromData(display, Root, pixmap_bytes,
|
||||||
|
&(wmgen.pixmap), &(wmgen.mask), &(wmgen.attributes)) != XpmSuccess){
|
||||||
|
fprintf(stderr, "Not enough free colorcells.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create a window
|
||||||
|
*/
|
||||||
|
mysizehints.flags = USSize | USPosition;
|
||||||
|
mysizehints.x = 0;
|
||||||
|
mysizehints.y = 0;
|
||||||
|
|
||||||
|
back_pix = getColor("white", 1.0);
|
||||||
|
fore_pix = getColor("black", 1.0);
|
||||||
|
|
||||||
|
XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
|
||||||
|
&mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy);
|
||||||
|
|
||||||
|
mysizehints.width = 64;
|
||||||
|
mysizehints.height = 64;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
win = XCreateSimpleWindow(display, Root, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
iconwin = XCreateSimpleWindow(display, win, mysizehints.x, mysizehints.y,
|
||||||
|
mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Activate hints
|
||||||
|
*/
|
||||||
|
XSetWMNormalHints(display, win, &mysizehints);
|
||||||
|
classHint.res_name = wname;
|
||||||
|
classHint.res_class = wname;
|
||||||
|
XSetClassHint(display, win, &classHint);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up the xevents that you want the relevent windows to inherit
|
||||||
|
* Currently, its seems that setting KeyPress events here has no
|
||||||
|
* effect. I.e. for some you will need to Grab the focus and then return
|
||||||
|
* it after you are done...
|
||||||
|
*/
|
||||||
|
XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask
|
||||||
|
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
|
||||||
|
| KeyPressMask | KeyReleaseMask);
|
||||||
|
XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask
|
||||||
|
| PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask
|
||||||
|
| KeyPressMask | KeyReleaseMask);
|
||||||
|
|
||||||
|
|
||||||
|
if (XStringListToTextProperty(&wname, 1, &name) == 0) {
|
||||||
|
fprintf(stderr, "%s: can't allocate window name\n", wname);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
XSetWMName(display, win, &name);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create Graphics Context (GC) for drawing
|
||||||
|
*/
|
||||||
|
gcm = GCForeground | GCBackground | GCGraphicsExposures;
|
||||||
|
gcv.foreground = fore_pix;
|
||||||
|
gcv.background = back_pix;
|
||||||
|
gcv.graphics_exposures = 0;
|
||||||
|
NormalGC = XCreateGC(display, Root, gcm, &gcv);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pixmask = XCreateBitmapFromData(display, win, pixmask_bits, pixmask_width, pixmask_height);
|
||||||
|
XShapeCombineMask(display, win, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
XShapeCombineMask(display, iconwin, ShapeBounding, 0, 0, pixmask, ShapeSet);
|
||||||
|
|
||||||
|
|
||||||
|
mywmhints.initial_state = WithdrawnState;
|
||||||
|
mywmhints.icon_window = iconwin;
|
||||||
|
mywmhints.icon_x = mysizehints.x;
|
||||||
|
mywmhints.icon_y = mysizehints.y;
|
||||||
|
mywmhints.window_group = win;
|
||||||
|
mywmhints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
|
||||||
|
|
||||||
|
|
||||||
|
XSetWMHints(display, win, &mywmhints);
|
||||||
|
|
||||||
|
|
||||||
|
XSetCommand(display, win, argv, argc);
|
||||||
|
XMapWindow(display, win);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long getColor(char *ColorName, float fac) {
|
||||||
|
|
||||||
|
XColor Color;
|
||||||
|
XWindowAttributes Attributes;
|
||||||
|
|
||||||
|
XGetWindowAttributes(display, Root, &Attributes);
|
||||||
|
Color.pixel = 0;
|
||||||
|
|
||||||
|
XParseColor(display, Attributes.colormap, ColorName, &Color);
|
||||||
|
Color.red = (unsigned short)(Color.red/fac);
|
||||||
|
Color.blue = (unsigned short)(Color.blue/fac);
|
||||||
|
Color.green = (unsigned short)(Color.green/fac);
|
||||||
|
Color.flags = DoRed | DoGreen | DoBlue;
|
||||||
|
XAllocColor(display, Attributes.colormap, &Color);
|
||||||
|
|
||||||
|
return Color.pixel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
47
wmWeather-1.31/Src/xutils.h
Normal file
47
wmWeather-1.31/Src/xutils.h
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#ifndef WMGENERAL_H_INCLUDED
|
||||||
|
#define WMGENERAL_H_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Typedefs
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
Pixmap pixmap;
|
||||||
|
Pixmap mask;
|
||||||
|
XpmAttributes attributes;
|
||||||
|
} XpmIcon;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global variable
|
||||||
|
*/
|
||||||
|
Display *display;
|
||||||
|
Window Root;
|
||||||
|
Window iconwin, win;
|
||||||
|
int screen;
|
||||||
|
int DisplayDepth;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Function Prototypes
|
||||||
|
*/
|
||||||
|
void AddMouseRegion(int, int, int, int, int);
|
||||||
|
int CheckMouseRegion(int, int);
|
||||||
|
void openXwindow(int, char **, char **, char *, int, int, char *, char *, char *, char *,char *);
|
||||||
|
void initXwindow(int, char **);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
void RedrawWindowXY(int, int);
|
||||||
|
void copyXPMArea(int, int, int, int, int, int);
|
||||||
|
void copyXBMArea(int, int, int, int, int, int);
|
||||||
|
void setMaskXY(int, int);
|
||||||
|
unsigned long getColor(char *, float);
|
||||||
|
void RedrawWindow(void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
15
wmacpi-1.34/AUTHORS
Normal file
15
wmacpi-1.34/AUTHORS
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
timecop
|
||||||
|
timecop@japan.co.jp
|
||||||
|
all the code
|
||||||
|
|
||||||
|
Daniel Pittman <daniel@rimspace.net>
|
||||||
|
sent some suggestions and a patch for a broken APM implementations.
|
||||||
|
version 1.1 includes his patch in a modified form
|
||||||
|
|
||||||
|
Michael G. Henderson <mghenderson@lanl.gov>
|
||||||
|
some weird dude who generated a lot of random noise about my dockapp and
|
||||||
|
forced me to change the name to wmacpi. general asshole.
|
||||||
|
|
||||||
|
portions of master.xpm that i was too lazy to draw (the plug and battery
|
||||||
|
icons) came from wmapm-2 by jedgar. the numbers were copied off some other
|
||||||
|
dockapp, too. the button was drawn by ME. PHEAR YES PHEAR IT.
|
2
wmacpi-1.34/COPYING
Normal file
2
wmacpi-1.34/COPYING
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#include <GNU_GPL_v2>
|
||||||
|
|
85
wmacpi-1.34/ChangeLog
Normal file
85
wmacpi-1.34/ChangeLog
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
2002 Feb 17 1.34
|
||||||
|
Updated ACPI statistics gathering code for the latest ACPI patch from
|
||||||
|
Intel. Now uses/checks for subsystem version 20020214+. Redone the version
|
||||||
|
check a little bit.
|
||||||
|
|
||||||
|
2001 Apr 29 1.33
|
||||||
|
Little fix to ACPI version check so that I don't have to make a new
|
||||||
|
version each time a new kernel comes out
|
||||||
|
|
||||||
|
2001 Mar 24 1.32
|
||||||
|
Split ACPI and APM portions in different source files
|
||||||
|
Added power_init() function - handles checking subsystem presence,
|
||||||
|
version, etc. Enumerates batteries in ACPI implementation
|
||||||
|
ACPI: Beginnings of multiple battery support - not fully implemented
|
||||||
|
ACPI: Get the battery ID from /proc/acpi/battery instead of hard-coding
|
||||||
|
it in - also helps with multi battery stuff
|
||||||
|
Added some stupid command line help
|
||||||
|
Added -c option to set critical battery alarm level. Defaults to
|
||||||
|
10 percent, and added -b option to make noise when this critical level
|
||||||
|
is reached
|
||||||
|
APM: Updated for critical alarm stuff
|
||||||
|
Made a 20 color "low" quality pixmap for machines running 8bit displays
|
||||||
|
Updated README with some stuff, made separate INSTALL file
|
||||||
|
|
||||||
|
2001 Mar 13 1.31
|
||||||
|
Update for intel ACPI release version 20010313
|
||||||
|
Minor updates for new /proc layout
|
||||||
|
|
||||||
|
2001 Mar 07 1.3
|
||||||
|
Update for intel ACPI release verion 20010302
|
||||||
|
Proc format changed a little bit, so updates were necessary.
|
||||||
|
Added a check for specific acpi subsystem version - since each
|
||||||
|
new version seems to have a new interface, better be safe than
|
||||||
|
sorry :)
|
||||||
|
As usual, please test and report to me.
|
||||||
|
|
||||||
|
This ONLY works with linux acpica 20010302. Download this version from
|
||||||
|
http://developer.intel.com/technology/iapc/acpi/downloads.htm - it's a
|
||||||
|
patch against 2.4.2
|
||||||
|
|
||||||
|
2001 Feb 28 1.21
|
||||||
|
Finally read through the ACPI specification. Hah, they had all my
|
||||||
|
questions answered :) Thus,
|
||||||
|
|
||||||
|
Confirmed remaining percentage formula (correct)
|
||||||
|
|
||||||
|
Now calculate "time remaining" according to the spec formula
|
||||||
|
|
||||||
|
Removed "battery load" hack since we now have "time remaining"
|
||||||
|
|
||||||
|
Fixed bug in display_percentage (10% didn't display right)
|
||||||
|
|
||||||
|
Released version 1.21
|
||||||
|
|
||||||
|
2001 Feb 23 1.2
|
||||||
|
Added support for ACPI. This is very untested, and not very clean.
|
||||||
|
This has been tested on machines with only ONE battery, and only
|
||||||
|
with kernel 2.4.2 (that's where ACPI started to work for me)
|
||||||
|
|
||||||
|
Added some hackery to do with ACPI. Check README.
|
||||||
|
|
||||||
|
Released 1.2
|
||||||
|
|
||||||
|
2001 Jan 16 1.1
|
||||||
|
Fixed all the stuff so that wmapm works as advertised:
|
||||||
|
Fixed dumb bug where after charging was done new message didn't scroll.
|
||||||
|
|
||||||
|
Added support for fucked APM bioses that display stuff wrong. (See
|
||||||
|
README to learn how to enable it. Obviously, it's disabled by default)
|
||||||
|
|
||||||
|
Reorganized apminfo structure and got rid of redundancy.
|
||||||
|
|
||||||
|
Reorganized acquire_apm_info. All APM data is processed there.
|
||||||
|
|
||||||
|
Fixed display_state to do the Right Thing.
|
||||||
|
|
||||||
|
Fixed red blinking button to actually blink on critical battery, and
|
||||||
|
to stop when it isn't critical anymore. I don't think it ever worked
|
||||||
|
right in 1.0.
|
||||||
|
|
||||||
|
Created ChangeLog.
|
||||||
|
|
||||||
|
Updated README.
|
||||||
|
|
||||||
|
Released 1.1.
|
10
wmacpi-1.34/INSTALL
Normal file
10
wmacpi-1.34/INSTALL
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
to install:
|
||||||
|
|
||||||
|
* vi Makefile
|
||||||
|
* change what you want, according to instructions, save Makefile
|
||||||
|
* make
|
||||||
|
* copy wmacpi somewhere useful
|
||||||
|
* dance
|
||||||
|
* <somewhere useful>/wmacpi &
|
||||||
|
* phear
|
||||||
|
(if it doesn't work, skip the phear step)
|
25
wmacpi-1.34/Makefile
Normal file
25
wmacpi-1.34/Makefile
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# set options. pick one, acpi or apm. comment out the other one. don't
|
||||||
|
# uncomment both, bad things will happen :)
|
||||||
|
|
||||||
|
OPT = -O3 -DACPI
|
||||||
|
#OPT = -O3 -DAPM
|
||||||
|
|
||||||
|
# uncomment this to make wmacpi use less system colors (looks uglier too)
|
||||||
|
#OPT += -DLOW_COLOR
|
||||||
|
|
||||||
|
# debugging options (don't bother with these)
|
||||||
|
#OPT = -pg -g -DPRO -DACPI
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = $(OPT) -Wall -ansi -I/usr/X11R6/include
|
||||||
|
LDFLAGS = $(OPT) -L/usr/X11R6/lib -lX11 -lXpm -lXext
|
||||||
|
|
||||||
|
SRCS = wmacpi.c libapm.c libacpi.c
|
||||||
|
OBJS = wmacpi.o libapm.o libacpi.o
|
||||||
|
|
||||||
|
all: wmacpi
|
||||||
|
|
||||||
|
wmacpi: $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o *~ wmacpi trace *.out *.bb *.bbg
|
64
wmacpi-1.34/README
Normal file
64
wmacpi-1.34/README
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
For install instructions, see "INSTALL" file.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
+-------------+
|
||||||
|
|battery graph| <- visual percentage battery remaining
|
||||||
|
|[:][=] [100%]| <- [:] - on AC (blink when charging) [=] - on battery
|
||||||
|
|[00:00] [///]| <- [00:00] time remaining [///] timer mode switch
|
||||||
|
|status area| <- messages scroll here
|
||||||
|
+-------------+
|
||||||
|
|
||||||
|
see wmacpi -h for some command line switches
|
||||||
|
|
||||||
|
Timer mode, available only when "on-battery", keeps track how long your laptop
|
||||||
|
has been away from AC power. Clicking the button toggles between timer and
|
||||||
|
standard "time remaining" mode.
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
|
||||||
|
Implementation of "ACPI" mode:
|
||||||
|
|
||||||
|
As far as I know, there aren't any tools available right now to process battery
|
||||||
|
statistics provided in /proc/power by ACPI stuff in 2.4.x kernels. This is my
|
||||||
|
attempt to have a usable dockapp battery monitor for ACPI laptop systems.
|
||||||
|
Since version 1.32 I've added some code to detect multiple batteries. However
|
||||||
|
it's not fully implemented yet, and while it will detect and enumerate
|
||||||
|
batteries, the statistics reported are for the first found battery.
|
||||||
|
* Your battery is "Control Method" type
|
||||||
|
* Your ACPI BIOS is supported by current version of ACPI in kernel
|
||||||
|
2.4.17 + intel patches
|
||||||
|
* You applied acpi subsystem patch version 20020214 (from intel.com)
|
||||||
|
|
||||||
|
If you are using kernels or ACPI version older than 2.4.17, keep using
|
||||||
|
wmacpi 1.32. This version is only for the latest ACPI code.
|
||||||
|
To use ACPI support, just follow "INSTALL" instructions. Makefile has been
|
||||||
|
updated to include -DACPI. If you don't have ACPI, you don't need this version
|
||||||
|
of wmacpi. Information below only applies to APM systems, without ACPI support.
|
||||||
|
|
||||||
|
Implementation of "APM" mode
|
||||||
|
|
||||||
|
This works on all machines that have a standard non-borked APM implementation.
|
||||||
|
For people with broken APM implementations, I added some stuff, which was
|
||||||
|
sent to me by Daniel Pittman <daniel@rimspace.net>, to compensate for some
|
||||||
|
of the stupidity. If you see dumb behaviour from wmapm, consider editing
|
||||||
|
wmapm.c and uncomment one, or both, of these lines (on lines 19 and 20):
|
||||||
|
|
||||||
|
#define RETARDED_APM if your bios thinks the battery is charging all the time
|
||||||
|
when it's on AC power. What this will do is stop "charging" process as soon
|
||||||
|
as the battery reaches 100%.
|
||||||
|
|
||||||
|
#define STUPID_APM if your bios shows -1 minutes remaining when AC is plugged
|
||||||
|
in, or when battery is charging.
|
||||||
|
|
||||||
|
If your bios is even dumber than this, and you come up with another special
|
||||||
|
case that needs to be handled, feel free to #ifdef it under <badword>_APM and
|
||||||
|
send me a diff -u. I will include it in the next version. Any of these
|
||||||
|
changes would have to go into acquire_apm_info. Note, I changed format of
|
||||||
|
apminfo structure to get rid of redundancy - now there is only one power state
|
||||||
|
variable, which keeps track whether we are on AC, charging, battery, etc.
|
||||||
|
|
||||||
|
Note, all the *_APM stuff is untested - my laptop has a working BIOS :) If you
|
||||||
|
test this and it doesn't work as advertised, go ahead and send me a fix.
|
||||||
|
|
||||||
|
-timecop
|
206
wmacpi-1.34/libacpi.c
Normal file
206
wmacpi-1.34/libacpi.c
Normal file
|
@ -0,0 +1,206 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
|
||||||
|
#include "wmacpi.h"
|
||||||
|
|
||||||
|
#define MAXBATT 8
|
||||||
|
|
||||||
|
#ifdef ACPI
|
||||||
|
#ifdef PRO
|
||||||
|
extern char *state[];
|
||||||
|
#endif
|
||||||
|
extern APMInfo *apminfo;
|
||||||
|
static char batteries[MAXBATT][128];
|
||||||
|
static char battinfo[MAXBATT][128];
|
||||||
|
int batt_count;
|
||||||
|
/* temp buffer */
|
||||||
|
char buf[512];
|
||||||
|
|
||||||
|
/* local proto */
|
||||||
|
int acpi_get_design_cap(int battery);
|
||||||
|
|
||||||
|
/* see if we have ACPI support and check version */
|
||||||
|
int power_init(void)
|
||||||
|
{
|
||||||
|
FILE *acpi;
|
||||||
|
char buf[4096];
|
||||||
|
DIR *battdir;
|
||||||
|
struct dirent *batt;
|
||||||
|
char *name;
|
||||||
|
int acpi_ver = 0;
|
||||||
|
|
||||||
|
if (!(acpi = fopen("/proc/acpi/info", "r"))) {
|
||||||
|
fprintf(stderr, "This system does not support ACPI\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* okay, now see if we got the right version */
|
||||||
|
fread(buf, 4096, 1, acpi);
|
||||||
|
acpi_ver = strtol(buf + 25, NULL, 10);
|
||||||
|
eprint(1, "ACPI version detected: %d\n", acpi_ver);
|
||||||
|
if (acpi_ver < 20020214) {
|
||||||
|
fprintf(stderr, "This version requires ACPI subsystem version 20020214\n");
|
||||||
|
fclose(acpi);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* yep, all good */
|
||||||
|
fclose(acpi);
|
||||||
|
|
||||||
|
/* now enumerate batteries */
|
||||||
|
batt_count = 0;
|
||||||
|
battdir = opendir("/proc/acpi/battery");
|
||||||
|
if (battdir == NULL) {
|
||||||
|
fprintf(stderr, "No batteries or ACPI not supported\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
while ((batt = readdir(battdir))) {
|
||||||
|
name = batt->d_name;
|
||||||
|
|
||||||
|
/* skip . and .. */
|
||||||
|
if (!strncmp(".", name, 1) || !strncmp("..", name, 2))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
sprintf(batteries[batt_count], "/proc/acpi/battery/%s/state", name);
|
||||||
|
sprintf(battinfo[batt_count], "/proc/acpi/battery/%s/info", name);
|
||||||
|
eprint(1, "battery detected at %s\n", batteries[batt_count]);
|
||||||
|
batt_count++;
|
||||||
|
}
|
||||||
|
closedir(battdir);
|
||||||
|
|
||||||
|
/* tell user some info */
|
||||||
|
eprint(1, "%d batteries detected\n", batt_count);
|
||||||
|
fprintf(stderr, "wmacpi: found %d batter%s\n", batt_count,
|
||||||
|
(batt_count == 1) ? "y" : "ies");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int acpi_get_design_cap(int battery)
|
||||||
|
{
|
||||||
|
FILE *acpi;
|
||||||
|
char *ptr;
|
||||||
|
int design_cap;
|
||||||
|
|
||||||
|
if (battery > MAXBATT)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (!(acpi = fopen(battinfo[battery], "r")))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
fread(buf, 512, 1, acpi);
|
||||||
|
fclose(acpi);
|
||||||
|
|
||||||
|
if ((ptr = strstr(buf, "last full capacity"))) {
|
||||||
|
ptr += 25;
|
||||||
|
sscanf(ptr, "%d", &design_cap);
|
||||||
|
eprint(1, "last full capacity: %d\n", design_cap);
|
||||||
|
} else {
|
||||||
|
/* hack. if there isnt any info on last capacity, we are
|
||||||
|
* screwed, but let's not come back here again */
|
||||||
|
design_cap = -1;
|
||||||
|
eprint(1, "Cannot retrieve design capacity!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return design_cap;
|
||||||
|
}
|
||||||
|
|
||||||
|
void acquire_info(void)
|
||||||
|
{
|
||||||
|
FILE *acpi;
|
||||||
|
char *ptr;
|
||||||
|
char stat;
|
||||||
|
|
||||||
|
static int dcap = 0xdeadbeef;
|
||||||
|
|
||||||
|
int percent = 100; /* battery percentage */
|
||||||
|
int ptemp, rate, rtime = 0;
|
||||||
|
|
||||||
|
if (dcap == 0xdeadbeef) {
|
||||||
|
/* get from first battery for now */
|
||||||
|
dcap = acpi_get_design_cap(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(acpi = fopen(batteries[0], "r")))
|
||||||
|
return;
|
||||||
|
|
||||||
|
eprint(1, "opened acpi file successfully");
|
||||||
|
fread(buf, 512, 1, acpi);
|
||||||
|
fclose(acpi);
|
||||||
|
|
||||||
|
/* This section of the code will calculate "percentage remaining"
|
||||||
|
* using battery capacity, and the following formula (acpi spec 3.9.2):
|
||||||
|
* percentage = (current_capacity / last_full_capacity) * 100; */
|
||||||
|
if ((ptr = strstr(buf, "remaining capacity"))) {
|
||||||
|
ptr += 25;
|
||||||
|
sscanf(ptr, "%d", &ptemp);
|
||||||
|
eprint(1, "capacity: %d\n", ptemp);
|
||||||
|
percent = (float)((float)ptemp / (float)dcap) * 100;
|
||||||
|
eprint(1, "percent: %d\n", percent);
|
||||||
|
}
|
||||||
|
apminfo->percentage = percent;
|
||||||
|
|
||||||
|
/* this section of code will calculate "time remaining"
|
||||||
|
* using battery remaining capacity, and battery "rate" (3.9.3) */
|
||||||
|
if ((ptr = strstr(buf, "present rate"))) {
|
||||||
|
ptr += 25;
|
||||||
|
sscanf(ptr, "%d", &rate);
|
||||||
|
eprint(1, "rate: %d\n", rate);
|
||||||
|
if (rate <= 0)
|
||||||
|
rate = 0;
|
||||||
|
/* time remaining in minutes */
|
||||||
|
rtime = ((float)((float)ptemp / (float)rate)) * 60;
|
||||||
|
if (rtime <= 0)
|
||||||
|
rtime = 0;
|
||||||
|
eprint(1, "time rem: %d\n", rtime);
|
||||||
|
}
|
||||||
|
apminfo->rtime = rtime;
|
||||||
|
|
||||||
|
if ((ptr = strstr(buf, "charging state"))) {
|
||||||
|
/* found battery discharging. This is used to determine if
|
||||||
|
* we are on AC power or not. Notice check for "ch" later on */
|
||||||
|
stat = *(ptr + 25);
|
||||||
|
if (stat == 'o' || stat == 'u') /* "ok" | "unknown" : charged, on ac power */
|
||||||
|
apminfo->power = POWER;
|
||||||
|
else
|
||||||
|
/* we set this, and later on use percentage
|
||||||
|
* value to determine high/med/low */
|
||||||
|
apminfo->power = HIGH;
|
||||||
|
|
||||||
|
/* but if we are on power, we might be charging too. Check. */
|
||||||
|
if ((ptr = strstr(buf, "charging state"))) {
|
||||||
|
/* found battery charging line. We will change power state
|
||||||
|
* if we are on power, and charging. */
|
||||||
|
stat = *(ptr + 25);
|
||||||
|
/* this is seriously stupid - but we catch "critical" */
|
||||||
|
if (stat == 'c' && (*(ptr + 26) == 'h'))
|
||||||
|
apminfo->power = CHARGING;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* we are not on power, and not charging. So, it would make sense
|
||||||
|
* to check if battery is "critical low", and calculate interesting
|
||||||
|
* things like battery HIGH/LOW, and maybe battery usage LOAD
|
||||||
|
* This will be replaced with some code to allow setting user-specified
|
||||||
|
* low / critical alarms */
|
||||||
|
if ((apminfo->power != POWER) && (apminfo->power != CHARGING)) {
|
||||||
|
eprint(1, "entering battery status check");
|
||||||
|
if ((ptr = strstr(buf, "capacity state"))) {
|
||||||
|
stat = *(ptr + 25);
|
||||||
|
/* only check "c" here because we already caught "CHarging" earlier
|
||||||
|
* and also look into crit_level */
|
||||||
|
if (stat == 'c' || (apminfo->percentage <= apminfo->crit_level)) {
|
||||||
|
/* nothing else to do here - critical battery. get out */
|
||||||
|
eprint(1, "Received critical battery status");
|
||||||
|
apminfo->power = CRIT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
process_plugin_timer();
|
||||||
|
|
||||||
|
eprint(1, "current state: %s (%d)", state[apminfo->power], apminfo->power);
|
||||||
|
}
|
||||||
|
#endif /* ACPI */
|
91
wmacpi-1.34/libapm.c
Normal file
91
wmacpi-1.34/libapm.c
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "wmacpi.h"
|
||||||
|
|
||||||
|
#ifdef APM
|
||||||
|
#ifdef PRO
|
||||||
|
extern char *state[];
|
||||||
|
#endif
|
||||||
|
extern APMInfo *apminfo;
|
||||||
|
extern int crit_level;
|
||||||
|
|
||||||
|
int power_init(void)
|
||||||
|
{
|
||||||
|
FILE *apm;
|
||||||
|
|
||||||
|
if (!(apm = fopen("/proc/apm", "r"))) {
|
||||||
|
fprintf(stderr, "This system does not support APM\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
fclose(apm);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void acquire_info(void)
|
||||||
|
{
|
||||||
|
FILE *apm;
|
||||||
|
char buf[256];
|
||||||
|
char min[10];
|
||||||
|
|
||||||
|
int ac_line, batt, percent, rtime;
|
||||||
|
|
||||||
|
#ifdef PRO
|
||||||
|
/* testing */
|
||||||
|
if (!(apm = fopen("apm", "r")))
|
||||||
|
return;
|
||||||
|
#else
|
||||||
|
if (!(apm = fopen("/proc/apm", "r")))
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
fgets(buf, 255, apm);
|
||||||
|
sscanf(buf, "%*s %*s %*s %x %x %*s %d%% %d %s",
|
||||||
|
&ac_line, &batt, &percent, &rtime, min);
|
||||||
|
|
||||||
|
eprint(0, "%02x %02x, %03d%%, %d", ac_line, batt, percent, rtime);
|
||||||
|
apminfo->percentage = percent;
|
||||||
|
apminfo->rtime = rtime;
|
||||||
|
|
||||||
|
switch (ac_line) {
|
||||||
|
case 0: /* on battery. calculate status. handle charging under AC */
|
||||||
|
switch (batt) {
|
||||||
|
case 0:
|
||||||
|
apminfo->power = HIGH;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
apminfo->power = LOW;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
apminfo->power = CRIT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check user-defined critical alarm */
|
||||||
|
if (apminfo->percentage <= apminfo->crit_level)
|
||||||
|
apminfo->power = CRIT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 1: /* on AC power. Check if battery is being charged */
|
||||||
|
#ifdef RETARDED_APM
|
||||||
|
/* this is incase your battery is "charging" all the fucking time,
|
||||||
|
* even when it's actually done charging */
|
||||||
|
if ((batt == 3) && (percent != 100))
|
||||||
|
#else
|
||||||
|
if (batt == 3)
|
||||||
|
#endif
|
||||||
|
apminfo->power = CHARGING;
|
||||||
|
else
|
||||||
|
apminfo->power = POWER;
|
||||||
|
break;
|
||||||
|
#ifdef STUPID_APM
|
||||||
|
/* treatment for GAY apm bioses that show wrong time
|
||||||
|
* remaining when AC is plugged in */
|
||||||
|
apminfo->rtime = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
fclose(apm);
|
||||||
|
process_plugin_timer();
|
||||||
|
|
||||||
|
eprint(1, "current state: %s (%d)", state[apminfo->power], apminfo->power);
|
||||||
|
}
|
||||||
|
#endif /* APM */
|
207
wmacpi-1.34/master.xpm
Normal file
207
wmacpi-1.34/master.xpm
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * master_xpm[] = {
|
||||||
|
"157 88 116 2",
|
||||||
|
" c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #FF0000",
|
||||||
|
"@ c #FF0900",
|
||||||
|
"# c #FF1200",
|
||||||
|
"$ c #FF1C00",
|
||||||
|
"% c #202020",
|
||||||
|
"& c #FF2F00",
|
||||||
|
"* c #FF3800",
|
||||||
|
"= c #FF4200",
|
||||||
|
"- c #FF4B00",
|
||||||
|
"; c #FF5E00",
|
||||||
|
"> c #FF6700",
|
||||||
|
", c #FF7100",
|
||||||
|
"' c #FF7A00",
|
||||||
|
") c #FF8D00",
|
||||||
|
"! c #FF9700",
|
||||||
|
"~ c #FFA000",
|
||||||
|
"{ c #FFA900",
|
||||||
|
"] c #FFBC00",
|
||||||
|
"^ c #FFC600",
|
||||||
|
"/ c #FFCF00",
|
||||||
|
"( c #FFD900",
|
||||||
|
"_ c #FFEC00",
|
||||||
|
": c #FFF500",
|
||||||
|
"< c #FFFF00",
|
||||||
|
"[ c #F5FF00",
|
||||||
|
"} c #E2FF00",
|
||||||
|
"| c #D9FF00",
|
||||||
|
"1 c #CFFF00",
|
||||||
|
"2 c #C6FF00",
|
||||||
|
"3 c #B3FF00",
|
||||||
|
"4 c #AAFF00",
|
||||||
|
"5 c #A0FF00",
|
||||||
|
"6 c #97FF00",
|
||||||
|
"7 c #84FF00",
|
||||||
|
"8 c #7AFF00",
|
||||||
|
"9 c #71FF00",
|
||||||
|
"0 c #67FF00",
|
||||||
|
"a c #54FF00",
|
||||||
|
"b c #4BFF00",
|
||||||
|
"c c #42FF00",
|
||||||
|
"d c #38FF00",
|
||||||
|
"e c #25FF00",
|
||||||
|
"f c #1CFF00",
|
||||||
|
"g c #12FF00",
|
||||||
|
"h c #09FF00",
|
||||||
|
"i c #400000",
|
||||||
|
"j c #400300",
|
||||||
|
"k c #400500",
|
||||||
|
"l c #400700",
|
||||||
|
"m c #400C00",
|
||||||
|
"n c #400E00",
|
||||||
|
"o c #401100",
|
||||||
|
"p c #401300",
|
||||||
|
"q c #401800",
|
||||||
|
"r c #401A00",
|
||||||
|
"s c #401D00",
|
||||||
|
"t c #401F00",
|
||||||
|
"u c #402400",
|
||||||
|
"v c #402600",
|
||||||
|
"w c #402800",
|
||||||
|
"x c #402B00",
|
||||||
|
"y c #402F00",
|
||||||
|
"z c #403200",
|
||||||
|
"A c #403400",
|
||||||
|
"B c #403700",
|
||||||
|
"C c #403B00",
|
||||||
|
"D c #403E00",
|
||||||
|
"E c #404000",
|
||||||
|
"F c #3E4000",
|
||||||
|
"G c #394000",
|
||||||
|
"H c #374000",
|
||||||
|
"I c #344000",
|
||||||
|
"J c #324000",
|
||||||
|
"K c #2D4000",
|
||||||
|
"L c #2B4000",
|
||||||
|
"M c #284000",
|
||||||
|
"N c #264000",
|
||||||
|
"O c #214000",
|
||||||
|
"P c #1F4000",
|
||||||
|
"Q c #1D4000",
|
||||||
|
"R c #1A4000",
|
||||||
|
"S c #154000",
|
||||||
|
"T c #134000",
|
||||||
|
"U c #114000",
|
||||||
|
"V c #0E4000",
|
||||||
|
"W c #0A4000",
|
||||||
|
"X c #074000",
|
||||||
|
"Y c #054000",
|
||||||
|
"Z c #034000",
|
||||||
|
"` c #C7C7C7",
|
||||||
|
" . c #303030",
|
||||||
|
".. c #20B2AE",
|
||||||
|
"+. c #004941",
|
||||||
|
"@. c #188A86",
|
||||||
|
"#. c #DAF5B2",
|
||||||
|
"$. c #355600",
|
||||||
|
"%. c #FEFFFF",
|
||||||
|
"&. c #AAAFA9",
|
||||||
|
"*. c #315900",
|
||||||
|
"=. c #D0D2D1",
|
||||||
|
"-. c #FDFEF6",
|
||||||
|
";. c #FF2D00",
|
||||||
|
">. c #DA0710",
|
||||||
|
",. c #F3FFF9",
|
||||||
|
"'. c #A5F812",
|
||||||
|
"). c #A7ACB2",
|
||||||
|
"!. c #4F5354",
|
||||||
|
"~. c #87F91F",
|
||||||
|
"{. c #94F625",
|
||||||
|
"]. c #C0C6BC",
|
||||||
|
"^. c #22B2AE",
|
||||||
|
"/. c #027E72",
|
||||||
|
"(. c #034A40",
|
||||||
|
"_. c #107D79",
|
||||||
|
" . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . + @ # $ % & * = - % ; > , ' % ) ! ~ { % ] ^ / ( % _ : < [ % } | 1 2 % 3 4 5 6 % 7 8 9 0 % a b c d % e f g h ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % % % % % % % % % % % % % % % % % % % ` . . . . .% . . . .% . . . .% . . . .% . . . .% . . . .% . . . .% . . . .% . . . .% . . . .% . . . . ",
|
||||||
|
" . % % % % % % ..........% % % % ....................% % ` . % % % % % +.+.+.% % % +.+.+.% % % ..% % % % % ` . ",
|
||||||
|
" . % % % % % ..% % % % ......% % ..% % % % % % % % ..% % ` . % % +.% +.% % % +.% +.% % % +.% ..% ..% ..% % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % % % % % ..% % % % ..% % % % ..% % % % % % % % ....% ` . % % +.% +.% % % +.% +.% % % +.% % ..% ..% % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % % % ......% % % % ..% % % % ..% % % % % % % % ....% ` . % % % % % +.+.+.% % % +.+.+.% % % % ..% % % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % % ..% % ..% % % % ......% % ..% % % % % % % % ....% ` . % % +.% +.% % % +.% +.% % % +.% % ..% ..% % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % ..% % % % ..........% % % % ..% % % % % % % % ..% % ` . % % +.% +.% % % +.% +.% % % +.% ..% ..% ..% % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % ..% % % % % % % % % % % % % ....................% % ` . % % % % % +.+.+.% % % +.+.+.% % % % % ..% % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % % % % % % % % % % % % % % % % % % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % % % % % % % % % % % % % % % % % % % ` . i j k l % m n o p % q r s t % u v w x % y z A B % C D E F % G H I J % K L M N % O P Q R % S T U V % W X Y Z ",
|
||||||
|
" ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % % ......% % % +.+.+.@.% @.......@.% @.......@.% @.+.+.+.@.% @.......@.% @.......@.% @.......@.% @.......@.% @.......@.% % ..% % % % % % % ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ` . % ..% % % ..% +.% % % ..% +.% % % ..% +.% % % ..% ..% % % ..% ..% % % +.% ..% % % +.% +.% % % ..% ..% % % ..% ..% % % ..% ..% ..% ..% % ..% ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . #.$.$.. %.%.%.%.%.%.%.%.%.&.% ` . % ..% % % ..% +.% % % ..% +.% % % ..% +.% % % ..% ..% % % ..% ..% % % +.% ..% % % +.% +.% % % ..% ..% % % ..% ..% % % ..% % ..% ..% % % @.% ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . $.*.*.. %.=.=.=.=.=.=.=.=.&.% ` . % @.+.+.+.@.% % +.+.+.@.% @.......@.% % ......@.% @.......@.% @.......@.% @.......@.% % +.+.+.@.% @.......@.% @.......@.% % % ..% % % % % % ",
|
||||||
|
" . % % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % ` . $.*.*.. %.=.=.=.=.=.=.=.=.&.% ` . % ..% % % ..% +.% % % ..% ..% % % +.% +.% % % ..% +.% % % ..% +.% % % ..% ..% % % ..% +.% % % ..% ..% % % ..% +.% % % ..% % ..% ..% % % % % ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ` . . . . . %.=.=.=.=.=.=.=.=.&.% ` . % ..% % % ..% +.% % % ..% ..% % % +.% +.% % % ..% +.% % % ..% +.% % % ..% ..% % % ..% +.% % % ..% ..% % % ..% +.% % % ..% ..% ..% ..% % ..% -.;.;. ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ` . %.%.%.%.%.=.=.=.=.=.=.=.=.&.% ` . % % ......% % % +.+.+.@.% @.......@.% @.......@.% % +.+.+.@.% @.......@.% @.......@.% % +.+.+.@.% @.......@.% @.......@.% % % % ..% % % @.% ;.;.;. ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ;.;.>. ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . ",
|
||||||
|
" . % % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % . . . . . . . . . . . . . . . . ` . . . . . . . . . . . . . . . . ` ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % % % % ..........% % % % ....................% % % @.% % ......% % % ......% % % ..% % % % . ,.'.'.. ).).).).).).).).).!.% ` . #.$.$.. %.%.%.%.%.%.%.%.%.&.% ` ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % % % ..% % % % ......% % ..% % % % % % % % ..% % % ..% ..% % % ..% ..% % % ..% ..% ..% ..% . '.~.{.. ).].].].].].].].].!.% ` . $.*.*.. %.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % % % ..% % % % ..% % % % ..% % % % % % % % ....% % ..% ..% % % ..% ..% % % ..% % ..% ..% % . '.{.{.. ).].].].].].].].].!.% ` . $.*.*.. %.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % % ......% % % % ..% % % % ..% % % % % % % % ....% % @.% @.+.+.+.@.% @.+.+.+.@.% % % ..% % % . . . . . ).].].].].].].].].!.% ` . . . . . %.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` . % % ..% % ..% % % % ......% % ..% % % % % % % % ....% % ..% ..% % % ..% ..% % % ..% % ..% ..% % . ).).).).).].].].].].].].].!.% ` . %.%.%.%.%.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . %.&.&.&.&.&.&.&.&.&.&.&.&.&.% ` . % ..% % % % ..........% % % % ..% % % % % % % % ..% % % ..% ..% % % ..% ..% % % ..% ..% ..% ..% . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . . . . . . . . . . . . . . . % ` . % ..% % % % % % % % % % % % % ....................% % % @.% % ......% % % ......% % % % % ..% % . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % % % % % % +.+.+.+.+.% % % % +.+.+.+.+.+.+.+.+.+.% % % % % % +.+.+.% % % +.+.+.% % % +.% % % % . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % +.% % % % +.+.+.% % +.% % % % % % % % +.% % % +.% +.% % % +.% +.% % % +.% +.% +.% +.% . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % +.% % % % +.% % % % +.% % % % % % % % +.+.% % +.% +.% % % +.% +.% % % +.% % +.% +.% % . ).].].].].].].].].].].].].!.% ` . %.=.=.=.=.=.=.=.=.=.=.=.=.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % +.+.+.% % % % +.% % % % +.% % % % % % % % +.+.% % % % % +.+.+.% % % +.+.+.% % % % +.% % % . ).!.!.!.!.!.!.!.!.!.!.!.!.!.% ` . %.&.&.&.&.&.&.&.&.&.&.&.&.&.% ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % +.% % +.% % % % +.+.+.% % +.% % % % % % % % +.+.% % +.% +.% % % +.% +.% % % +.% % +.% +.% % . . . . . . . . . . . . . . . % ` . . . . . . . . . . . . . . . % ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % +.% % % % +.+.+.+.+.% % % % +.% % % % % % % % +.% % % +.% +.% % % +.% +.% % % +.% +.% +.% +.% ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % +.% % % % % % % % % % % % % +.+.+.+.+.+.+.+.+.+.% % % % % % +.+.+.% % % +.+.+.% % % % % +.% % ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ` . % % ^.^.^.% % % % % % /.% /.^.^.^./.% /.^.^.^./.% /.% % % /.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . % ^.% % % ^.% % % % % ^.% % % % % ^.% % % % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % % % % % % % ^.% ^.% % % ^.% ^.% % % ^.% % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % ^.% % % ^.% % % % % ^.% % % % % ^.% % % % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % % % % % % % ^.% ^.% % % ^.% ^.% % % ^.% % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % /.% % % /.% % % % % /.% /.^.^.^./.% % ^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% % % % % /.% (.^.^.^.(.% /.^.^.^./.% /.^.^.^./.% % % % % % % % % % % % % ",
|
||||||
|
" . % ^.% % % ^.% % % % % ^.% ^.% % % % % % % % % ^.% % % % % ^.% % % % % ^.% ^.% % % ^.% % % % % ^.% ^.% % % ^.% % % % % ^.% % % % % % % % % % % % % % % % % % % ",
|
||||||
|
" . % ^.% % % ^.% % % % % ^.% ^.% % % % % % % % % ^.% % % % % ^.% % % % % ^.% ^.% % % ^.% % % % % ^.% ^.% % % ^.% % % % % ^.% % % % % % % % % % % % % % % % % % % ",
|
||||||
|
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . % % ^.^.^.% % % % % % ^.% /.^.^.^./.% /.^.^.^./.% % % % % /.% /.^.^.^./.% /.^.^.^./.% % % % % /.% /.^.^.^./.% /.^.^.^./.% % % % % % % % % % % % % % % % % ^.% ",
|
||||||
|
" % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
"% (.^.^.^.(.% /.^.^.^.% % /.^.^.^./.% /.^.^.^.% % /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.% % % /.% % % /.% % % % % % % /.% /.% % % /.% /.% % % % % ^.% % % ^.% /.^.^.^.% % /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.^.^.^./.% /.% % % /.% /.% % % /.% /.% % % /.% /.% % % /.% /.% % % /.% /.^.^.^./.% ",
|
||||||
|
"% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % ^.% ^.% % % % % ^.% % % % % ^.% % % % % ^.% % % ^.% % % ^.% % % % % % % ^.% ^.% % % ^.% ^.% % % % % ^.^.% ^.^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % % % % % ^.% % % ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% % % % % ^.% ",
|
||||||
|
"% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % ^.% ^.% % % % % ^.% % % % % ^.% % % % % ^.% % % ^.% % % ^.% % % % % % % ^.% ^.% % ^.(.% ^.% % % % % ^.% ^.% ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % % % % % ^.% % % ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% (.^.% ^.(.% ^.% % % ^.% % % % ^.(.% ",
|
||||||
|
"% /.^.^.^./.% /.^.^.^.% % /.% % % % % /.% % % /.% /.^.^.^.% % /.^.^.^.% % /.(.^.^./.% /.^.^.^./.% % % /.% % % % % % % /.% /.^.^.(.% % /.% % % % % /.% % % /.% /.% % % /.% /.% % % /.% /.^.^.^./.% /.^.% % /.% /.^.^.^.% % /.^.^.^./.% % % /.% % % /.% % % /.% /.% % % /.% /.% % % /.% % (.^.(.% % /.^.^.^./.% % (.^.(.% % ",
|
||||||
|
"% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % ^.% ^.% % % % % ^.% % % % % ^.% % % ^.% ^.% % % ^.% % % ^.% % % % % % % ^.% ^.% % ^.(.% ^.% % % % % ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% ^.% ^.% ^.% % % ^.% % % % % ^.% % % ^.% % % ^.% % % ^.% ^.% % % ^.% ^.% ^.% ^.% (.^.% ^.(.% % % % % ^.% (.^.% % % % ",
|
||||||
|
"% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % ^.% ^.% % % % % ^.% % % % % ^.% % % ^.% ^.% % % ^.% % % ^.% % % % % % % ^.% ^.% % % ^.% ^.% % % % % ^.% % % ^.% ^.% % % ^.% ^.% % % ^.% ^.% % % % % ^.% % ^.^.% ^.% % % ^.% % % % % ^.% % % ^.% % % ^.% % % ^.% ^.% % % ^.% ^.^.% ^.^.% ^.% % % ^.% % % % % ^.% ^.% % % % % ",
|
||||||
|
"% /.% % % /.% /.^.^.^.% % /.^.^.^./.% ^.^.^.^.% % /.^.^.^./.% ^.% % % % % /.^.^.^./.% /.% % % /.% % % ^.% % % /.^.^.^./.% /.% % % /.% /.^.^.^.(.% /.% % % /.% ^.% % % ^.% /.^.^.^./.% /.% % % % % /.^.^.^./.% /.% % % /.% /.^.^.^./.% % % /.% % % (.^.^.^.^.% % ^.^.^.% % ^.% % % ^.% /.% % % ^.% /.^.^.^./.% /.^.^.^./.% ",
|
||||||
|
"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
|
||||||
|
"% % ........% % % +.+.+.+._.% _.........@.% _........._.% _.+.+.+.+._.% _........._.% _.........@.% _........._.% _.........@.% _.........@.% % % % % % % ........% % % ........% % % % % % % ........% % % ........% % % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % % ^.+.+.+.^.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% ..% % % % +.% ..% % % % +.% +.% % % % ..% ..% % % % ..% ..% % % % ..% % ..% % % ..% % % % ..% ..% % % % ..% % ..% % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ^.% ^.% ^.+.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% ..% % % % +.% ..% % % % +.% +.% % % % ..% ..% % % % ..% ..% % % % ..% % ..% % % ..% % % % ..% ..% % % % ..% % ..% % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % +.^.% ^.% +.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% ..% % % % +.% ..% % % % +.% +.% % % % ..% ..% % % % ..% ..% % % % ..% % % % % % ..% % % % ..% ..% % % % ..% % % % % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % +.% ^.% ^.+.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% ..% % % % +.% ..% % % % +.% +.% % % % ..% ..% % % % ..% ..% % % % ..% % % % % % ..% % % % ..% ..% % % % ..% % % % % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % +.^.% ^.% ^.% ",
|
||||||
|
"% _.+.+.+.+._.% % +.+.+.+._.% _........._.% _........._.% _........._.% _........._.% _........._.% % +.+.+.+._.% _........._.% _........._.% % % % % % _.+.+.+.+._.% _.+.+.+.+._.% % % % % _.+.+.+.+._.% _.+.+.+.+._.% % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % ^.+.+.+.^.% % ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% ..% % % % +.% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% % % % % % ..% % % % ..% ..% % % % ..% % % % % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % +.% % % % +.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% ..% % % % +.% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% % % % % % ..% % % % ..% ..% % % % ..% % % % % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % % % % +.% % % % +.% +.% % % % +.% % ^.^.^.^.^.+.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% ..% % % % +.% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% % ..% % % ..% % % % ..% ..% % % % ..% % ..% % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ^.% % % ^.^.% ",
|
||||||
|
"% ..% % % % ..% +.% % % % ..% ..% % % % +.% +.% % % % ..% +.% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% ..% % % % ..% +.% % % % ..% % ..% % % ..% % % % ..% ..% % % % ..% % ..% % ..% % % % ..% ..% % % % ..% % +.% % % % +.% +.% % % % +.% % +.% % +.% % % % +.% +.% % % % +.% % ^.% % % ^.^.% ",
|
||||||
|
"% % ........% % % +.+.+.+._.% _........._.% _........._.% % +.+.+.+._.% _........._.% _........._.% % +.+.+.+._.% _........._.% _........._.% % % % % % % ........% % % ........% % % % % % % ........% % % ........% % % % +.+.+.+.% % % +.+.+.+.% % % % % % % +.+.+.+.% % % +.+.+.+.% % % ^.^.^.^.^.% % ",
|
||||||
|
"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "};
|
111
wmacpi-1.34/master_low.xpm
Normal file
111
wmacpi-1.34/master_low.xpm
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * master_xpm[] = {
|
||||||
|
"157 88 20 1",
|
||||||
|
" c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #FF0000",
|
||||||
|
"@ c #202020",
|
||||||
|
"# c #FFF500",
|
||||||
|
"$ c #09FF00",
|
||||||
|
"% c #400000",
|
||||||
|
"& c #403B00",
|
||||||
|
"* c #034000",
|
||||||
|
"= c #AAAFA9",
|
||||||
|
"- c #20B2AE",
|
||||||
|
"; c #004941",
|
||||||
|
"> c #188A86",
|
||||||
|
", c #D0D2D1",
|
||||||
|
"' c #FEFFFF",
|
||||||
|
") c #4F5354",
|
||||||
|
"! c #22B2AE",
|
||||||
|
"~ c #027E72",
|
||||||
|
"{ c #034A40",
|
||||||
|
"] c #107D79",
|
||||||
|
" . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" ........................................................ . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . ++++@++++@++++@####@####@####@####@$$$$@$$$$@$$$$@$$$$ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .%%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@****= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" ======================================================== . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" ............................. ......................... . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@= .@@@@@@@@@@@@@@@@@@@@@@@= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .@@@@@@-----@@@@----------@@= .@@@@@;;;@@@;;;@@@-@@@@@= . ",
|
||||||
|
" .@@@@@-@@@@---@@-@@@@@@@@-@@= .@@;@;@@@;@;@@@;@-@-@-@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@@@@@-@@@@-@@@@-@@@@@@@@--@= .@@;@;@@@;@;@@@;@@-@-@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@@@---@@@@-@@@@-@@@@@@@@--@= .@@@@@;;;@@@;;;@@@@-@@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@@-@@-@@@@---@@-@@@@@@@@--@= .@@;@;@@@;@;@@@;@@-@-@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@-@@@@-----@@@@-@@@@@@@@-@@= .@@;@;@@@;@;@@@;@-@-@-@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@-@@@@@@@@@@@@@----------@@= .@@@@@;;;@@@;;;@@@@@-@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@= .@@@@@@@@@@@@@@@@@@@@@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@= .@@@@@@@@@@@@@@@@@@@@@@@= . %%%%@%%%%@%%%%@&&&&@&&&&@&&&&@&&&&@****@****@****@**** ",
|
||||||
|
" ============================= ========================= . ",
|
||||||
|
" . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" . @@---@@@;;;>@>--->@>--->@>;;;>@>--->@>--->@>--->@>--->@>--->@@-@@@@@@@ ",
|
||||||
|
" ..................................... ................= . @-@@@-@;@@@-@;@@@-@;@@@-@-@@@-@-@@@;@-@@@;@;@@@-@-@@@-@-@@@-@-@-@-@@-@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= .,**.'''''''''=@= . @-@@@-@;@@@-@;@@@-@;@@@-@-@@@-@-@@@;@-@@@;@;@@@-@-@@@-@-@@@-@@-@-@@@>@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= .***.',,,,,,,,=@= . @>;;;>@@;;;>@>--->@@--->@>--->@>--->@>--->@@;;;>@>--->@>--->@@@-@@@@@@ ",
|
||||||
|
" .@@@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@@= .***.',,,,,,,,=@= . @-@@@-@;@@@-@-@@@;@;@@@-@;@@@-@;@@@-@-@@@-@;@@@-@-@@@-@;@@@-@@-@-@@@@@ ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@@= .....',,,,,,,,=@= . @-@@@-@;@@@-@-@@@;@;@@@-@;@@@-@;@@@-@-@@@-@;@@@-@-@@@-@;@@@-@-@-@-@@-@ ,++ ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@@= .''''',,,,,,,,=@= . @@---@@@;;;>@>--->@>--->@@;;;>@>--->@>--->@@;;;>@>--->@>--->@@@@-@@@>@ +++ ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +++ ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . ",
|
||||||
|
" .@@@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@@= .',,,,,,,,,,,,=@= . @@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ ................= ................= ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . @@@@@@-----@@@ @----------@@ @>@@---@@@---@@@-@@@@ .,$$.))))))))))@= .,**.'''''''''=@= ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . @@@@@-@@@@---@ @-@@@@@@@@-@@ @-@-@@@-@-@@@-@-@-@-@ .$$$.),,,,,,,,=@= .***.',,,,,,,,=@= ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . @@@@@-@@@@-@@@ @-@@@@@@@@--@ @-@-@@@-@-@@@-@@-@-@@ .$$$.),,,,,,,,=@= .***.',,,,,,,,=@= ",
|
||||||
|
" .@@;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@@= .',,,,,,,,,,,,=@= . @@@---@@@@-@@@ @-@@@@@@@@--@ @>@>;;;>@>;;;>@@@-@@@ .....),,,,,,,,=@= .....',,,,,,,,=@= ",
|
||||||
|
" .@@@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@@= .',,,,,,,,,,,,=@= . @@-@@-@@@@---@ @-@@@@@@@@--@ @-@-@@@-@-@@@-@@-@-@@ .))))),,,,,,,,=@= .''''',,,,,,,,=@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= .'=============@= . @-@@@@-----@@@ @-@@@@@@@@-@@ @-@-@@@-@-@@@-@-@-@-@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= ...............@= . @-@@@@@@@@@@@@ @----------@@ @>@@---@@@---@@@@@-@@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" ===================================== ================= . @@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" . .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" . @@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" ........................................................ . @@@@@@;;;;;@@@ @;;;;;;;;;;@@ @@@@;;;@@@;;;@@@;@@@@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@@@@;@@@@;;;@ @;@@@@@@@@;@@ @;@;@@@;@;@@@;@;@;@;@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@@@@;@@@@;@@@ @;@@@@@@@@;;@ @;@;@@@;@;@@@;@@;@;@@ .),,,,,,,,,,,,=@= .',,,,,,,,,,,,=@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@@;;;@@@@;@@@ @;@@@@@@@@;;@ @@@@;;;@@@;;;@@@@;@@@ .)=============@= .'=============@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@;@@;@@@@;;;@ @;@@@@@@@@;;@ @;@;@@@;@;@@@;@@;@;@@ ...............@= ...............@= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @;@@@@;;;;;@@@ @;@@@@@@@@;@@ @;@;@@@;@;@@@;@;@;@;@ ================= ================= ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @;@@@@@@@@@@@@ @;;;;;;;;;;@@ @@@@;;;@@@;;;@@@@@;@@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
" .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= . @@!!!@@@@@@~@~!!!~@~!!!~@~@@@~@~!!!~@~!!!~@~!!!~@~!!!~@~!!!~@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
" ======================================================== . @!@@@!@@@@@!@@@@@!@@@@@!@!@@@!@!@@@@@!@@@@@@@@@!@!@@@!@!@@@!@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
" . @!@@@!@@@@@!@@@@@!@@@@@!@!@@@!@!@@@@@!@@@@@@@@@!@!@@@!@!@@@!@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
" . @~@@@~@@@@@~@~!!!~@@!!!~@~!!!~@~!!!~@~!!!~@@@@@~@{!!!{@~!!!~@~!!!~@@@@@@@ @@@@@@ ",
|
||||||
|
" . @!@@@!@@@@@!@!@@@@@@@@@!@@@@@!@@@@@!@!@@@!@@@@@!@!@@@!@@@@@!@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
" . @!@@@!@@@@@!@!@@@@@@@@@!@@@@@!@@@@@!@!@@@!@@@@@!@!@@@!@@@@@!@@@@@@@@@@@@@ @@@@@@ ",
|
||||||
|
"................................................................. @@!!!@@@@@@!@~!!!~@~!!!~@@@@@~@~!!!~@~!!!~@@@@@~@~!!!~@~!!!~@@@@@@@@@@@@@ @@@@!@ ",
|
||||||
|
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ",
|
||||||
|
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||||
|
"@{!!!{@~!!!@@~!!!~@~!!!@@~!!!~@~!!!~@~!!!~@~@@@~@@@~@@@@@@@~@~@@@~@~@@@@@!@@@!@~!!!@@~!!!~@~!!!~@~!!!~@~!!!~@~!!!~@~!!!~@~@@@~@~@@@~@~@@@~@~@@@~@~@@@~@~!!!~@",
|
||||||
|
"@!@@@!@!@@@!@!@@@@@!@@@!@!@@@@@!@@@@@!@@@@@!@@@!@@@!@@@@@@@!@!@@@!@!@@@@@!!@!!@!@@@!@!@@@!@!@@@!@!@@@!@!@@@!@!@@@@@@@!@@@!@@@!@!@@@!@!@@@!@!@@@!@!@@@!@@@@@!@",
|
||||||
|
"@!@@@!@!@@@!@!@@@@@!@@@!@!@@@@@!@@@@@!@@@@@!@@@!@@@!@@@@@@@!@!@@!{@!@@@@@!@!@!@!@@@!@!@@@!@!@@@!@!@@@!@!@@@!@!@@@@@@@!@@@!@@@!@!@@@!@!@@@!@{!@!{@!@@@!@@@@!{@",
|
||||||
|
"@~!!!~@~!!!@@~@@@@@~@@@~@~!!!@@~!!!@@~{!!~@~!!!~@@@~@@@@@@@~@~!!{@@~@@@@@~@@@~@~@@@~@~@@@~@~!!!~@~!@@~@~!!!@@~!!!~@@@~@@@~@@@~@~@@@~@~@@@~@@{!{@@~!!!~@@{!{@@",
|
||||||
|
"@!@@@!@!@@@!@!@@@@@!@@@!@!@@@@@!@@@@@!@@@!@!@@@!@@@!@@@@@@@!@!@@!{@!@@@@@!@@@!@!@@@!@!@@@!@!@@@@@!@!@!@!@@@!@@@@@!@@@!@@@!@@@!@!@@@!@!@!@!@{!@!{@@@@@!@{!@@@@",
|
||||||
|
"@!@@@!@!@@@!@!@@@@@!@@@!@!@@@@@!@@@@@!@@@!@!@@@!@@@!@@@@@@@!@!@@@!@!@@@@@!@@@!@!@@@!@!@@@!@!@@@@@!@@!!@!@@@!@@@@@!@@@!@@@!@@@!@!@@@!@!!@!!@!@@@!@@@@@!@!@@@@@",
|
||||||
|
"@~@@@~@~!!!@@~!!!~@!!!!@@~!!!~@!@@@@@~!!!~@~@@@~@@@!@@@~!!!~@~@@@~@~!!!{@~@@@~@!@@@!@~!!!~@~@@@@@~!!!~@~@@@~@~!!!~@@@~@@@{!!!!@@!!!@@!@@@!@~@@@!@~!!!~@~!!!~@",
|
||||||
|
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
|
||||||
|
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@",
|
||||||
|
"@@----@@@;;;;]@]---->@]----]@];;;;]@]----]@]---->@]----]@]---->@]---->@@@@@ @@----@@@----@@@@@@@----@@@----@@ @@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@ @@!;;;!@",
|
||||||
|
"@-@@@@-@;@@@@-@;@@@@-@;@@@@-@-@@@@-@-@@@@;@-@@@@;@;@@@@-@-@@@@-@-@@@@-@@-@@ @-@@@@-@-@@@@-@@-@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@ @!@!@!;@",
|
||||||
|
"@-@@@@-@;@@@@-@;@@@@-@;@@@@-@-@@@@-@-@@@@;@-@@@@;@;@@@@-@-@@@@-@-@@@@-@@-@@ @-@@@@-@-@@@@-@@-@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@ @;!@!@;@",
|
||||||
|
"@-@@@@-@;@@@@-@;@@@@-@;@@@@-@-@@@@-@-@@@@;@-@@@@;@;@@@@-@-@@@@-@-@@@@-@@@@@ @-@@@@-@-@@@@-@@@@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@ @;@!@!;@",
|
||||||
|
"@-@@@@-@;@@@@-@;@@@@-@;@@@@-@-@@@@-@-@@@@;@-@@@@;@;@@@@-@-@@@@-@-@@@@-@@@@@ @-@@@@-@-@@@@-@@@@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@ @;!@!@!@",
|
||||||
|
"@];;;;]@@;;;;]@]----]@]----]@]----]@]----]@]----]@@;;;;]@]----]@]----]@@@@@ @];;;;]@];;;;]@@@@@];;;;]@];;;;]@ @@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@ @!;;;!@@",
|
||||||
|
"@-@@@@-@;@@@@-@-@@@@;@;@@@@-@;@@@@-@;@@@@-@-@@@@-@;@@@@-@-@@@@-@;@@@@-@@@@@ @-@@@@-@-@@@@-@@@@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@ @;@@@@;@",
|
||||||
|
"@-@@@@-@;@@@@-@-@@@@;@;@@@@-@;@@@@-@;@@@@-@-@@@@-@;@@@@-@-@@@@-@;@@@@-@@@@@ @-@@@@-@-@@@@-@@@@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@@@@;@@@@;@;@@@@;@ @!!!!!;@",
|
||||||
|
"@-@@@@-@;@@@@-@-@@@@;@;@@@@-@;@@@@-@;@@@@-@-@@@@-@;@@@@-@-@@@@-@;@@@@-@@-@@ @-@@@@-@-@@@@-@@-@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@ @!@@@!!@",
|
||||||
|
"@-@@@@-@;@@@@-@-@@@@;@;@@@@-@;@@@@-@;@@@@-@-@@@@-@;@@@@-@-@@@@-@;@@@@-@@-@@ @-@@@@-@-@@@@-@@-@@-@@@@-@-@@@@-@ @;@@@@;@;@@@@;@@;@@;@@@@;@;@@@@;@ @!@@@!!@",
|
||||||
|
"@@----@@@;;;;]@]----]@]----]@@;;;;]@]----]@]----]@@;;;;]@]----]@]----]@@@@@ @@----@@@----@@@@@@@----@@@----@@ @@;;;;@@@;;;;@@@@@@@;;;;@@@;;;;@@ @!!!!!@@",
|
||||||
|
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@"};
|
634
wmacpi-1.34/wmacpi.c
Normal file
634
wmacpi-1.34/wmacpi.c
Normal file
|
@ -0,0 +1,634 @@
|
||||||
|
/* apm/acpi dockapp - phear it 1.34
|
||||||
|
* Copyright (C) 2000, 2001, 2002 timecop@japan.co.jp
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* #define RETARDED_APM */
|
||||||
|
/* #define STUPID_APM */
|
||||||
|
/* see README if you need to #define these or not. No user serviceable
|
||||||
|
* parts below */
|
||||||
|
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <getopt.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include <X11/X.h>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
#include <X11/extensions/shape.h>
|
||||||
|
#include <X11/xpm.h>
|
||||||
|
|
||||||
|
#include "wmacpi.h"
|
||||||
|
|
||||||
|
#if defined(ACPI) && defined(APM)
|
||||||
|
# error Cannot compile with ACPI and APM compiled in. Please select only one.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* main pixmap */
|
||||||
|
#ifdef LOW_COLOR
|
||||||
|
#include "master_low.xpm"
|
||||||
|
#else
|
||||||
|
#include "master.xpm"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Display *display; /* X11 display struct */
|
||||||
|
int screen; /* current screen */
|
||||||
|
Window root; /* root window */
|
||||||
|
Window win; /* one window */
|
||||||
|
Window iconwin; /* another one */
|
||||||
|
Pixmap pixmap; /* UI pixmap, window pixmap */
|
||||||
|
Pixmap mask; /* mask pixmap for shape */
|
||||||
|
GC gc; /* main drawing GC */
|
||||||
|
Pixmap text; /* pixmap for text scroller */
|
||||||
|
int tw; /* text width inside text pixmap */
|
||||||
|
int update; /* need to redraw? */
|
||||||
|
int pressed; /* is the button pressed? */
|
||||||
|
DspMode dspmode; /* time remaining or battery timer */
|
||||||
|
Mode blink; /* should we blink the LED? (critical battery) */
|
||||||
|
} Dockapp;
|
||||||
|
|
||||||
|
/* for debug printing */
|
||||||
|
#ifdef PRO
|
||||||
|
char *state[] = { "AC", "Charging", "High", "Low", "Crit" };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* globals */
|
||||||
|
Dockapp *dockapp;
|
||||||
|
APMInfo *apminfo;
|
||||||
|
int count = 0; /* global timer variable */
|
||||||
|
int noisy_critical = 0; /* ring xbell annoyingly if critical? */
|
||||||
|
|
||||||
|
/* proto for local stuff */
|
||||||
|
static void new_window(char *name);
|
||||||
|
static int open_display(char *display);
|
||||||
|
static void redraw_window(void);
|
||||||
|
static void render_text(char *string);
|
||||||
|
static void scroll_text(int x, int y, int width, int tw, int reset);
|
||||||
|
static void display_percentage(int percent);
|
||||||
|
static void display_state(void);
|
||||||
|
static void display_time(int minutes);
|
||||||
|
static void blink_button(Mode mode);
|
||||||
|
|
||||||
|
#define copy_xpm_area(x, y, w, h, dx, dy) \
|
||||||
|
{ \
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->pixmap, \
|
||||||
|
dockapp->gc, x, y, w, h, dx, dy); \
|
||||||
|
dockapp->update = 1; \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void redraw_window(void)
|
||||||
|
{
|
||||||
|
if (dockapp->update) {
|
||||||
|
eprint(1, "redrawing window");
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->iconwin,
|
||||||
|
dockapp->gc, 0, 0, 64, 64, 0, 0);
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->win,
|
||||||
|
dockapp->gc, 0, 0, 64, 64, 0, 0);
|
||||||
|
dockapp->update = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void new_window(char *name)
|
||||||
|
{
|
||||||
|
XpmAttributes attr;
|
||||||
|
Pixel fg, bg;
|
||||||
|
XGCValues gcval;
|
||||||
|
XSizeHints sizehints;
|
||||||
|
XClassHint classhint;
|
||||||
|
XWMHints wmhints;
|
||||||
|
|
||||||
|
dockapp->screen = DefaultScreen(dockapp->display);
|
||||||
|
dockapp->root = DefaultRootWindow(dockapp->display);
|
||||||
|
|
||||||
|
sizehints.flags = USSize;
|
||||||
|
sizehints.width = 64;
|
||||||
|
sizehints.height = 64;
|
||||||
|
|
||||||
|
fg = BlackPixel(dockapp->display, dockapp->screen);
|
||||||
|
bg = WhitePixel(dockapp->display, dockapp->screen);
|
||||||
|
|
||||||
|
dockapp->win = XCreateSimpleWindow(dockapp->display, dockapp->root,
|
||||||
|
0, 0, sizehints.width,
|
||||||
|
sizehints.height, 1, fg, bg);
|
||||||
|
dockapp->iconwin =
|
||||||
|
XCreateSimpleWindow(dockapp->display, dockapp->win, 0, 0,
|
||||||
|
sizehints.width, sizehints.height, 1, fg, bg);
|
||||||
|
|
||||||
|
XSetWMNormalHints(dockapp->display, dockapp->win, &sizehints);
|
||||||
|
classhint.res_name = name;
|
||||||
|
classhint.res_class = name;
|
||||||
|
XSetClassHint(dockapp->display, dockapp->win, &classhint);
|
||||||
|
|
||||||
|
XSelectInput(dockapp->display, dockapp->win,
|
||||||
|
ExposureMask | ButtonPressMask | ButtonReleaseMask |
|
||||||
|
StructureNotifyMask);
|
||||||
|
XSelectInput(dockapp->display, dockapp->iconwin,
|
||||||
|
ExposureMask | ButtonPressMask | ButtonReleaseMask |
|
||||||
|
StructureNotifyMask);
|
||||||
|
|
||||||
|
XStoreName(dockapp->display, dockapp->win, name);
|
||||||
|
XSetIconName(dockapp->display, dockapp->win, name);
|
||||||
|
|
||||||
|
gcval.foreground = fg;
|
||||||
|
gcval.background = bg;
|
||||||
|
gcval.graphics_exposures = False;
|
||||||
|
|
||||||
|
dockapp->gc =
|
||||||
|
XCreateGC(dockapp->display, dockapp->win,
|
||||||
|
GCForeground | GCBackground | GCGraphicsExposures,
|
||||||
|
&gcval);
|
||||||
|
|
||||||
|
attr.exactColors = 0;
|
||||||
|
attr.alloc_close_colors = 1;
|
||||||
|
attr.closeness = 1L << 15;
|
||||||
|
attr.valuemask = XpmExactColors | XpmAllocCloseColors | XpmCloseness;
|
||||||
|
if (XpmCreatePixmapFromData(dockapp->display, dockapp->win,
|
||||||
|
master_xpm, &dockapp->pixmap,
|
||||||
|
&dockapp->mask, &attr) != XpmSuccess) {
|
||||||
|
fprintf(stderr, "FATAL: Not enough colors for main pixmap!\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* text area is 318x7, or 53 characters long */
|
||||||
|
dockapp->text = XCreatePixmap(dockapp->display, dockapp->win, 318, 7,
|
||||||
|
DefaultDepth(dockapp->display,
|
||||||
|
dockapp->screen));
|
||||||
|
if (!dockapp->text) {
|
||||||
|
fprintf(stderr, "FATAL: Cannot create text scroll pixmap!\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
XShapeCombineMask(dockapp->display, dockapp->win, ShapeBounding, 0, 0,
|
||||||
|
dockapp->mask, ShapeSet);
|
||||||
|
XShapeCombineMask(dockapp->display, dockapp->iconwin, ShapeBounding, 0,
|
||||||
|
0, dockapp->mask, ShapeSet);
|
||||||
|
|
||||||
|
wmhints.initial_state = WithdrawnState;
|
||||||
|
wmhints.flags = StateHint;
|
||||||
|
wmhints.icon_window = dockapp->iconwin;
|
||||||
|
wmhints.icon_x = sizehints.x;
|
||||||
|
wmhints.icon_y = sizehints.y;
|
||||||
|
wmhints.window_group = dockapp->win;
|
||||||
|
wmhints.flags =
|
||||||
|
StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
|
||||||
|
XSetWMHints(dockapp->display, dockapp->win, &wmhints);
|
||||||
|
|
||||||
|
XMapWindow(dockapp->display, dockapp->win);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void render_text(char *string)
|
||||||
|
{
|
||||||
|
int i, c, k;
|
||||||
|
|
||||||
|
if (strlen(string) > 53)
|
||||||
|
return;
|
||||||
|
|
||||||
|
eprint(1, "rendering: %s", string);
|
||||||
|
|
||||||
|
/* prepare the text area by clearing it */
|
||||||
|
for (i = 0; i < 54; i++) {
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, 133, 57, 6, 8, i * 6, 0);
|
||||||
|
}
|
||||||
|
k = 0;
|
||||||
|
|
||||||
|
for (i = 0; string[i]; i++) {
|
||||||
|
c = toupper(string[i]);
|
||||||
|
if (c >= 'A' && c <= 'Z') { /* letter */
|
||||||
|
c = c - 'A';
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, c * 6, 67, 6, 7, k, 0);
|
||||||
|
} else if (c >= '0' && c <= '9') { /* number */
|
||||||
|
c = c - '0';
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, c * 6 + 66, 58, 6, 7, k, 0);
|
||||||
|
} else if (c == '.') {
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, 140, 58, 6, 7, k, 0);
|
||||||
|
} else if (c == '-') {
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, 126, 58, 6, 7, k, 0);
|
||||||
|
}
|
||||||
|
k += 6;
|
||||||
|
}
|
||||||
|
dockapp->tw = k; /* length of text segment */
|
||||||
|
/* re-scroll the message */
|
||||||
|
scroll_text(6, 50, 52, dockapp->tw, 1);
|
||||||
|
/* reset the scroll repeat counter */
|
||||||
|
count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int open_display(char *display)
|
||||||
|
{
|
||||||
|
dockapp->display = XOpenDisplay(display);
|
||||||
|
if (!dockapp->display) {
|
||||||
|
fprintf(stderr, "Unable to open display '%s'\n", display);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void scroll_text(int x, int y, int width, int tw, int reset)
|
||||||
|
{
|
||||||
|
static int pos, first, stop;
|
||||||
|
|
||||||
|
if (reset) {
|
||||||
|
pos = 0;
|
||||||
|
first = 0;
|
||||||
|
stop = 0;
|
||||||
|
XCopyArea(dockapp->display, dockapp->pixmap, dockapp->text,
|
||||||
|
dockapp->gc, 0, 0, width, 7, x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stop) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((first == 0) && pos == 0) {
|
||||||
|
pos = width;
|
||||||
|
first = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pos == (0 - tw - 2)) {
|
||||||
|
first = 1;
|
||||||
|
pos = width;
|
||||||
|
stop = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pos -= 2;
|
||||||
|
|
||||||
|
eprint(0, "scrolling");
|
||||||
|
|
||||||
|
if (pos > 0) {
|
||||||
|
copy_xpm_area(66, 9, pos, 7, x, y); /* clear */
|
||||||
|
XCopyArea(dockapp->display, dockapp->text, dockapp->pixmap,
|
||||||
|
dockapp->gc, 0, 0, width - pos, 7, x + pos, y);
|
||||||
|
} else { /* don't need to clear, already in text */
|
||||||
|
XCopyArea(dockapp->display, dockapp->text, dockapp->pixmap,
|
||||||
|
dockapp->gc, abs(pos), 0, width, 7, x, y);
|
||||||
|
}
|
||||||
|
dockapp->update = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void display_percentage(int percent)
|
||||||
|
{
|
||||||
|
static int op = -1, obar;
|
||||||
|
unsigned int bar;
|
||||||
|
|
||||||
|
eprint(1, "received: %d\n", percent);
|
||||||
|
|
||||||
|
if (op == percent)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (percent < 0)
|
||||||
|
percent = 0;
|
||||||
|
if (percent > 100)
|
||||||
|
percent = 100;
|
||||||
|
|
||||||
|
if (percent < 100) { /* 0 - 99 */
|
||||||
|
copy_xpm_area(95, 48, 8, 7, 37, 17);
|
||||||
|
if (percent >= 10)
|
||||||
|
copy_xpm_area((percent / 10) * 6 + 67, 28, 5, 7, 40, 17);
|
||||||
|
copy_xpm_area((percent % 10) * 6 + 67, 28, 5, 7, 46, 17);
|
||||||
|
} else
|
||||||
|
copy_xpm_area(95, 37, 21, 9, 37, 16); /* 100% */
|
||||||
|
op = percent;
|
||||||
|
|
||||||
|
bar = percent / 1.8518;
|
||||||
|
|
||||||
|
if (bar == obar)
|
||||||
|
return;
|
||||||
|
|
||||||
|
copy_xpm_area(66, 0, bar, 8, 5, 5);
|
||||||
|
if (bar < 54)
|
||||||
|
copy_xpm_area(66 + bar, 18, 54 - bar, 8, bar + 5, 5);
|
||||||
|
obar = bar;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void display_time(int minutes)
|
||||||
|
{
|
||||||
|
static int ohour = -1, omin = -1;
|
||||||
|
static int counter;
|
||||||
|
int hour, min, tmp;
|
||||||
|
|
||||||
|
if (minutes == -1) { /* error - blink 00:00 */
|
||||||
|
counter++;
|
||||||
|
if (counter == 5) {
|
||||||
|
copy_xpm_area(80, 76, 31, 11, 7, 32);
|
||||||
|
} else if (counter == 10) {
|
||||||
|
copy_xpm_area(114, 76, 31, 11, 7, 32);
|
||||||
|
}
|
||||||
|
if (counter > 10)
|
||||||
|
counter = 0;
|
||||||
|
ohour = omin = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* render time on the display */
|
||||||
|
hour = minutes / 60;
|
||||||
|
min = minutes % 60;
|
||||||
|
|
||||||
|
if (hour == ohour && min == omin)
|
||||||
|
return;
|
||||||
|
|
||||||
|
eprint(0, "redrawing time");
|
||||||
|
tmp = hour / 10;
|
||||||
|
copy_xpm_area(tmp * 7 + 1, 76, 6, 11, 7, 32);
|
||||||
|
tmp = hour % 10;
|
||||||
|
copy_xpm_area(tmp * 7 + 1, 76, 6, 11, 14, 32);
|
||||||
|
tmp = min / 10;
|
||||||
|
copy_xpm_area(tmp * 7 + 1, 76, 6, 11, 25, 32);
|
||||||
|
tmp = min % 10;
|
||||||
|
copy_xpm_area(tmp * 7 + 1, 76, 6, 11, 32, 32);
|
||||||
|
copy_xpm_area(71, 76, 3, 11, 21, 32);
|
||||||
|
ohour = hour;
|
||||||
|
omin = min;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void display_state(void)
|
||||||
|
{
|
||||||
|
static int dopower;
|
||||||
|
static int docharging;
|
||||||
|
static int dobattery;
|
||||||
|
static int docritical;
|
||||||
|
static int counter;
|
||||||
|
|
||||||
|
switch (apminfo->power) {
|
||||||
|
case POWER:
|
||||||
|
eprint(0, "selected ac power case");
|
||||||
|
if (!dopower) {
|
||||||
|
dopower = 1;
|
||||||
|
docharging = 0;
|
||||||
|
dobattery = 0;
|
||||||
|
dockapp->blink = OFF;
|
||||||
|
copy_xpm_area(67, 38, 12, 7, 6, 17);
|
||||||
|
copy_xpm_area(82, 48, 11, 7, 20, 17);
|
||||||
|
render_text("On AC power");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CHARGING:
|
||||||
|
eprint(0, "selected charging case");
|
||||||
|
counter++;
|
||||||
|
if (counter == 10) {
|
||||||
|
copy_xpm_area(67, 38, 12, 7, 6, 17);
|
||||||
|
} else if (counter == 20) {
|
||||||
|
copy_xpm_area(67, 48, 12, 7, 6, 17);
|
||||||
|
}
|
||||||
|
if (counter > 20)
|
||||||
|
counter = 0;
|
||||||
|
if (!docharging) {
|
||||||
|
render_text("Battery is charging");
|
||||||
|
/* get rid of battery symbol */
|
||||||
|
copy_xpm_area(82, 48, 12, 7, 20, 17);
|
||||||
|
/* housekeeping */
|
||||||
|
dockapp->blink = OFF;
|
||||||
|
docharging = 1;
|
||||||
|
dopower = 0;
|
||||||
|
dobattery = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HIGH:
|
||||||
|
case LOW:
|
||||||
|
case CRIT:
|
||||||
|
eprint(0, "selected battery case");
|
||||||
|
if (!dobattery) {
|
||||||
|
render_text("On Battery");
|
||||||
|
/* display battery symbol */
|
||||||
|
copy_xpm_area(82, 38, 12, 7, 20, 17);
|
||||||
|
/* get rid of AC power symbol */
|
||||||
|
copy_xpm_area(67, 48, 12, 7, 6, 17);
|
||||||
|
dobattery = 1;
|
||||||
|
dopower = 0;
|
||||||
|
docharging = 0;
|
||||||
|
}
|
||||||
|
if (apminfo->power == CRIT) {
|
||||||
|
dockapp->blink = BLINK;
|
||||||
|
if (!docritical) {
|
||||||
|
render_text("Battery Critical Low");
|
||||||
|
docritical = 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (docritical) {
|
||||||
|
render_text("On Battery");
|
||||||
|
docritical = 0;
|
||||||
|
}
|
||||||
|
dockapp->blink = OFF;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void blink_button(Mode mode)
|
||||||
|
{
|
||||||
|
static int counter;
|
||||||
|
static int clear;
|
||||||
|
|
||||||
|
if ((mode == OFF) && !clear) {
|
||||||
|
eprint(0, "we are off");
|
||||||
|
copy_xpm_area(136, 38, 3, 3, 44, 30);
|
||||||
|
clear = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (mode != BLINK)
|
||||||
|
return;
|
||||||
|
|
||||||
|
counter++;
|
||||||
|
|
||||||
|
if (counter == 5) {
|
||||||
|
copy_xpm_area(137, 33, 3, 3, 44, 30);
|
||||||
|
clear = 0;
|
||||||
|
} else if (counter == 10) {
|
||||||
|
copy_xpm_area(136, 38, 3, 3, 44, 30);
|
||||||
|
clear = 0;
|
||||||
|
/* make some noise */
|
||||||
|
if (noisy_critical)
|
||||||
|
XBell(dockapp->display, 100);
|
||||||
|
}
|
||||||
|
if (counter > 10)
|
||||||
|
counter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
char *display = NULL;
|
||||||
|
char ch;
|
||||||
|
int update = 0;
|
||||||
|
|
||||||
|
dockapp = calloc(1, sizeof(Dockapp));
|
||||||
|
apminfo = calloc(1, sizeof(APMInfo));
|
||||||
|
|
||||||
|
dockapp->blink = OFF;
|
||||||
|
apminfo->crit_level = 10;
|
||||||
|
|
||||||
|
/* see if whatever we want to use is supported */
|
||||||
|
if (power_init()) {
|
||||||
|
/* power_init functions handle printing error messages */
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* parse command-line options */
|
||||||
|
while ((ch = getopt(argc, argv, "bd:c:h")) != EOF) {
|
||||||
|
switch (ch) {
|
||||||
|
case 'b':
|
||||||
|
noisy_critical = 1;
|
||||||
|
break;
|
||||||
|
case 'c':
|
||||||
|
if (optarg) {
|
||||||
|
apminfo->crit_level = atoi(optarg);
|
||||||
|
if ((apminfo->crit_level < 0) || (apminfo->crit_level > 100)) {
|
||||||
|
fprintf(stderr, "Please use values between 0 and 100%%\n");
|
||||||
|
apminfo->crit_level = 10;
|
||||||
|
fprintf(stderr, "Using default value of 10%%\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
if (optarg)
|
||||||
|
display = strdup(optarg);
|
||||||
|
break;
|
||||||
|
case 'h':
|
||||||
|
printf("wmacpi - help\t\t[timecop@japan.co.jp]\n\n"
|
||||||
|
"-d display\t\tdisplay on remote display <display>\n"
|
||||||
|
"-b\t\t\tmake noise when battery is critical low (beep)\n"
|
||||||
|
"-c value\t\tset critical low alarm at <value> percent\n"
|
||||||
|
"\t\t\t(default: 10 percent)\n"
|
||||||
|
"-h\t\t\tdisplay this help\n");
|
||||||
|
return 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* open local or command-line specified display */
|
||||||
|
if (open_display(display))
|
||||||
|
exit(1);
|
||||||
|
|
||||||
|
/* make new dockapp window */
|
||||||
|
new_window("apm");
|
||||||
|
|
||||||
|
/* get initial statistics */
|
||||||
|
acquire_info();
|
||||||
|
|
||||||
|
dockapp->dspmode = REMAIN;
|
||||||
|
|
||||||
|
/* main loop */
|
||||||
|
while (1) {
|
||||||
|
XEvent event;
|
||||||
|
while (XPending(dockapp->display)) {
|
||||||
|
eprint(0, "X11 activity");
|
||||||
|
XNextEvent(dockapp->display, &event);
|
||||||
|
switch (event.type) {
|
||||||
|
case Expose:
|
||||||
|
/* update */
|
||||||
|
dockapp->update = 1;
|
||||||
|
while (XCheckTypedEvent(dockapp->display, Expose, &event));
|
||||||
|
redraw_window();
|
||||||
|
break;
|
||||||
|
case DestroyNotify:
|
||||||
|
XCloseDisplay(dockapp->display);
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
|
case ButtonPress:
|
||||||
|
/* press event */
|
||||||
|
if (event.xbutton.x >= 44 && event.xbutton.x <= 57 &&
|
||||||
|
event.xbutton.y >= 30 && event.xbutton.y <= 43) {
|
||||||
|
eprint(0, "inside button!");
|
||||||
|
dockapp->pressed = 1;
|
||||||
|
copy_xpm_area(118, 38, 15, 15, 44, 30);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ButtonRelease:
|
||||||
|
/* release event */
|
||||||
|
if (event.xbutton.x >= 44 && event.xbutton.x <= 57 &&
|
||||||
|
event.xbutton.y >= 30 && event.xbutton.y <= 43 &&
|
||||||
|
dockapp->pressed) {
|
||||||
|
/* handle button press */
|
||||||
|
eprint(0, "release still inside button!");
|
||||||
|
dockapp->pressed = 0;
|
||||||
|
copy_xpm_area(136, 38, 15, 15, 44, 30);
|
||||||
|
if ((apminfo->power != POWER) && (apminfo->power != CHARGING)) {
|
||||||
|
dockapp->dspmode = !dockapp->dspmode;
|
||||||
|
eprint(1, "Mode: %d", dockapp->dspmode);
|
||||||
|
}
|
||||||
|
/* end button press handler */
|
||||||
|
}
|
||||||
|
if (dockapp->pressed) {
|
||||||
|
copy_xpm_area(136, 38, 15, 15, 44, 30);
|
||||||
|
dockapp->pressed = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (update++ == 30) {
|
||||||
|
eprint(1, "polling apm");
|
||||||
|
acquire_info();
|
||||||
|
update = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count++ == 256) {
|
||||||
|
scroll_text(6, 50, 52, dockapp->tw, 1);
|
||||||
|
count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* it's okay to test here because display_time will not draw anything
|
||||||
|
* unless there is a change. Also if we switched power states from
|
||||||
|
* battery to charging/etc, we need to exit from "timer" mode */
|
||||||
|
if (dockapp->dspmode == REMAIN || apminfo->power == POWER || apminfo->power == CHARGING) {
|
||||||
|
display_time(apminfo->rtime);
|
||||||
|
} else {
|
||||||
|
display_time((time(NULL) - apminfo->timer) / 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
display_state();
|
||||||
|
blink_button(dockapp->blink);
|
||||||
|
display_percentage(apminfo->percentage);
|
||||||
|
scroll_text(6, 50, 52, dockapp->tw, 0);
|
||||||
|
|
||||||
|
/* redraw_window, if anything changed - determined inside
|
||||||
|
* redraw_window. */
|
||||||
|
redraw_window();
|
||||||
|
usleep(100000);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* this handles enabling "on-battery" timer. It only needs to happen once
|
||||||
|
* for each unplug event. Functions from libapm and libacpi call this to
|
||||||
|
* start the timer */
|
||||||
|
void process_plugin_timer(void)
|
||||||
|
{
|
||||||
|
static int timer;
|
||||||
|
|
||||||
|
if ((apminfo->power != POWER) && (apminfo->power != CHARGING) && !timer) {
|
||||||
|
eprint(1, "not AC and not charging, and timer is not started");
|
||||||
|
eprint(1, "starting battery timer");
|
||||||
|
apminfo->timer = time(NULL);
|
||||||
|
timer = 1;
|
||||||
|
}
|
||||||
|
if (((apminfo->power == POWER) || (apminfo->power == CHARGING)) && timer) {
|
||||||
|
eprint(1, "disabling battery timer");
|
||||||
|
timer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
52
wmacpi-1.34/wmacpi.h
Normal file
52
wmacpi-1.34/wmacpi.h
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#ifndef _WMACPI_H_
|
||||||
|
#define _WMACPI_H_
|
||||||
|
|
||||||
|
#ifdef PRO
|
||||||
|
#define eprint(level, fmt, arg...) \
|
||||||
|
switch (level) { \
|
||||||
|
case 0: \
|
||||||
|
break; \
|
||||||
|
case 1: \
|
||||||
|
fprintf(stderr, __FUNCTION__": " fmt, ##arg); \
|
||||||
|
fprintf(stderr, "\n"); \
|
||||||
|
break; \
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define eprint(level, fmt, arg...) \
|
||||||
|
do { } while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
REMAIN,
|
||||||
|
TIMER
|
||||||
|
} DspMode;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
BLINK,
|
||||||
|
OFF
|
||||||
|
} Mode;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
POWER, /* on AC, Battery charged */
|
||||||
|
CHARGING, /* on AC, Charging */
|
||||||
|
HIGH, /* on Battery, HIGH */
|
||||||
|
LOW, /* on Battery, LOW */
|
||||||
|
CRIT /* on Battery, CRIT */
|
||||||
|
} State;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
State power; /* power state: Battery levels or AC */
|
||||||
|
int percentage; /* battery percentage (-1 if no battery) */
|
||||||
|
int rtime; /* remaining time */
|
||||||
|
int timer; /* how long been on battery? */
|
||||||
|
int crit_level; /* anything below this is critical low */
|
||||||
|
} APMInfo;
|
||||||
|
|
||||||
|
/* detect plugin events */
|
||||||
|
void process_plugin_timer(void);
|
||||||
|
/* check if apm/acpi is enabled, etc */
|
||||||
|
int power_init(void);
|
||||||
|
/* fill APMInfo with data */
|
||||||
|
void acquire_info(void);
|
||||||
|
|
||||||
|
#endif /* _WMACPI_H_ */
|
13
wmacpiload-0.1.2/AUTHORS
Normal file
13
wmacpiload-0.1.2/AUTHORS
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Main Hacker:
|
||||||
|
Anthony Peacock <bratag44@hotmail.com>
|
||||||
|
|
||||||
|
Main Author:
|
||||||
|
Thomas Nemeth <tnemeth@free.fr>
|
||||||
|
|
||||||
|
Based largely on work on WMMemMon, WMCPULoad and WMMemLoad done by:
|
||||||
|
Seiichi SATO <ssato@sh.rim.or.jp>
|
||||||
|
Mark Staggs <me@markstaggs.net>
|
||||||
|
And also on wmapm by :
|
||||||
|
Chris D. Faulhaber <jedgar@speck.ml.org>
|
||||||
|
Michael G. Henderson <mghenderson@lanl.gov>
|
||||||
|
|
340
wmacpiload-0.1.2/COPYING
Normal file
340
wmacpiload-0.1.2/COPYING
Normal file
|
@ -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
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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) year 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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
4
wmacpiload-0.1.2/ChangeLog
Normal file
4
wmacpiload-0.1.2/ChangeLog
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
2003-28-03
|
||||||
|
Changed currcap and remain to be floating cars rather than int in order to
|
||||||
|
fix a divide by zero problem.
|
||||||
|
|
0
wmacpiload-0.1.2/INSTALL
Normal file
0
wmacpiload-0.1.2/INSTALL
Normal file
363
wmacpiload-0.1.2/Makefile
Normal file
363
wmacpiload-0.1.2/Makefile
Normal file
|
@ -0,0 +1,363 @@
|
||||||
|
# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
srcdir = .
|
||||||
|
top_srcdir = .
|
||||||
|
|
||||||
|
prefix = /usr/local
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
sbindir = ${exec_prefix}/sbin
|
||||||
|
libexecdir = ${exec_prefix}/libexec
|
||||||
|
datadir = ${prefix}/share
|
||||||
|
sysconfdir = ${prefix}/etc
|
||||||
|
sharedstatedir = ${prefix}/com
|
||||||
|
localstatedir = ${prefix}/var
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
infodir = ${prefix}/info
|
||||||
|
mandir = ${prefix}/man
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/wmapmload
|
||||||
|
pkglibdir = $(libdir)/wmapmload
|
||||||
|
pkgincludedir = $(includedir)/wmapmload
|
||||||
|
|
||||||
|
top_builddir = .
|
||||||
|
|
||||||
|
ACLOCAL = aclocal
|
||||||
|
AUTOCONF = autoconf
|
||||||
|
AUTOMAKE = automake
|
||||||
|
AUTOHEADER = autoheader
|
||||||
|
|
||||||
|
INSTALL = /usr/bin/install -c
|
||||||
|
INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
transform = s,x,x,
|
||||||
|
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_alias =
|
||||||
|
host_triplet = i686-pc-linux-gnu
|
||||||
|
AWK = gawk
|
||||||
|
CC = gcc
|
||||||
|
DFLAGS =
|
||||||
|
HEADER_SEARCH_PATH = -I/usr/X11R6/include -I/usr/local/include
|
||||||
|
LIBRARY_SEARCH_PATH = -L/usr/X11R6/lib -L/usr/local/lib
|
||||||
|
LIBS =
|
||||||
|
LN_S = ln -s
|
||||||
|
MAKEINFO = makeinfo
|
||||||
|
OS = linux
|
||||||
|
PACKAGE = wmapmload
|
||||||
|
SETGID_FLAGS =
|
||||||
|
VERSION = 0.3.2
|
||||||
|
XCFLAGS = -I/usr/X11R6/include
|
||||||
|
XLFLAGS = -L/usr/X11R6/lib
|
||||||
|
XLIBS = -lX11 -lXext -lXpm
|
||||||
|
X_EXTRA_LIBS =
|
||||||
|
X_LIBRARY_PATH = /usr/X11R6/lib
|
||||||
|
|
||||||
|
SUBDIRS = src doc
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
CONFIG_HEADER = config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
|
||||||
|
Makefile.am Makefile.in NEWS THANKS TODO acinclude.m4 aclocal.m4 \
|
||||||
|
config.guess config.h.in config.sub configure configure.ac install-sh \
|
||||||
|
missing mkinstalldirs
|
||||||
|
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
TAR = tar
|
||||||
|
GZIP_ENV = --best
|
||||||
|
all: all-redirect
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
|
||||||
|
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
$(ACLOCAL_M4): configure.ac acinclude.m4
|
||||||
|
cd $(srcdir) && $(ACLOCAL)
|
||||||
|
|
||||||
|
config.status: $(srcdir)/configure.ac $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||||
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
|
|
||||||
|
config.h: stamp-h
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f stamp-h; \
|
||||||
|
$(MAKE) stamp-h; \
|
||||||
|
else :; fi
|
||||||
|
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
|
||||||
|
$(SHELL) ./config.status
|
||||||
|
@echo timestamp > stamp-h 2> /dev/null
|
||||||
|
$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f $(srcdir)/stamp-h.in; \
|
||||||
|
$(MAKE) $(srcdir)/stamp-h.in; \
|
||||||
|
else :; fi
|
||||||
|
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOHEADER)
|
||||||
|
@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
|
||||||
|
|
||||||
|
mostlyclean-hdr:
|
||||||
|
|
||||||
|
clean-hdr:
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f config.h
|
||||||
|
|
||||||
|
maintainer-clean-hdr:
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run `make' without going through this Makefile.
|
||||||
|
# To change the values of `make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in `config.status', edit `config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||||
|
# (2) otherwise, pass the desired values on the `make' command line.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
|
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||||
|
maintainer-clean-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
rev="$$subdir $$rev"; \
|
||||||
|
test "$$subdir" = "." && dot_seen=yes; \
|
||||||
|
done; \
|
||||||
|
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
for subdir in $$rev; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done && test -z "$$fail"
|
||||||
|
tags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
|
done
|
||||||
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
here=`pwd` && cd $(srcdir) \
|
||||||
|
&& mkid -f$$here/ID $$unique $(LISP)
|
||||||
|
|
||||||
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|
||||||
|
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
|
||||||
|
|
||||||
|
mostlyclean-tags:
|
||||||
|
|
||||||
|
clean-tags:
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID
|
||||||
|
|
||||||
|
maintainer-clean-tags:
|
||||||
|
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||||
|
mkdir $(distdir)/=build
|
||||||
|
mkdir $(distdir)/=inst
|
||||||
|
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||||
|
cd $(distdir)/=build \
|
||||||
|
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||||
|
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||||
|
echo "$$dashes"; \
|
||||||
|
echo "$$banner"; \
|
||||||
|
echo "$$dashes"
|
||||||
|
dist: distdir
|
||||||
|
-chmod -R a+r $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
dist-all: distdir
|
||||||
|
-chmod -R a+r $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
mkdir $(distdir)
|
||||||
|
-chmod 777 $(distdir)
|
||||||
|
@for file in $(DISTFILES); do \
|
||||||
|
d=$(srcdir); \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
for subdir in $(SUBDIRS); do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -d $(distdir)/$$subdir \
|
||||||
|
|| mkdir $(distdir)/$$subdir \
|
||||||
|
|| exit 1; \
|
||||||
|
chmod 777 $(distdir)/$$subdir; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
info-am:
|
||||||
|
info: info-recursive
|
||||||
|
dvi-am:
|
||||||
|
dvi: dvi-recursive
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
installcheck-am:
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
all-recursive-am: config.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
install-data: install-data-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
install: install-recursive
|
||||||
|
uninstall-am:
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
all-am: Makefile config.h
|
||||||
|
all-redirect: all-recursive-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
|
||||||
|
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f config.status
|
||||||
|
|
||||||
|
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
|
||||||
|
maintainer-clean-generic distclean-am
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f config.status
|
||||||
|
|
||||||
|
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
|
||||||
|
install-data-recursive uninstall-data-recursive install-exec-recursive \
|
||||||
|
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
|
||||||
|
all-recursive check-recursive installcheck-recursive info-recursive \
|
||||||
|
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
|
||||||
|
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||||
|
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||||
|
dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
|
||||||
|
install-exec-am install-exec install-data-am install-data install-am \
|
||||||
|
install uninstall-am uninstall all-redirect all-am all installdirs-am \
|
||||||
|
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||||
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
2
wmacpiload-0.1.2/Makefile.am
Normal file
2
wmacpiload-0.1.2/Makefile.am
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
SUBDIRS = src doc
|
363
wmacpiload-0.1.2/Makefile.in
Normal file
363
wmacpiload-0.1.2/Makefile.in
Normal file
|
@ -0,0 +1,363 @@
|
||||||
|
# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
|
||||||
|
top_builddir = .
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
transform = @program_transform_name@
|
||||||
|
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_triplet = @host@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
DFLAGS = @DFLAGS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
OS = @OS@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
SETGID_FLAGS = @SETGID_FLAGS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XCFLAGS = @XCFLAGS@
|
||||||
|
XLFLAGS = @XLFLAGS@
|
||||||
|
XLIBS = @XLIBS@
|
||||||
|
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||||
|
X_LIBRARY_PATH = @X_LIBRARY_PATH@
|
||||||
|
|
||||||
|
SUBDIRS = src doc
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
CONFIG_HEADER = config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
|
||||||
|
Makefile.am Makefile.in NEWS THANKS TODO acinclude.m4 aclocal.m4 \
|
||||||
|
config.guess config.h.in config.sub configure configure.ac install-sh \
|
||||||
|
missing mkinstalldirs
|
||||||
|
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
TAR = tar
|
||||||
|
GZIP_ENV = --best
|
||||||
|
all: all-redirect
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
|
||||||
|
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
$(ACLOCAL_M4): configure.ac acinclude.m4
|
||||||
|
cd $(srcdir) && $(ACLOCAL)
|
||||||
|
|
||||||
|
config.status: $(srcdir)/configure.ac $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||||
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
|
|
||||||
|
config.h: stamp-h
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f stamp-h; \
|
||||||
|
$(MAKE) stamp-h; \
|
||||||
|
else :; fi
|
||||||
|
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
|
||||||
|
$(SHELL) ./config.status
|
||||||
|
@echo timestamp > stamp-h 2> /dev/null
|
||||||
|
$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f $(srcdir)/stamp-h.in; \
|
||||||
|
$(MAKE) $(srcdir)/stamp-h.in; \
|
||||||
|
else :; fi
|
||||||
|
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOHEADER)
|
||||||
|
@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
|
||||||
|
|
||||||
|
mostlyclean-hdr:
|
||||||
|
|
||||||
|
clean-hdr:
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f config.h
|
||||||
|
|
||||||
|
maintainer-clean-hdr:
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run `make' without going through this Makefile.
|
||||||
|
# To change the values of `make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in `config.status', edit `config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||||
|
# (2) otherwise, pass the desired values on the `make' command line.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
|
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||||
|
maintainer-clean-recursive:
|
||||||
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
|
dot_seen=no; \
|
||||||
|
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
rev="$$subdir $$rev"; \
|
||||||
|
test "$$subdir" = "." && dot_seen=yes; \
|
||||||
|
done; \
|
||||||
|
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
for subdir in $$rev; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
|
done && test -z "$$fail"
|
||||||
|
tags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
|
done
|
||||||
|
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
here=`pwd` && cd $(srcdir) \
|
||||||
|
&& mkid -f$$here/ID $$unique $(LISP)
|
||||||
|
|
||||||
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
list='$(SOURCES) $(HEADERS)'; \
|
||||||
|
unique=`for i in $$list; do echo $$i; done | \
|
||||||
|
awk ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|
||||||
|
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
|
||||||
|
|
||||||
|
mostlyclean-tags:
|
||||||
|
|
||||||
|
clean-tags:
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID
|
||||||
|
|
||||||
|
maintainer-clean-tags:
|
||||||
|
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||||
|
mkdir $(distdir)/=build
|
||||||
|
mkdir $(distdir)/=inst
|
||||||
|
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||||
|
cd $(distdir)/=build \
|
||||||
|
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||||
|
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||||
|
echo "$$dashes"; \
|
||||||
|
echo "$$banner"; \
|
||||||
|
echo "$$dashes"
|
||||||
|
dist: distdir
|
||||||
|
-chmod -R a+r $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
dist-all: distdir
|
||||||
|
-chmod -R a+r $(distdir)
|
||||||
|
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
-rm -rf $(distdir)
|
||||||
|
mkdir $(distdir)
|
||||||
|
-chmod 777 $(distdir)
|
||||||
|
@for file in $(DISTFILES); do \
|
||||||
|
d=$(srcdir); \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
for subdir in $(SUBDIRS); do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -d $(distdir)/$$subdir \
|
||||||
|
|| mkdir $(distdir)/$$subdir \
|
||||||
|
|| exit 1; \
|
||||||
|
chmod 777 $(distdir)/$$subdir; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
info-am:
|
||||||
|
info: info-recursive
|
||||||
|
dvi-am:
|
||||||
|
dvi: dvi-recursive
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
installcheck-am:
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
all-recursive-am: config.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
install-data: install-data-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
install: install-recursive
|
||||||
|
uninstall-am:
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
all-am: Makefile config.h
|
||||||
|
all-redirect: all-recursive-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
|
||||||
|
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f config.status
|
||||||
|
|
||||||
|
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
|
||||||
|
maintainer-clean-generic distclean-am
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f config.status
|
||||||
|
|
||||||
|
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
|
||||||
|
install-data-recursive uninstall-data-recursive install-exec-recursive \
|
||||||
|
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
|
||||||
|
all-recursive check-recursive installcheck-recursive info-recursive \
|
||||||
|
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
|
||||||
|
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||||
|
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||||
|
dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
|
||||||
|
install-exec-am install-exec install-data-am install-data install-am \
|
||||||
|
install uninstall-am uninstall all-redirect all-am all installdirs-am \
|
||||||
|
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||||
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
0
wmacpiload-0.1.2/NEWS
Normal file
0
wmacpiload-0.1.2/NEWS
Normal file
4
wmacpiload-0.1.2/README
Normal file
4
wmacpiload-0.1.2/README
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
I can make no guarantee about this codes functionality on systems other than Linux - I do not
|
||||||
|
have other OSes to test upon (least ways ones that I regularly boot into). Also keep in mind that
|
||||||
|
some systems dont support suspend etc in ACPI - as usual the risk is yours. Thats about all I can offer
|
||||||
|
in the way of advice - feel free to email me <bratag44@hotmail.com> with suggestions etc.
|
8
wmacpiload-0.1.2/THANKS
Normal file
8
wmacpiload-0.1.2/THANKS
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Thomas Nemeth for creating wmapmload on which this is based
|
||||||
|
For creating WMMemMon and WMCPULoad for which this is based:
|
||||||
|
Seiichi SATO <ssato@sh.rim.or.jp>
|
||||||
|
For creating WMMemLoad for which this is based:
|
||||||
|
Mark Staggs <me@markstaggs.net>
|
||||||
|
For wmapm for which this is based:
|
||||||
|
Chris D. Faulhaber <jedgar@speck.ml.org>
|
||||||
|
Michael G. Henderson <mghenderson@lanl.gov>
|
3
wmacpiload-0.1.2/TODO
Normal file
3
wmacpiload-0.1.2/TODO
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
* other OS support(help!)
|
||||||
|
* optimize drawing-routines (MIT-SHM)
|
||||||
|
* Non-GNU make fixes
|
27
wmacpiload-0.1.2/acinclude.m4
Normal file
27
wmacpiload-0.1.2/acinclude.m4
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# $Id: acinclude.m4,v 1.3 1999/07/24 22:01:51 daeron Exp $
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl DA_CHECK_LIB(NAME, FUNCTION, EXTRALIBS)
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(DA_CHECK_LIB,
|
||||||
|
[
|
||||||
|
LDFLAGS_old="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||||
|
AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
|
||||||
|
LDFLAGS="$LDFLAGS_old"
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl DA_CHECK_HEADER(NAME)
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(DA_CHECK_HEADER,
|
||||||
|
[
|
||||||
|
CPPFLAGS_old="$CPPFLAGS"
|
||||||
|
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||||
|
AC_CHECK_HEADER([$1])
|
||||||
|
CPPFLAGS="$CPPFLAGS_old"
|
||||||
|
])
|
||||||
|
|
155
wmacpiload-0.1.2/aclocal.m4
vendored
Normal file
155
wmacpiload-0.1.2/aclocal.m4
vendored
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
dnl aclocal.m4 generated automatically by aclocal 1.4-p4
|
||||||
|
|
||||||
|
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl This program is distributed in the hope that it will be useful,
|
||||||
|
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
dnl PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# $Id: acinclude.m4,v 1.3 1999/07/24 22:01:51 daeron Exp $
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl DA_CHECK_LIB(NAME, FUNCTION, EXTRALIBS)
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(DA_CHECK_LIB,
|
||||||
|
[
|
||||||
|
LDFLAGS_old="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||||
|
AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
|
||||||
|
LDFLAGS="$LDFLAGS_old"
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl DA_CHECK_HEADER(NAME)
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(DA_CHECK_HEADER,
|
||||||
|
[
|
||||||
|
CPPFLAGS_old="$CPPFLAGS"
|
||||||
|
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||||
|
AC_CHECK_HEADER([$1])
|
||||||
|
CPPFLAGS="$CPPFLAGS_old"
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
# Do all the work for Automake. This macro actually does too much --
|
||||||
|
# some checks are only needed if your package does certain things.
|
||||||
|
# But this isn't really a big deal.
|
||||||
|
|
||||||
|
# serial 1
|
||||||
|
|
||||||
|
dnl Usage:
|
||||||
|
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||||
|
|
||||||
|
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||||
|
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||||
|
PACKAGE=[$1]
|
||||||
|
AC_SUBST(PACKAGE)
|
||||||
|
VERSION=[$2]
|
||||||
|
AC_SUBST(VERSION)
|
||||||
|
dnl test to see if srcdir already configured
|
||||||
|
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||||
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||||
|
fi
|
||||||
|
ifelse([$3],,
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||||
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||||
|
AC_REQUIRE([AM_SANITY_CHECK])
|
||||||
|
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||||
|
dnl FIXME This is truly gross.
|
||||||
|
missing_dir=`cd $ac_aux_dir && pwd`
|
||||||
|
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||||
|
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||||
|
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||||
|
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||||
|
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check to make sure that the build environment is sane.
|
||||||
|
#
|
||||||
|
|
||||||
|
AC_DEFUN(AM_SANITY_CHECK,
|
||||||
|
[AC_MSG_CHECKING([whether build environment is sane])
|
||||||
|
# Just in case
|
||||||
|
sleep 1
|
||||||
|
echo timestamp > conftestfile
|
||||||
|
# Do `set' in a subshell so we don't clobber the current shell's
|
||||||
|
# arguments. Must try -L first in case configure is actually a
|
||||||
|
# symlink; some systems play weird games with the mod time of symlinks
|
||||||
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||||
|
# directory).
|
||||||
|
if (
|
||||||
|
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||||
|
if test "[$]*" = "X"; then
|
||||||
|
# -L didn't work.
|
||||||
|
set X `ls -t $srcdir/configure conftestfile`
|
||||||
|
fi
|
||||||
|
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||||
|
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||||
|
|
||||||
|
# If neither matched, then we have a broken ls. This can happen
|
||||||
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||||
|
# broken ls alias from the environment. This has actually
|
||||||
|
# happened. Such a system could not be considered "sane".
|
||||||
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||||
|
alias in your environment])
|
||||||
|
fi
|
||||||
|
|
||||||
|
test "[$]2" = conftestfile
|
||||||
|
)
|
||||||
|
then
|
||||||
|
# Ok.
|
||||||
|
:
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||||
|
Check your system clock])
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
AC_MSG_RESULT(yes)])
|
||||||
|
|
||||||
|
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||||
|
dnl The program must properly implement --version.
|
||||||
|
AC_DEFUN(AM_MISSING_PROG,
|
||||||
|
[AC_MSG_CHECKING(for working $2)
|
||||||
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
|
# an executable is not found, even if stderr is redirected.
|
||||||
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||||
|
$1=$2
|
||||||
|
AC_MSG_RESULT(found)
|
||||||
|
else
|
||||||
|
$1="$3/missing $2"
|
||||||
|
AC_MSG_RESULT(missing)
|
||||||
|
fi
|
||||||
|
AC_SUBST($1)])
|
||||||
|
|
||||||
|
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
||||||
|
|
||||||
|
AC_DEFUN(AM_CONFIG_HEADER,
|
||||||
|
[AC_PREREQ([2.12])
|
||||||
|
AC_CONFIG_HEADER([$1])
|
||||||
|
dnl When config.status generates a header, we must update the stamp-h file.
|
||||||
|
dnl This file resides in the same directory as the config header
|
||||||
|
dnl that is generated. We must strip everything past the first ":",
|
||||||
|
dnl and everything past the last "/".
|
||||||
|
AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
|
||||||
|
ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
|
||||||
|
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
|
||||||
|
<<am_indx=1
|
||||||
|
for am_file in <<$1>>; do
|
||||||
|
case " <<$>>CONFIG_HEADERS " in
|
||||||
|
*" <<$>>am_file "*<<)>>
|
||||||
|
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
am_indx=`expr "<<$>>am_indx" + 1`
|
||||||
|
done<<>>dnl>>)
|
||||||
|
changequote([,]))])
|
||||||
|
|
1320
wmacpiload-0.1.2/config.guess
vendored
Executable file
1320
wmacpiload-0.1.2/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load diff
101
wmacpiload-0.1.2/config.h
Normal file
101
wmacpiload-0.1.2/config.h
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
/* config.h. Generated by configure. */
|
||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* use debug code */
|
||||||
|
/* #undef DEBUG */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#define HAVE_FCNTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if your system has a working `malloc' function. */
|
||||||
|
#define HAVE_MALLOC 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `select' function. */
|
||||||
|
#define HAVE_SELECT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stddef.h> header file. */
|
||||||
|
#define HAVE_STDDEF_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strtoul' function. */
|
||||||
|
#define HAVE_STRTOUL 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||||
|
#define HAVE_SYS_PARAM_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#define HAVE_SYS_TIME_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `uname' function. */
|
||||||
|
#define HAVE_UNAME 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
|
||||||
|
/* use '--ignore-buffers' option */
|
||||||
|
#define IGNORE_BUFFERS 1
|
||||||
|
|
||||||
|
/* use '--ignore-cached' option */
|
||||||
|
#define IGNORE_CACHED 1
|
||||||
|
|
||||||
|
/* use '--ignore-wired' option */
|
||||||
|
/* #undef IGNORE_WIRED */
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#define PACKAGE "wmapmload"
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#define PACKAGE_BUGREPORT "tnemeth@free.fr"
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#define PACKAGE_NAME "wmapmload"
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#define PACKAGE_STRING "wmapmload 0.3.2"
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#define PACKAGE_TARNAME "wmapmload"
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#define PACKAGE_VERSION "0.3.2"
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
#define TIME_WITH_SYS_TIME 1
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#define VERSION "0.3.2"
|
||||||
|
|
||||||
|
/* Define to 1 if the X Window System is missing or not being used. */
|
||||||
|
/* #undef X_DISPLAY_MISSING */
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
/* #undef const */
|
||||||
|
|
||||||
|
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||||
|
/* #undef size_t */
|
100
wmacpiload-0.1.2/config.h.in
Normal file
100
wmacpiload-0.1.2/config.h.in
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* use debug code */
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#undef HAVE_FCNTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if your system has a working `malloc' function. */
|
||||||
|
#undef HAVE_MALLOC
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `select' function. */
|
||||||
|
#undef HAVE_SELECT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stddef.h> header file. */
|
||||||
|
#undef HAVE_STDDEF_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strtoul' function. */
|
||||||
|
#undef HAVE_STRTOUL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||||
|
#undef HAVE_SYS_PARAM_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#undef HAVE_SYS_TIME_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `uname' function. */
|
||||||
|
#undef HAVE_UNAME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* use '--ignore-buffers' option */
|
||||||
|
#undef IGNORE_BUFFERS
|
||||||
|
|
||||||
|
/* use '--ignore-cached' option */
|
||||||
|
#undef IGNORE_CACHED
|
||||||
|
|
||||||
|
/* use '--ignore-wired' option */
|
||||||
|
#undef IGNORE_WIRED
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
#undef TIME_WITH_SYS_TIME
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if the X Window System is missing or not being used. */
|
||||||
|
#undef X_DISPLAY_MISSING
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
#undef const
|
||||||
|
|
||||||
|
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||||
|
#undef size_t
|
532
wmacpiload-0.1.2/config.log
Normal file
532
wmacpiload-0.1.2/config.log
Normal file
|
@ -0,0 +1,532 @@
|
||||||
|
This file contains any messages produced by compilers while
|
||||||
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
|
It was created by wmapmload configure 0.3.2, which was
|
||||||
|
generated by GNU Autoconf 2.53. Invocation command line was
|
||||||
|
|
||||||
|
$ ./configure
|
||||||
|
|
||||||
|
## --------- ##
|
||||||
|
## Platform. ##
|
||||||
|
## --------- ##
|
||||||
|
|
||||||
|
hostname = sleet
|
||||||
|
uname -m = i686
|
||||||
|
uname -r = 2.4.21-0.11mdkcustom
|
||||||
|
uname -s = Linux
|
||||||
|
uname -v = #2 Sat Mar 22 01:01:25 EST 2003
|
||||||
|
|
||||||
|
/usr/bin/uname -p = unknown
|
||||||
|
/bin/uname -X = unknown
|
||||||
|
|
||||||
|
/bin/arch = i686
|
||||||
|
/usr/bin/arch -k = unknown
|
||||||
|
/usr/convex/getsysinfo = unknown
|
||||||
|
hostinfo = unknown
|
||||||
|
/bin/machine = unknown
|
||||||
|
/usr/bin/oslevel = unknown
|
||||||
|
/bin/universe = unknown
|
||||||
|
|
||||||
|
PATH: /sbin
|
||||||
|
PATH: /usr/sbin
|
||||||
|
PATH: /bin
|
||||||
|
PATH: /usr/bin
|
||||||
|
PATH: /usr/X11R6/bin
|
||||||
|
PATH: /usr/local/bin
|
||||||
|
PATH: /usr/local/sbin
|
||||||
|
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## Core tests. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
configure:1251: checking build system type
|
||||||
|
configure:1269: result: i686-pc-linux-gnu
|
||||||
|
configure:1277: checking host system type
|
||||||
|
configure:1291: result: i686-pc-linux-gnu
|
||||||
|
configure:1299: checking target system type
|
||||||
|
configure:1313: result: i686-pc-linux-gnu
|
||||||
|
configure:1339: checking for a BSD-compatible install
|
||||||
|
configure:1393: result: /usr/bin/install -c
|
||||||
|
configure:1404: checking whether build environment is sane
|
||||||
|
configure:1447: result: yes
|
||||||
|
configure:1462: checking whether make sets ${MAKE}
|
||||||
|
configure:1482: result: yes
|
||||||
|
configure:1514: checking for working aclocal
|
||||||
|
configure:1521: result: found
|
||||||
|
configure:1529: checking for working autoconf
|
||||||
|
configure:1536: result: found
|
||||||
|
configure:1544: checking for working automake
|
||||||
|
configure:1551: result: found
|
||||||
|
configure:1559: checking for working autoheader
|
||||||
|
configure:1566: result: found
|
||||||
|
configure:1574: checking for working makeinfo
|
||||||
|
configure:1581: result: found
|
||||||
|
configure:1602: checking for gawk
|
||||||
|
configure:1618: found /bin/gawk
|
||||||
|
configure:1628: result: gawk
|
||||||
|
configure:1684: checking for gcc
|
||||||
|
configure:1700: found /usr/bin/gcc
|
||||||
|
configure:1710: result: gcc
|
||||||
|
configure:1954: checking for C compiler version
|
||||||
|
configure:1957: gcc --version </dev/null >&5
|
||||||
|
gcc (GCC) 3.2.2 (Mandrake Linux 9.1 3.2.2-2mdk)
|
||||||
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
configure:1960: $? = 0
|
||||||
|
configure:1962: gcc -v </dev/null >&5
|
||||||
|
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2.2/specs
|
||||||
|
Configured with: ../configure --prefix=/usr --libdir=/usr/lib --with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java --host=i586-mandrake-linux-gnu --with-system-zlib
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-2mdk)
|
||||||
|
configure:1965: $? = 0
|
||||||
|
configure:1967: gcc -V </dev/null >&5
|
||||||
|
gcc: argument to `-V' is missing
|
||||||
|
configure:1970: $? = 1
|
||||||
|
configure:1996: checking for C compiler default output
|
||||||
|
configure:1999: gcc conftest.c >&5
|
||||||
|
configure:2002: $? = 0
|
||||||
|
configure:2035: result: a.out
|
||||||
|
configure:2040: checking whether the C compiler works
|
||||||
|
configure:2046: ./a.out
|
||||||
|
configure:2049: $? = 0
|
||||||
|
configure:2064: result: yes
|
||||||
|
configure:2071: checking whether we are cross compiling
|
||||||
|
configure:2073: result: no
|
||||||
|
configure:2076: checking for suffix of executables
|
||||||
|
configure:2078: gcc -o conftest conftest.c >&5
|
||||||
|
configure:2081: $? = 0
|
||||||
|
configure:2103: result:
|
||||||
|
configure:2109: checking for suffix of object files
|
||||||
|
configure:2133: gcc -c conftest.c >&5
|
||||||
|
configure:2136: $? = 0
|
||||||
|
configure:2155: result: o
|
||||||
|
configure:2159: checking whether we are using the GNU C compiler
|
||||||
|
configure:2186: gcc -c conftest.c >&5
|
||||||
|
configure:2189: $? = 0
|
||||||
|
configure:2192: test -s conftest.o
|
||||||
|
configure:2195: $? = 0
|
||||||
|
configure:2207: result: yes
|
||||||
|
configure:2213: checking whether gcc accepts -g
|
||||||
|
configure:2237: gcc -c -g conftest.c >&5
|
||||||
|
configure:2240: $? = 0
|
||||||
|
configure:2243: test -s conftest.o
|
||||||
|
configure:2246: $? = 0
|
||||||
|
configure:2256: result: yes
|
||||||
|
configure:2283: gcc -c -g -O2 conftest.c >&5
|
||||||
|
conftest.c:2: parse error before "me"
|
||||||
|
configure:2286: $? = 1
|
||||||
|
configure: failed program was:
|
||||||
|
#ifndef __cplusplus
|
||||||
|
choke me
|
||||||
|
#endif
|
||||||
|
configure:2408: checking for a BSD-compatible install
|
||||||
|
configure:2462: result: /usr/bin/install -c
|
||||||
|
configure:2473: checking whether ln -s works
|
||||||
|
configure:2477: result: yes
|
||||||
|
configure:2507: checking how to run the C preprocessor
|
||||||
|
configure:2533: gcc -E conftest.c
|
||||||
|
configure:2539: $? = 0
|
||||||
|
configure:2566: gcc -E conftest.c
|
||||||
|
configure:2562:28: ac_nonexistent.h: No such file or directory
|
||||||
|
configure:2572: $? = 1
|
||||||
|
configure: failed program was:
|
||||||
|
#line 2561 "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
configure:2609: result: gcc -E
|
||||||
|
configure:2624: gcc -E conftest.c
|
||||||
|
configure:2630: $? = 0
|
||||||
|
configure:2657: gcc -E conftest.c
|
||||||
|
configure:2653:28: ac_nonexistent.h: No such file or directory
|
||||||
|
configure:2663: $? = 1
|
||||||
|
configure: failed program was:
|
||||||
|
#line 2652 "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
configure:2703: checking for X
|
||||||
|
configure:2919: result: libraries /usr/X11R6/lib, headers /usr/X11R6/include
|
||||||
|
configure:3076: gcc -o conftest -g -O2 conftest.c -L/usr/X11R6/lib -lX11 >&5
|
||||||
|
configure:3079: $? = 0
|
||||||
|
configure:3082: test -s conftest
|
||||||
|
configure:3085: $? = 0
|
||||||
|
configure:3223: checking for gethostbyname
|
||||||
|
configure:3266: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:3269: $? = 0
|
||||||
|
configure:3272: test -s conftest
|
||||||
|
configure:3275: $? = 0
|
||||||
|
configure:3285: result: yes
|
||||||
|
configure:3418: checking for connect
|
||||||
|
configure:3461: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:3464: $? = 0
|
||||||
|
configure:3467: test -s conftest
|
||||||
|
configure:3470: $? = 0
|
||||||
|
configure:3480: result: yes
|
||||||
|
configure:3546: checking for remove
|
||||||
|
configure:3589: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:3592: $? = 0
|
||||||
|
configure:3595: test -s conftest
|
||||||
|
configure:3598: $? = 0
|
||||||
|
configure:3608: result: yes
|
||||||
|
configure:3674: checking for shmat
|
||||||
|
configure:3717: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:3720: $? = 0
|
||||||
|
configure:3723: test -s conftest
|
||||||
|
configure:3726: $? = 0
|
||||||
|
configure:3736: result: yes
|
||||||
|
configure:3811: checking for IceConnectionNumber in -lICE
|
||||||
|
configure:3844: gcc -o conftest -g -O2 -L/usr/X11R6/lib conftest.c -lICE >&5
|
||||||
|
configure:3847: $? = 0
|
||||||
|
configure:3850: test -s conftest
|
||||||
|
configure:3853: $? = 0
|
||||||
|
configure:3864: result: yes
|
||||||
|
configure:3888: checking for XShapeCombineMask in -lXext
|
||||||
|
configure:3921: gcc -o conftest -g -O2 conftest.c -lXext -L/usr/X11R6/lib -lX11 >&5
|
||||||
|
configure:3924: $? = 0
|
||||||
|
configure:3927: test -s conftest
|
||||||
|
configure:3930: $? = 0
|
||||||
|
configure:3941: result: yes
|
||||||
|
configure:3951: checking for XpmCreatePixmapFromData in -lXpm
|
||||||
|
configure:3984: gcc -o conftest -g -O2 conftest.c -lXpm -L/usr/X11R6/lib -lX11 >&5
|
||||||
|
configure:3987: $? = 0
|
||||||
|
configure:3990: test -s conftest
|
||||||
|
configure:3993: $? = 0
|
||||||
|
configure:4004: result: yes
|
||||||
|
configure:4105: checking for ANSI C header files
|
||||||
|
configure:4119: gcc -E conftest.c
|
||||||
|
configure:4125: $? = 0
|
||||||
|
configure:4210: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:4213: $? = 0
|
||||||
|
configure:4215: ./conftest
|
||||||
|
configure:4218: $? = 0
|
||||||
|
configure:4232: result: yes
|
||||||
|
configure:4256: checking for sys/types.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for sys/stat.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for stdlib.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for string.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for memory.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for strings.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for inttypes.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for stdint.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4256: checking for unistd.h
|
||||||
|
configure:4269: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4272: $? = 0
|
||||||
|
configure:4275: test -s conftest.o
|
||||||
|
configure:4278: $? = 0
|
||||||
|
configure:4288: result: yes
|
||||||
|
configure:4322: checking fcntl.h usability
|
||||||
|
configure:4331: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4334: $? = 0
|
||||||
|
configure:4337: test -s conftest.o
|
||||||
|
configure:4340: $? = 0
|
||||||
|
configure:4349: result: yes
|
||||||
|
configure:4353: checking fcntl.h presence
|
||||||
|
configure:4360: gcc -E conftest.c
|
||||||
|
configure:4366: $? = 0
|
||||||
|
configure:4384: result: yes
|
||||||
|
configure:4402: checking for fcntl.h
|
||||||
|
configure:4409: result: yes
|
||||||
|
configure:4313: checking for memory.h
|
||||||
|
configure:4318: result: yes
|
||||||
|
configure:4322: checking stddef.h usability
|
||||||
|
configure:4331: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4334: $? = 0
|
||||||
|
configure:4337: test -s conftest.o
|
||||||
|
configure:4340: $? = 0
|
||||||
|
configure:4349: result: yes
|
||||||
|
configure:4353: checking stddef.h presence
|
||||||
|
configure:4360: gcc -E conftest.c
|
||||||
|
configure:4366: $? = 0
|
||||||
|
configure:4384: result: yes
|
||||||
|
configure:4402: checking for stddef.h
|
||||||
|
configure:4409: result: yes
|
||||||
|
configure:4313: checking for stdlib.h
|
||||||
|
configure:4318: result: yes
|
||||||
|
configure:4313: checking for string.h
|
||||||
|
configure:4318: result: yes
|
||||||
|
configure:4313: checking for strings.h
|
||||||
|
configure:4318: result: yes
|
||||||
|
configure:4322: checking sys/param.h usability
|
||||||
|
configure:4331: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4334: $? = 0
|
||||||
|
configure:4337: test -s conftest.o
|
||||||
|
configure:4340: $? = 0
|
||||||
|
configure:4349: result: yes
|
||||||
|
configure:4353: checking sys/param.h presence
|
||||||
|
configure:4360: gcc -E conftest.c
|
||||||
|
configure:4366: $? = 0
|
||||||
|
configure:4384: result: yes
|
||||||
|
configure:4402: checking for sys/param.h
|
||||||
|
configure:4409: result: yes
|
||||||
|
configure:4322: checking sys/time.h usability
|
||||||
|
configure:4331: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4334: $? = 0
|
||||||
|
configure:4337: test -s conftest.o
|
||||||
|
configure:4340: $? = 0
|
||||||
|
configure:4349: result: yes
|
||||||
|
configure:4353: checking sys/time.h presence
|
||||||
|
configure:4360: gcc -E conftest.c
|
||||||
|
configure:4366: $? = 0
|
||||||
|
configure:4384: result: yes
|
||||||
|
configure:4402: checking for sys/time.h
|
||||||
|
configure:4409: result: yes
|
||||||
|
configure:4313: checking for unistd.h
|
||||||
|
configure:4318: result: yes
|
||||||
|
configure:4423: checking for gcc option to accept ANSI C
|
||||||
|
configure:4486: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4489: $? = 0
|
||||||
|
configure:4492: test -s conftest.o
|
||||||
|
configure:4495: $? = 0
|
||||||
|
configure:4512: result: none needed
|
||||||
|
configure:4520: checking for an ANSI C-conforming const
|
||||||
|
configure:4590: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4593: $? = 0
|
||||||
|
configure:4596: test -s conftest.o
|
||||||
|
configure:4599: $? = 0
|
||||||
|
configure:4609: result: yes
|
||||||
|
configure:4619: checking for size_t
|
||||||
|
configure:4646: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4649: $? = 0
|
||||||
|
configure:4652: test -s conftest.o
|
||||||
|
configure:4655: $? = 0
|
||||||
|
configure:4665: result: yes
|
||||||
|
configure:4677: checking whether time.h and sys/time.h may both be included
|
||||||
|
configure:4705: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:4708: $? = 0
|
||||||
|
configure:4711: test -s conftest.o
|
||||||
|
configure:4714: $? = 0
|
||||||
|
configure:4724: result: yes
|
||||||
|
configure:4740: checking for stdlib.h
|
||||||
|
configure:4745: result: yes
|
||||||
|
configure:4849: checking for working malloc
|
||||||
|
configure:4881: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:4884: $? = 0
|
||||||
|
configure:4886: ./conftest
|
||||||
|
configure:4889: $? = 0
|
||||||
|
configure:4902: result: yes
|
||||||
|
configure:4918: checking for select
|
||||||
|
configure:4961: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:4964: $? = 0
|
||||||
|
configure:4967: test -s conftest
|
||||||
|
configure:4970: $? = 0
|
||||||
|
configure:4980: result: yes
|
||||||
|
configure:4918: checking for strtoul
|
||||||
|
configure:4961: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:4964: $? = 0
|
||||||
|
configure:4967: test -s conftest
|
||||||
|
configure:4970: $? = 0
|
||||||
|
configure:4980: result: yes
|
||||||
|
configure:4918: checking for uname
|
||||||
|
configure:4961: gcc -o conftest -g -O2 conftest.c >&5
|
||||||
|
configure:4964: $? = 0
|
||||||
|
configure:4967: test -s conftest
|
||||||
|
configure:4970: $? = 0
|
||||||
|
configure:4980: result: yes
|
||||||
|
configure:5073: creating ./config.status
|
||||||
|
|
||||||
|
## ---------------------- ##
|
||||||
|
## Running config.status. ##
|
||||||
|
## ---------------------- ##
|
||||||
|
|
||||||
|
This file was extended by wmapmload config.status 0.3.2, which was
|
||||||
|
generated by GNU Autoconf 2.53. Invocation command line was
|
||||||
|
|
||||||
|
CONFIG_FILES =
|
||||||
|
CONFIG_HEADERS =
|
||||||
|
CONFIG_LINKS =
|
||||||
|
CONFIG_COMMANDS =
|
||||||
|
$ ./config.status
|
||||||
|
|
||||||
|
on sleet
|
||||||
|
|
||||||
|
config.status:615: creating Makefile
|
||||||
|
config.status:615: creating src/Makefile
|
||||||
|
config.status:615: creating doc/Makefile
|
||||||
|
config.status:719: creating config.h
|
||||||
|
config.status:858: config.h is unchanged
|
||||||
|
config.status:953: executing default-1 commands
|
||||||
|
|
||||||
|
## ---------------- ##
|
||||||
|
## Cache variables. ##
|
||||||
|
## ---------------- ##
|
||||||
|
|
||||||
|
ac_cv_build=i686-pc-linux-gnu
|
||||||
|
ac_cv_build_alias=i686-pc-linux-gnu
|
||||||
|
ac_cv_c_compiler_gnu=yes
|
||||||
|
ac_cv_c_const=yes
|
||||||
|
ac_cv_env_CC_set=
|
||||||
|
ac_cv_env_CC_value=
|
||||||
|
ac_cv_env_CFLAGS_set=
|
||||||
|
ac_cv_env_CFLAGS_value=
|
||||||
|
ac_cv_env_CPPFLAGS_set=
|
||||||
|
ac_cv_env_CPPFLAGS_value=
|
||||||
|
ac_cv_env_CPP_set=
|
||||||
|
ac_cv_env_CPP_value=
|
||||||
|
ac_cv_env_LDFLAGS_set=
|
||||||
|
ac_cv_env_LDFLAGS_value=
|
||||||
|
ac_cv_env_build_alias_set=
|
||||||
|
ac_cv_env_build_alias_value=
|
||||||
|
ac_cv_env_host_alias_set=
|
||||||
|
ac_cv_env_host_alias_value=
|
||||||
|
ac_cv_env_target_alias_set=
|
||||||
|
ac_cv_env_target_alias_value=
|
||||||
|
ac_cv_exeext=
|
||||||
|
ac_cv_func_connect=yes
|
||||||
|
ac_cv_func_gethostbyname=yes
|
||||||
|
ac_cv_func_malloc_works=yes
|
||||||
|
ac_cv_func_remove=yes
|
||||||
|
ac_cv_func_select=yes
|
||||||
|
ac_cv_func_shmat=yes
|
||||||
|
ac_cv_func_strtoul=yes
|
||||||
|
ac_cv_func_uname=yes
|
||||||
|
ac_cv_have_x='have_x=yes ac_x_includes=/usr/X11R6/include ac_x_libraries=/usr/X11R6/lib'
|
||||||
|
ac_cv_header_fcntl_h=yes
|
||||||
|
ac_cv_header_inttypes_h=yes
|
||||||
|
ac_cv_header_memory_h=yes
|
||||||
|
ac_cv_header_stdc=yes
|
||||||
|
ac_cv_header_stddef_h=yes
|
||||||
|
ac_cv_header_stdint_h=yes
|
||||||
|
ac_cv_header_stdlib_h=yes
|
||||||
|
ac_cv_header_string_h=yes
|
||||||
|
ac_cv_header_strings_h=yes
|
||||||
|
ac_cv_header_sys_param_h=yes
|
||||||
|
ac_cv_header_sys_stat_h=yes
|
||||||
|
ac_cv_header_sys_time_h=yes
|
||||||
|
ac_cv_header_sys_types_h=yes
|
||||||
|
ac_cv_header_time=yes
|
||||||
|
ac_cv_header_unistd_h=yes
|
||||||
|
ac_cv_host=i686-pc-linux-gnu
|
||||||
|
ac_cv_host_alias=i686-pc-linux-gnu
|
||||||
|
ac_cv_lib_ICE_IceConnectionNumber=yes
|
||||||
|
ac_cv_lib_Xext_XShapeCombineMask=yes
|
||||||
|
ac_cv_lib_Xpm_XpmCreatePixmapFromData=yes
|
||||||
|
ac_cv_objext=o
|
||||||
|
ac_cv_path_install='/usr/bin/install -c'
|
||||||
|
ac_cv_prog_AWK=gawk
|
||||||
|
ac_cv_prog_CPP='gcc -E'
|
||||||
|
ac_cv_prog_ac_ct_CC=gcc
|
||||||
|
ac_cv_prog_cc_g=yes
|
||||||
|
ac_cv_prog_cc_stdc=
|
||||||
|
ac_cv_prog_make_make_set=yes
|
||||||
|
ac_cv_target=i686-pc-linux-gnu
|
||||||
|
ac_cv_target_alias=i686-pc-linux-gnu
|
||||||
|
ac_cv_type_size_t=yes
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## confdefs.h. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
#define PACKAGE_NAME "wmapmload"
|
||||||
|
#define PACKAGE_TARNAME "wmapmload"
|
||||||
|
#define PACKAGE_VERSION "0.3.2"
|
||||||
|
#define PACKAGE_STRING "wmapmload 0.3.2"
|
||||||
|
#define PACKAGE_BUGREPORT "tnemeth@free.fr"
|
||||||
|
#define PACKAGE "wmapmload"
|
||||||
|
#define VERSION "0.3.2"
|
||||||
|
#define IGNORE_BUFFERS 1
|
||||||
|
#define IGNORE_CACHED 1
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
#define HAVE_FCNTL_H 1
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
#define HAVE_STDDEF_H 1
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
#define HAVE_SYS_PARAM_H 1
|
||||||
|
#define HAVE_SYS_TIME_H 1
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
#define TIME_WITH_SYS_TIME 1
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
#define HAVE_MALLOC 1
|
||||||
|
#define HAVE_SELECT 1
|
||||||
|
#define HAVE_STRTOUL 1
|
||||||
|
#define HAVE_UNAME 1
|
||||||
|
|
||||||
|
configure: exit 0
|
||||||
|
|
||||||
|
## ---------------------- ##
|
||||||
|
## Running config.status. ##
|
||||||
|
## ---------------------- ##
|
||||||
|
|
||||||
|
This file was extended by wmapmload config.status 0.3.2, which was
|
||||||
|
generated by GNU Autoconf 2.53. Invocation command line was
|
||||||
|
|
||||||
|
CONFIG_FILES = src/Makefile
|
||||||
|
CONFIG_HEADERS =
|
||||||
|
CONFIG_LINKS =
|
||||||
|
CONFIG_COMMANDS =
|
||||||
|
$ ./config.status
|
||||||
|
|
||||||
|
on sleet
|
||||||
|
|
||||||
|
config.status:615: creating src/Makefile
|
||||||
|
config.status:953: executing default-1 commands
|
||||||
|
|
||||||
|
## ---------------------- ##
|
||||||
|
## Running config.status. ##
|
||||||
|
## ---------------------- ##
|
||||||
|
|
||||||
|
This file was extended by wmapmload config.status 0.3.2, which was
|
||||||
|
generated by GNU Autoconf 2.53. Invocation command line was
|
||||||
|
|
||||||
|
CONFIG_FILES = doc/Makefile
|
||||||
|
CONFIG_HEADERS =
|
||||||
|
CONFIG_LINKS =
|
||||||
|
CONFIG_COMMANDS =
|
||||||
|
$ ./config.status
|
||||||
|
|
||||||
|
on sleet
|
||||||
|
|
||||||
|
config.status:615: creating doc/Makefile
|
||||||
|
config.status:953: executing default-1 commands
|
960
wmacpiload-0.1.2/config.status
Executable file
960
wmacpiload-0.1.2/config.status
Executable file
|
@ -0,0 +1,960 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Generated by configure.
|
||||||
|
# Run this file to recreate the current configuration.
|
||||||
|
# Compiler output produced by configure, useful for debugging
|
||||||
|
# configure, is in config.log if it exists.
|
||||||
|
|
||||||
|
debug=false
|
||||||
|
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||||
|
|
||||||
|
## --------------------- ##
|
||||||
|
## M4sh Initialization. ##
|
||||||
|
## --------------------- ##
|
||||||
|
|
||||||
|
# Be Bourne compatible
|
||||||
|
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||||
|
emulate sh
|
||||||
|
NULLCMD=:
|
||||||
|
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
|
||||||
|
set -o posix
|
||||||
|
fi
|
||||||
|
|
||||||
|
# NLS nuisances.
|
||||||
|
# Support unset when possible.
|
||||||
|
if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
|
||||||
|
as_unset=unset
|
||||||
|
else
|
||||||
|
as_unset=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
|
||||||
|
{ $as_unset LANG || test "${LANG+set}" != set; } ||
|
||||||
|
{ LANG=C; export LANG; }
|
||||||
|
(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
|
||||||
|
{ $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
|
||||||
|
{ LC_ALL=C; export LC_ALL; }
|
||||||
|
(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
|
||||||
|
{ $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
|
||||||
|
{ LC_TIME=C; export LC_TIME; }
|
||||||
|
(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
|
||||||
|
{ $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
|
||||||
|
{ LC_CTYPE=C; export LC_CTYPE; }
|
||||||
|
(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
|
||||||
|
{ $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
|
||||||
|
{ LANGUAGE=C; export LANGUAGE; }
|
||||||
|
(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
|
||||||
|
{ $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
|
||||||
|
{ LC_COLLATE=C; export LC_COLLATE; }
|
||||||
|
(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
|
||||||
|
{ $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
|
||||||
|
{ LC_NUMERIC=C; export LC_NUMERIC; }
|
||||||
|
(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
|
||||||
|
{ $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
|
||||||
|
{ LC_MESSAGES=C; export LC_MESSAGES; }
|
||||||
|
|
||||||
|
|
||||||
|
# Name of the executable.
|
||||||
|
as_me=`(basename "$0") 2>/dev/null ||
|
||||||
|
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
||||||
|
X"$0" : 'X\(//\)$' \| \
|
||||||
|
X"$0" : 'X\(/\)$' \| \
|
||||||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
|
echo X/"$0" |
|
||||||
|
sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
|
||||||
|
/^X\/\(\/\/\)$/{ s//\1/; q; }
|
||||||
|
/^X\/\(\/\).*/{ s//\1/; q; }
|
||||||
|
s/.*/./; q'`
|
||||||
|
|
||||||
|
# PATH needs CR, and LINENO needs CR and PATH.
|
||||||
|
# Avoid depending upon Character Ranges.
|
||||||
|
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
|
||||||
|
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
||||||
|
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
|
||||||
|
as_cr_digits='0123456789'
|
||||||
|
as_cr_alnum=$as_cr_Letters$as_cr_digits
|
||||||
|
|
||||||
|
# The user is always right.
|
||||||
|
if test "${PATH_SEPARATOR+set}" != set; then
|
||||||
|
echo "#! /bin/sh" >conftest.sh
|
||||||
|
echo "exit 0" >>conftest.sh
|
||||||
|
chmod +x conftest.sh
|
||||||
|
if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
|
||||||
|
PATH_SEPARATOR=';'
|
||||||
|
else
|
||||||
|
PATH_SEPARATOR=:
|
||||||
|
fi
|
||||||
|
rm -f conftest.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
as_lineno_1=$LINENO
|
||||||
|
as_lineno_2=$LINENO
|
||||||
|
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
|
||||||
|
test "x$as_lineno_1" != "x$as_lineno_2" &&
|
||||||
|
test "x$as_lineno_3" = "x$as_lineno_2" || {
|
||||||
|
# Find who we are. Look in the path if we contain no path at all
|
||||||
|
# relative or not.
|
||||||
|
case $0 in
|
||||||
|
*[\\/]* ) as_myself=$0 ;;
|
||||||
|
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
|
||||||
|
done
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# We did not find ourselves, most probably we were run as `sh COMMAND'
|
||||||
|
# in which case we are not to be found in the path.
|
||||||
|
if test "x$as_myself" = x; then
|
||||||
|
as_myself=$0
|
||||||
|
fi
|
||||||
|
if test ! -f "$as_myself"; then
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
|
||||||
|
echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi
|
||||||
|
case $CONFIG_SHELL in
|
||||||
|
'')
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for as_base in sh bash ksh sh5; do
|
||||||
|
case $as_dir in
|
||||||
|
/*)
|
||||||
|
if ("$as_dir/$as_base" -c '
|
||||||
|
as_lineno_1=$LINENO
|
||||||
|
as_lineno_2=$LINENO
|
||||||
|
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
|
||||||
|
test "x$as_lineno_1" != "x$as_lineno_2" &&
|
||||||
|
test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
|
||||||
|
CONFIG_SHELL=$as_dir/$as_base
|
||||||
|
export CONFIG_SHELL
|
||||||
|
exec "$CONFIG_SHELL" "$0" ${1+"$@"}
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
|
||||||
|
# uniformly replaced by the line number. The first 'sed' inserts a
|
||||||
|
# line-number line before each line; the second 'sed' does the real
|
||||||
|
# work. The second script uses 'N' to pair each line-number line
|
||||||
|
# with the numbered line, and appends trailing '-' during
|
||||||
|
# substitution so that $LINENO is not a special case at line end.
|
||||||
|
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
|
||||||
|
# second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
|
||||||
|
sed '=' <$as_myself |
|
||||||
|
sed '
|
||||||
|
N
|
||||||
|
s,$,-,
|
||||||
|
: loop
|
||||||
|
s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
|
||||||
|
t loop
|
||||||
|
s,-$,,
|
||||||
|
s,^['$as_cr_digits']*\n,,
|
||||||
|
' >$as_me.lineno &&
|
||||||
|
chmod +x $as_me.lineno ||
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
|
||||||
|
echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
|
||||||
|
# Don't try to exec as it changes $[0], causing all sort of problems
|
||||||
|
# (the dirname of $[0] is not the place where we might find the
|
||||||
|
# original and so on. Autoconf is especially sensible to this).
|
||||||
|
. ./$as_me.lineno
|
||||||
|
# Exit status is that of the last command.
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
||||||
|
*c*,-n*) ECHO_N= ECHO_C='
|
||||||
|
' ECHO_T=' ' ;;
|
||||||
|
*c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
|
||||||
|
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||||
|
as_expr=expr
|
||||||
|
else
|
||||||
|
as_expr=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conf$$ conf$$.exe conf$$.file
|
||||||
|
echo >conf$$.file
|
||||||
|
if ln -s conf$$.file conf$$ 2>/dev/null; then
|
||||||
|
# We could just check for DJGPP; but this test a) works b) is more generic
|
||||||
|
# and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
|
||||||
|
if test -f conf$$.exe; then
|
||||||
|
# Don't use ln at all; we don't have any links
|
||||||
|
as_ln_s='cp -p'
|
||||||
|
else
|
||||||
|
as_ln_s='ln -s'
|
||||||
|
fi
|
||||||
|
elif ln conf$$.file conf$$ 2>/dev/null; then
|
||||||
|
as_ln_s=ln
|
||||||
|
else
|
||||||
|
as_ln_s='cp -p'
|
||||||
|
fi
|
||||||
|
rm -f conf$$ conf$$.exe conf$$.file
|
||||||
|
|
||||||
|
as_executable_p="test -f"
|
||||||
|
|
||||||
|
# Sed expression to map a string onto a valid CPP name.
|
||||||
|
as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
|
||||||
|
|
||||||
|
# Sed expression to map a string onto a valid variable name.
|
||||||
|
as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
|
||||||
|
|
||||||
|
|
||||||
|
# IFS
|
||||||
|
# We need space, tab and new line, in precisely that order.
|
||||||
|
as_nl='
|
||||||
|
'
|
||||||
|
IFS=" $as_nl"
|
||||||
|
|
||||||
|
# CDPATH.
|
||||||
|
$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
|
||||||
|
|
||||||
|
exec 6>&1
|
||||||
|
|
||||||
|
# Open the log real soon, to keep \$[0] and so on meaningful, and to
|
||||||
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
|
# values after options handling. Logging --version etc. is OK.
|
||||||
|
exec 5>>config.log
|
||||||
|
{
|
||||||
|
echo
|
||||||
|
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
|
||||||
|
## Running $as_me. ##
|
||||||
|
_ASBOX
|
||||||
|
} >&5
|
||||||
|
cat >&5 <<_CSEOF
|
||||||
|
|
||||||
|
This file was extended by wmapmload $as_me 0.3.2, which was
|
||||||
|
generated by GNU Autoconf 2.53. Invocation command line was
|
||||||
|
|
||||||
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||||
|
CONFIG_LINKS = $CONFIG_LINKS
|
||||||
|
CONFIG_COMMANDS = $CONFIG_COMMANDS
|
||||||
|
$ $0 $@
|
||||||
|
|
||||||
|
_CSEOF
|
||||||
|
echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
|
||||||
|
echo >&5
|
||||||
|
config_files=" Makefile src/Makefile doc/Makefile"
|
||||||
|
config_headers=" config.h"
|
||||||
|
config_commands=" default-1"
|
||||||
|
|
||||||
|
ac_cs_usage="\
|
||||||
|
\`$as_me' instantiates files from templates according to the
|
||||||
|
current configuration.
|
||||||
|
|
||||||
|
Usage: $0 [OPTIONS] [FILE]...
|
||||||
|
|
||||||
|
-h, --help print this help, then exit
|
||||||
|
-V, --version print version number, then exit
|
||||||
|
-d, --debug don't remove temporary files
|
||||||
|
--recheck update $as_me by reconfiguring in the same conditions
|
||||||
|
--file=FILE[:TEMPLATE]
|
||||||
|
instantiate the configuration file FILE
|
||||||
|
--header=FILE[:TEMPLATE]
|
||||||
|
instantiate the configuration header FILE
|
||||||
|
|
||||||
|
Configuration files:
|
||||||
|
$config_files
|
||||||
|
|
||||||
|
Configuration headers:
|
||||||
|
$config_headers
|
||||||
|
|
||||||
|
Configuration commands:
|
||||||
|
$config_commands
|
||||||
|
|
||||||
|
Report bugs to <bug-autoconf@gnu.org>."
|
||||||
|
ac_cs_version="\
|
||||||
|
wmapmload config.status 0.3.2
|
||||||
|
configured by ./configure, generated by GNU Autoconf 2.53,
|
||||||
|
with options \"\"
|
||||||
|
|
||||||
|
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
This config.status script is free software; the Free Software Foundation
|
||||||
|
gives unlimited permission to copy, distribute and modify it."
|
||||||
|
srcdir=.
|
||||||
|
INSTALL="/usr/bin/install -c"
|
||||||
|
# If no file are specified by the user, then we need to provide default
|
||||||
|
# value. By we need to know if files were specified by the user.
|
||||||
|
ac_need_defaults=:
|
||||||
|
while test $# != 0
|
||||||
|
do
|
||||||
|
case $1 in
|
||||||
|
--*=*)
|
||||||
|
ac_option=`expr "x$1" : 'x\([^=]*\)='`
|
||||||
|
ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
|
||||||
|
shift
|
||||||
|
set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-*);;
|
||||||
|
*) # This is not an option, so the user has probably given explicit
|
||||||
|
# arguments.
|
||||||
|
ac_need_defaults=false;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
# Handling of the options.
|
||||||
|
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||||
|
echo "running /bin/sh ./configure " " --no-create --no-recursion"
|
||||||
|
exec /bin/sh ./configure --no-create --no-recursion ;;
|
||||||
|
--version | --vers* | -V )
|
||||||
|
echo "$ac_cs_version"; exit 0 ;;
|
||||||
|
--he | --h)
|
||||||
|
# Conflict between --help and --header
|
||||||
|
{ { echo "$as_me:$LINENO: error: ambiguous option: $1
|
||||||
|
Try \`$0 --help' for more information." >&5
|
||||||
|
echo "$as_me: error: ambiguous option: $1
|
||||||
|
Try \`$0 --help' for more information." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; };;
|
||||||
|
--help | --hel | -h )
|
||||||
|
echo "$ac_cs_usage"; exit 0 ;;
|
||||||
|
--debug | --d* | -d )
|
||||||
|
debug=: ;;
|
||||||
|
--file | --fil | --fi | --f )
|
||||||
|
shift
|
||||||
|
CONFIG_FILES="$CONFIG_FILES $1"
|
||||||
|
ac_need_defaults=false;;
|
||||||
|
--header | --heade | --head | --hea )
|
||||||
|
shift
|
||||||
|
CONFIG_HEADERS="$CONFIG_HEADERS $1"
|
||||||
|
ac_need_defaults=false;;
|
||||||
|
|
||||||
|
# This is an error.
|
||||||
|
-*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
|
||||||
|
Try \`$0 --help' for more information." >&5
|
||||||
|
echo "$as_me: error: unrecognized option: $1
|
||||||
|
Try \`$0 --help' for more information." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; } ;;
|
||||||
|
|
||||||
|
*) ac_config_targets="$ac_config_targets $1" ;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
#
|
||||||
|
# INIT-COMMANDS section.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for ac_config_target in $ac_config_targets
|
||||||
|
do
|
||||||
|
case "$ac_config_target" in
|
||||||
|
# Handling of arguments.
|
||||||
|
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||||
|
"src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
||||||
|
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||||
|
"default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
|
||||||
|
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
|
||||||
|
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
|
||||||
|
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; };;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# If the user did not use the arguments to specify the items to instantiate,
|
||||||
|
# then the envvar interface is used. Set only those that are not.
|
||||||
|
# We use the long form for the default assignment because of an extremely
|
||||||
|
# bizarre bug on SunOS 4.1.3.
|
||||||
|
if $ac_need_defaults; then
|
||||||
|
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
|
||||||
|
test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
|
||||||
|
test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create a temporary directory, and hook for its removal unless debugging.
|
||||||
|
$debug ||
|
||||||
|
{
|
||||||
|
trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
|
||||||
|
trap '{ (exit 1); exit 1; }' 1 2 13 15
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a (secure) tmp directory for tmp files.
|
||||||
|
: ${TMPDIR=/tmp}
|
||||||
|
{
|
||||||
|
tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
|
||||||
|
test -n "$tmp" && test -d "$tmp"
|
||||||
|
} ||
|
||||||
|
{
|
||||||
|
tmp=$TMPDIR/cs$$-$RANDOM
|
||||||
|
(umask 077 && mkdir $tmp)
|
||||||
|
} ||
|
||||||
|
{
|
||||||
|
echo "$me: cannot create a temporary directory in $TMPDIR" >&2
|
||||||
|
{ (exit 1); exit 1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# CONFIG_FILES section.
|
||||||
|
#
|
||||||
|
|
||||||
|
# No need to generate the scripts if there are no CONFIG_FILES.
|
||||||
|
# This happens for instance when ./config.status config.h
|
||||||
|
if test -n "$CONFIG_FILES"; then
|
||||||
|
# Protect against being on the right side of a sed subst in config.status.
|
||||||
|
sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
|
||||||
|
s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
|
||||||
|
s,@SHELL@,/bin/sh,;t t
|
||||||
|
s,@PATH_SEPARATOR@,:,;t t
|
||||||
|
s,@PACKAGE_NAME@,wmapmload,;t t
|
||||||
|
s,@PACKAGE_TARNAME@,wmapmload,;t t
|
||||||
|
s,@PACKAGE_VERSION@,0.3.2,;t t
|
||||||
|
s,@PACKAGE_STRING@,wmapmload 0.3.2,;t t
|
||||||
|
s,@PACKAGE_BUGREPORT@,tnemeth@free.fr,;t t
|
||||||
|
s,@exec_prefix@,${prefix},;t t
|
||||||
|
s,@prefix@,/usr/local,;t t
|
||||||
|
s,@program_transform_name@,s,x,x,,;t t
|
||||||
|
s,@bindir@,${exec_prefix}/bin,;t t
|
||||||
|
s,@sbindir@,${exec_prefix}/sbin,;t t
|
||||||
|
s,@libexecdir@,${exec_prefix}/libexec,;t t
|
||||||
|
s,@datadir@,${prefix}/share,;t t
|
||||||
|
s,@sysconfdir@,${prefix}/etc,;t t
|
||||||
|
s,@sharedstatedir@,${prefix}/com,;t t
|
||||||
|
s,@localstatedir@,${prefix}/var,;t t
|
||||||
|
s,@libdir@,${exec_prefix}/lib,;t t
|
||||||
|
s,@includedir@,${prefix}/include,;t t
|
||||||
|
s,@oldincludedir@,/usr/include,;t t
|
||||||
|
s,@infodir@,${prefix}/info,;t t
|
||||||
|
s,@mandir@,${prefix}/man,;t t
|
||||||
|
s,@build_alias@,,;t t
|
||||||
|
s,@host_alias@,,;t t
|
||||||
|
s,@target_alias@,,;t t
|
||||||
|
s,@DEFS@,-DHAVE_CONFIG_H,;t t
|
||||||
|
s,@ECHO_C@,,;t t
|
||||||
|
s,@ECHO_N@,-n,;t t
|
||||||
|
s,@ECHO_T@,,;t t
|
||||||
|
s,@LIBS@,,;t t
|
||||||
|
s,@build@,i686-pc-linux-gnu,;t t
|
||||||
|
s,@build_cpu@,i686,;t t
|
||||||
|
s,@build_vendor@,pc,;t t
|
||||||
|
s,@build_os@,linux-gnu,;t t
|
||||||
|
s,@host@,i686-pc-linux-gnu,;t t
|
||||||
|
s,@host_cpu@,i686,;t t
|
||||||
|
s,@host_vendor@,pc,;t t
|
||||||
|
s,@host_os@,linux-gnu,;t t
|
||||||
|
s,@target@,i686-pc-linux-gnu,;t t
|
||||||
|
s,@target_cpu@,i686,;t t
|
||||||
|
s,@target_vendor@,pc,;t t
|
||||||
|
s,@target_os@,linux-gnu,;t t
|
||||||
|
s,@INSTALL_PROGRAM@,${INSTALL},;t t
|
||||||
|
s,@INSTALL_SCRIPT@,${INSTALL},;t t
|
||||||
|
s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
|
||||||
|
s,@PACKAGE@,wmapmload,;t t
|
||||||
|
s,@VERSION@,0.3.2,;t t
|
||||||
|
s,@ACLOCAL@,aclocal,;t t
|
||||||
|
s,@AUTOCONF@,autoconf,;t t
|
||||||
|
s,@AUTOMAKE@,automake,;t t
|
||||||
|
s,@AUTOHEADER@,autoheader,;t t
|
||||||
|
s,@MAKEINFO@,makeinfo,;t t
|
||||||
|
s,@SET_MAKE@,,;t t
|
||||||
|
s,@AWK@,gawk,;t t
|
||||||
|
s,@CC@,gcc,;t t
|
||||||
|
s,@CFLAGS@,-g -O2,;t t
|
||||||
|
s,@LDFLAGS@,,;t t
|
||||||
|
s,@CPPFLAGS@,,;t t
|
||||||
|
s,@ac_ct_CC@,gcc,;t t
|
||||||
|
s,@EXEEXT@,,;t t
|
||||||
|
s,@OBJEXT@,o,;t t
|
||||||
|
s,@LN_S@,ln -s,;t t
|
||||||
|
s,@CPP@,gcc -E,;t t
|
||||||
|
s,@X_CFLAGS@, -I/usr/X11R6/include,;t t
|
||||||
|
s,@X_PRE_LIBS@, -lSM -lICE,;t t
|
||||||
|
s,@X_LIBS@, -L/usr/X11R6/lib,;t t
|
||||||
|
s,@X_EXTRA_LIBS@,,;t t
|
||||||
|
s,@X_LIBRARY_PATH@,/usr/X11R6/lib,;t t
|
||||||
|
s,@XCFLAGS@, -I/usr/X11R6/include,;t t
|
||||||
|
s,@XLFLAGS@, -L/usr/X11R6/lib,;t t
|
||||||
|
s,@XLIBS@,-lX11 -lXext -lXpm,;t t
|
||||||
|
s,@DFLAGS@,,;t t
|
||||||
|
s,@OS@,linux,;t t
|
||||||
|
s,@SETGID_FLAGS@,,;t t
|
||||||
|
s,@LIBRARY_SEARCH_PATH@, -L/usr/X11R6/lib -L/usr/local/lib,;t t
|
||||||
|
s,@HEADER_SEARCH_PATH@, -I/usr/X11R6/include -I/usr/local/include,;t t
|
||||||
|
CEOF
|
||||||
|
|
||||||
|
# Split the substitutions into bite-sized pieces for seds with
|
||||||
|
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||||
|
ac_max_sed_lines=48
|
||||||
|
ac_sed_frag=1 # Number of current file.
|
||||||
|
ac_beg=1 # First line for current file.
|
||||||
|
ac_end=$ac_max_sed_lines # Line after last line for current file.
|
||||||
|
ac_more_lines=:
|
||||||
|
ac_sed_cmds=
|
||||||
|
while $ac_more_lines; do
|
||||||
|
if test $ac_beg -gt 1; then
|
||||||
|
sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
|
||||||
|
else
|
||||||
|
sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
|
||||||
|
fi
|
||||||
|
if test ! -s $tmp/subs.frag; then
|
||||||
|
ac_more_lines=false
|
||||||
|
else
|
||||||
|
# The purpose of the label and of the branching condition is to
|
||||||
|
# speed up the sed processing (if there are no `@' at all, there
|
||||||
|
# is no need to browse any of the substitutions).
|
||||||
|
# These are the two extra sed commands mentioned above.
|
||||||
|
(echo ':t
|
||||||
|
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
|
||||||
|
if test -z "$ac_sed_cmds"; then
|
||||||
|
ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
|
||||||
|
else
|
||||||
|
ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
|
||||||
|
fi
|
||||||
|
ac_sed_frag=`expr $ac_sed_frag + 1`
|
||||||
|
ac_beg=$ac_end
|
||||||
|
ac_end=`expr $ac_end + $ac_max_sed_lines`
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$ac_sed_cmds"; then
|
||||||
|
ac_sed_cmds=cat
|
||||||
|
fi
|
||||||
|
fi # test -n "$CONFIG_FILES"
|
||||||
|
|
||||||
|
for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
|
||||||
|
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||||
|
case $ac_file in
|
||||||
|
- | *:- | *:-:* ) # input from stdin
|
||||||
|
cat >$tmp/stdin
|
||||||
|
ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||||
|
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||||
|
*:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||||
|
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||||
|
* ) ac_file_in=$ac_file.in ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
|
||||||
|
ac_dir=`(dirname "$ac_file") 2>/dev/null ||
|
||||||
|
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$ac_file" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$ac_file" : 'X\(//\)$' \| \
|
||||||
|
X"$ac_file" : 'X\(/\)' \| \
|
||||||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
|
echo X"$ac_file" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\).*/{ s//\1/; q; }
|
||||||
|
s/.*/./; q'`
|
||||||
|
{ case "$ac_dir" in
|
||||||
|
[\\/]* | ?:[\\/]* ) as_incr_dir=;;
|
||||||
|
*) as_incr_dir=.;;
|
||||||
|
esac
|
||||||
|
as_dummy="$ac_dir"
|
||||||
|
for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
|
||||||
|
case $as_mkdir_dir in
|
||||||
|
# Skip DOS drivespec
|
||||||
|
?:) as_incr_dir=$as_mkdir_dir ;;
|
||||||
|
*)
|
||||||
|
as_incr_dir=$as_incr_dir/$as_mkdir_dir
|
||||||
|
test -d "$as_incr_dir" ||
|
||||||
|
mkdir "$as_incr_dir" ||
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
|
||||||
|
echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done; }
|
||||||
|
|
||||||
|
ac_builddir=.
|
||||||
|
|
||||||
|
if test "$ac_dir" != .; then
|
||||||
|
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
|
||||||
|
# A "../" for each directory in $ac_dir_suffix.
|
||||||
|
ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
|
||||||
|
else
|
||||||
|
ac_dir_suffix= ac_top_builddir=
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $srcdir in
|
||||||
|
.) # No --srcdir option. We are building in place.
|
||||||
|
ac_srcdir=.
|
||||||
|
if test -z "$ac_top_builddir"; then
|
||||||
|
ac_top_srcdir=.
|
||||||
|
else
|
||||||
|
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
|
||||||
|
fi ;;
|
||||||
|
[\\/]* | ?:[\\/]* ) # Absolute path.
|
||||||
|
ac_srcdir=$srcdir$ac_dir_suffix;
|
||||||
|
ac_top_srcdir=$srcdir ;;
|
||||||
|
*) # Relative path.
|
||||||
|
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
|
||||||
|
ac_top_srcdir=$ac_top_builddir$srcdir ;;
|
||||||
|
esac
|
||||||
|
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
||||||
|
# absolute.
|
||||||
|
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
||||||
|
ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
||||||
|
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
||||||
|
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
||||||
|
|
||||||
|
|
||||||
|
case $INSTALL in
|
||||||
|
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
|
||||||
|
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test x"$ac_file" != x-; then
|
||||||
|
{ echo "$as_me:$LINENO: creating $ac_file" >&5
|
||||||
|
echo "$as_me: creating $ac_file" >&6;}
|
||||||
|
rm -f "$ac_file"
|
||||||
|
fi
|
||||||
|
# Let's still pretend it is `configure' which instantiates (i.e., don't
|
||||||
|
# use $as_me), people would be surprised to read:
|
||||||
|
# /* config.h. Generated by config.status. */
|
||||||
|
if test x"$ac_file" = x-; then
|
||||||
|
configure_input=
|
||||||
|
else
|
||||||
|
configure_input="$ac_file. "
|
||||||
|
fi
|
||||||
|
configure_input=$configure_input"Generated from `echo $ac_file_in |
|
||||||
|
sed 's,.*/,,'` by configure."
|
||||||
|
|
||||||
|
# First look for the input files in the build tree, otherwise in the
|
||||||
|
# src tree.
|
||||||
|
ac_file_inputs=`IFS=:
|
||||||
|
for f in $ac_file_in; do
|
||||||
|
case $f in
|
||||||
|
-) echo $tmp/stdin ;;
|
||||||
|
[\\/$]*)
|
||||||
|
# Absolute (can't be DOS-style, as IFS=:)
|
||||||
|
test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
|
||||||
|
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
echo $f;;
|
||||||
|
*) # Relative
|
||||||
|
if test -f "$f"; then
|
||||||
|
# Build tree
|
||||||
|
echo $f
|
||||||
|
elif test -f "$srcdir/$f"; then
|
||||||
|
# Source tree
|
||||||
|
echo $srcdir/$f
|
||||||
|
else
|
||||||
|
# /dev/null tree
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
|
||||||
|
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
done` || { (exit 1); exit 1; }
|
||||||
|
sed "/^[ ]*VPATH[ ]*=/{
|
||||||
|
s/:*\$(srcdir):*/:/;
|
||||||
|
s/:*\${srcdir}:*/:/;
|
||||||
|
s/:*@srcdir@:*/:/;
|
||||||
|
s/^\([^=]*=[ ]*\):*/\1/;
|
||||||
|
s/:*$//;
|
||||||
|
s/^[^=]*=[ ]*$//;
|
||||||
|
}
|
||||||
|
|
||||||
|
:t
|
||||||
|
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
||||||
|
s,@configure_input@,$configure_input,;t t
|
||||||
|
s,@srcdir@,$ac_srcdir,;t t
|
||||||
|
s,@abs_srcdir@,$ac_abs_srcdir,;t t
|
||||||
|
s,@top_srcdir@,$ac_top_srcdir,;t t
|
||||||
|
s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
|
||||||
|
s,@builddir@,$ac_builddir,;t t
|
||||||
|
s,@abs_builddir@,$ac_abs_builddir,;t t
|
||||||
|
s,@top_builddir@,$ac_top_builddir,;t t
|
||||||
|
s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
|
||||||
|
s,@INSTALL@,$ac_INSTALL,;t t
|
||||||
|
" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
|
||||||
|
rm -f $tmp/stdin
|
||||||
|
if test x"$ac_file" != x-; then
|
||||||
|
mv $tmp/out $ac_file
|
||||||
|
else
|
||||||
|
cat $tmp/out
|
||||||
|
rm -f $tmp/out
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
#
|
||||||
|
# CONFIG_HEADER section.
|
||||||
|
#
|
||||||
|
|
||||||
|
# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
|
||||||
|
# NAME is the cpp macro being defined and VALUE is the value it is being given.
|
||||||
|
#
|
||||||
|
# ac_d sets the value in "#define NAME VALUE" lines.
|
||||||
|
ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
|
||||||
|
ac_dB='[ ].*$,\1#\2'
|
||||||
|
ac_dC=' '
|
||||||
|
ac_dD=',;t'
|
||||||
|
# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
|
||||||
|
ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
|
||||||
|
ac_uB='$,\1#\2define\3'
|
||||||
|
ac_uC=' '
|
||||||
|
ac_uD=',;t'
|
||||||
|
|
||||||
|
for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
|
||||||
|
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||||
|
case $ac_file in
|
||||||
|
- | *:- | *:-:* ) # input from stdin
|
||||||
|
cat >$tmp/stdin
|
||||||
|
ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||||
|
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||||
|
*:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||||
|
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||||
|
* ) ac_file_in=$ac_file.in ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
|
||||||
|
echo "$as_me: creating $ac_file" >&6;}
|
||||||
|
|
||||||
|
# First look for the input files in the build tree, otherwise in the
|
||||||
|
# src tree.
|
||||||
|
ac_file_inputs=`IFS=:
|
||||||
|
for f in $ac_file_in; do
|
||||||
|
case $f in
|
||||||
|
-) echo $tmp/stdin ;;
|
||||||
|
[\\/$]*)
|
||||||
|
# Absolute (can't be DOS-style, as IFS=:)
|
||||||
|
test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
|
||||||
|
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
echo $f;;
|
||||||
|
*) # Relative
|
||||||
|
if test -f "$f"; then
|
||||||
|
# Build tree
|
||||||
|
echo $f
|
||||||
|
elif test -f "$srcdir/$f"; then
|
||||||
|
# Source tree
|
||||||
|
echo $srcdir/$f
|
||||||
|
else
|
||||||
|
# /dev/null tree
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
|
||||||
|
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
done` || { (exit 1); exit 1; }
|
||||||
|
# Remove the trailing spaces.
|
||||||
|
sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
|
||||||
|
|
||||||
|
# Handle all the #define templates only if necessary.
|
||||||
|
if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then
|
||||||
|
# If there are no defines, we may have an empty if/fi
|
||||||
|
:
|
||||||
|
cat >$tmp/defines.sed <<CEOF
|
||||||
|
/^[ ]*#[ ]*define/!b
|
||||||
|
t clr
|
||||||
|
: clr
|
||||||
|
${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}"wmapmload"${ac_dD}
|
||||||
|
${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}"wmapmload"${ac_dD}
|
||||||
|
${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}"0.3.2"${ac_dD}
|
||||||
|
${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}"wmapmload 0.3.2"${ac_dD}
|
||||||
|
${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}"tnemeth@free.fr"${ac_dD}
|
||||||
|
${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"wmapmload"${ac_dD}
|
||||||
|
${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"0.3.2"${ac_dD}
|
||||||
|
${ac_dA}IGNORE_BUFFERS${ac_dB}IGNORE_BUFFERS${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}IGNORE_CACHED${ac_dB}IGNORE_CACHED${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STDDEF_H${ac_dB}HAVE_STDDEF_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_SYS_PARAM_H${ac_dB}HAVE_SYS_PARAM_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_MALLOC${ac_dB}HAVE_MALLOC${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_SELECT${ac_dB}HAVE_SELECT${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_STRTOUL${ac_dB}HAVE_STRTOUL${ac_dC}1${ac_dD}
|
||||||
|
${ac_dA}HAVE_UNAME${ac_dB}HAVE_UNAME${ac_dC}1${ac_dD}
|
||||||
|
CEOF
|
||||||
|
sed -f $tmp/defines.sed $tmp/in >$tmp/out
|
||||||
|
rm -f $tmp/in
|
||||||
|
mv $tmp/out $tmp/in
|
||||||
|
|
||||||
|
fi # egrep
|
||||||
|
|
||||||
|
# Handle all the #undef templates
|
||||||
|
cat >$tmp/undefs.sed <<CEOF
|
||||||
|
/^[ ]*#[ ]*undef/!b
|
||||||
|
t clr
|
||||||
|
: clr
|
||||||
|
${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}"wmapmload"${ac_uD}
|
||||||
|
${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}"wmapmload"${ac_uD}
|
||||||
|
${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}"0.3.2"${ac_uD}
|
||||||
|
${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}"wmapmload 0.3.2"${ac_uD}
|
||||||
|
${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}"tnemeth@free.fr"${ac_uD}
|
||||||
|
${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"wmapmload"${ac_uD}
|
||||||
|
${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"0.3.2"${ac_uD}
|
||||||
|
${ac_uA}IGNORE_BUFFERS${ac_uB}IGNORE_BUFFERS${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}IGNORE_CACHED${ac_uB}IGNORE_CACHED${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STDDEF_H${ac_uB}HAVE_STDDEF_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_SYS_PARAM_H${ac_uB}HAVE_SYS_PARAM_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_MALLOC${ac_uB}HAVE_MALLOC${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_SELECT${ac_uB}HAVE_SELECT${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_STRTOUL${ac_uB}HAVE_STRTOUL${ac_uC}1${ac_uD}
|
||||||
|
${ac_uA}HAVE_UNAME${ac_uB}HAVE_UNAME${ac_uC}1${ac_uD}
|
||||||
|
s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
|
||||||
|
CEOF
|
||||||
|
sed -f $tmp/undefs.sed $tmp/in >$tmp/out
|
||||||
|
rm -f $tmp/in
|
||||||
|
mv $tmp/out $tmp/in
|
||||||
|
|
||||||
|
# Let's still pretend it is `configure' which instantiates (i.e., don't
|
||||||
|
# use $as_me), people would be surprised to read:
|
||||||
|
# /* config.h. Generated by config.status. */
|
||||||
|
if test x"$ac_file" = x-; then
|
||||||
|
echo "/* Generated by configure. */" >$tmp/config.h
|
||||||
|
else
|
||||||
|
echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
|
||||||
|
fi
|
||||||
|
cat $tmp/in >>$tmp/config.h
|
||||||
|
rm -f $tmp/in
|
||||||
|
if test x"$ac_file" != x-; then
|
||||||
|
if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
|
||||||
|
{ echo "$as_me:$LINENO: $ac_file is unchanged" >&5
|
||||||
|
echo "$as_me: $ac_file is unchanged" >&6;}
|
||||||
|
else
|
||||||
|
ac_dir=`(dirname "$ac_file") 2>/dev/null ||
|
||||||
|
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$ac_file" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$ac_file" : 'X\(//\)$' \| \
|
||||||
|
X"$ac_file" : 'X\(/\)' \| \
|
||||||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
|
echo X"$ac_file" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\).*/{ s//\1/; q; }
|
||||||
|
s/.*/./; q'`
|
||||||
|
{ case "$ac_dir" in
|
||||||
|
[\\/]* | ?:[\\/]* ) as_incr_dir=;;
|
||||||
|
*) as_incr_dir=.;;
|
||||||
|
esac
|
||||||
|
as_dummy="$ac_dir"
|
||||||
|
for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
|
||||||
|
case $as_mkdir_dir in
|
||||||
|
# Skip DOS drivespec
|
||||||
|
?:) as_incr_dir=$as_mkdir_dir ;;
|
||||||
|
*)
|
||||||
|
as_incr_dir=$as_incr_dir/$as_mkdir_dir
|
||||||
|
test -d "$as_incr_dir" ||
|
||||||
|
mkdir "$as_incr_dir" ||
|
||||||
|
{ { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
|
||||||
|
echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done; }
|
||||||
|
|
||||||
|
rm -f $ac_file
|
||||||
|
mv $tmp/config.h $ac_file
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cat $tmp/config.h
|
||||||
|
rm -f $tmp/config.h
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
#
|
||||||
|
# CONFIG_COMMANDS section.
|
||||||
|
#
|
||||||
|
for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
|
||||||
|
ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
|
||||||
|
ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||||
|
ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
|
||||||
|
$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$ac_dest" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$ac_dest" : 'X\(//\)$' \| \
|
||||||
|
X"$ac_dest" : 'X\(/\)' \| \
|
||||||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
|
echo X"$ac_dest" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||||
|
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||||
|
/^X\(\/\).*/{ s//\1/; q; }
|
||||||
|
s/.*/./; q'`
|
||||||
|
ac_builddir=.
|
||||||
|
|
||||||
|
if test "$ac_dir" != .; then
|
||||||
|
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
|
||||||
|
# A "../" for each directory in $ac_dir_suffix.
|
||||||
|
ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
|
||||||
|
else
|
||||||
|
ac_dir_suffix= ac_top_builddir=
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $srcdir in
|
||||||
|
.) # No --srcdir option. We are building in place.
|
||||||
|
ac_srcdir=.
|
||||||
|
if test -z "$ac_top_builddir"; then
|
||||||
|
ac_top_srcdir=.
|
||||||
|
else
|
||||||
|
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
|
||||||
|
fi ;;
|
||||||
|
[\\/]* | ?:[\\/]* ) # Absolute path.
|
||||||
|
ac_srcdir=$srcdir$ac_dir_suffix;
|
||||||
|
ac_top_srcdir=$srcdir ;;
|
||||||
|
*) # Relative path.
|
||||||
|
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
|
||||||
|
ac_top_srcdir=$ac_top_builddir$srcdir ;;
|
||||||
|
esac
|
||||||
|
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
||||||
|
# absolute.
|
||||||
|
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
||||||
|
ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
||||||
|
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
||||||
|
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
||||||
|
|
||||||
|
|
||||||
|
{ echo "$as_me:$LINENO: executing $ac_dest commands" >&5
|
||||||
|
echo "$as_me: executing $ac_dest commands" >&6;}
|
||||||
|
case $ac_dest in
|
||||||
|
default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
{ (exit 0); exit 0; }
|
1443
wmacpiload-0.1.2/config.sub
vendored
Executable file
1443
wmacpiload-0.1.2/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load diff
6112
wmacpiload-0.1.2/configure
vendored
Executable file
6112
wmacpiload-0.1.2/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
163
wmacpiload-0.1.2/configure.ac
Normal file
163
wmacpiload-0.1.2/configure.ac
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
AC_PREREQ(2.52)
|
||||||
|
|
||||||
|
dnl AC_INIT(src/main.c)
|
||||||
|
dnl AM_INIT_AUTOMAKE(wmapmload, 0.3.2)
|
||||||
|
AC_INIT(wmapmload, 0.3.2, tnemeth@free.fr)
|
||||||
|
AC_CANONICAL_HOST
|
||||||
|
AC_CANONICAL_TARGET
|
||||||
|
AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
|
||||||
|
|
||||||
|
AC_CONFIG_SRCDIR(src/main.c)
|
||||||
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
AC_PROG_AWK
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AC_PROG_LN_S
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Specify paths to look for libraries and headers
|
||||||
|
dnl ===============================================
|
||||||
|
AC_ARG_WITH(libs-from,
|
||||||
|
[ --with-libs-from pass compiler flags to look for libraries],
|
||||||
|
[lib_search_path="$withval $lib_search_path"])
|
||||||
|
|
||||||
|
AC_ARG_WITH(incs-from,
|
||||||
|
[ --with-incs-from pass compiler flags to look for header files],
|
||||||
|
[inc_search_path="$withval $inc_search_path"])
|
||||||
|
|
||||||
|
|
||||||
|
dnl ===========================================
|
||||||
|
dnl Stuff that uses X
|
||||||
|
dnl ===========================================
|
||||||
|
|
||||||
|
AC_PATH_XTRA
|
||||||
|
|
||||||
|
X_LIBRARY_PATH=$x_libraries
|
||||||
|
|
||||||
|
XCFLAGS="$X_CFLAGS"
|
||||||
|
|
||||||
|
XLFLAGS="$X_LIBS"
|
||||||
|
|
||||||
|
XLIBS="-lX11 $X_EXTRA_LIBS"
|
||||||
|
|
||||||
|
lib_search_path="$lib_search_path $XLFLAGS -L/usr/local/lib"
|
||||||
|
inc_search_path="$inc_search_path $XCFLAGS -I/usr/local/include"
|
||||||
|
|
||||||
|
AC_SUBST(X_LIBRARY_PATH)
|
||||||
|
|
||||||
|
dnl Shape extension
|
||||||
|
dnl ===============
|
||||||
|
AC_CHECK_LIB(Xext, XShapeCombineMask, [XLIBS="$XLIBS -lXext"],
|
||||||
|
[echo "The shape extension stuff could not be found in the X client libraries"
|
||||||
|
exit 1],
|
||||||
|
$X_LIBS $X_EXTRA_LIBS -lX11)
|
||||||
|
|
||||||
|
dnl XPM library
|
||||||
|
dnl ===========
|
||||||
|
AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [XLIBS="$XLIBS -lXpm"],
|
||||||
|
[echo "The libXpm library was not found, but is necessary to build this library"
|
||||||
|
exit 1],
|
||||||
|
$X_LIBS $X_EXTRA_LIBS -lX11)
|
||||||
|
|
||||||
|
AC_SUBST(XCFLAGS)
|
||||||
|
AC_SUBST(XLFLAGS)
|
||||||
|
AC_SUBST(XLIBS)
|
||||||
|
|
||||||
|
AC_SUBST(X_EXTRA_LIBS)
|
||||||
|
|
||||||
|
dnl ===============================================
|
||||||
|
dnl End of stuff that uses X
|
||||||
|
dnl ===============================================
|
||||||
|
|
||||||
|
dnl =========
|
||||||
|
dnl Debugging
|
||||||
|
dnl =========
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug turn on debugging [default=on]],,enable_debug=no)
|
||||||
|
if test "$enable_debug" = yes; then
|
||||||
|
DFLAGS="-Wall -g -ansi -pedantic"
|
||||||
|
AC_DEFINE(DEBUG, 1, [use debug code])
|
||||||
|
fi
|
||||||
|
AC_SUBST(DFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
dnl ============
|
||||||
|
dnl Check for OS
|
||||||
|
dnl ============
|
||||||
|
|
||||||
|
ignore_buffers=no
|
||||||
|
ignore_cached=no
|
||||||
|
ignore_wired=no
|
||||||
|
|
||||||
|
case ${host_os} in
|
||||||
|
linux*)
|
||||||
|
OS=linux
|
||||||
|
ignore_buffers=yes
|
||||||
|
ignore_cached=yes
|
||||||
|
;;
|
||||||
|
freebsd*)
|
||||||
|
OS=freebsd
|
||||||
|
ignore_wired=yes
|
||||||
|
ignore_cached=yes
|
||||||
|
LIBS="$LIBS -lkvm"
|
||||||
|
SETGID_FLAGS="-g kmem -m 2755 -o root"
|
||||||
|
;;
|
||||||
|
openbsd*)
|
||||||
|
OS=openbsd
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
OS=solaris
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo ""
|
||||||
|
echo "Sorry, ${host_os} is not supported yet"
|
||||||
|
echo ""
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(OS)
|
||||||
|
AC_SUBST(SETGID_FLAGS)
|
||||||
|
AC_SUBST(LIBS)
|
||||||
|
|
||||||
|
if test "$ignore_buffers" = yes; then
|
||||||
|
AC_DEFINE(IGNORE_BUFFERS, 1, [use '--ignore-buffers' option])
|
||||||
|
fi
|
||||||
|
if test "$ignore_cached" = yes; then
|
||||||
|
AC_DEFINE(IGNORE_CACHED, 1, [use '--ignore-cached' option])
|
||||||
|
fi
|
||||||
|
if test "$ignore_wired" = yes; then
|
||||||
|
AC_DEFINE(IGNORE_WIRED, 1, [use '--ignore-wired' option])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
dnl =============================
|
||||||
|
dnl Checks for library functions.
|
||||||
|
dnl =============================
|
||||||
|
|
||||||
|
LIBRARY_SEARCH_PATH="$lib_search_path"
|
||||||
|
HEADER_SEARCH_PATH="$inc_search_path"
|
||||||
|
|
||||||
|
AC_SUBST(LIBRARY_SEARCH_PATH)
|
||||||
|
AC_SUBST(HEADER_SEARCH_PATH)
|
||||||
|
|
||||||
|
dnl Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS([fcntl.h memory.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h])
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_C_CONST
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_HEADER_TIME
|
||||||
|
|
||||||
|
dnl Checks for library functions.
|
||||||
|
AC_FUNC_MALLOC
|
||||||
|
AC_CHECK_FUNCS(select strtoul uname)
|
||||||
|
|
||||||
|
AC_CONFIG_FILES(Makefile \
|
||||||
|
src/Makefile \
|
||||||
|
doc/Makefile)
|
||||||
|
AC_OUTPUT
|
228
wmacpiload-0.1.2/doc/Makefile
Normal file
228
wmacpiload-0.1.2/doc/Makefile
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
srcdir = .
|
||||||
|
top_srcdir = ..
|
||||||
|
|
||||||
|
prefix = /usr/local
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
sbindir = ${exec_prefix}/sbin
|
||||||
|
libexecdir = ${exec_prefix}/libexec
|
||||||
|
datadir = ${prefix}/share
|
||||||
|
sysconfdir = ${prefix}/etc
|
||||||
|
sharedstatedir = ${prefix}/com
|
||||||
|
localstatedir = ${prefix}/var
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
infodir = ${prefix}/info
|
||||||
|
mandir = ${prefix}/man
|
||||||
|
includedir = ${prefix}/include
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/wmapmload
|
||||||
|
pkglibdir = $(libdir)/wmapmload
|
||||||
|
pkgincludedir = $(includedir)/wmapmload
|
||||||
|
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
ACLOCAL = aclocal
|
||||||
|
AUTOCONF = autoconf
|
||||||
|
AUTOMAKE = automake
|
||||||
|
AUTOHEADER = autoheader
|
||||||
|
|
||||||
|
INSTALL = /usr/bin/install -c
|
||||||
|
INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
transform = s,x,x,
|
||||||
|
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_alias =
|
||||||
|
host_triplet = i686-pc-linux-gnu
|
||||||
|
AWK = gawk
|
||||||
|
CC = gcc
|
||||||
|
DFLAGS =
|
||||||
|
HEADER_SEARCH_PATH = -I/usr/X11R6/include -I/usr/local/include
|
||||||
|
LIBRARY_SEARCH_PATH = -L/usr/X11R6/lib -L/usr/local/lib
|
||||||
|
LIBS =
|
||||||
|
LN_S = ln -s
|
||||||
|
MAKEINFO = makeinfo
|
||||||
|
OS = linux
|
||||||
|
PACKAGE = wmapmload
|
||||||
|
SETGID_FLAGS =
|
||||||
|
VERSION = 0.3.2
|
||||||
|
XCFLAGS = -I/usr/X11R6/include
|
||||||
|
XLFLAGS = -L/usr/X11R6/lib
|
||||||
|
XLIBS = -lX11 -lXext -lXpm
|
||||||
|
X_EXTRA_LIBS =
|
||||||
|
X_LIBRARY_PATH = /usr/X11R6/lib
|
||||||
|
|
||||||
|
man_MANS = wmacpiload.1
|
||||||
|
|
||||||
|
EXTRA_DIST = $(man_MANS)
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
CONFIG_HEADER = ../config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
man1dir = $(mandir)/man1
|
||||||
|
MANS = $(man_MANS)
|
||||||
|
|
||||||
|
NROFF = nroff
|
||||||
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
|
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
TAR = gtar
|
||||||
|
GZIP_ENV = --best
|
||||||
|
all: all-redirect
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
|
||||||
|
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
|
||||||
|
install-man1:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
||||||
|
@list='$(man1_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.1*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||||
|
else file=$$i; fi; \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
||||||
|
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-man1:
|
||||||
|
@list='$(man1_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.1*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
|
||||||
|
rm -f $(DESTDIR)$(man1dir)/$$inst; \
|
||||||
|
done
|
||||||
|
install-man: $(MANS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-man1
|
||||||
|
uninstall-man:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) uninstall-man1
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
|
||||||
|
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||||
|
|
||||||
|
subdir = doc
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@for file in $(DISTFILES); do \
|
||||||
|
d=$(srcdir); \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
info-am:
|
||||||
|
info: info-am
|
||||||
|
dvi-am:
|
||||||
|
dvi: dvi-am
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
installcheck-am:
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-exec-am:
|
||||||
|
install-exec: install-exec-am
|
||||||
|
|
||||||
|
install-data-am: install-man
|
||||||
|
install-data: install-data-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
install: install-am
|
||||||
|
uninstall-am: uninstall-man
|
||||||
|
uninstall: uninstall-am
|
||||||
|
all-am: Makefile $(MANS)
|
||||||
|
all-redirect: all-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1
|
||||||
|
|
||||||
|
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
distclean-am: distclean-generic clean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: maintainer-clean-generic distclean-am
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
.PHONY: install-man1 uninstall-man1 install-man uninstall-man tags \
|
||||||
|
distdir info-am info dvi-am dvi check check-am installcheck-am \
|
||||||
|
installcheck install-exec-am install-exec install-data-am install-data \
|
||||||
|
install-am install uninstall-am uninstall all-redirect all-am all \
|
||||||
|
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||||
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
4
wmacpiload-0.1.2/doc/Makefile.am
Normal file
4
wmacpiload-0.1.2/doc/Makefile.am
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
man_MANS = wmacpiload.1
|
||||||
|
|
||||||
|
EXTRA_DIST = $(man_MANS)
|
228
wmacpiload-0.1.2/doc/Makefile.in
Normal file
228
wmacpiload-0.1.2/doc/Makefile.in
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL = @SHELL@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
libdir = @libdir@
|
||||||
|
infodir = @infodir@
|
||||||
|
mandir = @mandir@
|
||||||
|
includedir = @includedir@
|
||||||
|
oldincludedir = /usr/include
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
transform = @program_transform_name@
|
||||||
|
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_triplet = @host@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
DFLAGS = @DFLAGS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
OS = @OS@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
SETGID_FLAGS = @SETGID_FLAGS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
XCFLAGS = @XCFLAGS@
|
||||||
|
XLFLAGS = @XLFLAGS@
|
||||||
|
XLIBS = @XLIBS@
|
||||||
|
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||||
|
X_LIBRARY_PATH = @X_LIBRARY_PATH@
|
||||||
|
|
||||||
|
man_MANS = wmacpiload.1
|
||||||
|
|
||||||
|
EXTRA_DIST = $(man_MANS)
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
CONFIG_HEADER = ../config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
man1dir = $(mandir)/man1
|
||||||
|
MANS = $(man_MANS)
|
||||||
|
|
||||||
|
NROFF = nroff
|
||||||
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
|
|
||||||
|
|
||||||
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
|
TAR = gtar
|
||||||
|
GZIP_ENV = --best
|
||||||
|
all: all-redirect
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||||
|
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
|
||||||
|
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
|
||||||
|
install-man1:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
||||||
|
@list='$(man1_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.1*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||||
|
else file=$$i; fi; \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
||||||
|
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-man1:
|
||||||
|
@list='$(man1_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.1*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
|
||||||
|
rm -f $(DESTDIR)$(man1dir)/$$inst; \
|
||||||
|
done
|
||||||
|
install-man: $(MANS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-man1
|
||||||
|
uninstall-man:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) uninstall-man1
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
|
||||||
|
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||||
|
|
||||||
|
subdir = doc
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@for file in $(DISTFILES); do \
|
||||||
|
d=$(srcdir); \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
info-am:
|
||||||
|
info: info-am
|
||||||
|
dvi-am:
|
||||||
|
dvi: dvi-am
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
installcheck-am:
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-exec-am:
|
||||||
|
install-exec: install-exec-am
|
||||||
|
|
||||||
|
install-data-am: install-man
|
||||||
|
install-data: install-data-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
install: install-am
|
||||||
|
uninstall-am: uninstall-man
|
||||||
|
uninstall: uninstall-am
|
||||||
|
all-am: Makefile $(MANS)
|
||||||
|
all-redirect: all-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||||
|
installdirs:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1
|
||||||
|
|
||||||
|
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
distclean-am: distclean-generic clean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
|
||||||
|
maintainer-clean-am: maintainer-clean-generic distclean-am
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
|
.PHONY: install-man1 uninstall-man1 install-man uninstall-man tags \
|
||||||
|
distdir info-am info dvi-am dvi check check-am installcheck-am \
|
||||||
|
installcheck install-exec-am install-exec install-data-am install-data \
|
||||||
|
install-am install uninstall-am uninstall all-redirect all-am all \
|
||||||
|
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||||
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
95
wmacpiload-0.1.2/doc/wmacpiload.1
Normal file
95
wmacpiload-0.1.2/doc/wmacpiload.1
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.\" First parameter, NAME, should be all caps
|
||||||
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
|
.\" other parameters are allowed: see man(7), man(1)
|
||||||
|
.TH WMACPILOAD 1 "March 26, 2003"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
wmacpiload \- A dockapp to monitor acpi battery status and cpu temp
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B wmapmload [options]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This manual page documents briefly the
|
||||||
|
.B wmapmload
|
||||||
|
command.
|
||||||
|
.PP
|
||||||
|
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||||
|
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||||
|
.\" respectively.
|
||||||
|
\fBWMacpiLoad\fP is a program to monitor battery and cpu temp. It is a dockapp
|
||||||
|
that is supported by X window managers such as Window Maker, AfterStep, BlackBox, and
|
||||||
|
Enlightenment.
|
||||||
|
|
||||||
|
The CPU temperature is displayed in the top half. The battery load percentage
|
||||||
|
is in the bottom half in two manner : number and graphic. Next to percentage
|
||||||
|
number are the on-line/on-battery and on-charge status. It has an LCD
|
||||||
|
look-alike user interface.
|
||||||
|
The back-light may be turned on/off by clicking the mouse button 1 (left)
|
||||||
|
over the application. If battery status is below a critical level, an
|
||||||
|
alarm-mode will alert you by turning on and off back-light. This can be
|
||||||
|
stopped (and restarted) by clicking the mouse button 3 (right) over the
|
||||||
|
application. An application can be launched when alarm is on to notify
|
||||||
|
user that level is too low.
|
||||||
|
By clicking with mouse button 2 (middle), the computer can be put in
|
||||||
|
STANDBY (default) or SUSPEND mode (with CONTROL key).
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
This program follows the usual GNU command line syntax, with long options
|
||||||
|
starting with two dashes (`\-'). A summary of options is included below.
|
||||||
|
.TP
|
||||||
|
.B \-d, \-\-display <string>
|
||||||
|
Attempt to open a window on the named X display. In the absence of this option,
|
||||||
|
the display specified by the
|
||||||
|
.B DISPLAY
|
||||||
|
environment variable is used.
|
||||||
|
.TP
|
||||||
|
.B \-bl, \-\-backlight
|
||||||
|
turn on back-light
|
||||||
|
.TP
|
||||||
|
.B \-lc, \-\-light\-color <color>
|
||||||
|
back-light color (rgb:6E/C6/3B is default)
|
||||||
|
.TP
|
||||||
|
.B \-i, \-\-interval <number>
|
||||||
|
number of secs between updates (1 is default)
|
||||||
|
.TP
|
||||||
|
.B \-a, \-\-alarm <number>
|
||||||
|
low battery level when to raise alarm (20 is default)
|
||||||
|
.TP
|
||||||
|
.B \-h, \-\-help
|
||||||
|
show help text and exit
|
||||||
|
.TP
|
||||||
|
.B \-v, \-\-version
|
||||||
|
show program version and exit
|
||||||
|
.TP
|
||||||
|
.B \-w, \-\-windowed
|
||||||
|
run the application in windowed mode
|
||||||
|
.TP
|
||||||
|
.B \-bw, \-\-broken\-wm
|
||||||
|
activate broken window manager fix
|
||||||
|
.TP
|
||||||
|
.B \-n, \-\-notify <string>
|
||||||
|
command to launch each time there is alarm
|
||||||
|
.TP
|
||||||
|
.B \-s, \-\-suspend <string>
|
||||||
|
set command for acpi suspend
|
||||||
|
.TP
|
||||||
|
.B \-S, \-\-standby <string>
|
||||||
|
set command for acpi standby
|
||||||
|
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
WMACPILoad was assembled by Anthony Peacock <bratag44@hotmail.com> It is massively based on code by
|
||||||
|
Thomas Nemeth <tnemeth@free.fr>. It is largely based on WMMemMon and WMCPULoad by Seiichi
|
||||||
|
SATO <ssato@sh.rim.or.jp>, WMMemLoad by Mark Staggs <me@markstaggs.net> and wmapm by Chris D.
|
||||||
|
Faulhaber <jedgar@speck.ml.org> Michael G. Henderson <mghenderson@lanl.gov>.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue