v08i038: Xlife 2.0, Part02/10

Daniel Edward Lovinger dl2n+ at andrew.cmu.edu
Sat Jul 7 10:01:07 AEST 1990


Submitted-by: Daniel Edward Lovinger <dl2n+ at andrew.cmu.edu>
Posting-number: Volume 8, Issue 38
Archive-name: xlife/part02

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 2 (of 8)."
# Contents:  xlife-2.0/data.c xlife-2.0/doc/search_program
#   xlife-2.0/patterns/alu.life xlife-2.0/patterns/blockpusher.life
# Wrapped by dl2n at niobe.weh.andrew.cmu.edu on Mon Jul  2 22:48:04 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f xlife-2.0/data.c -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"xlife-2.0/data.c\"
else
echo shar: Extracting \"xlife-2.0/data.c\" \(1374 characters\)
sed "s/^X//" >xlife-2.0/data.c <<'END_OF_xlife-2.0/data.c'
X/*
X * XLife Copyright 1989 Jon Bennett jb7m+ at andrew.cmu.edu, jcrb at cs.cmu.edu
X *
X * Permission to use, copy, modify, distribute, and sell this software and its
X * documentation for any purpose is hereby granted without fee, provided that
X * the above copyright notice appear in all copies and that both that
X * copyright notice and this permission notice appear in supporting
X * documentation, and that the name of the copyright holders not be used in
X * advertising or publicity pertaining to distribution of the software without
X * specific, written prior permission.  The copyright holders make no
X * representations about the suitability of this software for any purpose.  It
X * is provided "as is" without express or implied warranty.
X *
X * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
X * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
X * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
X * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
X * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
X * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <X11/Xlib.h>
X#include <X11/Xutil.h>
X#include <X11/Xos.h>
X
X/* I know this is a hack, but so what? */
X#define GLOBAL
X
X#include "data.h"
X
END_OF_xlife-2.0/data.c
if test 1374 -ne `wc -c <xlife-2.0/data.c`; then
    echo shar: \"xlife-2.0/data.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/doc/search_program -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"xlife-2.0/doc/search_program\"
