This is a sample data file for the CAL program.  When CAL uses the
single-month calendar format, it will display up to eight 'special' dates
for that month to the right of the calendar.  If the current date happens
to fall on one of these special dates, it will be flagged by an asterisk.
The special date descriptions are specified in this file (cal.dat) as
single lines, formatted as follows:

YYYY MM DD NW xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

YYYY is the year,
MM is the month (01 - 12),
DD is the day (00 if the NW field is used),
NW is the weekday-of-month code (00 if the DD field is used)
xxxx... is the message, if longer than 50 characters it will be truncated.

The data MUST occupy the character fields as shown.  If YYYY is specified
as -999, the month and day are assumed to be annual events such as holidays,
and the description will be displayed for any year.  If MM is specified
as -9, the day is assumed to be a monthly event for that year.  If DD is
specified as -9, the description will be displayed every day, *provided*
that the YYYY and MM fields can match the current month and year.

In the weekday-of-month code NW, N signifies on which weekday W the special
date occurs.  For example, 31 indicates the third sunday.  Values of W
range from 1 to 7, for Sunday to Saturday, respectively.  A value of 9 for
N indicates "last" as in 95 for "last thursday."  A negative value will
indicate EACH day; for example -2 indicates "each monday."

The NW code is assumed to indicate a periodically-recurring date IF the
year, month, and day are all positive and the year is 1970 or more.  In
this case, NW is the length of the period.  See the payday example below.
The base date does not get displayed.

You can display birthdays and anniversaries by putting the year of birth
(or other special event) inside brackets or braces, in the description.
This number is converted to the number of years since the year you indicate
and the brackets or braces are removed from the output.  If braces {}
are used the number will have an ordinal suffix, as in 21st, 32nd, 43rd,
54th, etc.  If the number in brackets or braces is greater than the 
current year, the number will be displayed unchanged.  Example:
"Alex's {1961} birthday" will display as "Alex's 34nd birthday" (if the
current year is 1995).
If you need to include brackets or braces in your output then you can
escape them by prefixing it with a '\'.  Example:
"Alex's \{1961\} birthday" will be displayed as "Alex's {1961} birthday".

NOTE:  If cal is invoked with the --europe switch, the W values from 1-7 
denote Monday(1) to Sunday(7), rather than Sunday(1) to Saturday(7).

A line must start with -999 or a 4-digit number to be considered as data.
Dates may be in any order, in any amount.

Annual days:

YYYY MM DD NW Description

-999 01 01 00 New Year's Day
-999 01 00 32 Martin Luther King Day
-999 02 14 00 St. Valentine's Day
-999 03 17 00 St. Patrick's Day
-999 04 01 00 All Fool's Day
-999 04 15 00 Income Tax return due
-999 05 00 21 Mother's Day
-999 05 00 92 Memorial Day
-999 06 00 31 Father's Day
-999 07 04 00 Independence Day
-999 09 00 12 Labor Day
-999 10 31 00 Halloween
-999 11 00 95 Thanksgiving Day

Monthly days:

-999 -9 00 26 JACO Japanese Animation movie showings, 8 pm to midnight
-999 -9 00 46 JACO showings

Weekly days (all years, all months):

-999 -9 00 -3 Take out the garbage

Daily days:

-999 -9 -9 00 Daily reminder: Get some exercise!

Periodically-occurring days:

1995 11 03 14 --- Payday! ---

Other days:

1992 11 03 00 Election Day
1994 11 08 00 Election Day