else
echo shar: Extracting \"xlife-2.0/doc/search_program\" \(22503 characters\)
sed "s/^X//" >xlife-2.0/doc/search_program <<'END_OF_xlife-2.0/doc/search_program'
XReturn-path: <HUL at PSUVM.PSU.EDU>
XX-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail
XReceived: from po3.andrew.cmu.edu via trymail
X          ID </afs/andrew.cmu.edu/usr14/jb7m/Mailbox/0Zft7HK00UkT8HJU8F>;
X          Sat, 13 Jan 90 15:38:45 -0500 (EST)
XMessage-ID: <Added.AZft7Em00UkTQHJU5q at andrew.cmu.edu>
XReceived: from PSUVM.PSU.EDU by po3.andrew.cmu.edu (5.54/3.15) id <AA04945> for jb7m+; Sat, 13 Jan 90 15:38:10 EST
XReceived: from PSUVM.BITNET by PSUVM.PSU.EDU (IBM VM SMTP R1.2.1MX) with BSMTP id 0991; Sat, 13 Jan 90 15:38:55 EST
XReceived: by PSUVM (Mailer R2.03B) id 3407; Sat, 13 Jan 90 15:38:54 EST
XDate:    Sat, 13 Jan 90 15:38 EST
XFrom: "Dean Hickerson" <HUL at PSUVM.PSU.EDU>
XSubject: Search program
XTo: jb7m+ at andrew.cmu.edu
X
X>  A number of time you have said that the patterns you were sending had been
X>  found by a search program. I was wondering if you would mind sending me a
X>  copy of it too look at.
X
XThe program is written in 6502 assembly language and Applesoft BASIC and
Xruns on an Apple IIe.  Unless you have a compatible machine, the program
Xitself probably wouldn't help you much.  But here's a fairly detailed
Xdescription of how it works.  I encourage you (or anyone else) to write a
Xsimilar program for a faster machine; I'm sure there are things waiting to
Xbe found that my Apple is slow to find.
X
XIf you really want to see the program itself, let me know and I'll try to
Xfind a way to send it.  (It's not easy, because of incompatible operating
Xsystems and file structures.)
X========================================================================
XGeneral description of the Life search program  (9/6/89)
X
X     This is a general description of the program and some discussion of
Xits behaviour.  A much more detailed description follows.
X
X     I tell the program the desired congruence period T of an object, a
Xrectangle in which generations 0 to T must fit, and an isometry relating
Xgen. 0 to gen. T.  The program creates a 3D array in which each cell is
Xeither on, off, or unknown; initially everything's unknown except for any
Xinitial conditions which I specify.  It then picks an unknown cell, chooses
Xa value for it, and examines the consequences of its choice, working both
Xforward and backward.  If it runs out of consequences, it picks another
Xunknown cell and continues.  If it finds a contradiction, it backs up to
Xits most recent choice, reverses it, marks it as a conclusion rather than a
Xchoice, and continues. Eventually it either runs out of unknown cells and
Xreports that it's found something, or tries to back up past its first
Xchoice and reports that the object doesn't exist.  (Or it would if I let it
Xrun forever; more often I stop it after a while.)  I can have it display
Xthe array at any time; sometimes I can figure out something interesting
Xfrom its partial results.  E.g. I built the 25 bit c/3 spaceship from parts
Xit had found in previous searches; the program found it about an hour
Xlater.
X
X   One problem I sometimes have is that the program finds things with
Xperiods smaller than I want, like 1.  So I usually specify the value of
Xsome particular cell in enough phases to force it to have the desired
Xperiod.  (Of course I may miss something interesting that way.)  Another
Xproblem is that after the program finds something which is smaller than the
Xspecified rectangle, it then finds the same thing with various stable
Xobjects around the unoccupied edges.  So I back it up 'by hand' far enough
Xto get to something new.
X
X   I haven't really settled on the best order in which to select unknown
Xcells.  I usually work in a rectangle which is wide but not very tall and
Xproceed up the columns from left to right, either just in gen. 0 or doing
Xall phases for each position before moving to the next.  I've tried some
Xsearches starting at the center of a square and spiralling
Xoutward, but the program tends to bog down when it's far from the center: a
Xbad choice for a cell may not be detected until the spiral comes back
Xaround to it, so it will try many possibilities for the intervening cells
Xof the spiral before it changes the bad cell.  Probably I should use a
Xself-adjusting search order; when a problem is detected, the program should
Xmove nearby cells closer to the front of the search list.  My first
Ximplementation of this actually made the program slower, since cells which
Xgot moved to the front of the list stayed near there even when they were no
Xlonger a problem.  I have an idea for a better way to do it, but I haven't
Xhad time to implement it yet.
X
X   Another thing I'm still experimenting with is how to decide whether to
Xturn an unknown cell on or off.  If I'm going to let the search run to
Xcompletion it doesn't matter; both choices will be tried eventually.  But
Xfor incomplete searches some heuristics might help.  Usually I choose 'off'
Xfirst, in the hope that an object of small population will be found.
XAnother good choice is to make a location have the same value at time t as
Xat other, already assigned, times; this tends to lead to billiard tables.
X
X   The program is most effective when the period is small; the forward and
Xbackward conclusions tend to wrap around the ends of time and meet, leading
Xto more conclusions or contradictions.  For large periods, that doesn't
Xhappen much, so the program doesn't detect its bad choices soon enough to
Xaccomplish much.  The p5 fumarole and one other p5 are the only things
XI've found so far with a congruence period greater than 4.
X----------------------------------------------------------------------
X
XDetailed description of the Life search program  (9/24/89)
X
X     The program consists of two parts, an assembly language part which
Xdoes the searching and a BASIC program which handles initialization,
Xinterpreting commands from the user, and display.  I'll talk mostly about
Xthe assembly language portion.
X
X     Three constants describe the size of the space being searched:
X
X          TP = time period, length of time until pattern is to reappear;
X          XM = width of rectangle to be searched;
X          YM = height of rectangle to be searched.
X
XThe set of pairs (X,Y) with 0<=X<XM and 0<=Y<YM will be called "the
Xrectangle".
X
X     There are 12 constants which describe how generation 0 is related to
Xgeneration TP:  A, B, C, D, E, F, A', B', C', D', E', F'.  The cell with
Xcoordinates (X, Y) in generation 0 is mapped to the cell with coordinates
X(AX+BY+C, DX+EY+F) in generation TP.  The cell with coordinates (X, Y) in
Xgeneration TP is mapped to the cell (A'X+B'Y+C', D'X+E'Y+F') in generation
X0.  The values of A thru F are specified by the user; the others are given
Xby:
X    A' =  E/Z,   B' = -B/Z,   C' = (BF-CE)/Z,
X    D' = -D/Z,   E' =  A/Z,   F' = (CD-AF)/Z,
Xwhere   Z = AE-BD = 1 or -1.  The mappings are supposed to be isometries,
Xnot general invertible linear maps, so there are severe restrictions on A,
XB, D, and E which I won't bother to write down.  (There is also a boolean
Xvariable, USEMAP, which is normally true.  If it is false, then the
Xmappings are ignored, so the program can be used to search for predecessors
Xof whatever the user puts in generation TP.)
X
X     The current information about generations 0 to TP is kept in a 3
Xdimensional array CELL, with dimensions 0 to TP, 0 to XM-1, and 0 to YM-1.
XEach entry can have one of 3 values, 0=off, 1=on, or UNK=unknown.  (I use a
Xwhole byte for each entry, with UNK=$10.  (Here and later, a dollar sign
Xindicates that a number is in base 16.)  This makes the computation of the
Xneighborhood easy: just add the values of the 8 neighbors; the high nybble
Xis the number of unknown neighbors, and the low nybble is the number which
Xare on.) Initially the edges (all elements with X=0 or XM-1 or Y=0 or YM-1)
Xare turned off, as are the cells in generation 0 which map outside the
Xrectangle in generation TP and vice versa; everything else is initially
Xunknown.  After this initialization, some user-specified cells may be
Xturned on or off, by calling PROCEED (described later).
X
X     In addition to CELL, one other large array is used, the setting list.
XThis is a list of quintuples (T, X, Y, VALUE, FREE) where 0<=T=TP, 0<=X<XM,
X0<=Y<YM, VALUE=0 or 1, and FREE=true or false.  Whenever an element of CELL
Xis changed from UNK to 0 or 1, an entry is added to the list.  FREE is true
Xif the change is a free choice, false if it's forced by some previous
Xchoice.  There are 3 pointers into the list:
X          STNG   points to the beginning;
X          NWSTNG points to the end; new entries are put here;
X          NXSTNG points to the next setting whose consequences are to
X                 be examined.
X
X     There are also two tables which are used to describe the Life
Xtransition rules.  Conceptually, an index into either table consists of a
Xcell value (0, 1, or UNK) and 3 numbers which add up to 8, telling how many
Xneighbors are 0, 1, and UNK; there are 135 (=3*45) possible indices.  In
Xpractice, I use a one byte 'neighborhood descriptor' to encode this, so
Xeach table is 256 bytes long, but only partially used.  To compute the
Xneighborhood descriptor of a cell, add up the 8 neighbors.  If the AND of
Xthe sum and $88 is zero, then the neighborhood descriptor is twice the sum
Xplus the cell.  If the AND is nonzero, the descriptor is the sum plus twice
Xthe cell plus $11.
X
X     The first table is called TRANSIT and tells what the cell should be in
Xthe next generation.  E.g. neighborhood descriptor $25 means that the
Xcell is 1, 5 of its neighbors are 0, 2 are 1, and 1 is unknown,
XTRANSIT[$25] = 1.  Of course, most entries in TRANSIT are UNK, 73 to be
Xexact.  (And 57 are 0 and 5 are 1.)
X
X     The second table is called IMPLIC and contains information about
Ximplications in the other direction.  If we know the neighborhood
Xdescriptor and the value of the cell in the next generation, we may be able
Xto conclude that some unknown cells in this generation must be 0 or 1.
XSuch conclusions exist only if the corresponding entry is UNK, so there are
Xonly 73 entries in IMPLIC.   There are 8 possible implications, each is
Xgiven by one bit in the IMPLIC entry:
X
X     Bit       Meaning
X     $80       If new cell is 0 then current cell should be 0.
X     $40       If new cell is 0 then current cell should be 1.
X     $20       If new cell is 1 then current cell should be 0.
X     $10       If new cell is 1 then current cell should be 1.
X     $08       If new cell is 0 then all unknown neighbors should be 0.
X     $04       If new cell is 0 then all unknown neighbors should be 1.
X     $02       If new cell is 1 then all unknown neighbors should be 0.
X     $01       If new cell is 1 then all unknown neighbors should be 1.
X
X(In Life, bits $40 and $20 are never set, but they may occur for other
Xtransition rules.)  For example, bit $80 is set iff the current cell is
Xunknown, exactly 2 of its neighbors are 1, and at most 1 of its neighbors
Xis unknown, i.e. for neighborhood descriptors $14 and $34.
X
X     The two tables were created by a BASIC program and are now loaded from
Xdisk as part of the initialization.
X
X     The basic operation of the program is as follows: Suppose that CELL is
Xfully consistent; i.e. every cell is consistent with its 9 parents and no
Xcurrently unknown cells have their values forced.  (That is, forced
Xdirectly, either by their parents or their children.)  In this situation,
XNXSTNG = NWSTNG.
X
XStep 0:  ('Pick an unknown cell')  If there are no unknown cells left,
Xreport that an object has been found, let the user display it, save it on
Xdisk, print it, or whatever; then go to step 2.  Otherwise, pick an unknown
Xcell and a value for it.  Change it in CELL and add an entry to the setting
Xlist with FREE=true, updating NWSTNG.  Go to step 1.
X
XStep 1:  ('Examine consequences')  If NXSTNG = NWSTNG, then CELL is fully
Xconsistent; go to step 0.  Otherwise, get the values of T, X, Y, and VALUE
Xpointed to by NXSTNG and increment NXSTNG.  The fact that CELL[T,X,Y] =
XVALUE may directly force some currently unknown cells to be 0 or 1; for
Xeach of these, set its value in CELL and add an entry to the setting list
Xwith FREE=false, incrementing NWSTNG.  Then go to step 1.  We may also
Xdetect a contradiction at this point; in that case go to step 2.  (The
Xforcing in this step is of 4 types:  If T=0 or TP, the mapped cell in
Xgeneration TP or 0 is forced.  Some of the parents of (T,X,Y) may be
Xforced.  Some of the children of (T,X,Y) may be forced.  And some cells may
Xbe forced by additional constraints such as symmetry.)
X
XStep 2:  ('Back up'.  At this point, either a contradiction has been
Xdetected or we've found an object and wish to look for more.)  If NWSTNG =
XSTNG, report that no more objects of the desired type exist and quit.
XOtherwise, decrement NWSTNG and get the values of T, X, Y, VALUE, and FREE
Xpointed to by it.  If FREE = false, set CELL[T,X,Y] to UNK and go to step
X2.  If FREE = true, then either we've found that this free choice led to a
Xcontradiction or we've already found all objects in which the choice was
Xvalid.  So change CELL[T,X,Y] to 1-VALUE, change FREE to false, set NXSTNG
Xto NWSTNG, increment NWSTNG, and go to step 1.
X
X     As described here, part of step 0 involves returning control to the
XBASIC part of the program.  But on my system it's not convenient to have a
Xmachine language routine call a BASIC routine, so I've rearranged things
Xslightly.
X
X     I'll now describe the machine language routines. Unless otherwise
Xindicated, the parameters T, X, Y, VALUE, and FREE are assumed to
Xsatisfy  0<=T<=TP,  0<=X<XM,  0<=Y<YM,  VALUE = 0, 1, or UNK,  FREE = true
Xor false.
X
X     Many of these routines sometimes detect an error; they report this to
Xthe calling routine by setting the carry bit and storing a value in the
Xvariable ERRCODE to tell which error occurred.  (Calling these 'errors' is
Xmisleading, since they can occur during the normal course of events and
Xsome are even desirable.  But 'exceptional conditions' is too long, so I'll
Xcontinue to call them errors.)
X
XLOOKUP(T,X,Y):  Return the address and value of CELL[T,X,Y]. (This routine
Xgets called more often than any other, so should be fast.  I actually
Ximplemented it as an assembly language macro rather than as a subroutine.
XThe duplicated code made the program a bit larger, but also made it about
X10% faster.  I also have faster versions for the special cases in which the
Xcell being looked up is adjacent to the one previously looked up. This
Xspeeds up the neighborhood calculation in GETNBHD.)
X
XMAP(X,Y):  Return the coordinates of the cell in generation TP
Xcorresponding to the cell (0,X,Y).  Report an 'out of bounds' error if the
Xmapped coordinates are not in the rectangle.
X
XINVMAP(X,Y):  Return the coordinates of the cell in generation 0
Xcorresponding to the cell (TP,X,Y). Report an 'out of bounds' error if the
Xmapped coordinates are not in the rectangle.
X
XNWSET(T,X,Y,VALUE,FREE):  Store a quintuple at NWSTNG and increment NWSTNG.
X
XSETCELL(T,X,Y,VALUE,FREE):  (Should not be called with VALUE = UNK.)  Look
Xup CELL[T,X,Y].  If it equals VALUE, do nothing.  If it equals 1-VALUE,
Xreport an 'inconsistency' error.  If it is unknown, set it to VALUE and
Xcall NWSET to add the quintuple to the setting list.
X
XGETNBHD(T,X,Y):  (Should not be called with T=0.)  Return the neighborhood
Xdescriptor for (T-1,X,Y); i.e. describing the parents of (T,X,Y).  Note: If
X(X,Y) is on the boundary of the rectangle, then GETNBHD assumes that the
Xneighbors which are outside are 0.  There are some situations in which it
Xwould be better to assume they are UNK.
X
XCONSISFY(T,X,Y):  (Should not be called with T=0.  X and Y may be out of
Xbounds, in which case the routine does nothing.)  Make (T,X,Y) fully
Xconsistent with its parents.  Specifically:  Compute the neighborhood
Xdescriptor of (T-1,X,Y), and look it up in TRANSIT and IMPLIC.  If the
Xentry in TRANSIT is 0 or 1 and the value of CELL[T,X,Y] is 1 or 0,
Xrespectively, report an 'inconsistency' error.  Otherwise call SETCELL
X(with FREE=false) for any of (T,X,Y) or its parents which are currently
Xunknown but are forced to be 0 or 1.
X
XCONSIS10(T,X,Y):  Call CONSISFY for (T,X,Y) (provided that T>0) and for
Xeach of its 9 children (provided that T<TP).  Report any 'inconsistency'
Xerror found by CONSISFY.
X
XAPPLYMAP(T,X,Y,VALUE):  (Should not be called with VALUE = UNK.)  If USEMAP
X= false, do nothing.  Otherwise, if T = 0 or TP, call MAP or INVMAP.  If
Xthe mapped cell is out of bounds, do nothing.  Otherwise, call SETCELL for
Xthe mapped cell and VALUE, with FREE=false.  Report any 'inconsistency'
Xerror found by SETCELL.
X
XSYMM(T,X,Y,VALUE):  (Should not be called with VALUE = UNK.) This routine
Xdeals with symmetry, billiard tablicity, and other restrictions desired by
Xthe user.  Separate versions of it exist for different situations.  Each
Xone looks at T, X, Y, and VALUE, decides if any other cells are forced, and
Xcalls SETCELL for them, reporting any 'inconsistency' errors.  (Suppose for
Xexample that we want a pattern to have 90 degree rotational symmetry.  Then
XSYMM could compute the coordinates of the cell obtained by rotating (X,Y)
X90 degrees about the center of symmetry and call SETCELL for it.  It is not
Xnecessary to do the same for the 180 and 270 degree
Xrotations; the higher levels of the program will take care of that.)
X
XEXAMNEXT:  If NXSTNG = NWSTNG, report a 'full consistency achieved' error.
XOtherwise, get the values of T, X, Y, and VALUE pointed to by NXSTNG, and
Xincrement NXSTNG. Call APPLYMAP, SYMM, and CONSIS10, reporting any errors
Xfound by them.  (If one of the routines gives an error, it's not necessary
Xto call the others.)
X
XPROCEED(T,X,Y,VALUE,FREE):  Call SETCELL, reporting an 'inconsistency'
Xerror if it finds one.  Otherwise, call EXAMNEXT repeatedly.  Eventually,
Xit will report either an inconsistency or full consistency.  In the first
Xcase, report it.  In the second case, return without reporting an error.
XThis routine is called whenever we either make a free choice for a cell or
Xhave backed up to a free choice and now want to try the other value there;
Xit finds all the (direct or indirect) conclusions (or a contradiction) from
Xthe choice.  It can also be called from the BASIC program to initialize
Xcertain cells.  (Note: After BASIC has done such initialization, it can set
XNXSTNG and NWSTNG equal to STNG in order to save space; since we don't want
Xto back up over the initialized cells, we don't need to remember them in
Xthe setting list.)
X
XBACKUP:  Undo all settings from NWSTNG back to (and including) the most
Xrecent free choice, changing their values in CELL back to UNK.  If we back
Xup all the way to STNG, report an 'object does not exist' error. Otherwise,
Xmake NWSTNG and NXSTNG point to the free choice and return the values of T,
XX, Y, and VALUE from it.  (This corresponds to repeated application of Step
X2 in the program outline above.)
X
XGO(T,X,Y,VALUE,FREE):  [I ran out of good descriptive subroutine names.]
XCall PROCEED(T,X,Y,VALUE,FREE).  If it returns without an error, then full
Xconsistency has been achieved; return without an error.  Otherwise call
XBACKUP, reporting an 'object does not exist' error if BACKUP finds one.
XOtherwise, call PROCEED(T,X,Y,1-VALUE,false).  Continue calling PROCEED and
XBACKUP alternately until either full consistency is achieved or an 'object
Xdoes not exist' error occurs. (This corresponds to repeated application of
XSteps 1 and 2 above.)
X
XGETUNK:  Select an unknown cell.  If none exist, report a no 'more unknown
Xcells' error.  (This means that an object has been found.)  Otherwise,
Xreturn the values of T, X, and Y.  I won't describe this routine in detail
Xbecause I haven't determined the best way for it to make its choice.  We'd
Xlike to choose cells which are most likely to reveal any previous bad
Xchoices.  Choosing cells which are near recently chosen or forced cells is
Xa good idea, but there's a danger that we'll get stuck in one region and
Xnot notice that something chosen long ago was bad.  Currently, I use a list
Xof all cells set up by the BASIC program and just choose the first unknown
Xone on the list.  But even assuming that we're going to do it that way,
Xit's not clear how the list should be arranged.  Usually I proceed up the
Xcolumns from left to right or down slope -1 diagonals from left to right.
X
XCHOOSE(T,X,Y):  Return a value to be assigned to the currently unknown cell
X(T,X,Y), either 0 or 1.  Again, I don't know the best way to do this.  For
Xa complete search, it doesn't matter; both choices will eventually be
Xtried.  For a partial search, it does.  I usually choose 0 first, hoping
Xthat a small object will be found.  Sometimes I choose 1 to prevent the
Xempty object from being found.  Sometimes I look for an already chosen
Xvalue of CELL[T',X,Y], for T' not equal to T, and give CELL[T,X,Y] the same
Xvalue, hoping that a billiard table will be found.  I can specify which of
Xthese methods will be used initially, and can change it in the middle of a
Xsearch.
X
XMAIN:   This is the top level machine language routine which is called from
Xthe BASIC program.  It searches until it either finds an object of the
Xdesired type, decides that there aren't any more, or is interrupted by the
Xuser.  Specifically, it does this:
X
X     Step 0: Call GETUNK.  If it finds an unknown cell (T,X,Y), go to
X             step 1.  Otherwise, we've already found an object and want
X             to look for another one.  So call BACKUP.  If it gives an
X             'object does not exist' error, report it. Otherwise,
X             change VALUE to 1-VALUE, set FREE = false, and go to
X             step 2.
X
X     Step 1: Call CHOOSE to select a VALUE for the unknown cell, set
X             FREE = true, and go to step 2.
X
X     Step 2: Call GO(T,X,Y,VALUE,FREE).  If it gives an 'object does not
X             exist' error, report it.  Otherwise, check to see if the
X             user has typed a key.  If so, return.  (The user can then
X             display the current contents of CELL to observe the
X             progress of the search, and make some changes if desired.
X             Calling MAIN again will continue the search.) If no key
X             has been typed, go to step 3.
X
X     Step 3: Call GETUNK.  If it finds an unknown cell (T,X,Y), go to
X             step 1.  Otherwise, report that an object has been found.
X
X     In addition to MAIN, the user can also call PROCEED and BACKUP; these
Xare sometimes useful for guiding a search in a promising direction.
X===========================================================================
XEND OF FILE
END_OF_xlife-2.0/doc/search_program
if test 22503 -ne `wc -c <xlife-2.0/doc/search_program`; then
    echo shar: \"xlife-2.0/doc/search_program\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/patterns/alu.life -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"xlife-2.0/patterns/alu.life\"
else
echo shar: Extracting \"xlife-2.0/patterns/alu.life\" \(16641 characters\)
sed "s/^X//" >xlife-2.0/patterns/alu.life <<'END_OF_xlife-2.0/patterns/alu.life'
X  63   1 
X  62   2 
X 190   2 
X  72   3 
X 181   3 
X 213   3 
X  91   4 
X 198   4 
X  69   5 
X 176   5 
X 199   5 
X  88   6 
X  69   7 
X 188   7 
X 203  10 
X  69  12 
X  63  13 
X  55  14 
X 211  15 
X 182  16 
X 179  17 
X  58  18 
X  39  19 
X 205  19 
X 188  20 
X  63  21 
X  36  22 
X 209  22 
X  39  24 
X 212  24 
X 183  25 
X  87  26 
X  48  27 
X  81  28 
X  20  29 
X  72  30 
X 179  30 
X 180  31 
X 176  32 
X  18  33 
X 180  33 
X  54  34 
X 204  34 
X  75  35 
X  51  36 
X  71  37 
X  47  38 
X 178  38 
X  87  39 
X 179  39 
X  93  40 
X  44  41 
X 110  41 
X  98  42 
X 120  42 
X  59  43 
X 115  43 
X 119  44 
X  84  45 
X  69  46 
X  86  46 
X 107  47 
X 108  48 
X  73  49 
X  39  50 
X  29  51 
X  28  52 
X  14  53 
X  53  53 
X  21  54 
X  19  55 
X  19  56 
X  62  57 
X  71  58 
X 120  60 
X 120  62 
X  27  64 
X 160  64 
X  61  65 
X   6  66 
X  30  66 
X 159  66 
X  20  67 
X 128  67 
X  24  68 
X  11  69 
X  92  69 
X  21  70 
X  16  71 
X 112  71 
X  64  72 
X  40  73 
X 106  73 
X  66  74 
X   3  75 
X  66  75 
X   2  76 
X  74  76 
X  75  77 
X 132  77 
X  44  78 
X 192  78 
X  47  79 
X 193  79 
X  77  80 
X 168  80 
X  48  81 
X 162  81 
X 150  82 
X  60  83 
X  44  84 
X  39  85 
X 144  85 
X  94  86 
X  23  87 
X 101  87 
X   7  88 
X 129  88 
X  45  89 
X 175  89 
X 166  91 
X  33  92 
X 173  92 
X  44  93 
X  16  94 
X  44  94 
X   5  95 
X  52  95 
X   4  96 
X  23  97 
X  26  98 
X  25  99 
X  15 100 
X   3 101 
X  13 102 
X 146 103 
X 108 104 
X  87 108 
X 137 108 
X 163 109 
X 156 110 
X  56 111 
X 156 111 
X  49 112 
X 100 112 
X 152 112 
X  40 113 
X  74 113 
X 166 113 
X  74 114 
X 158 114 
X  62 115 
X 215 115 
X 149 116 
X 149 117 
X  32 120 
X  45 121 
X 215 122 
X  52 123 
X  38 124 
X 218 124 
X 134 125 
X  55 126 
X  20 128 
X  45 129 
X  92 132 
X 217 136 
X 216 137 
X 217 138 
X 214 141 
X  50 144 
X  14 146 
X  14 147 
X  16 148 
X  52 148 
X  24 149 
X  49 149 
X  20 150 
X  49 150 
X  23 151 
X 109 151 
X  49 152 
X 109 152 
X  52 153 
X  73 155 
X 117 158 
X  58 160 
X 109 161 
X  72 162 
X 108 162 
X  80 163 
X 114 163 
X 112 164 
X 112 165 
X  57 167 
X  64 169 
X  86 171 
X  83 173 
X  87 174 
X  54 176 
X  85 177 
X  65 180 
X  67 184 
X  71 185 
X  63 186 
X  88 186 
X  62 187 
X  62 188 
X  60 189 
X  62 190 
X 64   0 
X 64   1   
X 63   2 
X197   2 
X 73   3 
X188   3 
X 53   4 
X175   4 
X202   4 
X 72   5 
X177   5 
X201   5 
X178   6 
X 72   7 
X190   7 
X 67  11 
X202  12 
X177  13 
X 61  14 
X212  15 
X 26  17 
X180  17 
X 84  18 
X 56  19 
X 28  20 
X189  20 
X 65  21 
X 39  22 
X210  22 
X 45  24 
X 33  25 
X206  25 
X 89  26 
X 81  27 
X 82  28 
X 72  29 
X 85  30 
X180  30 
X181  31 
X177  32 
X 41  33 
X204  33 
X 62  34 
X 25  35 
X 90  35 
X 53  36 
X 72  37 
X 72  38 
X179  38 
X 88  39 
X195  39 
X107  40 
X 48  41 
X115  41 
X 99  42 
X 18  43 
X 79  43 
X116  43 
X128  44 
X 96  45 
X 70  46 
X107  46 
X108  47 
X 27  49 
X 16  50 
X 44  50 
X 30  51 
X 29  52 
X 20  53 
X 85  53 
X 27  54 
X 44  55 
X 44  56 
X 63  57 
X130  58 
X121  60 
X  4  63 
X 28  64 
X  5  65 
X130  65 
X  7  66 
X 38  66 
X  0  67 
X 21  67 
X132  67 
X 27  68 
X 13  69 
X112  69 
X 23  70 
X 47  71 
X 38  72 
X 93  72 
X 61  73 
X114  73 
X 76  74 
X  7  75 
X 75  75 
X  3  76 
X 79  76 
X 76  77 
X133  77 
X 46  78 
X  4  79 
X129  79 
X  5  80 
X128  80 
X169  80 
X 60  81 
X171  81 
X151  82 
X 86  83 
X 45  84 
X 40  85 
X145  85 
X143  86 
X 24  87 
X109  87 
X  8  88 
X142  88 
X 46  89 
X176  89 
X167  91 
X 34  92 
X174  92 
X 45  93 
X 17  94 
X 52  94 
X 17  95 
X128  95 
X 15  96 
X 27  97 
X138  98 
X160  99 
X 22 100 
X  4 101 
X107 102 
X168 103 
X145 104 
X 99 108 
X 52 109 
X239 109 
X163 110 
X 57 111 
X164 111 
X 50 112 
X101 112 
X153 112 
X 41 113 
X 75 113 
X174 113 
X 75 114 
X163 114 
X116 115 
X216 115 
X171 116 
X171 117 
X 45 120 
X213 121 
X 27 123 
X 53 123 
X 39 124 
X 22 125 
X213 125 
X133 126 
X 21 128 
X220 129 
X 93 133 
X 17 137 
X217 137 
X218 138 
X215 141 
X 51 144 
X 28 146 
X 28 147 
X 24 148 
X 59 148 
X 28 149 
X 50 149 
X 21 150 
X 50 150 
X 32 151 
X111 151 
X 50 152 
X 21 153 
X 71 153 
X 74 156 
X118 158 
X 59 160 
X110 161 
X 84 162 
X110 162 
X 81 163 
X126 163 
X113 164 
X 85 166 
X 87 167 
X 65 169 
X 54 172 
X 84 173 
X 88 174 
X 84 176 
X 51 178 
X 66 180 
X 78 184 
X 77 185 
X 67 186 
X 89 186 
X 77 187 
X 71 188 
X 61 189 
X 63 190 
X  65   0 
X  65   1 
X  79   2 
X 198   2 
X  74   3 
X 190   3 
X  54   4 
X 187   4 
X 212   4 
X  80   5 
X 186   5 
X  64   6 
X 187   6 
X  79   7 
X  69   8 
X  68  11 
X 203  12 
X 178  13 
X  62  14 
X  84  16 
X  27  17 
X 181  17 
X  88  18 
X  57  19 
X  29  20 
X 203  20 
X 189  21 
X  55  22 
X  36  23 
X  46  24 
X  38  25 
X 207  25 
X 182  26 
X  83  27 
X  85  28 
X  73  29 
X  86  30 
X  15  31 
X 206  31 
X 178  32 
X  60  33 
X 205  33 
X  73  34 
X  27  35 
X 178  35 
X 189  36 
X 106  37 
X  87  38 
X 194  38 
X 107  39 
X 196  39 
X 110  40 
X  91  41 
X 116  41 
X 106  42 
X  19  43 
X  80  43 
X 120  43 
X 129  44 
X  97  45 
X  71  46 
X 109  46 
X 130  47 
X  28  49 
X  17  50 
X  69  50 
X  44  51 
X  45  52 
X  21  53 
X  86  53 
X  45  54 
X  46  55 
X  64  56 
X  64  57 
X 131  58 
X  83  61 
X   5  63 
X  61  64 
X   7  65 
X 132  65 
X  14  66 
X  39  66 
X   1  67 
X  22  67 
X 133  67 
X  28  68 
X  14  69 
X 113  69 
X  48  70 
X  63  71 
X  39  72 
X  94  72 
X  62  73 
X  28  74 
X  77  74 
X   8  75 
X  78  75 
X   7  76 
X 101  76 
X  77  77 
X 192  77 
X 129  78 
X   5  79 
X 130  79 
X  16  80 
X 129  80 
X 170  80 
X  61  81 
X  16  82 
X 170  82 
X  87  83 
X  58  84 
X  43  85 
X 149  85 
X 145  86 
X  25  87 
X 110  87 
X  25  88 
X 143  88 
X 100  89 
X   2  90 
X 168  91 
X  40  92 
X   0  93 
X  51  93 
X  22  94 
X  53  94 
X  22  95 
X 129  95 
X  17  96 
X  28  97 
X 139  98 
X 170  99 
X  24 100 
X  13 101 
X 114 102 
X 169 103 
X 147 104 
X 100 108 
X  98 109 
X  51 110 
X 165 110 
X  63 111 
X 166 111 
X  51 112 
X 102 112 
X 156 112 
X  50 113 
X 137 113 
X 175 113 
X 137 114 
X 165 114 
X 144 115 
X  61 116 
X 215 116 
X 172 117 
X 214 120 
X 217 121 
X  28 123 
X 212 123 
X  40 124 
X  23 125 
X 217 125 
X 134 126 
X  39 128 
X 221 129 
X  92 134 
X  18 137 
X 218 137 
X  19 139 
X 219 141 
X 101 144 
X  31 146 
X  39 147 
X  27 148 
X  61 148 
X  29 149 
X  51 149 
X  22 150 
X  51 150 
X  33 151 
X  20 152 
X  51 152 
X  22 153 
X  86 153 
X  61 157 
X 128 158 
X  71 160 
X 111 161 
X  85 162 
X 112 162 
X 103 163 
X 129 163 
X 128 164 
X  86 166 
X  54 168 
X  53 170 
X  58 172 
X  85 173 
X  83 175 
X  85 176 
X  52 178 
X  66 181 
X  80 184 
X  81 185 
X  68 186 
X  90 186 
X  81 187 
X  72 188 
X  62 189 
X  86 190 
X  87   0 
X  87   1 
X  85   2 
X 202   2 
X  79   3 
X 195   3 
X  60   4 
X 188   4 
X 213   4 
X  83   5 
X 187   5 
X  65   6 
X 188   6 
X  81   7 
X  70   8 
X 201  11 
X 214  12 
X 182  13 
X 177  14 
X  85  16 
X  83  17 
X  17  18 
X  17  19 
X  58  19 
X  37  20 
X 204  20 
X 190  21 
X  59  22 
X  56  23 
X  88  24 
X  39  25 
X 211  25 
X 183  26 
X  86  27 
X  91  28 
X  88  29 
X  90  30 
X  19  31 
X 207  31 
X 179  32 
X  61  33 
X 206  33 
X  89  34 
X  40  35 
X 188  35 
X  18  37 
X 194  37 
X  88  38 
X  19  39 
X 108  39 
X 197  39 
X 117  40 
X  92  41 
X 120  41 
X 107  42 
X  20  43 
X  90  43 
X  59  44 
X  59  45 
X 118  45 
X  72  46 
X 130  46 
X 131  47 
X  38  49 
X  23  50 
X  70  50 
X  46  51 
X  47  52 
X  27  53 
X  90  53 
X  47  54 
X  63  55 
X  87  56 
X  69  57 
X  70  59 
X  84  61 
X  27  63 
X 130  64 
X  15  65 
X 134  65 
X  15  66 
X 131  66 
X   2  67 
X  28  67 
X 134  67 
X 127  68 
X  20  69 
X 127  69 
X  49  70 
X  92  71 
X  40  72 
X 101  72 
X  63  73 
X  30  74 
X 103  74 
X  29  75 
X 103  75 
X   8  76 
X 102  76 
X  78  77 
X 193  77 
X 130  78 
X   6  79 
X 131  79 
X  42  80 
X 133  80 
X  16  81 
X  76  81 
X  17  82 
X 171  82 
X 147  83 
X  85  84 
X  44  85 
X 151  85 
X 150  86 
X  44  87 
X 128  87 
X  47  88 
X 170  88 
X 126  89 
X   3  90 
X 172  91 
X  41  92 
X   6  93 
X 150  93 
X  24  94 
X 128  94 
X  25  95 
X 136  95 
X  25  96 
X 137  97 
X 161  98 
X 171  99 
X 113 100 
X 114 101 
X  43 103 
X 173 103 
X 145 105 
X 101 108 
X 105 109 
X  52 110 
X 237 110 
X  98 111 
X 173 111 
X  56 112 
X 103 112 
X 164 112 
X  51 113 
X 138 113 
X 176 113 
X 138 114 
X 169 114 
X 146 115 
X  63 116 
X 216 116 
X  42 118 
X 215 120 
X  28 122 
X  29 123 
X 218 123 
X  42 124 
X  31 125 
X  21 126 
X 214 126 
X  40 128 
X  45 130 
X  93 134 
X  19 137 
X  20 138 
X  20 139 
X 220 141 
X  49 145 
X  40 146 
X  41 147 
X  31 148 
X  15 149 
X  31 149 
X  52 149 
X  23 150 
X 109 150 
X  39 151 
X  21 152 
X  68 152 
X  23 153 
X  87 153 
X  72 157 
X 129 158 
X 111 160 
X 112 161 
X  87 162 
X 113 162 
X 104 163 
X  79 164 
X 129 164 
X  88 166 
X  58 168 
X  59 170 
X  83 172 
X  86 173 
X  84 175 
X  86 176 
X  53 178 
X  68 181 
X  87 184 
X  82 185 
X  70 186 
X  52 187 
X  82 187 
X  78 188 
X  79 189 
X  63 191 
X  88   0 
X 179   1 
X  87   2 
X  53   3 
X  81   3 
X 196   3 
X  62   4 
X 189   4 
X  63   5 
X  89   5 
X 188   5 
X  68   6 
X 189   6 
X  88   7 
X  79   8 
X 203  11 
X  52  13 
X 183  13 
X 183  14 
X  86  16 
X  85  17 
X  18  18 
X  18  19 
X  85  19 
X  39  20 
X 209  20 
X 204  21 
X  64  22 
X  57  23 
X 183  24 
X  45  25 
X 212  25 
X  32  27 
X  87  27 
X 178  28 
X 177  29 
X  91  30 
X  59  31 
X  16  32 
X 180  32 
X  62  33 
X  27  34 
X 177  34 
X  41  35 
X 189  35 
X  19  37 
X 195  37 
X 106  38 
X  48  39 
X 109  39 
X  16  40 
X 119  40 
X  93  41 
X  17  42 
X 108  42 
X  45  43 
X  91  43 
X  79  44 
X  61  45 
X 128  45 
X  77  46 
X  70  47 
X  27  48 
X  39  49 
X  24  50 
X  71  50 
X  69  51 
X  52  52 
X  28  53 
X  91  53 
X  87  54 
X  86  55 
X  89  56 
X  71  57 
X  85  59 
X  85  61 
X  58  63 
X 131  64 
X  16  65 
X 136  65 
X  16  66 
X 132  66 
X  11  67 
X  29  67 
X   3  68 
X 129  68 
X  24  69 
X  14  70 
X  50  70 
X  94  71 
X  47  72 
X 102  72 
X  64  73 
X  39  74 
X 106  74 
X  30  75 
X 104  75 
X  29  76 
X 103  76 
X 101  77 
X 194  77 
X 132  78 
X  43  79 
X 132  79 
X  43  80 
X 134  80 
X  18  81 
X  77  81 
X  37  82 
X  37  83 
X 148  83 
X  87  84 
X  46  85 
X 159  85 
X 157  86 
X  92  87 
X 129  87 
X 100  88 
X 171  88 
X 127  89 
X   4  90 
X 173  91 
X  45  92 
X  33  93 
X 152  93 
X  31  94 
X 130  94 
X  31  95 
X 137  95 
X  26  96 
X 139  97 
X 162  98 
X 172  99 
X 115 100 
X 115 101 
X  44 103 
X 174 103 
X  87 106 
X 102 108 
X 135 109 
X  97 110 
X 238 110 
X 105 111 
X 174 111 
X  57 112 
X 104 112 
X 167 112 
X  56 113 
X 144 113 
X  51 114 
X 144 114 
X 170 114 
X 147 115 
X 116 116 
X  63 117 
X  43 118 
X 216 120 
X  29 122 
X  35 123 
X  28 124 
X  43 124 
X  32 125 
X  23 126 
X 215 126 
X 219 128 
X 219 130 
X  17 136 
X  51 137 
X  52 138 
X 214 140 
X  50 143 
X  51 145 
X  61 146 
X  61 147 
X  32 148 
X  16 149 
X  33 149 
X  59 149 
X  38 150 
X 110 150 
X  41 151 
X  22 152 
X  69 152 
X  24 153 
X  24 154 
X  59 158 
X  58 159 
X 117 160 
X 125 161 
X  89 162 
X 125 162 
X 107 163 
X  84 164 
X  80 165 
X  89 166 
X  63 168 
X  63 170 
X  87 172 
X  87 173 
X  85 175 
X  54 177 
X  59 178 
X  68 182 
X  88 184 
X  87 185 
X  72 186 
X  53 187 
X  90 187 
X  80 188 
X  84 189 
X  86 191 
X 178   0 
X 199   1 
X 179   2 
X  54   3 
X  85   3 
X 198   3 
X  63   4 
X 194   4 
X  64   5 
X  90   5 
X 193   5 
X  72   6 
X 194   6 
X  89   7 
X 189   8 
X  52  12 
X  53  13 
X 212  13 
X 211  14 
X  87  16 
X  86  17 
X  27  18 
X  27  19 
X  86  19 
X  55  20 
X  36  21 
X 208  21 
X  65  22 
X  58  23 
X 206  24 
X  47  25 
X  34  26 
X  33  27 
X  89  27 
X  14  29 
X 178  29 
X 176  30 
X  60  31 
X  17  32 
X 207  32 
X  74  33 
X  39  34 
X 179  34 
X  53  35 
X  19  36 
X  20  37 
X  17  38 
X 107  38 
X  69  39 
X 110  39 
X  22  40 
X 197  40 
X 107  41 
X  21  42 
X 109  42 
X  46  43 
X  97  43 
X  85  44 
X  69  45 
X 130  45 
X  78  46 
X  71  47 
X  38  48 
X  70  49 
X  28  50 
X  72  50 
X  14  52 
X  53  52 
X  45  53 
X 112  53 
X  88  54 
X  90  55 
X 128  56 
X  88  57 
X  86  59 
X 119  61 
X  59  63 
X 135  64 
X  28  65 
X 158  65 
X  20  66 
X 133  66 
X  13  67 
X  38  67 
X  11  68 
X 133  68 
X  27  69 
X  15  70 
X  92  70 
X 101  71 
X  48  72 
X 103  72 
X  65  73 
X  60  74 
X 114  74 
X  60  75 
X 106  75 
X  44  76 
X 130  76 
X 102  77 
X   4  78 
X 133  78 
X  44  79 
X 133  79 
X  47  80 
X 150  80 
X  42  81 
X 149  81 
X  38  82 
X  39  83 
X 150  83 
X 148  84 
X  47  85 
X   7  86 
X 158  86 
X  93  87 
X 143  87 
X 101  88 
X 175  88 
X 128  89 
X 126  90 
X 174  91 
X  46  92 
X  41  93 
X 167  93 
X  33  94 
X 150  94 
X  32  95 
X 151  95 
X 129  96 
X 160  97 
X  14  99 
X   3 100 
X 170 100 
X 169 101 
X 108 103 
X  43 104 
X  88 106 
X 103 108 
X 136 109 
X 106 110 
X 239 110 
X 148 111 
X 236 111 
X  61 112 
X 147 112 
X 173 112 
X  57 113 
X 146 113 
X  52 114 
X 147 114 
X 176 114 
X 163 115 
X 117 116 
X 115 117 
X  44 119 
X  31 121 
X  35 122 
X  38 123 
X  29 124 
X  52 124 
X  37 125 
X  31 126 
X 216 126 
X 220 128 
X  90 131 
X  53 136 
X  53 137 
X  53 138 
X 215 140 
X 101 143 
X  86 145 
X  62 146 
X  85 147 
X  38 148 
X  21 149 
X  38 149 
X  60 149 
X  42 150 
X 216 150 
X  48 151 
X  23 152 
X  70 152 
X  49 153 
X  52 154 
X  60 158 
X 116 159 
X 125 160 
X 137 161 
X  90 162 
X 137 162 
X 110 163 
X  90 164 
X 109 165 
X 111 166 
X  64 168 
X  85 170 
X  55 173 
X  56 174 
X  86 175 
X  59 177 
X  51 179 
X  69 182 
X  63 185 
X  60 186 
X  77 186 
X  59 187 
X  52 188 
X  84 188 
X  86 189 
X  87 191 
X 179   0 
X 201   1 
X 181   2 
X  60   3 
X  86   3 
X 202   3 
X  80   4 
X 195   4 
X  65   5 
X  91   5 
X 196   5 
X  80   6 
X 195   6 
X 177   7 
X 190   8 
X  61  12 
X  54  13 
X 213  13 
X  54  15 
X  88  16 
X  87  17 
X  56  18 
X  29  19 
X  87  19 
X  59  20 
X  54  21 
X 209  21 
X 188  22 
X  64  23 
X 207  24 
X  88  25 
X  47  26 
X  34  27 
X  90  27 
X  15  29 
X 179  29 
X 177  30 
X 175  31 
X  18  32 
X  16  33 
X  89  33 
X  41  34 
X 188  34 
X  73  35 
X  26  36 
X  51  37 
X  21  38 
X 108  38 
X  70  39 
X 118  39 
X  48  40 
X  16  41 
X 108  41 
X  44  42 
X 115  42 
X  47  43 
X  99  43 
X  97  44 
X  77  45 
X  60  46 
X  84  46 
X  72  47 
X  70  48 
X  71  49 
X  29  50 
X  17  51 
X  15  52 
X 112  52 
X  48  53 
X 114  53 
X  89  54 
X 128  55 
X 129  56 
X 131  57 
X  86  60 
X  58  62 
X  60  63 
X 136  64 
X  29  65 
X 159  65 
X  28  66 
X 134  66 
X  14  67 
X  39  67 
X  14  68 
X   2  69 
X  50  69 
X  16  70 
X 112  70 
X 102  71 
X  62  72 
X 110  72 
X 103  73 
X  62  74 
X 115  74 
X  61  75 
X 113  75 
X  45  76 
X 131  76 
X 129  77 
X   5  78 
X 163  78 
X  45  79 
X 163  79 
X  48  80 
X 161  80 
X  43  81 
X 151  81 
X  61  82 
X  58  83 
X 151  83 
X 150  84 
X  87  85 
X  44  86 
X   8  87 
X  94  87 
X 158  87 
X 109  88 
X 176  88 
X 170  89 
X   1  91 
X   0  92 
X 166  92 
X  42  93 
X 173  93 
X  42  94 
X 151  94 
X  43  95 
X   2  96 
X 137  96 
X 161  97 
X  15  99 
X   4 100 
X 171 100 
X 173 101 
X 109 103 
X  44 104 
X  88 107 
X 104 108 
X 153 109 
X 136 110 
X  50 111 
X 149 111 
X  40 112 
X  63 112 
X 148 112 
X 236 112 
X  60 113 
X 147 113 
X  59 114 
X 156 114 
X  52 115 
X 169 115 
X 147 116 
X 117 117 
X 215 119 
X  32 121 
X  36 122 
X  39 123 
X  36 124 
X  54 124 
X  54 125 
X  32 126 
X  21 127 
X  40 129 
X  90 132 
X  57 136 
X  58 137 
X  57 138 
X 219 140 
X 102 143 
X 102 145 
X  86 146 
X  87 147 
X  42 148 
X  22 149 
X  42 149 
X 216 149 
X  43 150 
X 217 150 
X  51 151 
X  40 152 
X  86 152 
X  50 153 
X  70 154 
X  61 158 
X 126 159 
X  71 161 
X 138 161 
X 103 162 
X 138 162 
X 112 163 
X 108 164 
X 110 165 
X  55 167 
X  53 169 
X  56 171 
X  56 173 
X  82 174 
X  87 175 
X  60 177 
X  60 179 
X  70 183 
X  66 185 
X  61 186 
X  81 186 
X  60 187 
X  53 188 
X  85 188 
X  60 190 
X 200   0 
X  60   2 
X 189   2 
X  63   3 
X 180   3 
X 212   3 
X  82   4 
X 196   4 
X  68   5 
X 175   5 
X 197   5 
X  82   6 
X 200   6 
X 178   7 
X  68  10 
X  67  12 
X  61  13 
X 214  13 
X  55  15 
X 178  16 
X  89  17 
X  57  18 
X  38  19 
X 203  19 
X  86  20 
X  60  21 
X 210  21 
X 208  22 
X  37  24 
X 211  24 
X 181  25 
X  81  26 
X  47  27 
X  71  28 
X  19  29 
X  71  30 
X 178  30 
X 176  31 
X  59  32 
X  17  33 
X 176  33 
X  53  34 
X 190  34 
X  74  35 
X  27  36 
X  52  37 
X  46  38 
X 109  38 
X  71  39 
X 178  39 
X  69  40 
X  22  41 
X 109  41 
X  90  42 
X 116  42 
X  58  43 
X 106  43 
X 117  44 
X  79  45 
X  61  46 
X  85  46 
X  73  47 
X  73  48 
X  72  49 
X  37  50 
X  28  51 
X  16  52 
X 113  52 
X  52  53 
X  19  54 
X 112  54 
X  18  56 
X 130  56 
X  70  58 
X 119  60 
X  83  62 
X   5  64 
X 158  64 
X  60  65 
X   0  66 
X  29  66 
X 135  66 
X  19  67 
X 127  67 
X  19  68 
X   3  69 
X  91  69 
X  20  70 
X  15  71 
X 110  71 
X  63  72 
X 111  72 
X 104  73 
X  64  74 
X   2  75 
X  65  75 
X 115  75 
X  46  76 
X 132  76 
X 130  77 
X   6  78 
X 164  78 
X  46  79 
X 168  79 
X  76  80 
X 163  80 
X  47  81 
X 161  81 
X 148  82 
X  59  83 
X  39  84 
X 151  84 
X  93  85 
X  47  86 
X   9  87 
X  99  87 
X 159  87 
X 110  88 
X  24  89 
X 171  89 
X   5  91 
X   6  92 
X 172  92 
X  43  93 
X   3  94 
X  43  94 
X   1  95 
X  51  95 
X   3  96 
X   3  97 
X  25  98 
X  22  99 
X  13 100 
X 172 100 
X  12 102 
X 145 103 
X 107 104 
X  89 107 
X 135 108 
X 154 109 
X 153 110 
X  51 111 
X 152 111 
X  41 112 
X  99 112 
X 149 112 
X 237 112 
X  62 113 
X 164 113 
X  62 114 
X 157 114 
X  60 115 
X 171 115 
X 148 116 
X 148 117 
X  31 120 
X  37 121 
X  45 122 
X  44 123 
X  37 124 
X 212 124 
X 133 125 
X  54 126 
X  41 127 
X  41 129 
X  91 132 
X  58 136 
X  59 137 
X 216 138 
X 220 140 
X 103 143 
X  13 146 
X  87 146 
X  14 148 
X  43 148 
X  23 149 
X  43 149 
X 217 149 
X  48 150 
X  20 151 
X  68 151 
X  48 152 
X  87 152 
X  51 153 
X  70 155 
X 116 158 
X 129 159 
X  72 161 
X  70 162 
X 104 162 
X  79 163 
X 113 163 
X 110 164 
X 111 165 
X  56 167 
X  59 169 
X  84 171 
X  57 173 
X  83 174 
X  53 176 
X  61 177 
X  67 179 
X  79 183 
X  70 185 
X  62 186 
X  82 186 
X  61 187 
X  59 188 
X  59 189 
X  61 190 
END_OF_xlife-2.0/patterns/alu.life
if test 16641 -ne `wc -c <xlife-2.0/patterns/alu.life`; then
    echo shar: \"xlife-2.0/patterns/alu.life\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/patterns/blockpusher.life -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"xlife-2.0/patterns/blockpusher.life\"
else
echo shar: Extracting \"xlife-2.0/patterns/blockpusher.life\" \(23036 characters\)
sed "s/^X//" >xlife-2.0/patterns/blockpusher.life <<'END_OF_xlife-2.0/patterns/blockpusher.life'
X#R
X-237 -274
X-236 -274
X-236 -273
X-236 -272
X-234 -272
X-235 -271
X-234 -271
X-239 -264
X-238 -264
X-239 -263
X-249 -262
X-247 -262
X-241 -262
X-239 -262
X-225 -262
X-224 -262
X-223 -262
X-250 -261
X-247 -261
X-241 -261
X-240 -261
X-225 -261
X-260 -260
X-251 -260
X-250 -260
X-224 -260
X-261 -259
X-259 -259
X-253 -259
X-252 -259
X-248 -259
X-273 -258
X-272 -258
X-261 -258
X-260 -258
X-258 -258
X-251 -258
X-250 -258
X-237 -258
X-236 -258
X-273 -257
X-272 -257
X-261 -257
X-260 -257
X-258 -257
X-257 -257
X-250 -257
X-247 -257
X-236 -257
X-235 -257
X-156 -257
X-155 -257
X-261 -256
X-260 -256
X-258 -256
X-249 -256
X-247 -256
X-237 -256
X-155 -256
X-261 -255
X-259 -255
X-155 -255
X-153 -255
X-260 -254
X-250 -254
X-154 -254
X-153 -254
X-249 -253
X-251 -252
X-250 -252
X-249 -252
X-210 -247
X-209 -247
X-208 -247
X-158 -247
X-157 -247
X-242 -246
X-210 -246
X-158 -246
X-244 -245
X-242 -245
X-209 -245
X-167 -245
X-166 -245
X-160 -245
X-158 -245
X-243 -244
X-242 -244
X-168 -244
X-166 -244
X-160 -244
X-159 -244
X-222 -243
X-221 -243
X-183 -243
X-181 -243
X-169 -243
X-221 -242
X-220 -242
X-183 -242
X-180 -242
X-169 -242
X-166 -242
X-156 -242
X-222 -241
X-192 -241
X-191 -241
X-180 -241
X-179 -241
X-169 -241
X-156 -241
X-154 -241
X-192 -240
X-191 -240
X-182 -240
X-178 -240
X-177 -240
X-168 -240
X-166 -240
X-156 -240
X-155 -240
X-202 -239
X-201 -239
X-180 -239
X-179 -239
X-167 -239
X-166 -239
X-183 -238
X-180 -238
X-171 -238
X-183 -237
X-181 -237
X-170 -237
X-169 -237
X-171 -236
X-170 -236
X-201 -235
X-199 -235
X-201 -234
X-200 -234
X-200 -233
X-195 -232
X-194 -232
X-193 -232
X-227 -231
X-195 -231
X-229 -230
X-227 -230
X-194 -230
X-184 -230
X-164 -230
X-162 -230
X-234 -229
X-233 -229
X-228 -229
X-227 -229
X-185 -229
X-183 -229
X-163 -229
X-162 -229
X-127 -229
X-126 -229
X-235 -228
X-232 -228
X-197 -228
X-195 -228
X-186 -228
X-184 -228
X-183 -228
X-163 -228
X-128 -228
X-127 -228
X-235 -227
X-197 -227
X-194 -227
X-187 -227
X-186 -227
X-184 -227
X-183 -227
X-172 -227
X-171 -227
X-141 -227
X-126 -227
X-235 -226
X-194 -226
X-193 -226
X-186 -226
X-184 -226
X-183 -226
X-172 -226
X-171 -226
X-141 -226
X-139 -226
X-235 -225
X-233 -225
X-196 -225
X-192 -225
X-191 -225
X-185 -225
X-183 -225
X-141 -225
X-140 -225
X-235 -224
X-233 -224
X-194 -224
X-193 -224
X-184 -224
X-234 -223
X-204 -223
X-203 -223
X-197 -223
X-194 -223
X-156 -223
X-205 -222
X-203 -222
X-197 -222
X-195 -222
X-155 -222
X-154 -222
X-205 -221
X-156 -221
X-155 -221
X-237 -220
X-236 -220
X-232 -220
X-231 -220
X-206 -220
X-205 -220
X-237 -219
X-231 -219
X-236 -217
X-232 -217
X-203 -217
X-202 -217
X-182 -217
X-181 -217
X-235 -216
X-234 -216
X-233 -216
X-212 -216
X-202 -216
X-182 -216
X-214 -215
X-212 -215
X-202 -215
X-200 -215
X-194 -215
X-193 -215
X-184 -215
X-182 -215
X-149 -215
X-147 -215
X-213 -214
X-212 -214
X-201 -214
X-200 -214
X-196 -214
X-192 -214
X-184 -214
X-183 -214
X-148 -214
X-147 -214
X-112 -214
X-111 -214
X-197 -213
X-191 -213
X-148 -213
X-113 -213
X-112 -213
X-101 -213
X-99 -213
X-198 -212
X-197 -212
X-195 -212
X-191 -212
X-111 -212
X-102 -212
X-99 -212
X-197 -211
X-191 -211
X-116 -211
X-115 -211
X-103 -211
X-102 -211
X-196 -210
X-192 -210
X-116 -210
X-114 -210
X-105 -210
X-104 -210
X-100 -210
X-91 -210
X-90 -210
X-237 -209
X-202 -209
X-201 -209
X-194 -209
X-193 -209
X-113 -209
X-103 -209
X-102 -209
X-91 -209
X-90 -209
X-86 -209
X-85 -209
X-237 -208
X-235 -208
X-203 -208
X-201 -208
X-116 -208
X-113 -208
X-102 -208
X-99 -208
X-86 -208
X-85 -208
X-237 -207
X-236 -207
X-201 -207
X-113 -207
X-101 -207
X-99 -207
X-123 -206
X-122 -206
X-116 -206
X-114 -206
X-232 -205
X-124 -205
X-122 -205
X-116 -205
X-115 -205
X-233 -204
X-232 -204
X-231 -204
X-124 -204
X-234 -203
X-233 -203
X-232 -203
X-231 -203
X-230 -203
X-125 -203
X-124 -203
X-244 -202
X-235 -202
X-234 -202
X-230 -202
X-229 -202
X-135 -202
X-134 -202
X-133 -202
X-245 -201
X-234 -201
X-233 -201
X-232 -201
X-231 -201
X-230 -201
X-133 -201
X-245 -200
X-244 -200
X-243 -200
X-234 -200
X-230 -200
X-134 -200
X-88 -200
X-87 -200
X-83 -200
X-82 -200
X-233 -199
X-231 -199
X-88 -199
X-87 -199
X-83 -199
X-82 -199
X-232 -198
X-231 -198
X-230 -198
X-109 -198
X-87 -198
X-86 -198
X-85 -198
X-84 -198
X-83 -198
X-230 -197
X-229 -197
X-110 -197
X-109 -197
X-108 -197
X-86 -197
X-84 -197
X-230 -196
X-229 -195
X-228 -195
X-227 -195
X-86 -195
X-85 -195
X-84 -195
X-227 -194
X-110 -194
X-109 -194
X-108 -194
X-232 -193
X-233 -192
X-232 -192
X-110 -192
X-108 -192
X-233 -191
X-231 -191
X-110 -191
X-108 -191
X-110 -189
X-109 -189
X-108 -189
X-82 -189
X-81 -188
X-259 -187
X-83 -187
X-82 -187
X-81 -187
X-260 -186
X-182 -186
X-110 -186
X-109 -186
X-108 -186
X-87 -186
X-260 -185
X-259 -185
X-258 -185
X-184 -185
X-182 -185
X-119 -185
X-117 -185
X-109 -185
X-88 -185
X-87 -185
X-86 -185
X-183 -184
X-182 -184
X-118 -184
X-117 -184
X-89 -184
X-88 -184
X-87 -184
X-86 -184
X-85 -184
X-221 -183
X-220 -183
X-171 -183
X-118 -183
X-90 -183
X-89 -183
X-85 -183
X-84 -183
X-221 -182
X-220 -182
X-170 -182
X-169 -182
X-111 -182
X-110 -182
X-171 -181
X-170 -181
X-111 -181
X-109 -181
X-111 -180
X-86 -180
X-232 -179
X-231 -179
X-164 -179
X-86 -179
X-233 -178
X-231 -178
X-166 -178
X-164 -178
X-231 -177
X-165 -177
X-164 -177
X-90 -177
X-89 -177
X 74 -177
X 75 -177
X-89 -176
X 75 -176
X-92 -175
X-91 -175
X-90 -175
X 75 -175
X 77 -175
X-224 -174
X-223 -174
X-219 -174
X-218 -174
X-92 -174
X-67 -174
X 76 -174
X 77 -174
X-244 -173
X-224 -173
X-223 -173
X-219 -173
X-218 -173
X-66 -173
X-243 -172
X-242 -172
X-223 -172
X-222 -172
X-221 -172
X-220 -172
X-219 -172
X-68 -172
X-67 -172
X-66 -172
X-244 -171
X-243 -171
X-240 -171
X-239 -171
X-238 -171
X-222 -171
X-220 -171
X-238 -170
X-239 -169
X-222 -169
X-221 -169
X-220 -169
X 72 -167
X 73 -167
X-279 -166
X-278 -166
X-94 -166
X 72 -166
X-278 -165
X-94 -165
X-93 -165
X 63 -165
X 64 -165
X 70 -165
X 72 -165
X-281 -164
X-280 -164
X-279 -164
X-247 -164
X-246 -164
X-95 -164
X-93 -164
X 62 -164
X 64 -164
X 70 -164
X 71 -164
X-281 -163
X-248 -163
X-246 -163
X-224 -163
X 47 -163
X 49 -163
X 61 -163
X-271 -162
X-246 -162
X-225 -162
X 47 -162
X 50 -162
X 61 -162
X 64 -162
X 74 -162
X-271 -161
X-270 -161
X-269 -161
X-225 -161
X-224 -161
X-223 -161
X 38 -161
X 39 -161
X 50 -161
X 51 -161
X 61 -161
X 74 -161
X 76 -161
X-268 -160
X-219 -160
X-68 -160
X 38 -160
X 39 -160
X 48 -160
X 52 -160
X 53 -160
X 62 -160
X 64 -160
X 74 -160
X 75 -160
X-269 -159
X-268 -159
X-220 -159
X-219 -159
X-218 -159
X-70 -159
X-69 -159
X 50 -159
X 51 -159
X 63 -159
X 64 -159
X-268 -158
X-267 -158
X-266 -158
X-259 -158
X-221 -158
X-220 -158
X-219 -158
X-218 -158
X-217 -158
X-69 -158
X-68 -158
X 47 -158
X 50 -158
X 59 -158
X-267 -157
X-265 -157
X-258 -157
X-257 -157
X-222 -157
X-221 -157
X-217 -157
X-216 -157
X 47 -157
X 49 -157
X 60 -157
X 61 -157
X-268 -156
X-264 -156
X-259 -156
X-258 -156
X-255 -156
X-254 -156
X-253 -156
X-196 -156
X-195 -156
X-152 -156
X 59 -156
X 60 -156
X-268 -155
X-267 -155
X-266 -155
X-265 -155
X-264 -155
X-253 -155
X-197 -155
X-195 -155
X-154 -155
X-152 -155
X-269 -154
X-268 -154
X-264 -154
X-263 -154
X-254 -154
X-220 -154
X-195 -154
X-153 -154
X-152 -154
X-268 -153
X-267 -153
X-266 -153
X-265 -153
X-264 -153
X-220 -153
X-141 -153
X-267 -152
X-266 -152
X-265 -152
X-140 -152
X-139 -152
X-81 -152
X-80 -152
X-266 -151
X-217 -151
X-216 -151
X-141 -151
X-140 -151
X-81 -151
X-79 -151
X-217 -150
X-81 -150
X 66 -150
X 68 -150
X-262 -149
X-261 -149
X-216 -149
X-215 -149
X-214 -149
X-134 -149
X 67 -149
X 68 -149
X103 -149
X104 -149
X-263 -148
X-261 -148
X-239 -148
X-214 -148
X-136 -148
X-134 -148
X 67 -148
X102 -148
X103 -148
X-261 -147
X-240 -147
X-135 -147
X-134 -147
X 89 -147
X104 -147
X-240 -146
X-239 -146
X-238 -146
X-41 -146
X-40 -146
X 89 -146
X 91 -146
X-53 -145
X-41 -145
X 89 -145
X 90 -145
X-74 -144
X-73 -144
X-72 -144
X-55 -144
X-54 -144
X-40 -144
X-39 -144
X-38 -144
X-74 -143
X-54 -143
X-53 -143
X-38 -143
X 74 -143
X-73 -142
X-48 -142
X 75 -142
X 76 -142
X-50 -141
X-49 -141
X-48 -141
X 74 -141
X 75 -141
X-265 -140
X-264 -140
X-263 -140
X-212 -140
X-51 -140
X-266 -139
X-262 -139
X-213 -139
X-212 -139
X-51 -139
X-50 -139
X-213 -138
X-211 -138
X-267 -137
X-261 -137
X-66 -137
X-65 -137
X-54 -137
X-267 -136
X-266 -136
X-262 -136
X-261 -136
X-66 -136
X-64 -136
X-54 -136
X-66 -135
X 81 -135
X 83 -135
X-238 -134
X 82 -134
X 83 -134
X118 -134
X119 -134
X-264 -133
X-237 -133
X-236 -133
X-56 -133
X-55 -133
X-51 -133
X-50 -133
X 82 -133
X117 -133
X118 -133
X129 -133
X131 -133
X-265 -132
X-263 -132
X-238 -132
X-237 -132
X-55 -132
X-54 -132
X-53 -132
X-52 -132
X-51 -132
X119 -132
X128 -132
X131 -132
X-265 -131
X-263 -131
X-54 -131
X-53 -131
X-52 -131
X114 -131
X115 -131
X127 -131
X128 -131
X-263 -130
X-53 -130
X114 -130
X116 -130
X125 -130
X126 -130
X130 -130
X139 -130
X140 -130
X-263 -129
X-59 -129
X-58 -129
X-57 -129
X117 -129
X127 -129
X128 -129
X139 -129
X140 -129
X144 -129
X145 -129
X-266 -128
X-263 -128
X-59 -128
X114 -128
X117 -128
X128 -128
X131 -128
X144 -128
X145 -128
X-265 -127
X-264 -127
X-58 -127
X117 -127
X129 -127
X131 -127
X-226 -126
X-225 -126
X-122 -126
X107 -126
X108 -126
X114 -126
X116 -126
X-227 -125
X-225 -125
X-124 -125
X-122 -125
X106 -125
X108 -125
X114 -125
X115 -125
X-225 -124
X-123 -124
X-122 -124
X106 -124
X-111 -123
X105 -123
X106 -123
X-110 -122
X-109 -122
X 95 -122
X 96 -122
X 97 -122
X-111 -121
X-110 -121
X-56 -121
X-55 -121
X-54 -121
X 97 -121
X-266 -120
X-265 -120
X 96 -120
X142 -120
X143 -120
X147 -120
X148 -120
X-265 -119
X-253 -119
X-104 -119
X-56 -119
X-54 -119
X142 -119
X143 -119
X147 -119
X148 -119
X-268 -118
X-267 -118
X-266 -118
X-252 -118
X-251 -118
X-234 -118
X-233 -118
X-232 -118
X-106 -118
X-104 -118
X-57 -118
X-56 -118
X-55 -118
X-54 -118
X-53 -118
X121 -118
X143 -118
X144 -118
X145 -118
X146 -118
X147 -118
X-268 -117
X-253 -117
X-252 -117
X-232 -117
X-105 -117
X-104 -117
X-58 -117
X-57 -117
X-53 -117
X-52 -117
X120 -117
X121 -117
X122 -117
X144 -117
X146 -117
X-258 -116
X-233 -116
X-58 -116
X-57 -116
X-53 -116
X-52 -116
X-258 -115
X-257 -115
X-256 -115
X144 -115
X145 -115
X146 -115
X-255 -114
X-99 -114
X120 -114
X121 -114
X122 -114
X-256 -113
X-255 -113
X-101 -113
X-99 -113
X-100 -112
X-99 -112
X120 -112
X122 -112
X-252 -111
X-241 -111
X-240 -111
X120 -111
X122 -111
X-252 -110
X-242 -110
X-240 -110
X-240 -109
X120 -109
X121 -109
X122 -109
X148 -109
X-55 -108
X-54 -108
X149 -108
X-256 -107
X-255 -107
X-251 -107
X-250 -107
X-55 -107
X-54 -107
X147 -107
X148 -107
X149 -107
X-255 -106
X-254 -106
X-253 -106
X-252 -106
X-251 -106
X120 -106
X121 -106
X122 -106
X143 -106
X-254 -105
X-253 -105
X-252 -105
X111 -105
X113 -105
X121 -105
X142 -105
X143 -105
X144 -105
X-253 -104
X -1 -104
X  2 -104
X 59 -104
X 62 -104
X112 -104
X113 -104
X141 -104
X142 -104
X143 -104
X144 -104
X145 -104
X-249 -103
X-248 -103
X-247 -103
X -2 -103
X 58 -103
X112 -103
X140 -103
X141 -103
X145 -103
X146 -103
X-247 -102
X -2 -102
X  2 -102
X 58 -102
X 62 -102
X119 -102
X120 -102
X-248 -101
X -2 -101
X -1 -101
X  0 -101
X  1 -101
X 58 -101
X 59 -101
X 60 -101
X 61 -101
X119 -101
X121 -101
X119 -100
X144 -100
X144 -99
X140 -97
X141 -97
X-92 -96
X141 -96
X-252 -95
X-251 -95
X-250 -95
X-94 -95
X-92 -95
X138 -95
X139 -95
X140 -95
X-93 -94
X-92 -94
X138 -94
X163 -94
X-252 -93
X-250 -93
X-81 -93
X164 -93
X-253 -92
X-252 -92
X-251 -92
X-250 -92
X-249 -92
X-80 -92
X-79 -92
X162 -92
X163 -92
X164 -92
X-254 -91
X-253 -91
X-249 -91
X-248 -91
X-81 -91
X-80 -91
X-254 -90
X-253 -90
X-249 -90
X-248 -90
X-74 -89
X-156 -88
X-155 -88
X-76 -88
X-74 -88
X-156 -87
X-155 -87
X-75 -87
X-74 -87
X136 -86
X136 -85
X137 -85
X-69 -84
X 50 -84
X 51 -84
X135 -84
X137 -84
X-71 -83
X-69 -83
X 50 -83
X-252 -82
X-251 -82
X-70 -82
X-69 -82
X 48 -82
X 50 -82
X-252 -81
X-251 -81
X 48 -81
X 49 -81
X162 -80
X-159 -79
X-158 -79
X-154 -79
X-153 -79
X160 -79
X161 -79
X-159 -78
X-158 -78
X-154 -78
X-153 -78
X161 -78
X162 -78
X-158 -77
X-157 -77
X-156 -77
X-155 -77
X-154 -77
X-157 -76
X-155 -76
X-157 -74
X-156 -74
X-155 -74
X 52 -74
X 53 -74
X 53 -73
X 53 -72
X 55 -72
X 60 -72
X149 -72
X150 -72
X 54 -71
X 55 -71
X 56 -71
X 58 -71
X 59 -71
X 60 -71
X 61 -71
X149 -71
X151 -71
X 49 -70
X 56 -70
X 57 -70
X 59 -70
X 61 -70
X 62 -70
X 77 -70
X 78 -70
X149 -70
X 50 -69
X 51 -69
X 56 -69
X 59 -69
X 61 -69
X 62 -69
X 63 -69
X 75 -69
X 78 -69
X-159 -68
X 49 -68
X 50 -68
X 57 -68
X 59 -68
X 61 -68
X 62 -68
X 74 -68
X 86 -68
X 87 -68
X-160 -67
X 58 -67
X 59 -67
X 60 -67
X 61 -67
X 74 -67
X 86 -67
X 87 -67
X-160 -66
X-159 -66
X-158 -66
X-62 -66
X 60 -66
X 66 -66
X 74 -66
X189 -66
X190 -66
X-154 -65
X-64 -65
X-62 -65
X 65 -65
X 75 -65
X 78 -65
X177 -65
X189 -65
X-155 -64
X-154 -64
X-153 -64
X-63 -64
X-62 -64
X 65 -64
X 66 -64
X 67 -64
X 77 -64
X 78 -64
X156 -64
X157 -64
X158 -64
X175 -64
X176 -64
X190 -64
X191 -64
X192 -64
X-156 -63
X-155 -63
X-154 -63
X-153 -63
X-152 -63
X-51 -63
X156 -63
X176 -63
X177 -63
X192 -63
X-157 -62
X-156 -62
X-152 -62
X-151 -62
X-50 -62
X-49 -62
X157 -62
X182 -62
X-131 -61
X-130 -61
X-51 -61
X-50 -61
X180 -61
X181 -61
X182 -61
X-132 -60
X-130 -60
X179 -60
X-155 -59
X-130 -59
X-44 -59
X179 -59
X180 -59
X-155 -58
X-46 -58
X-44 -58
X 58 -58
X-45 -57
X-44 -57
X 58 -57
X 60 -57
X164 -57
X165 -57
X176 -57
X-152 -56
X-151 -56
X 58 -56
X 59 -56
X164 -56
X166 -56
X176 -56
X-152 -55
X 20 -55
X 21 -55
X 22 -55
X 34 -55
X164 -55
X-151 -54
X-150 -54
X-149 -54
X-39 -54
X 22 -54
X 35 -54
X 36 -54
X-174 -53
X-149 -53
X-41 -53
X-39 -53
X 21 -53
X 34 -53
X 35 -53
X174 -53
X175 -53
X179 -53
X180 -53
X-175 -52
X-57 -52
X-56 -52
X-40 -52
X-39 -52
X175 -52
X176 -52
X177 -52
X178 -52
X179 -52
X-175 -51
X-174 -51
X-173 -51
X-57 -51
X-56 -51
X 51 -51
X176 -51
X177 -51
X178 -51
X 50 -50
X177 -50
X 50 -49
X 51 -49
X 52 -49
X171 -49
X172 -49
X173 -49
X171 -48
X172 -47
X-147 -45
X-148 -44
X-147 -44
X-148 -43
X-146 -43
X 43 -43
X 43 -42
X 45 -42
X-57 -41
X-56 -41
X-55 -41
X 43 -41
X 44 -41
X174 -41
X175 -41
X176 -41
X-58 -40
X-54 -40
X -6 -40
X -5 -40
X  5 -40
X  6 -40
X  7 -40
X-173 -39
X-59 -39
X-53 -39
X -6 -39
X -3 -39
X  7 -39
X174 -39
X176 -39
X-172 -38
X-171 -38
X-58 -38
X-54 -38
X -2 -38
X  6 -38
X 12 -38
X173 -38
X174 -38
X175 -38
X176 -38
X177 -38
X-173 -37
X-172 -37
X-57 -37
X-56 -37
X-55 -37
X-15 -37
X-14 -37
X -2 -37
X 11 -37
X 12 -37
X 13 -37
X 14 -37
X172 -37
X173 -37
X177 -37
X178 -37
X-57 -36
X-56 -36
X-55 -36
X-32 -36
X-15 -36
X-14 -36
X -2 -36
X 10 -36
X 11 -36
X 13 -36
X 15 -36
X172 -36
X173 -36
X177 -36
X178 -36
X-34 -35
X-32 -35
X -6 -35
X -3 -35
X  9 -35
X 10 -35
X 11 -35
X 13 -35
X 16 -35
X-33 -34
X-32 -34
X -6 -34
X -5 -34
X 10 -34
X 11 -34
X 13 -34
X 15 -34
X 16 -34
X-21 -33
X 11 -33
X 12 -33
X 13 -33
X 14 -33
X 16 -33
X 17 -33
X 18 -33
X-20 -32
X-19 -32
X 12 -32
X 17 -32
X 19 -32
X-161 -31
X-160 -31
X-59 -31
X-58 -31
X-57 -31
X-21 -31
X-20 -31
X 19 -31
X-162 -30
X-160 -30
X-60 -30
X-59 -30
X-57 -30
X-56 -30
X-52 -30
X 19 -30
X 20 -30
X-160 -29
X-60 -29
X-59 -29
X-57 -29
X-56 -29
X-51 -29
X-50 -29
X-14 -29
X 30 -29
X-60 -28
X-59 -28
X-58 -28
X-57 -28
X-56 -28
X-52 -28
X-51 -28
X-16 -28
X-14 -28
X 29 -28
X 30 -28
X175 -28
X176 -28
X-61 -27
X-60 -27
X-56 -27
X-55 -27
X-15 -27
X-14 -27
X 29 -27
X 31 -27
X175 -27
X176 -27
X-201 -25
X-200 -25
X-200 -24
X-188 -24
X -9 -24
X-203 -23
X-202 -23
X-201 -23
X-187 -23
X-186 -23
X-169 -23
X-168 -23
X-167 -23
X-11 -23
X -9 -23
X-203 -22
X-188 -22
X-187 -22
X-167 -22
X-45 -22
X-43 -22
X-10 -22
X -9 -22
X-193 -21
X-168 -21
X-44 -21
X-43 -21
X-193 -20
X-192 -20
X-191 -20
X-61 -20
X-60 -20
X-44 -20
X-190 -19
X-60 -19
X-191 -18
X-190 -18
X-63 -18
X-62 -18
X-61 -18
X-56 -18
X-55 -18
X-63 -17
X-57 -17
X-55 -17
X-187 -16
X-176 -16
X-175 -16
X-73 -16
X-55 -16
X-187 -15
X-177 -15
X-175 -15
X-73 -15
X-72 -15
X-71 -15
X-37 -15
X-175 -14
X-70 -14
X-36 -14
X-35 -14
X-71 -13
X-70 -13
X-37 -13
X-36 -13
X 13 -13
X-191 -12
X-190 -12
X-186 -12
X-185 -12
X 13 -12
X 15 -12
X-190 -11
X-189 -11
X-188 -11
X-187 -11
X-186 -11
X 13 -11
X 14 -11
X-189 -10
X-188 -10
X-187 -10
X-188  -9
X-184  -8
X-183  -8
X-182  -8
X-182  -7
X-30  -7
X-28  -7
X-183  -6
X-29  -6
X-28  -6
X -2  -6
X-29  -5
X -4  -5
X -2  -5
X -3  -4
X -2  -4
X-41  -3
X-40  -3
X  9  -3
X-42  -2
X-40  -2
X 10  -2
X 11  -2
X-40  -1
X  9  -1
X 10  -1
X-187   0
X-186   0
X-185   0
X 16   1
X-187   2
X-185   2
X 14   2
X 16   2
X-188   3
X-187   3
X-186   3
X-185   3
X-184   3
X 15   3
X 16   3
X-189   4
X-188   4
X-184   4
X-183   4
X-189   5
X-188   5
X-184   5
X-183   5
X-19   6
X 21   6
X-20   7
X 19   7
X 21   7
X-20   8
X-19   8
X-18   8
X 20   8
X 21   8
X-46  11
X-45  11
X-47  12
X-46  12
X-187  13
X-186  13
X-45  13
X-187  14
X-186  14
X-19  15
X-21  16
X-20  16
X-19  16
X-22  17
X-22  18
X-21  18
X 22  18
X 20  19
X 22  19
X 21  20
X 22  20
X  0  23
X  2  23
X  1  24
X  2  24
X 28  24
X-27  25
X-26  25
X-22  25
X-21  25
X  1  25
X 26  25
X 28  25
X-31  26
X-30  26
X-26  26
X-25  26
X-24  26
X-23  26
X-22  26
X 27  26
X 28  26
X-32  27
X-31  27
X-26  27
X-25  27
X-23  27
X-22  27
X  1  27
X  2  27
X 39  27
X-30  28
X-26  28
X-25  28
X-23  28
X-22  28
X  0  28
X  2  28
X 40  28
X 41  28
X-25  29
X-24  29
X-23  29
X-10  29
X -9  29
X -8  29
X -7  29
X -6  29
X -5  29
X 39  29
X 40  29
X-11  30
X -4  30
X  0  30
X  1  30
X-12  31
X -3  31
X 46  31
X165  31
X166  31
X-11  32
X -4  32
X 44  32
X 46  32
X165  32
X-10  33
X -9  33
X -8  33
X -7  33
X -6  33
X -5  33
X 45  33
X 46  33
X163  33
X165  33
X-27  34
X-26  34
X-25  34
X163  34
X164  34
X-27  35
X-26  35
X-25  35
X-28  36
X-24  36
X 51  36
X-29  37
X-23  37
X 49  37
X 51  37
X-28  38
X-24  38
X 50  38
X 51  38
X-27  39
X-26  39
X-25  39
X167  41
X168  41
X168  42
X168  43
X170  43
X175  43
X169  44
X170  44
X174  44
X176  44
X163  45
X165  45
X173  45
X175  45
X176  45
X192  45
X193  45
X164  46
X165  46
X172  46
X173  46
X175  46
X176  46
X191  46
X193  46
X 17  47
X 19  47
X164  47
X173  47
X175  47
X176  47
X190  47
X201  47
X202  47
X  9  48
X 10  48
X 17  48
X 18  48
X 52  48
X174  48
X176  48
X190  48
X193  48
X202  48
X-26  49
X-25  49
X  9  49
X 18  49
X 50  49
X 52  49
X175  49
X181  49
X190  49
X-26  50
X-25  50
X -1  50
X  1  50
X  7  50
X  9  50
X 51  50
X 52  50
X181  50
X183  50
X191  50
X193  50
X -2  51
X  1  51
X  7  51
X  8  51
X181  51
X182  51
X192  51
X193  51
X-12  52
X -3  52
X -2  52
X-13  53
X-11  53
X -5  53
X -4  53
X  0  53
X-25  54
X-24  54
X-13  54
X-12  54
X-10  54
X -3  54
X -2  54
X 58  54
X-25  55
X-24  55
X-13  55
X-12  55
X-10  55
X -9  55
X -2  55
X  1  55
X 56  55
X 58  55
X-13  56
X-12  56
X-10  56
X -1  56
X  1  56
X 57  56
X 58  56
X174  56
X-13  57
X-11  57
X 31  57
X 32  57
X 69  57
X173  57
X-12  58
X -2  58
X 31  58
X 33  58
X 70  58
X 71  58
X173  58
X174  58
X175  58
X -1  59
X 31  59
X 69  59
X 70  59
X -3  60
X -2  60
X -1  60
X135  60
X136  60
X148  60
X150  60
X 76  61
X134  61
X136  61
X149  61
X150  61
X205  61
X206  61
X 74  62
X 76  62
X136  62
X149  62
X205  62
X 75  63
X 76  63
X203  63
X205  63
X166  64
X203  64
X204  64
X 38  65
X 39  65
X 40  65
X166  65
X168  65
X 38  66
X 81  66
X166  66
X167  66
X 39  67
X 79  67
X 81  67
X 80  68
X 81  68
X 26  69
X 27  69
X 27  70
X 28  70
X 26  71
X159  71
X207  71
X208  71
X 46  72
X 47  72
X158  72
X208  72
X 13  73
X 46  73
X 48  73
X158  73
X159  73
X160  73
X208  73
X210  73
X215  73
X 14  74
X 46  74
X209  74
X210  74
X214  74
X216  74
X 12  75
X 13  75
X 14  75
X109  75
X110  75
X120  75
X121  75
X203  75
X205  75
X213  75
X215  75
X216  75
X232  75
X233  75
X109  76
X111  76
X119  76
X121  76
X204  76
X205  76
X212  76
X213  76
X215  76
X216  76
X231  76
X233  76
X112  77
X121  77
X127  77
X204  77
X213  77
X215  77
X216  77
X230  77
X241  77
X242  77
X 82  78
X100  78
X109  78
X112  78
X126  78
X128  78
X214  78
X216  78
X230  78
X233  78
X242  78
X 80  79
X 82  79
X100  79
X101  79
X112  79
X126  79
X127  79
X129  79
X215  79
X221  79
X230  79
X 53  80
X 54  80
X 55  80
X 81  80
X 82  80
X109  80
X111  80
X126  80
X127  80
X129  80
X130  80
X221  80
X223  80
X231  80
X233  80
X 53  81
X109  81
X110  81
X126  81
X127  81
X129  81
X221  81
X222  81
X232  81
X233  81
X 54  82
X 64  82
X126  82
X128  82
X132  82
X133  82
X 63  83
X 65  83
X127  83
X132  83
X134  83
X 41  84
X 42  84
X 51  84
X 53  84
X 62  84
X 64  84
X 65  84
X 88  84
X134  84
X 42  85
X 43  85
X 51  85
X 54  85
X 61  85
X 62  85
X 64  85
X 65  85
X 76  85
X 77  85
X 86  85
X 88  85
X134  85
X135  85
X 41  86
X 54  86
X 55  86
X 62  86
X 64  86
X 65  86
X 76  86
X 77  86
X 87  86
X 88  86
X214  86
X 52  87
X 56  87
X 57  87
X 63  87
X 65  87
X145  87
X146  87
X213  87
X 54  88
X 55  88
X 64  88
X 90  88
X 91  88
X144  88
X145  88
X213  88
X214  88
X215  88
X 44  89
X 45  89
X 51  89
X 54  89
X 91  89
X 92  89
X146  89
X 43  90
X 45  90
X 51  90
X 53  90
X 90  90
X175  90
X176  90
X188  90
X190  90
X 43  91
X174  91
X176  91
X189  91
X190  91
X245  91
X246  91
X 42  92
X 43  92
X176  92
X189  92
X245  92
X243  93
X245  93
X206  94
X243  94
X244  94
X206  95
X208  95
X206  96
X207  96
X 38  99
X 39  99
X 38 100
X 40 100
X 40 101
X129 101
X199 101
X247 101
X248 101
X 40 102
X 41 102
X128 102
X198 102
X248 102
X128 103
X129 103
X130 103
X198 103
X199 103
X200 103
X248 103
X250 103
X255 103
X249 104
X250 104
X254 104
X256 104
X149 105
X150 105
X160 105
X161 105
X243 105
X245 105
X253 105
X255 105
X256 105
X272 105
X273 105
X149 106
X151 106
X159 106
X161 106
X244 106
X245 106
X252 106
X253 106
X255 106
X256 106
X271 106
X273 106
X 60 107
X152 107
X161 107
X167 107
X244 107
X253 107
X255 107
X256 107
X270 107
X281 107
X282 107
X 60 108
X 61 108
X 62 108
X140 108
X149 108
X152 108
X166 108
X168 108
X254 108
X256 108
X270 108
X273 108
X282 108
X 63 109
X140 109
X141 109
X152 109
X166 109
X167 109
X169 109
X255 109
X261 109
X270 109
X 62 110
X 63 110
X149 110
X151 110
X166 110
X167 110
X169 110
X170 110
X261 110
X263 110
X271 110
X273 110
X149 111
X150 111
X166 111
X167 111
X169 111
X261 111
X262 111
X272 111
X273 111
X166 112
X168 112
X172 112
X173 112
X167 113
X172 113
X174 113
X174 114
X174 115
X175 115
X254 116
X185 117
X186 117
X253 117
X 60 118
X 61 118
X184 118
X185 118
X253 118
X254 118
X255 118
X 61 119
X 62 119
X186 119
X 60 120
X215 120
X216 120
X228 120
X230 120
X214 121
X216 121
X229 121
X230 121
X216 122
X229 122
X 77 124
X 78 124
X246 124
X 77 125
X 79 125
X246 125
X248 125
X 77 126
X246 126
X247 126
X 99 131
X169 131
X239 131
X 35 132
X 84 132
X 85 132
X 86 132
X 98 132
X168 132
X238 132
X 35 133
X 36 133
X 37 133
X 84 133
X 98 133
X 99 133
X100 133
X168 133
X169 133
X170 133
X238 133
X239 133
X240 133
X 38 134
X 85 134
X 37 135
X 38 135
X189 135
X190 135
X200 135
X201 135
X189 136
X191 136
X199 136
X201 136
X192 137
X201 137
X207 137
X180 138
X189 138
X192 138
X206 138
X208 138
X 92 139
X 93 139
X180 139
X181 139
X192 139
X206 139
X207 139
X209 139
X 92 140
X 94 140
X189 140
X191 140
X206 140
X207 140
X209 140
X210 140
X 92 141
X189 141
X190 141
X206 141
X207 141
X209 141
X206 142
X208 142
X212 142
X213 142
X207 143
X212 143
X214 143
X214 144
X214 145
X215 145
X 99 147
X100 147
X101 147
X111 147
X112 147
X159 147
X225 147
X226 147
X 30 148
X 31 148
X 99 148
X109 148
X112 148
X160 148
X161 148
X224 148
X225 148
X 31 149
X 32 149
X 94 149
X100 149
X108 149
X159 149
X160 149
X226 149
X 30 150
X 92 150
X 93 150
X 94 150
X 95 150
X108 150
X121 150
X 87 151
X 91 151
X 93 151
X 95 151
X 96 151
X108 151
X120 151
X121 151
X166 151
X 86 152
X 87 152
X 90 152
X 93 152
X 95 152
X 96 152
X 97 152
X109 152
X112 152
X164 152
X166 152
X 91 153
X 93 153
X 95 153
X 96 153
X111 153
X112 153
X165 153
X166 153
X 57 154
X 58 154
X 92 154
X 93 154
X 94 154
X 95 154
X 57 155
X 59 155
X 94 155
X 57 156
X171 156
X169 157
X171 157
X170 158
X171 158
X139 161
X209 161
X 64 162
X 65 162
X 66 162
X138 162
X208 162
X 64 163
X138 163
X139 163
X140 163
X208 163
X209 163
X210 163
X -3 164
X 65 164
X -3 165
X -2 165
X172 168
X -3 169
X 72 169
X 73 169
X170 169
X172 169
X -4 170
X -2 170
X 72 170
X 74 170
X171 170
X172 170
X -5 171
X -1 171
X 72 171
X -4 172
X -3 172
X -2 172
X -6 173
X -5 173
X -1 173
X  0 173
X178 174
X176 175
X178 175
X177 176
X178 176
X  0 178
X  1 178
X  1 179
X  2 179
X  0 180
X 37 184
X 38 184
X 87 184
X 88 184
X 37 185
X 39 185
X 87 185
X 89 185
X 37 186
X 87 186
X -1 187
X -2 188
X -1 188
X  0 188
X -3 189
X -2 189
X -1 189
X  0 189
X  1 189
X -4 190
X -3 190
X  1 190
X  2 190
X109 191
X179 191
X 44 192
X 45 192
X 46 192
X 94 192
X 95 192
X 96 192
X108 192
X178 192
X 44 193
X 94 193
X108 193
X109 193
X110 193
X178 193
X179 193
X180 193
X 45 194
X 95 194
X -2 198
X -2 199
X -1 199
X 52 199
X 53 199
X102 199
X103 199
X 52 200
X 54 200
X102 200
X104 200
X198 200
X199 200
X 52 201
X102 201
X198 201
X199 201
X109 207
X110 207
X111 207
X121 207
X122 207
X109 208
X119 208
X122 208
X104 209
X110 209
X118 209
X102 210
X103 210
X104 210
X105 210
X118 210
X131 210
X 97 211
X101 211
X103 211
X105 211
X106 211
X118 211
X130 211
X131 211
X 96 212
X 97 212
X100 212
X103 212
X105 212
X106 212
X107 212
X119 212
X122 212
X101 213
X103 213
X105 213
X106 213
X121 213
X122 213
X 67 214
X 68 214
X102 214
X103 214
X104 214
X105 214
X 67 215
X 69 215
X104 215
X 67 216
X149 221
X 74 222
X 75 222
X 76 222
X148 222
X 74 223
X148 223
X149 223
X150 223
X 75 224
X 82 229
X 83 229
X 82 230
X 84 230
X 82 231
X 97 244
X 98 244
X 97 245
X 99 245
X 97 246
X119 251
X104 252
X105 252
X106 252
X118 252
X104 253
X118 253
X119 253
X120 253
X105 254
X112 259
X113 259
X112 260
X114 260
X112 261
X119 267
X120 267
X121 267
X131 267
X132 267
X119 268
X129 268
X132 268
X114 269
X120 269
X128 269
X112 270
X113 270
X114 270
X115 270
X128 270
X141 270
X107 271
X111 271
X113 271
X115 271
X116 271
X128 271
X140 271
X141 271
X106 272
X107 272
X110 272
X113 272
X115 272
X116 272
X117 272
X129 272
X132 272
X111 273
X113 273
X115 273
X116 273
X131 273
X132 273
X112 274
X113 274
X114 274
X115 274
X114 275
END_OF_xlife-2.0/patterns/blockpusher.life
if test 23036 -ne `wc -c <xlife-2.0/patterns/blockpusher.life`; then
    echo shar: \"xlife-2.0/patterns/blockpusher.life\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of archive 2 \(of 8\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 8 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

dan
----------------------------------------------------
O'Reilly && Associates   argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.



More information about the Comp.sources.x mailing list