aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
committerPeter Wemm <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
commita5b996a7ecea192e05c848269fbfb40c1e7c50ef (patch)
treeb43d0e66d9963acc026a6322b81fd219d273736b /gnu/usr.bin/perl
parentdf2fbf15a2e56a16c3b54b93a3369b662b6f20e5 (diff)
downloadsrc-a5b996a7ecea192e05c848269fbfb40c1e7c50ef.tar.gz
src-a5b996a7ecea192e05c848269fbfb40c1e7c50ef.zip
recording cvs-1.6 file death
Notes
Notes: svn path=/cvs2svn/branches/ATT/; revision=13122
Diffstat (limited to 'gnu/usr.bin/perl')
-rw-r--r--gnu/usr.bin/perl/Makefile.inc5
-rw-r--r--gnu/usr.bin/perl/perl/t/op/Op.dbmx.dbbin16384 -> 0 bytes
-rw-r--r--gnu/usr.bin/perl/perl/usub/Makefile16
-rw-r--r--gnu/usr.bin/perl/perl/usub/README114
-rw-r--r--gnu/usr.bin/perl/perl/usub/bsdcurses.mus699
-rw-r--r--gnu/usr.bin/perl/perl/usub/curses.mus890
-rw-r--r--gnu/usr.bin/perl/perl/usub/man2mus66
-rwxr-xr-xgnu/usr.bin/perl/perl/usub/mus135
-rw-r--r--gnu/usr.bin/perl/perl/usub/pager190
-rw-r--r--gnu/usr.bin/perl/perl/usub/usersub.c75
-rw-r--r--gnu/usr.bin/perl/x2p/a2p.c2715
11 files changed, 0 insertions, 4905 deletions
diff --git a/gnu/usr.bin/perl/Makefile.inc b/gnu/usr.bin/perl/Makefile.inc
deleted file mode 100644
index c2f9b445c186..000000000000
--- a/gnu/usr.bin/perl/Makefile.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-BINDIR?= /usr/local/bin
-MANDIR?= /usr/local/man/man
-
diff --git a/gnu/usr.bin/perl/perl/t/op/Op.dbmx.db b/gnu/usr.bin/perl/perl/t/op/Op.dbmx.db
deleted file mode 100644
index 33a09bba6d1c..000000000000
--- a/gnu/usr.bin/perl/perl/t/op/Op.dbmx.db
+++ /dev/null
Binary files differ
diff --git a/gnu/usr.bin/perl/perl/usub/Makefile b/gnu/usr.bin/perl/perl/usub/Makefile
deleted file mode 100644
index 965a98afb350..000000000000
--- a/gnu/usr.bin/perl/perl/usub/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-SRC = ..
-GLOBINCS =
-LOCINCS =
-LIBS = -lcurses -ltermcap `. $(SRC)/config.sh; echo $$libs`
-
-curseperl: $(SRC)/uperl.o usersub.o curses.o
- cc $(SRC)/uperl.o usersub.o curses.o $(LIBS) -o curseperl
-
-usersub.o: usersub.c
- cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g usersub.c
-
-curses.o: curses.c
- cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g curses.c
-
-curses.c: curses.mus
- mus curses.mus >curses.c
diff --git a/gnu/usr.bin/perl/perl/usub/README b/gnu/usr.bin/perl/perl/usub/README
deleted file mode 100644
index a80a650d7b95..000000000000
--- a/gnu/usr.bin/perl/perl/usub/README
+++ /dev/null
@@ -1,114 +0,0 @@
-This directory contains an example of how you might link in C subroutines
-with perl to make your own special copy of perl. In the perl distribution
-directory, there will be (after make is run) a file called uperl.o, which
-is all of perl except for a single undefined subroutine, named userinit().
-See usersub.c.
-
-The sole purpose of the userinit() routine is to call the initialization
-routines for any modules that you want to link in. In this example, we just
-call init_curses(), which sets up to link in the System V curses routines.
-You'll find this in the file curses.c, which is the processed output of
-curses.mus. (To get BSD curses, replace curses.mus with bsdcurses.mus.)
-
-The magicname() routine adds variable names into the symbol table. Along
-with the name of the variable as Perl knows it, we pass a structure containing
-an index identifying the variable, and the names of two C functions that
-know how to set or evaluate a variable given the index of the variable.
-Our example uses a macro to handle this conveniently.
-
-The init routine calls make_usub() to add user-defined subroutine names
-into the symbol table. The arguments are
-
- make_usub(subname, subindex, subfunc, filename);
- char *subname;
- int subindex;
- int subfunc();
- char *filename;
-
-The subname is the name that will be used in the Perl program. The subindex
-will be passed to subfunc() when it is called to tell it which C function
-is desired. subfunc() is a glue routine that translates the arguments
-from Perl internal stack form to the form required by the routine in
-question, calls the desired C function, and then translates any return
-value back into the stack format. The glue routine used by curses just
-has a large switch statement, each branch of which does the processing
-for a particular C function. The subindex could, however, be used to look
-up a function in a dynamically linked library. No example of this is
-provided.
-
-As a help in producing the glue routine, a preprocessor called "mus" lets
-you specify argument and return value types in a tabular format. An entry
-such as:
-
- CASE int waddstr
- I WINDOW* win
- I char* str
- END
-
-indicates that waddstr takes two input arguments, the first of which is a
-pointer to a window, and the second of which is an ordinary C string. It
-also indicates that an integer is returned. The mus program turns this into:
-
- case US_waddstr:
- if (items != 2)
- fatal("Usage: &waddstr($win, $str)");
- else {
- int retval;
- WINDOW* win = *(WINDOW**) str_get(st[1]);
- char* str = (char*) str_get(st[2]);
-
- retval = waddstr(win, str);
- str_numset(st[0], (double) retval);
- }
- return sp;
-
-It's also possible to have output parameters, indicated by O, and input/ouput
-parameters indicated by IO.
-
-The mus program isn't perfect. You'll note that curses.mus has some
-cases which are hand coded. They'll be passed straight through unmodified.
-You can produce similar cases by analogy to what's in curses.c, as well
-as similar routines in the doarg.c, dolist.c and doio.c routines of Perl.
-The mus program is only intended to get you about 90% there. It's not clear,
-for instance, how a given structure should be passed to Perl. But that
-shouldn't bother you--if you've gotten this far, it's already obvious
-that you are totally mad.
-
-Here's an example of how to return an array value:
-
- case US_appl_errlist:
- if (!wantarray) {
- str_numset(st[0], (double) appl_nerr);
- return sp;
- }
- astore(stack, sp + appl_nerr, Nullstr); /* extend stack */
- st = stack->ary_array + sp; /* possibly realloced */
- for (i = 0; i < appl_nerr; i++) {
- tmps = appl_errlist[i];
- st[i] = str_2mortal(str_make(tmps,strlen(tmps)));
- }
- return sp + appl_nerr - 1;
-
-
-In addition, there is a program, man2mus, that will scan a man page for
-function prototypes and attempt to construct a mus CASE entry for you. It has
-to guess about input/output parameters, so you'll have to tidy up after it.
-But it can save you a lot of time if the man pages for a library are
-reasonably well formed.
-
-If you happen to have curses on your machine, you might try compiling
-a copy of curseperl. The "pager" program in this directory is a rudimentary
-start on writing a pager--don't believe the help message, which is stolen
-from the less program.
-
-User-defined subroutines may not currently be called as a signal handler,
-though a signal handler may itself call a user-defined subroutine.
-
-There are now glue routines to call back from C into Perl. In usersub.c
-in this directory, you'll find callback() and callv(). The callback()
-routine presumes that any arguments to pass to the Perl subroutine
-have already been pushed onto the Perl stack. The callv() routine
-is a wrapper that pushes an argv-style array of strings onto the
-stack for you, and then calls callback(). Be sure to recheck your
-stack pointer after returning from these routine, since the Perl code
-may have reallocated it.
diff --git a/gnu/usr.bin/perl/perl/usub/bsdcurses.mus b/gnu/usr.bin/perl/perl/usub/bsdcurses.mus
deleted file mode 100644
index 1a1f11bcb21f..000000000000
--- a/gnu/usr.bin/perl/perl/usub/bsdcurses.mus
+++ /dev/null
@@ -1,699 +0,0 @@
-/* $RCSfile: bsdcurses.mus,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:07 $
- *
- * $Log: bsdcurses.mus,v $
-# Revision 1.1.1.1 1993/08/23 21:30:07 nate
-# PERL!
-#
- * Revision 4.0.1.2 92/06/08 16:05:28 lwall
- * patch20: &getcap eventually dumped core in bsdcurses
- *
- * Revision 4.0.1.1 91/11/05 19:04:53 lwall
- * initial checkin
- *
- * Revision 4.0 91/03/20 01:56:13 lwall
- * 4.0 baseline.
- *
- * Revision 3.0.1.1 90/08/09 04:05:21 lwall
- * patch19: Initial revision
- *
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-
-char *savestr();
-
-#include <curses.h>
-
-static enum uservars {
- UV_curscr,
- UV_stdscr,
- UV_Def_term,
- UV_My_term,
- UV_ttytype,
- UV_LINES,
- UV_COLS,
- UV_ERR,
- UV_OK,
-};
-
-static enum usersubs {
- US_addch,
- US_waddch,
- US_addstr,
- US_waddstr,
- US_box,
- US_clear,
- US_wclear,
- US_clearok,
- US_clrtobot,
- US_wclrtobot,
- US_clrtoeol,
- US_wclrtoeol,
- US_delch,
- US_wdelch,
- US_deleteln,
- US_wdeleteln,
- US_erase,
- US_werase,
- US_flushok,
- US_idlok,
- US_insch,
- US_winsch,
- US_insertln,
- US_winsertln,
- US_move,
- US_wmove,
- US_overlay,
- US_overwrite,
- US_printw,
- US_wprintw,
- US_refresh,
- US_wrefresh,
- US_standout,
- US_wstandout,
- US_standend,
- US_wstandend,
- US_cbreak,
- US_nocbreak,
- US_echo,
- US_noecho,
- US_getch,
- US_wgetch,
- US_getstr,
- US_wgetstr,
- US_raw,
- US_noraw,
- US_scanw,
- US_wscanw,
- US_baudrate,
- US_delwin,
- US_endwin,
- US_erasechar,
- US_getcap,
- US_getyx,
- US_inch,
- US_winch,
- US_initscr,
- US_killchar,
- US_leaveok,
- US_longname,
- US_fullname,
- US_mvwin,
- US_newwin,
- US_nl,
- US_nonl,
- US_scrollok,
- US_subwin,
- US_touchline,
- US_touchoverlap,
- US_touchwin,
- US_unctrl,
- US_gettmode,
- US_mvcur,
- US_scroll,
- US_savetty,
- US_resetty,
- US_setterm,
- US_tstp,
- US__putchar,
- US_testcallback,
-};
-
-static int usersub();
-static int userset();
-static int userval();
-
-int
-init_curses()
-{
- struct ufuncs uf;
- char *filename = "curses.c";
-
- uf.uf_set = userset;
- uf.uf_val = userval;
-
-#define MAGICVAR(name, ix) uf.uf_index = ix, magicname(name, &uf, sizeof uf)
-
- MAGICVAR("curscr", UV_curscr);
- MAGICVAR("stdscr", UV_stdscr);
- MAGICVAR("Def_term",UV_Def_term);
- MAGICVAR("My_term", UV_My_term);
- MAGICVAR("ttytype", UV_ttytype);
- MAGICVAR("LINES", UV_LINES);
- MAGICVAR("COLS", UV_COLS);
- MAGICVAR("ERR", UV_ERR);
- MAGICVAR("OK", UV_OK);
-
- make_usub("addch", US_addch, usersub, filename);
- make_usub("waddch", US_waddch, usersub, filename);
- make_usub("addstr", US_addstr, usersub, filename);
- make_usub("waddstr", US_waddstr, usersub, filename);
- make_usub("box", US_box, usersub, filename);
- make_usub("clear", US_clear, usersub, filename);
- make_usub("wclear", US_wclear, usersub, filename);
- make_usub("clearok", US_clearok, usersub, filename);
- make_usub("clrtobot", US_clrtobot, usersub, filename);
- make_usub("wclrtobot", US_wclrtobot, usersub, filename);
- make_usub("clrtoeol", US_clrtoeol, usersub, filename);
- make_usub("wclrtoeol", US_wclrtoeol, usersub, filename);
- make_usub("delch", US_delch, usersub, filename);
- make_usub("wdelch", US_wdelch, usersub, filename);
- make_usub("deleteln", US_deleteln, usersub, filename);
- make_usub("wdeleteln", US_wdeleteln, usersub, filename);
- make_usub("erase", US_erase, usersub, filename);
- make_usub("werase", US_werase, usersub, filename);
- make_usub("flushok", US_flushok, usersub, filename);
- make_usub("idlok", US_idlok, usersub, filename);
- make_usub("insch", US_insch, usersub, filename);
- make_usub("winsch", US_winsch, usersub, filename);
- make_usub("insertln", US_insertln, usersub, filename);
- make_usub("winsertln", US_winsertln, usersub, filename);
- make_usub("move", US_move, usersub, filename);
- make_usub("wmove", US_wmove, usersub, filename);
- make_usub("overlay", US_overlay, usersub, filename);
- make_usub("overwrite", US_overwrite, usersub, filename);
- make_usub("printw", US_printw, usersub, filename);
- make_usub("wprintw", US_wprintw, usersub, filename);
- make_usub("refresh", US_refresh, usersub, filename);
- make_usub("wrefresh", US_wrefresh, usersub, filename);
- make_usub("standout", US_standout, usersub, filename);
- make_usub("wstandout", US_wstandout, usersub, filename);
- make_usub("standend", US_standend, usersub, filename);
- make_usub("wstandend", US_wstandend, usersub, filename);
- make_usub("cbreak", US_cbreak, usersub, filename);
- make_usub("nocbreak", US_nocbreak, usersub, filename);
- make_usub("echo", US_echo, usersub, filename);
- make_usub("noecho", US_noecho, usersub, filename);
- make_usub("getch", US_getch, usersub, filename);
- make_usub("wgetch", US_wgetch, usersub, filename);
- make_usub("getstr", US_getstr, usersub, filename);
- make_usub("wgetstr", US_wgetstr, usersub, filename);
- make_usub("raw", US_raw, usersub, filename);
- make_usub("noraw", US_noraw, usersub, filename);
- make_usub("scanw", US_scanw, usersub, filename);
- make_usub("wscanw", US_wscanw, usersub, filename);
- make_usub("baudrate", US_baudrate, usersub, filename);
- make_usub("delwin", US_delwin, usersub, filename);
- make_usub("endwin", US_endwin, usersub, filename);
- make_usub("erasechar", US_erasechar, usersub, filename);
- make_usub("getcap", US_getcap, usersub, filename);
- make_usub("getyx", US_getyx, usersub, filename);
- make_usub("inch", US_inch, usersub, filename);
- make_usub("winch", US_winch, usersub, filename);
- make_usub("initscr", US_initscr, usersub, filename);
- make_usub("killchar", US_killchar, usersub, filename);
- make_usub("leaveok", US_leaveok, usersub, filename);
- make_usub("longname", US_longname, usersub, filename);
- make_usub("fullname", US_fullname, usersub, filename);
- make_usub("mvwin", US_mvwin, usersub, filename);
- make_usub("newwin", US_newwin, usersub, filename);
- make_usub("nl", US_nl, usersub, filename);
- make_usub("nonl", US_nonl, usersub, filename);
- make_usub("scrollok", US_scrollok, usersub, filename);
- make_usub("subwin", US_subwin, usersub, filename);
- make_usub("touchline", US_touchline, usersub, filename);
- make_usub("touchoverlap", US_touchoverlap,usersub, filename);
- make_usub("touchwin", US_touchwin, usersub, filename);
- make_usub("unctrl", US_unctrl, usersub, filename);
- make_usub("gettmode", US_gettmode, usersub, filename);
- make_usub("mvcur", US_mvcur, usersub, filename);
- make_usub("scroll", US_scroll, usersub, filename);
- make_usub("savetty", US_savetty, usersub, filename);
- make_usub("resetty", US_resetty, usersub, filename);
- make_usub("setterm", US_setterm, usersub, filename);
- make_usub("tstp", US_tstp, usersub, filename);
- make_usub("_putchar", US__putchar, usersub, filename);
- make_usub("testcallback", US_testcallback,usersub, filename);
-};
-
-static int
-usersub(ix, sp, items)
-int ix;
-register int sp;
-register int items;
-{
- STR **st = stack->ary_array + sp;
- register int i;
- register char *tmps;
- register STR *Str; /* used in str_get and str_gnum macros */
-
- switch (ix) {
-CASE int addch
-I char ch
-END
-
-CASE int waddch
-I WINDOW* win
-I char ch
-END
-
-CASE int addstr
-I char* str
-END
-
-CASE int waddstr
-I WINDOW* win
-I char* str
-END
-
-CASE int box
-I WINDOW* win
-I char vert
-I char hor
-END
-
-CASE int clear
-END
-
-CASE int wclear
-I WINDOW* win
-END
-
-CASE int clearok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int clrtobot
-END
-
-CASE int wclrtobot
-I WINDOW* win
-END
-
-CASE int clrtoeol
-END
-
-CASE int wclrtoeol
-I WINDOW* win
-END
-
-CASE int delch
-END
-
-CASE int wdelch
-I WINDOW* win
-END
-
-CASE int deleteln
-END
-
-CASE int wdeleteln
-I WINDOW* win
-END
-
-CASE int erase
-END
-
-CASE int werase
-I WINDOW* win
-END
-
-CASE int flushok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int idlok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int insch
-I char c
-END
-
-CASE int winsch
-I WINDOW* win
-I char c
-END
-
-CASE int insertln
-END
-
-CASE int winsertln
-I WINDOW* win
-END
-
-CASE int move
-I int y
-I int x
-END
-
-CASE int wmove
-I WINDOW* win
-I int y
-I int x
-END
-
-CASE int overlay
-I WINDOW* win1
-I WINDOW* win2
-END
-
-CASE int overwrite
-I WINDOW* win1
-I WINDOW* win2
-END
-
- case US_printw:
- if (items < 1)
- fatal("Usage: &printw($fmt, $arg1, $arg2, ... )");
- else {
- int retval;
- STR* str = str_new(0);
-
- do_sprintf(str, items - 1, st + 1);
- retval = addstr(str->str_ptr);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
- case US_wprintw:
- if (items < 2)
- fatal("Usage: &wprintw($win, $fmt, $arg1, $arg2, ... )");
- else {
- int retval;
- STR* str = str_new(0);
- WINDOW* win = *(WINDOW**) str_get(st[1]);
-
- do_sprintf(str, items - 1, st + 1);
- retval = waddstr(win, str->str_ptr);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
-CASE int refresh
-END
-
-CASE int wrefresh
-I WINDOW* win
-END
-
-CASE int standout
-END
-
-CASE int wstandout
-I WINDOW* win
-END
-
-CASE int standend
-END
-
-CASE int wstandend
-I WINDOW* win
-END
-
-CASE int cbreak
-END
-
-CASE int nocbreak
-END
-
-CASE int echo
-END
-
-CASE int noecho
-END
-
- case US_getch:
- if (items != 0)
- fatal("Usage: &getch()");
- else {
- int retval;
- char retch;
-
- retval = getch();
- if (retval == EOF)
- st[0] = &str_undef;
- else {
- retch = retval;
- str_nset(st[0], &retch, 1);
- }
- }
- return sp;
-
- case US_wgetch:
- if (items != 1)
- fatal("Usage: &wgetch($win)");
- else {
- int retval;
- char retch;
- WINDOW* win = *(WINDOW**) str_get(st[1]);
-
- retval = wgetch(win);
- if (retval == EOF)
- st[0] = &str_undef;
- else {
- retch = retval;
- str_nset(st[0], &retch, 1);
- }
- }
- return sp;
-
-CASE int getstr
-IO char* str
-END
-
-CASE int wgetstr
-I WINDOW* win
-IO char* str
-END
-
-CASE int raw
-END
-
-CASE int noraw
-END
-
-CASE int baudrate
-END
-
-CASE int delwin
-I WINDOW* win
-END
-
-CASE int endwin
-END
-
-CASE int erasechar
-END
-
- case US_getcap:
- if (items != 1)
- fatal("Usage: &getcap($str)");
- else {
- char* retval;
- char* str = (char*) str_get(st[1]);
- char output[50], *outputp = output;
-
- retval = tgetstr(str, &outputp);
- str_set(st[0], (char*) retval);
- }
- return sp;
-
- case US_getyx:
- if (items != 3)
- fatal("Usage: &getyx($win, $y, $x)");
- else {
- int retval;
- STR* str = str_new(0);
- WINDOW* win = *(WINDOW**) str_get(st[1]);
- int y;
- int x;
-
- do_sprintf(str, items - 1, st + 1);
- retval = getyx(win, y, x);
- str_numset(st[2], (double)y);
- str_numset(st[3], (double)x);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
-
-CASE int inch
-END
-
-CASE int winch
-I WINDOW* win
-END
-
-CASE WINDOW* initscr
-END
-
-CASE int killchar
-END
-
-CASE int leaveok
-I WINDOW* win
-I bool boolf
-END
-
-CASE char* longname
-I char* termbuf
-IO char* name
-END
-
-CASE int fullname
-I char* termbuf
-IO char* name
-END
-
-CASE int mvwin
-I WINDOW* win
-I int y
-I int x
-END
-
-CASE WINDOW* newwin
-I int lines
-I int cols
-I int begin_y
-I int begin_x
-END
-
-CASE int nl
-END
-
-CASE int nonl
-END
-
-CASE int scrollok
-I WINDOW* win
-I bool boolf
-END
-
-CASE WINDOW* subwin
-I WINDOW* win
-I int lines
-I int cols
-I int begin_y
-I int begin_x
-END
-
-CASE int touchline
-I WINDOW* win
-I int y
-I int startx
-I int endx
-END
-
-CASE int touchoverlap
-I WINDOW* win1
-I WINDOW* win2
-END
-
-CASE int touchwin
-I WINDOW* win
-END
-
-CASE char* unctrl
-I char ch
-END
-
-CASE int gettmode
-END
-
-CASE int mvcur
-I int lasty
-I int lastx
-I int newy
-I int newx
-END
-
-CASE int scroll
-I WINDOW* win
-END
-
-CASE int savetty
-END
-
-CASE void resetty
-END
-
-CASE int setterm
-I char* name
-END
-
-CASE int tstp
-END
-
-CASE int _putchar
-I char ch
-END
-
- case US_testcallback:
- sp = callback("callback", sp + items, curcsv->wantarray, 1, items);
- break;
-
- default:
- fatal("Unimplemented user-defined subroutine");
- }
- return sp;
-}
-
-static int
-userval(ix, str)
-int ix;
-STR *str;
-{
- switch (ix) {
- case UV_COLS:
- str_numset(str, (double)COLS);
- break;
- case UV_Def_term:
- str_set(str, Def_term);
- break;
- case UV_ERR:
- str_numset(str, (double)ERR);
- break;
- case UV_LINES:
- str_numset(str, (double)LINES);
- break;
- case UV_My_term:
- str_numset(str, (double)My_term);
- break;
- case UV_OK:
- str_numset(str, (double)OK);
- break;
- case UV_curscr:
- str_nset(str, &curscr, sizeof(WINDOW*));
- break;
- case UV_stdscr:
- str_nset(str, &stdscr, sizeof(WINDOW*));
- break;
- case UV_ttytype:
- str_set(str, ttytype);
- break;
- }
- return 0;
-}
-
-static int
-userset(ix, str)
-int ix;
-STR *str;
-{
- switch (ix) {
- case UV_COLS:
- COLS = (int)str_gnum(str);
- break;
- case UV_Def_term:
- Def_term = savestr(str_get(str)); /* never freed */
- break;
- case UV_LINES:
- LINES = (int)str_gnum(str);
- break;
- case UV_My_term:
- My_term = (bool)str_gnum(str);
- break;
- case UV_ttytype:
- strcpy(ttytype, str_get(str)); /* hope it fits */
- break;
- }
- return 0;
-}
diff --git a/gnu/usr.bin/perl/perl/usub/curses.mus b/gnu/usr.bin/perl/perl/usub/curses.mus
deleted file mode 100644
index f305bf5920f3..000000000000
--- a/gnu/usr.bin/perl/perl/usub/curses.mus
+++ /dev/null
@@ -1,890 +0,0 @@
-/* $RCSfile: curses.mus,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:07 $
- *
- * $Log: curses.mus,v $
-# Revision 1.1.1.1 1993/08/23 21:30:07 nate
-# PERL!
-#
- * Revision 4.0.1.2 92/06/08 16:06:12 lwall
- * patch20: function key support added to curses.mus
- *
- * Revision 4.0.1.1 91/11/05 19:06:19 lwall
- * patch11: usub/curses.mus now supports SysV curses
- *
- * Revision 4.0 91/03/20 01:56:13 lwall
- * 4.0 baseline.
- *
- * Revision 3.0.1.1 90/08/09 04:05:21 lwall
- * patch19: Initial revision
- *
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-
-char *savestr();
-
-#undef bool
-#include <curses.h>
-
-#ifndef A_UNDERLINE
-#define NOSETATTR
-#define A_STANDOUT 0x0200
-#define A_UNDERLINE 0x0100
-#define A_REVERSE 0x0200
-#define A_BLINK 0x0400
-#define A_BOLD 0x0800
-#define A_ALTCHARSET 0x1000
-#define A_NORMAL 0
-#endif
-
-#ifdef USG
-static char *tcbuf = NULL;
-#endif
-
-#ifdef NOSETATTR
-static unsigned curattr = NORMAL;
-#endif
-
-static enum uservars {
- UV_curscr,
- UV_stdscr,
- UV_ttytype,
- UV_LINES,
- UV_COLS,
- UV_ERR,
- UV_OK,
-#ifdef BSD
- UV_Def_term,
- UV_My_term,
-#endif
- UV_A_STANDOUT,
- UV_A_UNDERLINE,
- UV_A_REVERSE,
- UV_A_BLINK,
- UV_A_DIM,
- UV_A_BOLD,
- UV_A_NORMAL,
-};
-
-static enum usersubs {
- US_addch,
- US_waddch,
- US_addstr,
- US_waddstr,
- US_box,
- US_clear,
- US_wclear,
- US_clearok,
- US_clrtobot,
- US_wclrtobot,
- US_clrtoeol,
- US_wclrtoeol,
- US_delch,
- US_wdelch,
- US_deleteln,
- US_wdeleteln,
- US_erase,
- US_werase,
- US_idlok,
- US_insch,
- US_winsch,
- US_insertln,
- US_winsertln,
- US_move,
- US_wmove,
- US_overlay,
- US_overwrite,
- US_refresh,
- US_wrefresh,
- US_standout,
- US_wstandout,
- US_standend,
- US_wstandend,
- US_cbreak,
- US_nocbreak,
- US_echo,
- US_noecho,
- US_getch,
- US_wgetch,
- US_getstr,
- US_wgetstr,
- US_raw,
- US_noraw,
- US_baudrate,
- US_delwin,
- US_endwin,
- US_erasechar,
- US_getyx,
- US_inch,
- US_winch,
- US_initscr,
- US_killchar,
- US_leaveok,
- US_longname,
- US_mvwin,
- US_newwin,
- US_nl,
- US_nonl,
- US_scrollok,
- US_subwin,
- US_touchline,
- US_touchwin,
- US_unctrl,
- US_gettmode,
- US_mvcur,
- US_scroll,
- US_savetty,
- US_resetty,
- US_setterm,
- US_attroff,
- US_wattroff,
- US_attron,
- US_wattron,
- US_attrset,
- US_wattrset,
-#ifdef CURSEFMT
- US_printw, /* remove */
- US_wprintw, /* remove */
- US_scanw, /* delete */
- US_wscanw, /* delete */
-#endif
- US_getcap,
-#ifdef BSD
- US_flushok,
- US_fullname,
- US_touchoverlap,
- US_tstp,
- US__putchar,
-#endif
- US_mysub,
- US_testcallback,
-};
-
-static int usersub();
-static int userset();
-static int userval();
-
-int
-init_curses()
-{
- struct ufuncs uf;
- char *filename = "curses.c";
-
- uf.uf_set = userset;
- uf.uf_val = userval;
-
-#define MAGICVAR(name, ix) uf.uf_index = ix, magicname(name, &uf, sizeof uf)
-
- MAGICVAR("curscr", UV_curscr);
- MAGICVAR("stdscr", UV_stdscr);
- MAGICVAR("ttytype", UV_ttytype);
- MAGICVAR("LINES", UV_LINES);
- MAGICVAR("COLS", UV_COLS);
- MAGICVAR("ERR", UV_ERR);
- MAGICVAR("OK", UV_OK);
-#ifdef BSD
- MAGICVAR("Def_term",UV_Def_term);
- MAGICVAR("My_term", UV_My_term);
-#endif
- MAGICVAR("A_STANDOUT", UV_A_STANDOUT);
- MAGICVAR("A_UNDERLINE", UV_A_UNDERLINE);
- MAGICVAR("A_REVERSE", UV_A_REVERSE);
- MAGICVAR("A_BLINK", UV_A_BLINK);
- MAGICVAR("A_DIM", UV_A_DIM);
- MAGICVAR("A_BOLD", UV_A_BOLD);
- MAGICVAR("A_NORMAL", UV_A_NORMAL);
-
- make_usub("addch", US_addch, usersub, filename);
- make_usub("waddch", US_waddch, usersub, filename);
- make_usub("addstr", US_addstr, usersub, filename);
- make_usub("waddstr", US_waddstr, usersub, filename);
- make_usub("box", US_box, usersub, filename);
- make_usub("clear", US_clear, usersub, filename);
- make_usub("wclear", US_wclear, usersub, filename);
- make_usub("clearok", US_clearok, usersub, filename);
- make_usub("clrtobot", US_clrtobot, usersub, filename);
- make_usub("wclrtobot", US_wclrtobot, usersub, filename);
- make_usub("clrtoeol", US_clrtoeol, usersub, filename);
- make_usub("wclrtoeol", US_wclrtoeol, usersub, filename);
- make_usub("delch", US_delch, usersub, filename);
- make_usub("wdelch", US_wdelch, usersub, filename);
- make_usub("deleteln", US_deleteln, usersub, filename);
- make_usub("wdeleteln", US_wdeleteln, usersub, filename);
- make_usub("erase", US_erase, usersub, filename);
- make_usub("werase", US_werase, usersub, filename);
- make_usub("idlok", US_idlok, usersub, filename);
- make_usub("insch", US_insch, usersub, filename);
- make_usub("winsch", US_winsch, usersub, filename);
- make_usub("insertln", US_insertln, usersub, filename);
- make_usub("winsertln", US_winsertln, usersub, filename);
- make_usub("move", US_move, usersub, filename);
- make_usub("wmove", US_wmove, usersub, filename);
- make_usub("overlay", US_overlay, usersub, filename);
- make_usub("overwrite", US_overwrite, usersub, filename);
- make_usub("refresh", US_refresh, usersub, filename);
- make_usub("wrefresh", US_wrefresh, usersub, filename);
- make_usub("standout", US_standout, usersub, filename);
- make_usub("wstandout", US_wstandout, usersub, filename);
- make_usub("standend", US_standend, usersub, filename);
- make_usub("wstandend", US_wstandend, usersub, filename);
- make_usub("cbreak", US_cbreak, usersub, filename);
- make_usub("nocbreak", US_nocbreak, usersub, filename);
- make_usub("echo", US_echo, usersub, filename);
- make_usub("noecho", US_noecho, usersub, filename);
- make_usub("getch", US_getch, usersub, filename);
- make_usub("wgetch", US_wgetch, usersub, filename);
- make_usub("getstr", US_getstr, usersub, filename);
- make_usub("wgetstr", US_wgetstr, usersub, filename);
- make_usub("raw", US_raw, usersub, filename);
- make_usub("noraw", US_noraw, usersub, filename);
- make_usub("baudrate", US_baudrate, usersub, filename);
- make_usub("delwin", US_delwin, usersub, filename);
- make_usub("endwin", US_endwin, usersub, filename);
- make_usub("erasechar", US_erasechar, usersub, filename);
- make_usub("getyx", US_getyx, usersub, filename);
- make_usub("inch", US_inch, usersub, filename);
- make_usub("winch", US_winch, usersub, filename);
- make_usub("initscr", US_initscr, usersub, filename);
- make_usub("killchar", US_killchar, usersub, filename);
- make_usub("leaveok", US_leaveok, usersub, filename);
- make_usub("longname", US_longname, usersub, filename);
- make_usub("mvwin", US_mvwin, usersub, filename);
- make_usub("newwin", US_newwin, usersub, filename);
- make_usub("nl", US_nl, usersub, filename);
- make_usub("nonl", US_nonl, usersub, filename);
- make_usub("scrollok", US_scrollok, usersub, filename);
- make_usub("subwin", US_subwin, usersub, filename);
- make_usub("touchline", US_touchline, usersub, filename);
- make_usub("touchwin", US_touchwin, usersub, filename);
- make_usub("unctrl", US_unctrl, usersub, filename);
- make_usub("gettmode", US_gettmode, usersub, filename);
- make_usub("mvcur", US_mvcur, usersub, filename);
- make_usub("scroll", US_scroll, usersub, filename);
- make_usub("savetty", US_savetty, usersub, filename);
- make_usub("resetty", US_resetty, usersub, filename);
- make_usub("setterm", US_setterm, usersub, filename);
- make_usub("getcap", US_getcap, usersub, filename);
- make_usub("attroff", US_attroff, usersub, filename);
- make_usub("wattroff", US_wattroff, usersub, filename);
- make_usub("attron", US_attron, usersub, filename);
- make_usub("wattron", US_wattron, usersub, filename);
- make_usub("attrset", US_attrset, usersub, filename);
- make_usub("wattrset", US_wattrset, usersub, filename);
-#ifdef CURSEFMT
- make_usub("printw", US_printw, usersub, filename);
- make_usub("wprintw", US_wprintw, usersub, filename);
- make_usub("scanw", US_scanw, usersub, filename);
- make_usub("wscanw", US_wscanw, usersub, filename);
-#endif
-#ifdef BSD
- make_usub("flushok", US_flushok, usersub, filename);
- make_usub("fullname", US_fullname, usersub, filename);
- make_usub("touchoverlap", US_touchoverlap,usersub, filename);
- make_usub("tstp", US_tstp, usersub, filename);
- make_usub("_putchar", US__putchar, usersub, filename);
-#endif
- make_usub("testcallback", US_testcallback,usersub, filename);
- };
-
-#ifdef USG
-static char
-*getcap(cap)
-register char *cap;
-{
- static char nocaperr[] = "Cannot read termcap entry.";
-
- extern char *tgetstr();
-
- if (tcbuf == NULL) {
- if ((tcbuf = malloc(1024)) == NULL) {
- fatal(nocaperr);
- }
- if (tgetent(tcbuf, ttytype) == -1) {
- fatal(nocaperr);
- }
- }
-
- return (tgetstr(cap, NULL));
-}
-#endif
-
-#ifdef NOSETATTR
-#define attron(attr) wattron(stdscr, attr)
-#define attroff(attr) wattroff(stdscr, attr)
-#define attset(attr) wattset(stdscr, attr)
-
-int
-wattron(win, attr)
-WINDOW *win;
-chtype attr;
-{
- curattr |= attr;
- if (curattr & A_STANDOUT) {
- return(wstandout(win));
- } else {
- return(wstandend(win));
- }
-}
-
-int
-wattroff(win, attr)
-WINDOW *win;
-chtype attr;
-{
- curattr &= (~attr);
- if (curattr & A_STANDOUT) {
- return(wstandout(win));
- } else {
- return(wstandend(win));
- }
-}
-
-int
-wattrset(win, attr)
-WINDOW *win;
-chtype attr;
-{
- curattr = attr;
- if (curattr & A_STANDOUT) {
- return(wstandout(win));
- } else {
- return(wstandend(win));
- }
-}
-
-#endif
-
-static int
-usersub(ix, sp, items)
-int ix;
-register int sp;
-register int items;
-{
- STR **st = stack->ary_array + sp;
- register int i;
- register char *tmps;
- register STR *Str; /* used in str_get and str_gnum macros */
-
- switch (ix) {
-CASE int addch
-I char ch
-END
-
-CASE int waddch
-I WINDOW* win
-I char ch
-END
-
-CASE int addstr
-I char* str
-END
-
-CASE int waddstr
-I WINDOW* win
-I char* str
-END
-
-CASE int box
-I WINDOW* win
-I char vert
-I char hor
-END
-
-CASE int clear
-END
-
-CASE int wclear
-I WINDOW* win
-END
-
-CASE int clearok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int clrtobot
-END
-
-CASE int wclrtobot
-I WINDOW* win
-END
-
-CASE int clrtoeol
-END
-
-CASE int wclrtoeol
-I WINDOW* win
-END
-
-CASE int delch
-END
-
-CASE int wdelch
-I WINDOW* win
-END
-
-CASE int deleteln
-END
-
-CASE int wdeleteln
-I WINDOW* win
-END
-
-CASE int erase
-END
-
-CASE int werase
-I WINDOW* win
-END
-
-CASE int idlok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int insch
-I char c
-END
-
-CASE int winsch
-I WINDOW* win
-I char c
-END
-
-CASE int insertln
-END
-
-CASE int winsertln
-I WINDOW* win
-END
-
-CASE int move
-I int y
-I int x
-END
-
-CASE int wmove
-I WINDOW* win
-I int y
-I int x
-END
-
-CASE int overlay
-I WINDOW* win1
-I WINDOW* win2
-END
-
-CASE int overwrite
-I WINDOW* win1
-I WINDOW* win2
-END
-
-CASE int refresh
-END
-
-CASE int wrefresh
-I WINDOW* win
-END
-
-CASE int standout
-END
-
-CASE int wstandout
-I WINDOW* win
-END
-
-CASE int standend
-END
-
-CASE int wstandend
-I WINDOW* win
-END
-
-CASE int cbreak
-END
-
-CASE int nocbreak
-END
-
-CASE int echo
-END
-
-CASE int noecho
-END
-
- case US_getch:
- if (items != 0)
- fatal("Usage: &getch()");
- else {
- int retval;
- char retch;
-
- retval = getch();
- if (retval == EOF)
- st[0] = &str_undef;
- else {
- retch = retval;
- if (retval > 0377)
- str_numset(st[0], (double) retval);
- else
- str_nset(st[0], &retch, 1);
- }
- }
- return sp;
-
- case US_wgetch:
- if (items != 1)
- fatal("Usage: &wgetch($win)");
- else {
- int retval;
- char retch;
- WINDOW* win = *(WINDOW**) str_get(st[1]);
-
- retval = wgetch(win);
- if (retval == EOF)
- st[0] = &str_undef;
- else {
- retch = retval;
- if (retval > 0377)
- str_numset(st[0], (double) retval);
- else
- str_nset(st[0], &retch, 1);
- }
- }
- return sp;
-
-CASE int getstr
-O char* str
-END
-
-CASE int wgetstr
-I WINDOW* win
-O char* str
-END
-
-CASE int raw
-END
-
-CASE int noraw
-END
-
-CASE int baudrate
-END
-
-CASE int delwin
-I WINDOW* win
-END
-
-CASE int endwin
-END
-
-CASE int erasechar
-END
-
- case US_getyx:
- if (items != 3)
- fatal("Usage: &getyx($win, $y, $x)");
- else {
- int retval;
- STR* str = str_new(0);
- WINDOW* win = *(WINDOW**) str_get(st[1]);
- int y;
- int x;
-
- do_sprintf(str, items - 1, st + 1);
- retval = getyx(win, y, x);
- str_numset(st[2], (double)y);
- str_numset(st[3], (double)x);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
-CASE int inch
-END
-
-CASE int winch
-I WINDOW* win
-END
-
-CASE WINDOW* initscr
-END
-
-CASE int killchar
-END
-
-CASE int leaveok
-I WINDOW* win
-I bool boolf
-END
-
-#ifdef BSD
-CASE char* longname
-I char* termbuf
-IO char* name
-END
-#else
-CASE char* longname
-I char* termbug
-I char* name
-END
-#endif
-
-CASE int mvwin
-I WINDOW* win
-I int y
-I int x
-END
-
-CASE WINDOW* newwin
-I int lines
-I int cols
-I int begin_y
-I int begin_x
-END
-
-CASE int nl
-END
-
-CASE int nonl
-END
-
-CASE int scrollok
-I WINDOW* win
-I bool boolf
-END
-
-CASE WINDOW* subwin
-I WINDOW* win
-I int lines
-I int cols
-I int begin_y
-I int begin_x
-END
-
-CASE int touchline
-I WINDOW* win
-I int y
-I int startx
-I int endx
-END
-
-CASE int touchwin
-I WINDOW* win
-END
-
-CASE char* unctrl
-I char ch
-END
-
-CASE int gettmode
-END
-
-CASE int mvcur
-I int lasty
-I int lastx
-I int newy
-I int newx
-END
-
-CASE int scroll
-I WINDOW* win
-END
-
-CASE int savetty
-END
-
-CASE void resetty
-END
-
-CASE int setterm
-I char* name
-END
-
-CASE int attroff
-I chtype str
-END
-
-CASE int wattroff
-I chtype str
-END
-
-CASE int wattron
-I chtype str
-END
-
-CASE int attron
-I chtype str
-END
-
-CASE int attrset
-I chtype str
-END
-
-CASE int wattrset
-I chtype str
-END
-
-#ifdef CURSEFMT
- case US_printw:
- if (items < 1)
- fatal("Usage: &printw($fmt, $arg1, $arg2, ... )");
- else {
- int retval;
- STR* str = str_new(0);
-
- do_sprintf(str, items - 1, st + 1);
- retval = addstr(str->str_ptr);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
- case US_wprintw:
- if (items < 2)
- fatal("Usage: &wprintw($win, $fmt, $arg1, $arg2, ... )");
- else {
- int retval;
- STR* str = str_new(0);
- WINDOW* win = *(WINDOW**) str_get(st[1]);
-
- do_sprintf(str, items - 1, st + 1);
- retval = waddstr(win, str->str_ptr);
- str_numset(st[0], (double) retval);
- str_free(str);
- }
- return sp;
-
-#endif
-
-CASE char* getcap
-I char* str
-END
-
-#ifdef BSD
-CASE int flushok
-I WINDOW* win
-I bool boolf
-END
-
-CASE int fullname
-I char* termbuf
-IO char* name
-END
-
-CASE int touchoverlap
-I WINDOW* win1
-I WINDOW* win2
-END
-
-CASE int tstp
-END
-
-CASE int _putchar
-I char ch
-END
-
- case US_testcallback:
- sp = callback("callback", sp + items, curcsv->wantarray, 1, items);
- break;
-
-#endif
-
- default:
- fatal("Unimplemented user-defined subroutine");
- }
- return sp;
-}
-
-static int
-userval(ix, str)
-int ix;
-STR *str;
-{
- switch (ix) {
- case UV_COLS:
- str_numset(str, (double)COLS);
- break;
- case UV_ERR:
- str_numset(str, (double)ERR);
- break;
- case UV_LINES:
- str_numset(str, (double)LINES);
- break;
- case UV_OK:
- str_numset(str, (double)OK);
- break;
- case UV_curscr:
- str_nset(str, &curscr, sizeof(WINDOW*));
- break;
- case UV_stdscr:
- str_nset(str, &stdscr, sizeof(WINDOW*));
- break;
- case UV_ttytype:
- str_set(str, ttytype);
- break;
-#ifdef BSD
- case UV_Def_term:
- str_set(str, Def_term);
- break;
- case UV_My_term:
- str_numset(str, (double)My_term);
- break;
-#endif
- case UV_A_STANDOUT:
- str_numset(str, (double)A_STANDOUT);
- break;
- case UV_A_UNDERLINE:
- str_numset(str, (double)A_UNDERLINE);
- break;
- case UV_A_REVERSE:
- str_numset(str, (double)A_REVERSE);
- break;
- case UV_A_BLINK:
- str_numset(str, (double)A_BLINK);
- break;
- case UV_A_DIM:
- str_numset(str, (double)A_DIM);
- break;
- case UV_A_BOLD:
- str_numset(str, (double)A_BOLD);
- break;
- case UV_A_NORMAL:
- str_numset(str, (double)A_NORMAL);
- break;
- }
- return 0;
-}
-
-static int
-userset(ix, str)
-int ix;
-STR *str;
-{
- switch (ix) {
- case UV_COLS:
- COLS = (int)str_gnum(str);
- break;
- case UV_LINES:
- LINES = (int)str_gnum(str);
- break;
- case UV_ttytype:
- strcpy(ttytype, str_get(str)); /* hope it fits */
-#ifdef USG
- if (tcbuf != NULL) {
- free(tcbuf);
- tcbuf = NULL;
- }
-#endif
- break;
-#ifdef BSD
- case UV_Def_term:
- Def_term = savestr(str_get(str)); /* never freed */
- break;
- case UV_My_term:
- My_term = (bool)str_gnum(str);
- break;
-#endif
- }
- return 0;
-}
diff --git a/gnu/usr.bin/perl/perl/usub/man2mus b/gnu/usr.bin/perl/perl/usub/man2mus
deleted file mode 100644
index a3046784f423..000000000000
--- a/gnu/usr.bin/perl/perl/usub/man2mus
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/perl
-while (<>) {
- if (/^\.SH SYNOPSIS/) {
- $spec = '';
- for ($_ = <>; $_ && !/^\.SH/; $_ = <>) {
- s/^\.[IRB][IRB]\s*//;
- s/^\.[IRB]\s+//;
- next if /^\./;
- s/\\f\w//g;
- s/\\&//g;
- s/^\s+//;
- next if /^$/;
- next if /^#/;
- $spec .= $_;
- }
- $_ = $spec;
- 0 while s/\(([^),;]*)\s*,\s*([^);]*)\)/($1|$2)/g;
- s/\(\*([^,;]*)\)\(\)/(*)()$1/g;
- s/(\w+)\[\]/*$1/g;
-
- s/\n/ /g;
- s/\s+/ /g;
- s/(\w+) \(([^*])/$1($2/g;
- s/^ //;
- s/ ?; ?/\n/g;
- s/\) /)\n/g;
- s/ \* / \*/g;
- s/\* / \*/g;
-
- $* = 1;
- 0 while s/^((struct )?\w+ )([^\n,]*), ?(.*)/$1$3\n$1$4/g;
- $* = 0;
- s/\|/,/g;
-
- @cases = ();
- for (reverse split(/\n/,$_)) {
- if (/\)$/) {
- ($type,$name,$args) = split(/(\w+)\(/);
- $type =~ s/ $//;
- if ($type =~ /^(\w+) =/) {
- $type = $type{$1} if $type{$1};
- }
- $type = 'int' if $type eq '';
- @args = grep(/./, split(/[,)]/,$args));
- $case = "CASE $type $name\n";
- foreach $arg (@args) {
- $type = $type{$arg} || "int";
- $type =~ s/ //g;
- $type .= "\t" if length($type) < 8;
- if ($type =~ /\*/) {
- $case .= "IO $type $arg\n";
- }
- else {
- $case .= "I $type $arg\n";
- }
- }
- $case .= "END\n\n";
- unshift(@cases, $case);
- }
- else {
- $type{$name} = $type if ($type,$name) = /(.*\W)(\w+)$/;
- }
- }
- print @cases;
- }
-}
diff --git a/gnu/usr.bin/perl/perl/usub/mus b/gnu/usr.bin/perl/perl/usub/mus
deleted file mode 100755
index b1675fdc5879..000000000000
--- a/gnu/usr.bin/perl/perl/usub/mus
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/usr/bin/perl
-
-while (<>) {
- if (s/^CASE\s+//) {
- @fields = split;
- $funcname = pop(@fields);
- $rettype = "@fields";
- @modes = ();
- @types = ();
- @names = ();
- @outies = ();
- @callnames = ();
- $pre = "\n";
- $post = '';
-
- while (<>) {
- last unless /^[IO]+\s/;
- @fields = split(' ');
- push(@modes, shift(@fields));
- push(@names, pop(@fields));
- push(@types, "@fields");
- }
- while (s/^<\s//) {
- $pre .= "\t $_";
- $_ = <>;
- }
- while (s/^>\s//) {
- $post .= "\t $_";
- $_ = <>;
- }
- $items = @names;
- $namelist = '$' . join(', $', @names);
- $namelist = '' if $namelist eq '$';
- print <<EOF;
- case US_$funcname:
- if (items != $items)
- fatal("Usage: &$funcname($namelist)");
- else {
-EOF
- if ($rettype eq 'void') {
- print <<EOF;
- int retval = 1;
-EOF
- }
- else {
- print <<EOF;
- $rettype retval;
-EOF
- }
- foreach $i (1..@names) {
- $mode = $modes[$i-1];
- $type = $types[$i-1];
- $name = $names[$i-1];
- if ($type =~ /^[A-Z]+\*$/) {
- $cast = "*($type*)";
- }
- else {
- $cast = "($type)";
- }
- $what = ($type =~ /^(struct\s+\w+|char|[A-Z]+)\s*\*$/ ? "get" : "gnum");
- $type .= "\t" if length($type) < 4;
- $cast .= "\t" if length($cast) < 8;
- $x = "\t" x (length($name) < 6);
- if ($mode =~ /O/) {
- if ($what eq 'gnum') {
- push(@outies, "\t str_numset(st[$i], (double) $name);\n");
- push(@callnames, "&$name");
- }
- else {
- push(@outies, "\t str_set(st[$i], (char*) $name);\n");
- push(@callnames, "$name");
- }
- }
- else {
- push(@callnames, $name);
- }
- if ($mode =~ /I/) {
- print <<EOF;
- $type $name =$x $cast str_$what(st[$i]);
-EOF
- }
- elsif ($type =~ /char/) {
- print <<EOF;
- char ${name}[133];
-EOF
- }
- else {
- print <<EOF;
- $type $name;
-EOF
- }
- }
- $callnames = join(', ', @callnames);
- $outies = join("\n",@outies);
- if ($rettype eq 'void') {
- print <<EOF;
-$pre (void)$funcname($callnames);
-EOF
- }
- else {
- print <<EOF;
-$pre retval = $funcname($callnames);
-EOF
- }
- if ($rettype =~ /^(struct\s+\w+|char)\s*\*$/) {
- print <<EOF;
- str_set(st[0], (char*) retval);
-EOF
- }
- elsif ($rettype =~ /^[A-Z]+\s*\*$/) {
- print <<EOF;
- str_nset(st[0], (char*) &retval, sizeof retval);
-EOF
- }
- else {
- print <<EOF;
- str_numset(st[0], (double) retval);
-EOF
- }
- print $outies if $outies;
- print $post if $post;
- if (/^END/) {
- print "\t}\n\treturn sp;\n";
- }
- else {
- redo;
- }
- }
- elsif (/^END/) {
- print "\t}\n\treturn sp;\n";
- }
- else {
- print;
- }
-}
diff --git a/gnu/usr.bin/perl/perl/usub/pager b/gnu/usr.bin/perl/perl/usub/pager
deleted file mode 100644
index 407bc506707b..000000000000
--- a/gnu/usr.bin/perl/perl/usub/pager
+++ /dev/null
@@ -1,190 +0,0 @@
-#!./curseperl
-
-eval <<'EndOfMain'; $evaloffset = __LINE__;
-
- $SIG{'INT'} = 'endit';
- $| = 1; # command buffering on stdout
- &initterm;
- &inithelp;
- &slurpfile && &pagearray;
-
-EndOfMain
-
-&endit;
-
-################################################################################
-
-sub initterm {
-
- &initscr; &cbreak; &noecho; &scrollok($stdscr, 1);
- &defbell unless defined &bell;
-
- $lines = $LINES; $lines1 = $lines - 1; $lines2 = $lines - 2;
- $cols = $COLS; $cols1 = $cols - 1; $cols2 = $cols - 2;;
-
- $dl = &getcap('dl');
- $al = &getcap('al');
- $ho = &getcap('ho');
- $ce = &getcap('ce');
-}
-
-sub slurpfile {
- while (<>) {
- s/^(\t+)/' ' x length($1)/e;
- &expand($_) if /\t/;
- if (length($_) < $cols) {
- push(@lines, $_);
- }
- else {
- while ($_ && $_ ne "\n") {
- push(@lines, substr($_,0,$cols));
- substr($_,0,$cols) = '';
- }
- }
- }
- 1;
-}
-
-sub drawscreen {
- &move(0,0);
- for ($line .. $line + $lines2) {
- &addstr($lines[$_]);
- }
- &clrtobot;
- &percent;
- &refresh;
-}
-
-sub expand {
- while (($off = index($_[0],"\t")) >= 0) {
- substr($_[0], $off, 1) = ' ' x (8 - $off % 8);
- }
-}
-
-sub pagearray {
- $line = 0;
-
- $| = 1;
-
- for (&drawscreen;;&drawscreen) {
-
- $ch = &getch;
- $ch = 'j' if $ch eq "\n";
-
- if ($ch eq ' ') {
- last if $percent >= 100;
- &move(0,0);
- $line += $lines1;
- }
- elsif ($ch eq 'b') {
- $line -= $lines1;
- &move(0,0);
- $line = 0 if $line < 0;
- }
- elsif ($ch eq 'j') {
- next if $percent >= 100;
- $line += 1;
- if ($dl && $ho) {
- print $ho, $dl;
- &mvcur(0,0,$lines2,0);
- print $ce,$lines[$line+$lines2],$ce;
- &wmove($curscr,0,0);
- &wdeleteln($curscr);
- &wmove($curscr,$lines2,0);
- &waddstr($curscr,$lines[$line+$lines2]);
- }
- &wmove($stdscr,0,0);
- &wdeleteln($stdscr);
- &wmove($stdscr,$lines2,0);
- &waddstr($stdscr,$lines[$line+$lines2]);
- &percent;
- &refresh;
- redo;
- }
- elsif ($ch eq 'k') {
- next if $line <= 0;
- $line -= 1;
- if ($al && $ho && $ce) {
- print $ho, $al, $ce, $lines[$line];
- &wmove($curscr,0,0);
- &winsertln($curscr);
- &waddstr($curscr,$lines[$line]);
- }
- &wmove($stdscr,0,0);
- &winsertln($stdscr);
- &waddstr($stdscr,$lines[$line]);
- &percent;
- &refresh;
- redo;
- }
- elsif ($ch eq "\f") {
- &clear;
- }
- elsif ($ch eq 'q') {
- last;
- }
- elsif ($ch eq 'h') {
- &clear;
- &help;
- &clear;
- }
- else {
- &bell;
- }
- }
-}
-
-sub defbell {
- eval q#
- sub bell {
- print "\007";
- }
- #;
-}
-
-sub help {
- local(*lines) = *helplines;
- local($line);
- &pagearray;
-}
-
-sub inithelp {
- @helplines = split(/\n/,<<'EOT');
-
- h Display this help.
- q Exit.
-
- SPACE Forward screen.
- b Backward screen.
- j, CR Forward 1 line.
- k Backward 1 line.
- FF Repaint screen.
-EOT
- for (@helplines) {
- s/$/\n/;
- }
-}
-
-sub percent {
- &standout;
- $percent = int(($line + $lines1) * 100 / @lines);
- &move($lines1,0);
- &addstr("($percent%)");
- &standend;
- &clrtoeol;
-}
-
-sub endit {
- &move($lines1,0);
- &clrtoeol;
- &refresh;
- &endwin;
-
- if ($@) {
- print ""; # force flush of stdout
- $@ =~ s/\(eval\)/$0/ && $@ =~ s/line (\d+)/'line ' . ($1 + $evaloffset)/e;
- die $@;
- }
-
- exit;
-}
diff --git a/gnu/usr.bin/perl/perl/usub/usersub.c b/gnu/usr.bin/perl/perl/usub/usersub.c
deleted file mode 100644
index ca9d2ba49b38..000000000000
--- a/gnu/usr.bin/perl/perl/usub/usersub.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* $RCSfile: usersub.c,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:07 $
- *
- * $Log: usersub.c,v $
- * Revision 1.1.1.1 1993/08/23 21:30:07 nate
- * PERL!
- *
- * Revision 4.0.1.1 91/11/05 19:07:24 lwall
- * patch11: there are now subroutines for calling back from C into Perl
- *
- * Revision 4.0 91/03/20 01:56:34 lwall
- * 4.0 baseline.
- *
- * Revision 3.0.1.1 90/08/09 04:06:10 lwall
- * patch19: Initial revision
- *
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-
-int
-userinit()
-{
- init_curses();
-}
-
-/* Be sure to refetch the stack pointer after calling these routines. */
-
-int
-callback(subname, sp, gimme, hasargs, numargs)
-char *subname;
-int sp; /* stack pointer after args are pushed */
-int gimme; /* called in array or scalar context */
-int hasargs; /* whether to create a @_ array for routine */
-int numargs; /* how many args are pushed on the stack */
-{
- static ARG myarg[3]; /* fake syntax tree node */
- int arglast[3];
-
- arglast[2] = sp;
- sp -= numargs;
- arglast[1] = sp--;
- arglast[0] = sp;
-
- if (!myarg[0].arg_ptr.arg_str)
- myarg[0].arg_ptr.arg_str = str_make("",0);
-
- myarg[1].arg_type = A_WORD;
- myarg[1].arg_ptr.arg_stab = stabent(subname, FALSE);
-
- myarg[2].arg_type = hasargs ? A_EXPR : A_NULL;
-
- return do_subr(myarg, gimme, arglast);
-}
-
-int
-callv(subname, sp, gimme, argv)
-char *subname;
-register int sp; /* current stack pointer */
-int gimme; /* called in array or scalar context */
-register char **argv; /* null terminated arg list, NULL for no arglist */
-{
- register int items = 0;
- int hasargs = (argv != 0);
-
- astore(stack, ++sp, Nullstr); /* reserve spot for 1st return arg */
- if (hasargs) {
- while (*argv) {
- astore(stack, ++sp, str_2mortal(str_make(*argv,0)));
- items++;
- argv++;
- }
- }
- return callback(subname, sp, gimme, hasargs, items);
-}
diff --git a/gnu/usr.bin/perl/x2p/a2p.c b/gnu/usr.bin/perl/x2p/a2p.c
deleted file mode 100644
index c44163462632..000000000000
--- a/gnu/usr.bin/perl/x2p/a2p.c
+++ /dev/null
@@ -1,2715 +0,0 @@
-#ifndef lint
-static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
-#endif
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define yyclearin (yychar=(-1))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING (yyerrflag!=0)
-#define YYPREFIX "yy"
-#line 2 "a2p.y"
-/* $RCSfile: a2p.y,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:09 $
- *
- * Copyright (c) 1991, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * $Log: a2p.y,v $
- * Revision 1.1.1.1 1993/08/23 21:30:09 nate
- * PERL!
- *
- * Revision 4.0.1.2 92/06/08 16:13:03 lwall
- * patch20: in a2p, getline should allow variable to be array element
- *
- * Revision 4.0.1.1 91/06/07 12:12:41 lwall
- * patch4: new copyright notice
- *
- * Revision 4.0 91/03/20 01:57:21 lwall
- * 4.0 baseline.
- *
- */
-
-#include "INTERN.h"
-#include "a2p.h"
-
-int root;
-int begins = Nullop;
-int ends = Nullop;
-
-#line 42 "y.tab.c"
-#define BEGIN 257
-#define END 258
-#define REGEX 259
-#define SEMINEW 260
-#define NEWLINE 261
-#define COMMENT 262
-#define FUN1 263
-#define FUNN 264
-#define GRGR 265
-#define PRINT 266
-#define PRINTF 267
-#define SPRINTF 268
-#define SPLIT 269
-#define IF 270
-#define ELSE 271
-#define WHILE 272
-#define FOR 273
-#define IN 274
-#define EXIT 275
-#define NEXT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RET 279
-#define GETLINE 280
-#define DO 281
-#define SUB 282
-#define GSUB 283
-#define MATCH 284
-#define FUNCTION 285
-#define USERFUN 286
-#define DELETE 287
-#define ASGNOP 288
-#define OROR 289
-#define ANDAND 290
-#define NUMBER 291
-#define VAR 292
-#define SUBSTR 293
-#define INDEX 294
-#define MATCHOP 295
-#define RELOP 296
-#define OR 297
-#define STRING 298
-#define UMINUS 299
-#define NOT 300
-#define INCR 301
-#define DECR 302
-#define FIELD 303
-#define VFIELD 304
-#define YYERRCODE 256
-short yylhs[] = { -1,
- 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
- 7, 7, 9, 8, 8, 11, 11, 11, 11, 15,
- 15, 15, 15, 14, 14, 14, 14, 13, 13, 13,
- 13, 12, 12, 12, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 17, 17, 17, 17, 10, 10, 10, 18, 18, 18,
- 1, 1, 19, 19, 19, 19, 4, 4, 20, 20,
- 21, 21, 21, 21, 5, 5, 22, 22, 22, 22,
- 25, 25, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 26, 26, 26, 24, 24,
- 24, 24, 24, 24, 24, 24,
-};
-short yylen[] = { 2,
- 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
- 1, 1, 1, 1, 3, 1, 1, 1, 1, 3,
- 4, 4, 2, 3, 3, 3, 3, 3, 3, 1,
- 3, 1, 2, 3, 1, 1, 1, 3, 3, 3,
- 3, 3, 3, 3, 5, 2, 2, 2, 2, 2,
- 2, 3, 1, 2, 3, 4, 3, 4, 1, 3,
- 4, 4, 4, 2, 8, 6, 8, 8, 6, 6,
- 6, 6, 6, 6, 6, 6, 8, 8, 8, 8,
- 1, 4, 1, 2, 1, 1, 0, 4, 4, 3,
- 2, 0, 1, 1, 1, 1, 2, 0, 1, 1,
- 2, 2, 2, 2, 2, 0, 3, 2, 2, 1,
- 1, 0, 1, 4, 2, 4, 2, 1, 1, 1,
- 2, 1, 1, 2, 5, 1, 1, 1, 6, 9,
- 6, 7, 10, 9, 6, 5,
-};
-short yydefred[] = { 92,
- 0, 0, 94, 95, 96, 93, 0, 91, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 0, 0, 0, 37, 0, 0, 0, 0,
- 0, 83, 0, 98, 0, 11, 0, 92, 0, 0,
- 0, 17, 18, 19, 0, 0, 98, 98, 0, 0,
- 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
- 48, 49, 0, 0, 0, 0, 0, 0, 4, 0,
- 98, 98, 98, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
- 47, 0, 0, 60, 0, 0, 0, 0, 0, 98,
- 98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 99, 100, 0, 97, 52, 31,
- 27, 20, 0, 0, 0, 0, 29, 0, 0, 0,
- 0, 44, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 61, 62, 90, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 63, 82, 0,
- 0, 98, 0, 0, 0, 0, 0, 0, 119, 118,
- 122, 0, 98, 0, 98, 10, 98, 0, 105, 0,
- 110, 0, 0, 21, 0, 58, 92, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 98, 98, 98, 98, 98, 8, 0, 0,
- 69, 0, 74, 0, 73, 0, 76, 0, 75, 0,
- 71, 72, 0, 66, 0, 70, 127, 126, 128, 0,
- 0, 0, 0, 0, 111, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 98, 0, 0, 0, 98, 98, 98, 0, 0, 0,
- 98, 68, 67, 78, 77, 80, 79, 0, 65, 0,
- 0, 0, 0, 0, 0, 125, 0, 0, 0, 131,
- 135, 0, 0, 0, 9, 98, 98, 0, 132, 0,
- 0, 98, 130, 134, 0, 133,
-};
-short yydgoto[] = { 1,
- 2, 7, 36, 74, 127, 37, 38, 39, 166, 52,
- 75, 188, 42, 43, 44, 45, 46, 54, 8, 128,
- 227, 189, 190, 191, 256, 250,
-};
-short yysindex[] = { 0,
- 0, -45, 0, 0, 0, 0, 4961, 0, -114, -98,
- 0, -11, 7, 7279, 10, 6, 17, 25, 45, -195,
- 62, 0, 5, 77, 83, 0, 7332, 7332, 5086, -252,
- -252, 0, 7332, 0, 5086, 0, -154, 0, 8, -41,
- 1605, 0, 0, 0, 118, -234, 0, 0, 6059, 7279,
- 5487, 0, 5843, 85, 7332, 7332, 75, 6108, 6154, 7332,
- 97, 7279, 7279, 7332, 7332, 5086, -73, -266, -73, 0,
- 0, 0, 26, -183, -39, 102, 106, 116, 0, -45,
- 0, 0, 0, 5086, 6219, 7332, 7332, 7332, 118, -133,
- 7332, 7332, 7332, 7332, 7332, 7332, 7332, -116, 5086, 0,
- 0, -183, -183, 0, 6289, 125, 5487, 166, 29, 0,
- 0, 6335, 1522, 7332, 128, 6381, 134, 6423, 6484, 7279,
- 141, 90, 6534, 6580, 0, 0, 5197, 0, 0, 0,
- 0, 0, -183, 5362, 5362, -206, 0, 1522, 1522, 1522,
- 1522, 0, -32, 395, 395, -73, -73, -73, -73, -252,
- -206, 5242, 5288, 0, 0, 0, 3391, 3391, -108, 1522,
- 7332, 7332, 7332, 7332, 6626, 145, 0, 0, 0, 7332,
- 7332, 0, 7279, 7279, 147, 148, 149, 7332, 0, 0,
- 0, 7332, 0, -102, 0, 0, 0, 7332, 0, -42,
- 0, 5553, -99, 0, 7332, 0, 0, 0, 7332, 7332,
- 31, 2565, 3715, 3794, 5752, 153, 6688, 0, 6017, 6749,
- -183, -38, -38, 5086, 5086, 2408, 7332, 7332, 4312, 104,
- -183, -183, 0, 0, 0, 0, 0, 0, 118, -45,
- 0, 6802, 0, 7332, 0, 7332, 0, 7332, 0, 7332,
- 0, 0, -86, 0, 7332, 0, 0, 0, 0, 7332,
- 7332, -37, -35, 6856, 0, 137, -74, 7332, 5598, -183,
- -183, -183, -183, -183, 156, 6898, 6953, 7014, 7067, 7128,
- 0, 7170, 7332, 7332, 0, 0, 0, 2698, 159, 7218,
- 0, 0, 0, 0, 0, 0, 0, -183, 0, 4312,
- 4312, 4312, 2408, -52, 5086, 0, -183, 5643, -71, 0,
- 0, 160, 2408, -33, 0, 0, 0, 161, 0, 4312,
- 4312, 0, 0, 0, 4312, 0,
-};
-short yyrindex[] = { 0,
- 0, 2363, 0, 0, 0, 0, 203, 0, 0, 0,
- 0, 56, 0, 3556, 0, 2835, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2231, 0, 2279, 1209,
- 3881, 0, 0, 0, 1818, 1664, 0, 0, 0, 173,
- 0, 0, 3764, 111, 0, 0, 381, 0, 0, 0,
- 0, 173, 129, 0, 0, 0, 564, 834, 889, 0,
- 0, 0, 436, 5689, 0, -200, -180, -156, 0, 2462,
- 0, 0, 0, 0, 0, 0, 0, 0, 2084, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5689, 5689, 0, 0, 0, 0, -22, 0, 0,
- 0, 0, 2883, 0, 0, 0, 0, 0, 0, 173,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5689, 0, 0, 2181, 0, 3122, 3167, 3212,
- 3281, 0, 0, 1719, 1770, 943, 1016, 1286, 1340, 2780,
- 1394, 0, 0, 0, 0, 0, 0, 0, 0, 3489,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 12, 0, 0, 0, -29, 0, 0,
- 0, 46, 0, 0, 0, 0, 0, 67, 0, 0,
- 0, 0, 491, 0, 0, 0, 0, 0, 3604, 3676,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4374, 71, 103, 0, 0, 162, 126, 241, 0, 0,
- 5689, 4441, 0, 0, 0, 0, 0, 0, 2132, 2510,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 165, 0, 0, 0, 0, 0, 4486,
- 4751, 4796, 4841, 4887, 0, 0, 0, 0, 0, 0,
- 0, 0, 296, 357, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 5689, 0, 0,
- 0, 0, 184, 0, 0, 0, 5152, 0, 5954, 0,
- 0, 0, 184, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
-};
-short yygindex[] = { 0,
- -20, 0, 0, 4150, -75, 0, 0, 0, 0, 19,
- -7, 4065, -19, -3, -1, 7551, 4353, -31, 0, 0,
- 0, -170, -161, 0, -270, 16,
-};
-#define YYTABLESIZE 7831
-short yytable[] = { 40,
- 81, 129, 84, 275, 96, 276, 303, 309, 47, 94,
- 92, 120, 93, 6, 95, 76, 226, 80, 16, 109,
- 97, 70, 302, 248, 48, 195, 152, 153, 49, 120,
- 91, 77, 308, 78, 100, 101, 271, 81, 98, 23,
- 81, 81, 81, 81, 81, 81, 50, 81, 257, 55,
- 32, 33, 87, 99, 255, 59, 58, 192, 81, 81,
- 81, 97, 81, 81, 59, 56, 100, 101, 106, 156,
- 87, 231, 111, 87, 232, 109, 136, 125, 126, 98,
- 121, 122, 82, 83, 60, 249, 123, 76, 17, 17,
- 61, 151, 59, 81, 81, 63, 59, 59, 59, 59,
- 59, 62, 59, 77, 123, 78, 79, 113, 18, 18,
- 86, 115, 81, 59, 59, 59, 64, 59, 59, 299,
- 300, 301, 65, 81, 81, 113, 193, 194, 111, 115,
- 81, 255, 19, 19, 114, 87, 120, 98, 167, 313,
- 314, 255, 130, 117, 316, 259, 131, 86, 59, 59,
- 86, 86, 86, 86, 96, 86, 132, 86, 142, 94,
- 92, 117, 93, 150, 95, 155, 121, 59, 86, 86,
- 86, 161, 86, 86, 125, 126, 230, 163, 59, 59,
- 91, 168, 169, 201, 121, 208, 214, 215, 216, 220,
- 83, 212, 213, 241, 258, 278, 282, 279, 295, 306,
- 307, 312, 1, 86, 86, 66, 252, 253, 27, 110,
- 28, 97, 298, 87, 3, 4, 5, 223, 224, 225,
- 112, 87, 86, 113, 112, 87, 247, 88, 251, 98,
- 120, 120, 120, 86, 86, 0, 82, 83, 0, 0,
- 0, 90, 0, 0, 0, 0, 0, 82, 83, 82,
- 83, 82, 83, 82, 83, 82, 83, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 16, 16, 81, 81,
- 294, 87, 87, 87, 81, 0, 87, 0, 0, 0,
- 81, 124, 81, 81, 81, 81, 81, 304, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 23, 81, 124,
- 81, 81, 81, 81, 81, 123, 123, 123, 32, 33,
- 0, 0, 59, 59, 59, 59, 59, 59, 59, 59,
- 59, 0, 0, 59, 59, 0, 113, 113, 113, 59,
- 115, 115, 115, 0, 0, 59, 114, 59, 59, 59,
- 59, 59, 0, 59, 59, 59, 59, 59, 59, 59,
- 59, 59, 0, 59, 114, 59, 59, 59, 59, 59,
- 0, 0, 117, 117, 117, 0, 0, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 0, 0, 86, 86,
- 54, 0, 0, 0, 86, 121, 121, 121, 0, 0,
- 86, 90, 86, 86, 86, 86, 86, 116, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 0, 86, 0,
- 86, 86, 86, 86, 86, 116, 0, 54, 0, 0,
- 54, 54, 54, 54, 54, 54, 0, 54, 12, 13,
- 0, 96, 0, 14, 15, 84, 94, 0, 54, 54,
- 0, 95, 54, 54, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 85, 86, 0, 26, 0, 0, 30, 31, 32, 33,
- 0, 0, 84, 54, 54, 84, 84, 84, 84, 84,
- 84, 0, 84, 0, 0, 0, 0, 0, 97, 0,
- 22, 0, 54, 84, 84, 84, 0, 84, 84, 0,
- 124, 124, 124, 54, 54, 0, 98, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 22, 84, 84,
- 22, 22, 22, 22, 22, 22, 0, 22, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 22,
- 22, 0, 22, 22, 0, 114, 114, 114, 84, 84,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 22, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 0, 22, 51, 51, 51, 51, 51, 51, 0,
- 51, 0, 0, 22, 22, 0, 116, 116, 116, 0,
- 0, 51, 51, 51, 0, 51, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 0, 0, 54, 54,
- 0, 0, 0, 0, 54, 0, 51, 0, 0, 0,
- 54, 0, 54, 54, 54, 54, 54, 0, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 0, 54, 0,
- 54, 54, 54, 54, 54, 0, 51, 51, 0, 0,
- 0, 0, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 0, 0, 84, 84, 0, 0, 0, 0, 84,
- 0, 0, 0, 0, 0, 84, 0, 84, 84, 84,
- 84, 84, 0, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 0, 84, 0, 84, 84, 84, 84, 84,
- 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 0, 0, 22, 22,
- 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
- 22, 0, 22, 22, 22, 22, 22, 0, 22, 22,
- 0, 22, 22, 22, 22, 22, 22, 0, 22, 0,
- 22, 22, 22, 22, 22, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 0,
- 0, 51, 51, 35, 0, 0, 0, 51, 0, 0,
- 0, 0, 0, 51, 0, 51, 51, 51, 51, 51,
- 0, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 0, 51, 0, 51, 51, 51, 51, 51, 0, 0,
- 35, 0, 0, 35, 35, 35, 35, 35, 35, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 50, 0,
- 0, 35, 35, 35, 0, 35, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 50, 35, 35, 50, 50,
- 50, 50, 50, 50, 0, 50, 0, 0, 0, 0,
- 0, 0, 40, 0, 0, 35, 50, 50, 50, 0,
- 50, 50, 0, 0, 0, 0, 35, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
- 0, 50, 40, 40, 40, 40, 40, 40, 0, 40,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 40, 40, 0, 40, 40, 0, 0, 0, 0,
- 0, 50, 50, 0, 0, 41, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 41, 0, 0, 41, 41, 41, 41, 41,
- 41, 0, 41, 0, 0, 40, 40, 0, 0, 0,
- 0, 0, 0, 41, 41, 41, 0, 41, 41, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 0,
- 0, 35, 35, 0, 0, 0, 0, 35, 41, 0,
- 0, 0, 0, 35, 0, 35, 35, 35, 35, 35,
- 0, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 0, 35, 0, 35, 0, 0, 35, 35, 41, 41,
- 0, 0, 0, 0, 0, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 0, 0, 50, 50, 0, 0,
- 0, 0, 50, 0, 0, 0, 0, 0, 50, 0,
- 50, 50, 50, 50, 50, 0, 50, 50, 50, 50,
- 50, 50, 50, 50, 50, 0, 50, 0, 50, 50,
- 50, 50, 50, 0, 0, 0, 0, 0, 0, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 14, 0,
- 40, 40, 0, 0, 0, 0, 40, 0, 0, 0,
- 0, 0, 40, 0, 40, 40, 40, 40, 40, 0,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 0,
- 40, 0, 40, 40, 40, 40, 40, 0, 14, 0,
- 0, 14, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 14, 0, 0,
- 0, 0, 41, 41, 41, 41, 41, 41, 41, 41,
- 41, 0, 0, 41, 41, 42, 0, 0, 0, 41,
- 0, 0, 0, 0, 0, 41, 0, 41, 41, 41,
- 41, 41, 0, 41, 41, 41, 41, 41, 41, 41,
- 41, 41, 0, 41, 0, 41, 41, 41, 41, 41,
- 0, 0, 42, 0, 0, 42, 42, 42, 42, 42,
- 42, 14, 42, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 42, 42, 42, 0, 42, 42, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 43, 0, 42, 43,
- 43, 43, 43, 43, 43, 0, 43, 0, 0, 0,
- 0, 0, 0, 34, 0, 0, 0, 43, 43, 43,
- 0, 43, 43, 0, 0, 0, 0, 0, 42, 42,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34, 0, 43, 34, 34, 34, 34, 34, 34, 0,
- 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 34, 34, 34, 0, 34, 34, 0, 0, 0,
- 0, 0, 43, 43, 0, 14, 14, 14, 14, 14,
- 14, 14, 14, 0, 0, 0, 14, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 34, 34, 14, 0,
- 14, 14, 14, 14, 14, 0, 0, 0, 0, 14,
- 14, 14, 14, 0, 0, 34, 14, 0, 14, 14,
- 14, 14, 14, 0, 0, 0, 34, 34, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 0, 0, 42, 42, 0, 0, 0, 0, 42,
- 0, 66, 0, 0, 27, 42, 28, 42, 42, 42,
- 42, 42, 0, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 0, 42, 0, 42, 42, 42, 42, 42,
- 0, 0, 0, 0, 0, 0, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 0, 0, 43, 43, 0,
- 0, 0, 0, 43, 0, 0, 0, 0, 0, 43,
- 0, 43, 43, 43, 43, 43, 0, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 0, 43, 0, 43,
- 43, 43, 43, 43, 66, 0, 0, 27, 0, 28,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 0,
- 0, 34, 34, 35, 87, 0, 88, 34, 0, 0,
- 0, 0, 0, 34, 0, 34, 34, 34, 34, 34,
- 0, 34, 0, 0, 34, 34, 34, 34, 34, 34,
- 0, 34, 0, 34, 34, 34, 34, 34, 0, 0,
- 35, 0, 0, 35, 35, 35, 35, 35, 35, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 0, 35, 35, 35, 0, 35, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 35, 38, 38,
- 0, 38, 38, 38, 0, 0, 0, 0, 0, 39,
- 0, 0, 0, 0, 0, 35, 38, 38, 38, 0,
- 38, 38, 0, 0, 12, 13, 35, 35, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 39,
- 39, 38, 39, 39, 39, 0, 0, 32, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 39, 39, 39,
- 0, 39, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 32, 32, 0,
- 0, 32, 39, 0, 0, 0, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 32, 32, 32, 0, 32,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 39, 39, 0, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 0,
- 0, 35, 35, 0, 0, 0, 0, 35, 0, 0,
- 32, 32, 0, 35, 0, 35, 35, 35, 35, 35,
- 0, 0, 35, 35, 35, 35, 35, 35, 35, 35,
- 0, 35, 0, 35, 0, 0, 35, 35, 0, 0,
- 0, 0, 0, 0, 0, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 0, 0, 38, 38, 0, 0,
- 0, 0, 38, 0, 0, 0, 0, 0, 38, 0,
- 38, 38, 38, 38, 38, 0, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 0, 38, 0, 38, 38,
- 38, 38, 38, 0, 0, 0, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 0, 0, 39, 39, 0,
- 0, 0, 0, 39, 0, 0, 0, 0, 0, 39,
- 0, 39, 39, 39, 39, 39, 0, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 0, 39, 0, 39,
- 39, 39, 39, 39, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 33, 0, 32, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 32, 0, 32,
- 32, 32, 32, 32, 0, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 0, 32, 0, 32, 32, 32,
- 32, 32, 0, 33, 33, 0, 0, 33, 0, 0,
- 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 33, 33, 0, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 45, 45, 0, 0, 45, 33, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 45,
- 45, 45, 0, 45, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 33, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 15, 45, 15, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 45, 45, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 12, 0, 12, 0, 0, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
- 0, 7, 0, 7, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 0,
- 0, 33, 33, 12, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 33, 0, 33, 33, 33, 33, 33,
- 0, 33, 33, 33, 33, 33, 33, 33, 33, 33,
- 0, 33, 0, 33, 33, 33, 33, 33, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 0, 0, 45,
- 45, 0, 6, 0, 0, 6, 0, 6, 0, 0,
- 0, 45, 0, 45, 45, 45, 45, 45, 0, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 0, 45,
- 0, 45, 45, 45, 45, 45, 0, 15, 15, 15,
- 15, 15, 15, 15, 15, 0, 0, 66, 15, 15,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 15, 5, 15, 15, 15, 15, 15, 0, 0, 0,
- 0, 15, 15, 15, 15, 0, 0, 0, 15, 0,
- 15, 15, 15, 15, 15, 6, 0, 12, 12, 12,
- 12, 0, 12, 12, 12, 0, 0, 0, 12, 12,
- 0, 5, 0, 0, 5, 0, 5, 0, 0, 2,
- 12, 0, 12, 12, 12, 12, 12, 0, 0, 0,
- 0, 12, 12, 12, 12, 0, 0, 0, 12, 0,
- 12, 12, 12, 12, 12, 7, 7, 7, 7, 7,
- 7, 7, 7, 0, 0, 0, 7, 7, 0, 2,
- 0, 0, 2, 0, 2, 0, 0, 0, 7, 0,
- 7, 7, 7, 7, 7, 0, 0, 0, 0, 7,
- 7, 7, 7, 0, 0, 0, 7, 0, 7, 7,
- 7, 7, 7, 0, 5, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 233, 0, 27, 234, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
- 6, 6, 0, 0, 0, 6, 6, 0, 0, 0,
- 6, 6, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 0, 6, 6, 6, 6, 6, 0,
- 0, 0, 0, 6, 6, 6, 6, 0, 0, 0,
- 6, 0, 6, 6, 6, 6, 6, 0, 0, 0,
- 12, 13, 0, 173, 174, 14, 15, 0, 0, 0,
- 0, 0, 178, 179, 180, 181, 182, 16, 0, 17,
- 18, 19, 0, 21, 184, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 0, 0, 0, 0, 0, 0, 5, 5,
- 5, 0, 0, 0, 5, 5, 0, 0, 0, 5,
- 5, 0, 0, 0, 0, 0, 0, 35, 0, 0,
- 27, 5, 28, 5, 5, 5, 5, 5, 0, 0,
- 0, 0, 5, 5, 5, 5, 293, 0, 0, 5,
- 0, 5, 5, 5, 5, 5, 2, 2, 2, 0,
- 0, 0, 2, 2, 0, 0, 0, 2, 2, 57,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
- 0, 2, 2, 2, 2, 2, 0, 0, 0, 0,
- 2, 2, 2, 2, 0, 0, 0, 2, 0, 2,
- 2, 2, 2, 2, 0, 0, 57, 0, 0, 57,
- 57, 57, 57, 57, 57, 0, 57, 12, 13, 0,
- 0, 0, 14, 15, 53, 0, 0, 57, 57, 57,
- 0, 57, 57, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 53, 57, 57, 53, 53, 53, 53, 53, 53,
- 0, 53, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 57, 53, 53, 0, 0, 53, 53, 0, 0,
- 0, 0, 57, 57, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
- 0, 0, 0, 55, 55, 0, 55, 53, 53, 55,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 55, 55, 55, 0, 55, 55, 53, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 53, 53, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 55, 55, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 55, 26, 0, 29, 30, 31,
- 32, 33, 0, 0, 0, 55, 55, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 0, 0, 57, 57, 0,
- 0, 0, 0, 57, 0, 0, 0, 0, 0, 57,
- 0, 57, 57, 57, 57, 57, 0, 57, 57, 57,
- 57, 0, 57, 57, 57, 57, 0, 57, 0, 57,
- 57, 57, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 53, 53, 53, 53, 53, 53, 53, 53, 53,
- 0, 0, 53, 53, 0, 0, 0, 0, 53, 0,
- 0, 0, 0, 0, 53, 0, 53, 53, 53, 53,
- 53, 28, 53, 53, 53, 53, 0, 53, 53, 53,
- 53, 0, 53, 0, 53, 53, 53, 0, 0, 55,
- 55, 55, 55, 55, 55, 0, 0, 55, 0, 0,
- 0, 0, 0, 0, 0, 0, 55, 0, 28, 0,
- 0, 0, 28, 28, 0, 28, 24, 55, 28, 0,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 28,
- 28, 28, 55, 28, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 24, 0, 0, 0, 24, 24, 0,
- 24, 26, 0, 24, 28, 28, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 24, 24, 0, 24, 24,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 28, 28, 0, 0, 26, 0,
- 0, 0, 26, 26, 0, 26, 0, 0, 26, 24,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 26,
- 26, 26, 0, 26, 26, 0, 0, 0, 24, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 24,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 26, 26, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
- 0, 25, 25, 26, 25, 0, 0, 25, 0, 0,
- 0, 0, 0, 0, 26, 26, 0, 0, 25, 25,
- 25, 0, 25, 25, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 25, 25, 0, 0, 0, 28, 28,
- 28, 28, 28, 28, 0, 0, 28, 0, 0, 0,
- 0, 0, 25, 0, 0, 28, 0, 0, 0, 0,
- 0, 0, 0, 25, 25, 0, 28, 0, 0, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 0, 0,
- 0, 28, 0, 24, 24, 24, 24, 24, 24, 0,
- 66, 24, 0, 27, 0, 28, 0, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 24, 0, 0, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 0, 0, 0, 24, 0, 26, 26,
- 26, 26, 26, 26, 0, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 26, 0, 0, 56, 0,
- 0, 0, 0, 0, 0, 0, 26, 0, 0, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56, 0, 0, 0, 56,
- 56, 0, 56, 0, 0, 56, 0, 25, 25, 25,
- 25, 25, 25, 0, 0, 25, 56, 56, 56, 0,
- 56, 56, 0, 0, 25, 87, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 0, 0, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 0, 0, 0,
- 25, 56, 56, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 0, 0, 87, 87, 0, 87,
- 56, 0, 87, 88, 0, 0, 0, 0, 0, 0,
- 0, 56, 56, 87, 87, 87, 0, 87, 87, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88, 0, 0, 0, 88, 88, 0, 88, 87, 87,
- 88, 125, 126, 12, 13, 0, 0, 0, 14, 15,
- 0, 88, 88, 88, 0, 88, 88, 87, 0, 0,
- 16, 0, 17, 18, 19, 89, 21, 0, 87, 87,
- 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 30, 31, 32, 33, 0, 88, 88, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 89, 0, 0, 88, 89, 89, 0, 89,
- 0, 0, 89, 0, 0, 0, 88, 88, 0, 0,
- 0, 0, 0, 89, 89, 89, 0, 89, 89, 0,
- 0, 0, 0, 0, 0, 56, 56, 56, 56, 56,
- 56, 0, 0, 56, 66, 235, 0, 27, 236, 28,
- 0, 0, 56, 85, 0, 0, 0, 0, 89, 89,
- 0, 0, 0, 56, 0, 0, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 0, 0, 89, 56, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89, 89,
- 85, 0, 0, 0, 85, 85, 0, 0, 0, 0,
- 85, 0, 87, 87, 87, 87, 87, 87, 0, 0,
- 87, 85, 85, 85, 0, 85, 85, 0, 0, 87,
- 0, 0, 0, 66, 237, 0, 27, 238, 28, 0,
- 87, 0, 0, 87, 87, 87, 0, 0, 0, 0,
- 87, 87, 0, 0, 0, 87, 85, 85, 0, 0,
- 88, 88, 88, 88, 88, 88, 0, 0, 88, 0,
- 0, 0, 0, 0, 0, 85, 0, 88, 0, 0,
- 16, 0, 0, 0, 0, 0, 85, 85, 88, 0,
- 0, 88, 88, 88, 0, 0, 0, 0, 88, 88,
- 0, 0, 0, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
- 0, 16, 16, 0, 16, 0, 0, 16, 0, 0,
- 0, 0, 89, 89, 89, 89, 89, 89, 16, 16,
- 89, 0, 0, 16, 0, 0, 0, 0, 0, 89,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 0, 0, 89, 89, 89, 0, 0, 0, 0,
- 89, 89, 0, 16, 16, 89, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 16, 16, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 85, 85, 85, 85, 85, 85, 0, 0, 85, 0,
- 0, 0, 0, 0, 0, 0, 0, 85, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
- 0, 85, 85, 85, 0, 0, 12, 13, 85, 85,
- 0, 14, 15, 85, 0, 0, 0, 0, 0, 0,
- 0, 41, 0, 16, 0, 17, 18, 19, 53, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 41, 30, 31, 32, 33, 0, 41,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 105, 53, 108, 0, 0, 0, 112,
- 113, 0, 116, 118, 119, 0, 53, 53, 123, 124,
- 41, 0, 0, 0, 0, 0, 0, 16, 16, 16,
- 16, 16, 16, 0, 0, 16, 0, 0, 41, 138,
- 139, 140, 141, 0, 16, 0, 0, 0, 0, 0,
- 0, 0, 0, 41, 0, 16, 0, 0, 16, 16,
- 16, 108, 0, 0, 0, 0, 0, 0, 160, 0,
- 16, 0, 0, 0, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 102, 103, 41, 41,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 199, 200, 0, 0, 202, 203, 204, 205, 207,
- 133, 134, 135, 0, 209, 210, 0, 53, 53, 0,
- 0, 0, 217, 0, 0, 0, 218, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
- 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
- 254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 266, 0, 267, 0,
- 268, 0, 269, 0, 270, 0, 0, 0, 0, 272,
- 0, 0, 0, 0, 273, 274, 0, 0, 0, 0,
- 0, 211, 280, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 219, 0, 221, 0, 222, 0, 0, 0,
- 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 66, 0, 0, 27, 0, 28, 243, 0, 41,
- 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
- 187, 0, 260, 261, 262, 263, 264, 0, 0, 68,
- 68, 0, 71, 72, 0, 68, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 68, 0, 0, 0, 0,
- 0, 0, 0, 109, 0, 0, 109, 0, 109, 0,
- 288, 0, 0, 0, 290, 291, 292, 0, 0, 0,
- 297, 0, 109, 0, 185, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 68, 68, 68, 68, 68, 68,
- 0, 0, 0, 0, 0, 310, 311, 68, 0, 0,
- 68, 315, 0, 0, 68, 68, 0, 0, 68, 0,
- 68, 68, 0, 0, 0, 68, 68, 0, 0, 0,
- 108, 0, 0, 108, 0, 108, 0, 0, 0, 0,
- 68, 68, 68, 68, 0, 0, 109, 0, 109, 108,
- 0, 0, 196, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 102, 0, 0, 102, 0,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 0, 0, 0, 102, 0, 0, 68, 0, 0,
- 0, 68, 68, 0, 68, 68, 68, 68, 0, 68,
- 0, 68, 68, 108, 0, 108, 0, 0, 0, 68,
- 68, 172, 125, 126, 12, 13, 0, 173, 174, 14,
- 15, 175, 0, 176, 177, 0, 178, 179, 180, 181,
- 182, 16, 183, 17, 18, 19, 0, 21, 184, 0,
- 0, 0, 22, 23, 24, 25, 68, 0, 102, 26,
- 102, 0, 30, 31, 32, 33, 0, 0, 68, 68,
- 68, 68, 68, 0, 68, 68, 68, 0, 0, 0,
- 0, 0, 68, 109, 0, 0, 109, 109, 0, 109,
- 109, 109, 109, 109, 109, 109, 109, 0, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 0, 109,
- 109, 0, 0, 0, 109, 109, 109, 109, 0, 0,
- 0, 109, 0, 0, 109, 109, 109, 109, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 0, 0, 108, 108, 0, 108, 108, 108, 108,
- 108, 108, 108, 108, 0, 108, 108, 108, 108, 108,
- 108, 108, 108, 108, 108, 0, 108, 108, 0, 0,
- 0, 108, 108, 108, 108, 0, 0, 0, 108, 0,
- 0, 108, 108, 108, 108, 102, 0, 0, 102, 102,
- 0, 102, 102, 102, 102, 102, 102, 102, 102, 0,
- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 0, 102, 102, 0, 0, 0, 102, 102, 102, 102,
- 0, 0, 0, 102, 0, 0, 102, 102, 102, 102,
- 103, 0, 0, 103, 0, 103, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 104, 0, 0, 104, 0,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 103, 0, 103, 0, 0, 0, 0,
- 101, 0, 0, 101, 0, 101, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 101,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
- 104, 0, 0, 0, 0, 0, 107, 0, 0, 107,
- 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 101, 0, 101, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 0, 0, 27, 0, 28, 0, 0, 0, 107,
- 103, 107, 0, 103, 103, 0, 103, 103, 103, 103,
- 103, 103, 103, 103, 0, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 0, 103, 103, 0, 0,
- 0, 103, 103, 103, 103, 0, 0, 0, 103, 0,
- 0, 103, 103, 103, 103, 104, 0, 0, 104, 104,
- 0, 104, 104, 104, 104, 104, 104, 104, 104, 0,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 0, 104, 104, 34, 0, 0, 104, 104, 104, 104,
- 0, 0, 0, 104, 0, 0, 104, 104, 104, 104,
- 101, 0, 0, 101, 101, 0, 101, 101, 101, 101,
- 101, 101, 101, 101, 0, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 35, 101, 101, 27, 0,
- 28, 101, 101, 101, 101, 0, 0, 0, 101, 0,
- 0, 101, 101, 101, 101, 0, 107, 0, 0, 107,
- 107, 0, 107, 107, 107, 107, 107, 107, 107, 107,
- 0, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 0, 107, 107, 0, 0, 0, 107, 107, 107,
- 107, 0, 0, 0, 107, 0, 0, 107, 107, 107,
- 107, 136, 0, 0, 136, 0, 136, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 136, 0, 0, 0, 0, 0, 0, 9, 10, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 66, 0, 0, 27,
- 16, 28, 17, 18, 19, 20, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 187, 0, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 136, 0, 136, 0, 0, 0,
- 0, 66, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
- 0, 186, 0, 0, 0, 0, 0, 66, 0, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 187, 0, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 185, 16, 197, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 29, 30, 31, 32, 33,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 35, 0, 0, 27, 0, 28, 0, 0, 0,
- 185, 136, 198, 0, 136, 136, 0, 136, 136, 136,
- 136, 136, 136, 136, 136, 0, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 0, 136, 136, 0,
- 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
- 0, 0, 136, 136, 136, 136, 172, 0, 0, 12,
- 13, 0, 173, 174, 14, 15, 175, 0, 176, 177,
- 0, 178, 179, 180, 181, 182, 16, 183, 17, 18,
- 19, 0, 21, 184, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 172, 0, 0, 12, 13, 0, 173, 174, 14,
- 15, 175, 0, 176, 177, 0, 178, 179, 180, 181,
- 182, 16, 183, 17, 18, 19, 107, 21, 184, 27,
- 0, 28, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 172, 0, 0,
- 12, 13, 0, 173, 174, 14, 15, 175, 0, 176,
- 177, 0, 178, 179, 180, 181, 182, 16, 183, 17,
- 18, 19, 0, 21, 184, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 66, 0, 0, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 125, 126, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 66, 0, 0,
- 27, 16, 28, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 187, 0, 0, 26,
- 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 185, 0, 228, 0, 0,
- 0, 0, 66, 0, 0, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 185, 0, 281, 0, 0, 0, 0, 0, 106, 0,
- 0, 106, 0, 106, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 0, 106, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 185, 16, 305, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 29, 30, 31, 32,
- 33, 66, 239, 0, 27, 240, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 106, 172, 106, 0, 12, 13, 0, 173, 174,
- 14, 15, 175, 0, 176, 177, 0, 178, 179, 180,
- 181, 182, 16, 183, 17, 18, 19, 0, 21, 184,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 172, 0, 0,
- 12, 13, 0, 173, 174, 14, 15, 175, 0, 176,
- 177, 0, 178, 179, 180, 181, 182, 16, 183, 17,
- 18, 19, 66, 21, 184, 27, 110, 28, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 172, 0, 0, 12, 13, 0, 173, 174,
- 14, 15, 175, 0, 176, 177, 0, 178, 179, 180,
- 181, 182, 16, 183, 17, 18, 19, 0, 21, 184,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 0, 106, 0,
- 0, 106, 106, 0, 106, 106, 106, 106, 106, 0,
- 106, 106, 0, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 0, 106, 106, 0, 0, 0, 106,
- 106, 106, 106, 0, 0, 0, 106, 0, 0, 106,
- 106, 106, 106, 129, 0, 0, 129, 0, 129, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 129, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 66, 244, 0, 27,
- 245, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 129, 0, 129, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 104,
- 0, 27, 0, 28, 0, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 66, 0, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 66, 0, 0, 27, 0, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 129, 0, 0, 129, 129, 0, 129,
- 129, 129, 129, 129, 0, 129, 129, 0, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 0, 129,
- 129, 0, 0, 0, 129, 129, 129, 129, 0, 0,
- 0, 129, 0, 0, 129, 129, 129, 129, 66, 0,
- 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 12, 13, 0, 0, 0, 14, 15, 66, 154,
- 0, 27, 0, 28, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 0, 0, 0, 115, 0, 0, 0,
- 12, 13, 0, 0, 66, 14, 15, 27, 159, 28,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 117, 0, 0, 0, 12, 13, 0, 0,
- 66, 14, 15, 27, 162, 28, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 0, 30, 31, 32, 33, 0, 0,
- 0, 0, 66, 0, 0, 27, 164, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 137, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 66, 0, 0, 27, 165, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 66, 21, 0, 27, 170, 28, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 0, 0, 0, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 66,
- 21, 0, 27, 171, 28, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 19, 66, 21, 0, 27, 0,
- 28, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 30, 31, 32, 33, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 66, 242, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 0, 30, 31, 32, 33, 66, 246,
- 0, 27, 0, 28, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 0, 30, 31, 32, 33, 0, 0,
- 0, 66, 12, 13, 27, 0, 28, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 206, 0, 0, 0, 12, 13,
- 0, 0, 0, 14, 15, 66, 277, 0, 27, 0,
- 28, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
- 0, 0, 0, 0, 0, 0, 0, 66, 283, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 66, 284, 0, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 66, 285, 0, 27, 0, 28, 0,
- 265, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 66, 286, 0, 27,
- 0, 28, 0, 0, 0, 0, 0, 0, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
- 12, 13, 0, 0, 0, 14, 15, 66, 287, 0,
- 27, 0, 28, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 0, 0, 0, 0, 0, 0, 0, 66,
- 289, 0, 27, 0, 28, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 66, 0, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 296, 26, 0, 0, 30, 31, 32, 33, 51, 0,
- 0, 27, 0, 28, 0, 0, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 66, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 0, 0, 0, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 67, 69, 30,
- 31, 32, 33, 73, 0, 0, 0, 0, 0, 0,
- 0, 89, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 89, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 0, 0, 0,
- 0, 143, 144, 145, 146, 147, 148, 149, 0, 0,
- 0, 0, 0, 0, 0, 89, 0, 0, 89, 0,
- 0, 0, 89, 89, 0, 0, 89, 0, 89, 89,
- 0, 0, 0, 89, 89, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89, 89,
- 89, 89, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 89,
- 89, 0, 89, 89, 89, 89, 0, 89, 0, 89,
- 89, 0, 0, 0, 0, 0, 0, 89, 89, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 89, 89, 89,
- 89, 0, 89, 89, 89, 0, 0, 0, 0, 0,
- 89,
-};
-short yycheck[] = { 7,
- 0, 41, 44, 41, 37, 41, 59, 41, 123, 42,
- 43, 41, 45, 59, 47, 35, 59, 38, 41, 51,
- 94, 29, 293, 62, 123, 58, 102, 103, 40, 59,
- 63, 35, 303, 35, 301, 302, 123, 37, 112, 292,
- 40, 41, 42, 43, 44, 45, 40, 47, 219, 40,
- 303, 304, 41, 288, 216, 0, 40, 133, 58, 59,
- 60, 94, 62, 63, 40, 60, 301, 302, 50, 41,
- 59, 41, 44, 62, 44, 107, 84, 261, 262, 112,
- 62, 63, 289, 290, 40, 124, 41, 107, 289, 290,
- 286, 99, 37, 93, 94, 91, 41, 42, 43, 44,
- 45, 40, 47, 107, 59, 107, 261, 41, 289, 290,
- 0, 41, 112, 58, 59, 60, 40, 62, 63, 290,
- 291, 292, 40, 123, 124, 59, 134, 135, 44, 59,
- 123, 293, 289, 290, 60, 124, 40, 112, 120, 310,
- 311, 303, 41, 41, 315, 221, 41, 37, 93, 94,
- 40, 41, 42, 43, 37, 45, 41, 47, 292, 42,
- 43, 59, 45, 280, 47, 41, 41, 112, 58, 59,
- 60, 44, 62, 63, 261, 262, 197, 44, 123, 124,
- 63, 41, 93, 292, 59, 41, 40, 40, 40, 292,
- 290, 173, 174, 41, 91, 59, 41, 272, 40, 271,
- 41, 41, 0, 93, 94, 40, 214, 215, 43, 44,
- 45, 94, 288, 41, 260, 261, 262, 260, 261, 262,
- 59, 93, 112, 59, 41, 60, 265, 62, 213, 112,
- 260, 261, 262, 123, 124, -1, 289, 290, -1, -1,
- -1, 274, -1, -1, -1, -1, -1, 289, 290, 289,
- 290, 289, 290, 289, 290, 289, 290, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 289, 290, 268, 269,
- 278, 260, 261, 262, 274, -1, 265, -1, -1, -1,
- 280, 41, 282, 283, 284, 285, 286, 295, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 292, 298, 59,
- 300, 301, 302, 303, 304, 260, 261, 262, 303, 304,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, 260, 261, 262, 274,
- 260, 261, 262, -1, -1, 280, 41, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
- -1, -1, 260, 261, 262, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- 0, -1, -1, -1, 274, 260, 261, 262, -1, -1,
- 280, 274, 282, 283, 284, 285, 286, 41, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
- 40, 41, 42, 43, 44, 45, -1, 47, 263, 264,
- -1, 37, -1, 268, 269, 0, 42, -1, 58, 59,
- -1, 47, 62, 63, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, -1, 301, 302, 303, 304,
- -1, -1, 37, 93, 94, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, 94, -1,
- 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
- 260, 261, 262, 123, 124, -1, 112, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 37, 93, 94,
- 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
- 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
- -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, 123, 124, -1, 260, 261, 262, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
- -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
- 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 37, 93, 94, 40, 41,
- 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
- -1, -1, 0, -1, -1, 112, 58, 59, 60, -1,
- 62, 63, -1, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
- -1, 93, 40, 41, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, -1, 62, 63, -1, -1, -1, -1,
- -1, 123, 124, -1, -1, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, 123, 124, -1, -1, -1,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, -1, -1, -1, -1, 274, 93, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, -1, -1, 303, 304, 123, 124,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, -1, -1, 268, 269, -1, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 0, -1,
- 268, 269, -1, -1, -1, -1, 274, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, -1, 300, 301, 302, 303, 304, -1, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, 123, 47, -1, -1, -1, -1, -1, -1, 0,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
- 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
- -1, -1, -1, 0, -1, -1, -1, 58, 59, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, 123, 124,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 37, -1, 93, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, 123, 124, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, 94, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, 112, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
- -1, 40, -1, -1, 43, 280, 45, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 0, 60, -1, 62, 274, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
- 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, 94, 40, 41,
- -1, 43, 44, 45, -1, -1, -1, -1, -1, 0,
- -1, -1, -1, -1, -1, 112, 58, 59, 60, -1,
- 62, 63, -1, -1, 263, 264, 123, 124, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, 40,
- 41, 93, 43, 44, 45, -1, -1, 0, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, 58, 59, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
- -1, 44, 93, -1, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, 58, 59, 60, -1, 62,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, 123, 124, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, -1, -1, -1, -1, 274, -1, -1,
- 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, -1, -1, 303, 304, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, -1, -1, 268, 269, -1, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 0, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, 40, 41, -1, -1, 44, -1, -1,
- -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, 60, -1, 62, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 40, 41, -1, -1, 44, 93, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, 93, 45, -1, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 123, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
- 269, -1, 40, -1, -1, 43, -1, 45, -1, -1,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- -1, 300, 301, 302, 303, 304, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, -1, 40, 268, 269,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- 280, 0, 282, 283, 284, 285, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, 123, -1, 257, 258, 259,
- 260, -1, 262, 263, 264, -1, -1, -1, 268, 269,
- -1, 40, -1, -1, 43, -1, 45, -1, -1, 0,
- 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, -1, -1, 268, 269, -1, 40,
- -1, -1, 43, -1, 45, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, 300, 301,
- 302, 303, 304, -1, 123, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 40, 41, -1, 43, 44, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
- 258, 259, -1, -1, -1, 263, 264, -1, -1, -1,
- 268, 269, 123, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
- 263, 264, -1, 266, 267, 268, 269, -1, -1, -1,
- -1, -1, 275, 276, 277, 278, 279, 280, -1, 282,
- 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, -1, -1, -1, -1, -1, -1, 257, 258,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, 40, -1, -1,
- 43, 280, 45, 282, 283, 284, 285, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 59, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, 257, 258, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, 0,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, 37, -1, -1, 40,
- 41, 42, 43, 44, 45, -1, 47, 263, 264, -1,
- -1, -1, 268, 269, 0, -1, -1, 58, 59, 60,
- -1, 62, 63, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- -1, 37, 93, 94, 40, 41, 42, 43, 44, 45,
- -1, 47, 0, -1, -1, -1, -1, -1, -1, -1,
- -1, 112, 58, 59, -1, -1, 62, 63, -1, -1,
- -1, -1, 123, 124, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, 41, 42, -1, 44, 93, 94, 47,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, -1, 62, 63, 112, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 259, 123, 124, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, 112, 298, -1, 300, 301, 302,
- 303, 304, -1, -1, -1, 123, 124, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, -1, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- -1, -1, 268, 269, -1, -1, -1, -1, 274, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
- 286, 0, 288, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, -1, -1, 257,
- 258, 259, 260, 261, 262, -1, -1, 265, -1, -1,
- -1, -1, -1, -1, -1, -1, 274, -1, 37, -1,
- -1, -1, 41, 42, -1, 44, 0, 285, 47, -1,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 58,
- 59, 60, 300, 62, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 37, -1, -1, -1, 41, 42, -1,
- 44, 0, -1, 47, 93, 94, -1, -1, -1, -1,
- -1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
- -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, 124, -1, -1, 37, -1,
- -1, -1, 41, 42, -1, 44, -1, -1, 47, 93,
- 94, -1, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, -1, 62, 63, -1, -1, -1, 112, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, -1, 123,
- 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
- -1, 41, 42, 112, 44, -1, -1, 47, -1, -1,
- -1, -1, -1, -1, 123, 124, -1, -1, 58, 59,
- 60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, 94, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, -1, -1, 265, -1, -1, -1,
- -1, -1, 112, -1, -1, 274, -1, -1, -1, -1,
- -1, -1, -1, 123, 124, -1, 285, -1, -1, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
- -1, 300, -1, 257, 258, 259, 260, 261, 262, -1,
- 40, 265, -1, 43, -1, 45, -1, -1, -1, -1,
- 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, -1, -1, 300, -1, 257, 258,
- 259, 260, 261, 262, -1, -1, 265, -1, -1, -1,
- -1, -1, -1, -1, -1, 274, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, 285, -1, -1, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
- -1, 300, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 37, -1, -1, -1, 41,
- 42, -1, 44, -1, -1, 47, -1, 257, 258, 259,
- 260, 261, 262, -1, -1, 265, 58, 59, 60, -1,
- 62, 63, -1, -1, 274, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 285, -1, -1, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, -1, -1,
- 300, 93, 94, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 37, -1, -1, -1, 41, 42, -1, 44,
- 112, -1, 47, 0, -1, -1, -1, -1, -1, -1,
- -1, 123, 124, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 37, -1, -1, -1, 41, 42, -1, 44, 93, 94,
- 47, 261, 262, 263, 264, -1, -1, -1, 268, 269,
- -1, 58, 59, 60, -1, 62, 63, 112, -1, -1,
- 280, -1, 282, 283, 284, 0, 286, -1, 123, 124,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -1, 93, 94, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 37, -1, -1, 112, 41, 42, -1, 44,
- -1, -1, 47, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, -1, -1, 265, 40, 41, -1, 43, 44, 45,
- -1, -1, 274, 0, -1, -1, -1, -1, 93, 94,
- -1, -1, -1, 285, -1, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, -1, 112, 300, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
- 37, -1, -1, -1, 41, 42, -1, -1, -1, -1,
- 47, -1, 257, 258, 259, 260, 261, 262, -1, -1,
- 265, 58, 59, 60, -1, 62, 63, -1, -1, 274,
- -1, -1, -1, 40, 41, -1, 43, 44, 45, -1,
- 285, -1, -1, 288, 289, 290, -1, -1, -1, -1,
- 295, 296, -1, -1, -1, 300, 93, 94, -1, -1,
- 257, 258, 259, 260, 261, 262, -1, -1, 265, -1,
- -1, -1, -1, -1, -1, 112, -1, 274, -1, -1,
- 0, -1, -1, -1, -1, -1, 123, 124, 285, -1,
- -1, 288, 289, 290, -1, -1, -1, -1, 295, 296,
- -1, -1, -1, 300, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
- -1, 41, 42, -1, 44, -1, -1, 47, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 58, 59,
- 265, -1, -1, 63, -1, -1, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 285, -1, -1, 288, 289, 290, -1, -1, -1, -1,
- 295, 296, -1, 93, 94, 300, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, 112, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, 123, 124, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- 257, 258, 259, 260, 261, 262, -1, -1, 265, -1,
- -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 285, -1,
- -1, 288, 289, 290, -1, -1, 263, 264, 295, 296,
- -1, 268, 269, 300, -1, -1, -1, -1, -1, -1,
- -1, 7, -1, 280, -1, 282, 283, 284, 14, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, 29, 301, 302, 303, 304, -1, 35,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
- 56, -1, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, -1, -1, 265, -1, -1, 84, 85,
- 86, 87, 88, -1, 274, -1, -1, -1, -1, -1,
- -1, -1, -1, 99, -1, 285, -1, -1, 288, 289,
- 290, 107, -1, -1, -1, -1, -1, -1, 114, -1,
- 300, -1, -1, -1, 120, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 134, 135,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 157, 158, -1, -1, 161, 162, 163, 164, 165,
- 81, 82, 83, -1, 170, 171, -1, 173, 174, -1,
- -1, -1, 178, -1, -1, -1, 182, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
- 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 214, 215,
- 216, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 232, -1, 234, -1,
- 236, -1, 238, -1, 240, -1, -1, -1, -1, 245,
- -1, -1, -1, -1, 250, 251, -1, -1, -1, -1,
- -1, 172, 258, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 183, -1, 185, -1, 187, -1, -1, -1,
- -1, -1, 278, -1, -1, -1, -1, -1, -1, -1,
- -1, 40, -1, -1, 43, -1, 45, 208, -1, 295,
- -1, -1, -1, -1, -1, -1, -1, -1, 16, -1,
- 59, -1, 223, 224, 225, 226, 227, -1, -1, 27,
- 28, -1, 30, 31, -1, 33, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, -1, -1, -1,
- -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
- 271, -1, -1, -1, 275, 276, 277, -1, -1, -1,
- 281, -1, 59, -1, 123, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, 94, 95, 96, 97,
- -1, -1, -1, -1, -1, 306, 307, 105, -1, -1,
- 108, 312, -1, -1, 112, 113, -1, -1, 116, -1,
- 118, 119, -1, -1, -1, 123, 124, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
- 138, 139, 140, 141, -1, -1, 123, -1, 125, 59,
- -1, -1, 150, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 160, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 188, -1, -1, -1, 59, -1, -1, 195, -1, -1,
- -1, 199, 200, -1, 202, 203, 204, 205, -1, 207,
- -1, 209, 210, 123, -1, 125, -1, -1, -1, 217,
- 218, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
- -1, -1, 291, 292, 293, 294, 254, -1, 123, 298,
- 125, -1, 301, 302, 303, 304, -1, -1, 266, 267,
- 268, 269, 270, -1, 272, 273, 274, -1, -1, -1,
- -1, -1, 280, 260, -1, -1, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, 273, -1, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, -1, 286,
- 287, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
- 125, -1, -1, -1, -1, -1, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, -1, 123,
- 260, 125, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, 123, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 40, 286, 287, 43, -1,
- 45, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -1, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, 43,
- 280, 45, 282, 283, 284, 285, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 59, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, -1, 125, -1, -1, -1,
- -1, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
- -1, 125, -1, -1, -1, -1, -1, 40, -1, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 259, -1, 59, -1, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, 280, 125, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- 123, 260, 125, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 260, -1, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 40, 286, 287, 43,
- -1, 45, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, 260, -1, -1,
- 263, 264, -1, 266, 267, 268, 269, 270, -1, 272,
- 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 40, -1, -1, 43, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
- 259, -1, 261, 262, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, 40, -1, -1,
- 43, 280, 45, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 59, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 123, -1, 125, -1, -1,
- -1, -1, 40, -1, -1, 43, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, -1, 125, -1, -1, -1, -1, -1, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 259, -1, 59, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 123, 280, 125, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
- 304, 40, 41, -1, 43, 44, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, 260, 125, -1, 263, 264, -1, 266, 267,
- 268, 269, 270, -1, 272, 273, -1, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, -1, 286, 287,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 260, -1, -1,
- 263, 264, -1, 266, 267, 268, 269, 270, -1, 272,
- 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 40, 286, 287, 43, 44, 45, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 260, -1, -1, 263, 264, -1, 266, 267,
- 268, 269, 270, -1, 272, 273, -1, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, -1, 286, 287,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, -1, 260, -1,
- -1, 263, 264, -1, 266, 267, 268, 269, 270, -1,
- 272, 273, -1, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, -1, 286, 287, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 40, 41, -1, 43,
- 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 123, -1, 125, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
- -1, 43, -1, 45, -1, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 40, -1, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 260, -1, -1, 263, 264, -1, 266,
- 267, 268, 269, 270, -1, 272, 273, -1, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, -1, 286,
- 287, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 263, 264, -1, -1, -1, 268, 269, 40, 41,
- -1, 43, -1, 45, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, -1, -1, -1, 259, -1, -1, -1,
- 263, 264, -1, -1, 40, 268, 269, 43, 44, 45,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
- 40, 268, 269, 43, 44, 45, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, -1, -1,
- -1, -1, 40, -1, -1, 43, 44, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 259, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, 40, -1, -1, 43, 44, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 40, 286, -1, 43, 44, 45, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, -1, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 40,
- 286, -1, 43, 44, 45, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, 40, 286, -1, 43, -1,
- 45, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, 40, 41,
- -1, 43, -1, 45, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, -1, -1,
- -1, 40, 263, 264, 43, -1, 45, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, 259, -1, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, 40, 41, -1, 43, -1,
- 45, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, 40, 41, -1, 43, -1, 45, -1,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 40, 41, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 263, 264, -1, -1, -1, 268, 269, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, -1, -1, -1, -1, -1, -1, -1, 40,
- 41, -1, 43, -1, 45, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 40, -1, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- 93, 298, -1, -1, 301, 302, 303, 304, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, 27, 28, 301,
- 302, 303, 304, 33, -1, -1, -1, -1, -1, -1,
- -1, 41, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, 53, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, -1, -1, -1,
- -1, 91, 92, 93, 94, 95, 96, 97, -1, -1,
- -1, -1, -1, -1, -1, 105, -1, -1, 108, -1,
- -1, -1, 112, 113, -1, -1, 116, -1, 118, 119,
- -1, -1, -1, 123, 124, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 138, 139,
- 140, 141, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 188, -1,
- -1, -1, -1, -1, -1, 195, -1, -1, -1, 199,
- 200, -1, 202, 203, 204, 205, -1, 207, -1, 209,
- 210, -1, -1, -1, -1, -1, -1, 217, 218, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 254, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 266, 267, 268, 269,
- 270, -1, 272, 273, 274, -1, -1, -1, -1, -1,
- 280,
-};
-#define YYFINAL 1
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 304
-#if YYDEBUG
-char *yyname[] = {
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
-"':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
-0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
-"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
-"IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
-"DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
-"ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
-"UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
-};
-char *yyrule[] = {
-"$accept : program",
-"program : junk hunks",
-"begin : BEGIN '{' maybe states '}' junk",
-"end : END '{' maybe states '}'",
-"end : end NEWLINE",
-"hunks : hunks hunk junk",
-"hunks :",
-"hunk : patpat",
-"hunk : patpat '{' maybe states '}'",
-"hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
-"hunk : '{' maybe states '}'",
-"hunk : begin",
-"hunk : end",
-"arg_list : expr_list",
-"patpat : cond",
-"patpat : cond ',' cond",
-"cond : expr",
-"cond : match",
-"cond : rel",
-"cond : compound_cond",
-"compound_cond : '(' compound_cond ')'",
-"compound_cond : cond ANDAND maybe cond",
-"compound_cond : cond OROR maybe cond",
-"compound_cond : NOT cond",
-"rel : expr RELOP expr",
-"rel : expr '>' expr",
-"rel : expr '<' expr",
-"rel : '(' rel ')'",
-"match : expr MATCHOP expr",
-"match : expr MATCHOP REGEX",
-"match : REGEX",
-"match : '(' match ')'",
-"expr : term",
-"expr : expr term",
-"expr : variable ASGNOP cond",
-"term : variable",
-"term : NUMBER",
-"term : STRING",
-"term : term '+' term",
-"term : term '-' term",
-"term : term '*' term",
-"term : term '/' term",
-"term : term '%' term",
-"term : term '^' term",
-"term : term IN VAR",
-"term : term '?' term ':' term",
-"term : variable INCR",
-"term : variable DECR",
-"term : INCR variable",
-"term : DECR variable",
-"term : '-' term",
-"term : '+' term",
-"term : '(' cond ')'",
-"term : GETLINE",
-"term : GETLINE variable",
-"term : GETLINE '<' expr",
-"term : GETLINE variable '<' expr",
-"term : term 'p' GETLINE",
-"term : term 'p' GETLINE variable",
-"term : FUN1",
-"term : FUN1 '(' ')'",
-"term : FUN1 '(' expr ')'",
-"term : FUNN '(' expr_list ')'",
-"term : USERFUN '(' expr_list ')'",
-"term : SPRINTF expr_list",
-"term : SUBSTR '(' expr ',' expr ',' expr ')'",
-"term : SUBSTR '(' expr ',' expr ')'",
-"term : SPLIT '(' expr ',' VAR ',' expr ')'",
-"term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
-"term : SPLIT '(' expr ',' VAR ')'",
-"term : INDEX '(' expr ',' expr ')'",
-"term : MATCH '(' expr ',' REGEX ')'",
-"term : MATCH '(' expr ',' expr ')'",
-"term : SUB '(' expr ',' expr ')'",
-"term : SUB '(' REGEX ',' expr ')'",
-"term : GSUB '(' expr ',' expr ')'",
-"term : GSUB '(' REGEX ',' expr ')'",
-"term : SUB '(' expr ',' expr ',' expr ')'",
-"term : SUB '(' REGEX ',' expr ',' expr ')'",
-"term : GSUB '(' expr ',' expr ',' expr ')'",
-"term : GSUB '(' REGEX ',' expr ',' expr ')'",
-"variable : VAR",
-"variable : VAR '[' expr_list ']'",
-"variable : FIELD",
-"variable : VFIELD term",
-"expr_list : expr",
-"expr_list : clist",
-"expr_list :",
-"clist : expr ',' maybe expr",
-"clist : clist ',' maybe expr",
-"clist : '(' clist ')'",
-"junk : junk hunksep",
-"junk :",
-"hunksep : ';'",
-"hunksep : SEMINEW",
-"hunksep : NEWLINE",
-"hunksep : COMMENT",
-"maybe : maybe nlstuff",
-"maybe :",
-"nlstuff : NEWLINE",
-"nlstuff : COMMENT",
-"separator : ';' maybe",
-"separator : SEMINEW maybe",
-"separator : NEWLINE maybe",
-"separator : COMMENT maybe",
-"states : states statement",
-"states :",
-"statement : simple separator maybe",
-"statement : ';' maybe",
-"statement : SEMINEW maybe",
-"statement : compound",
-"simpnull : simple",
-"simpnull :",
-"simple : expr",
-"simple : PRINT expr_list redir expr",
-"simple : PRINT expr_list",
-"simple : PRINTF expr_list redir expr",
-"simple : PRINTF expr_list",
-"simple : BREAK",
-"simple : NEXT",
-"simple : EXIT",
-"simple : EXIT expr",
-"simple : CONTINUE",
-"simple : RET",
-"simple : RET expr",
-"simple : DELETE VAR '[' expr ']'",
-"redir : '>'",
-"redir : GRGR",
-"redir : '|'",
-"compound : IF '(' cond ')' maybe statement",
-"compound : IF '(' cond ')' maybe statement ELSE maybe statement",
-"compound : WHILE '(' cond ')' maybe statement",
-"compound : DO maybe statement WHILE '(' cond ')'",
-"compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
-"compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
-"compound : FOR '(' expr ')' maybe statement",
-"compound : '{' maybe states '}' maybe",
-};
-#endif
-#ifndef YYSTYPE
-typedef int YYSTYPE;
-#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
-YYSTYPE yyval;
-YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#line 406 "a2p.y"
-#include "a2py.c"
-#line 1997 "y.tab.c"
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-int
-yyparse()
-{
- register int yym, yyn, yystate;
-#if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if (yyn = yydefred[yystate]) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
-#ifdef lint
- goto yynewerror;
-#endif
-yynewerror:
- yyerror("syntax error");
-#ifdef lint
- goto yyerrlab;
-#endif
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
-case 1:
-#line 63 "a2p.y"
-{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
-break;
-case 2:
-#line 67 "a2p.y"
-{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
- yyval = Nullop; }
-break;
-case 3:
-#line 72 "a2p.y"
-{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
-break;
-case 4:
-#line 74 "a2p.y"
-{ yyval = yyvsp[-1]; }
-break;
-case 5:
-#line 78 "a2p.y"
-{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
-break;
-case 6:
-#line 80 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 7:
-#line 84 "a2p.y"
-{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
-break;
-case 8:
-#line 86 "a2p.y"
-{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
-break;
-case 9:
-#line 88 "a2p.y"
-{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
-break;
-case 10:
-#line 90 "a2p.y"
-{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
-break;
-case 13:
-#line 96 "a2p.y"
-{ yyval = rememberargs(yyval); }
-break;
-case 14:
-#line 100 "a2p.y"
-{ yyval = oper1(OPAT,yyvsp[0]); }
-break;
-case 15:
-#line 102 "a2p.y"
-{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
-break;
-case 20:
-#line 113 "a2p.y"
-{ yyval = oper1(OCPAREN,yyvsp[-1]); }
-break;
-case 21:
-#line 115 "a2p.y"
-{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
-break;
-case 22:
-#line 117 "a2p.y"
-{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
-break;
-case 23:
-#line 119 "a2p.y"
-{ yyval = oper1(OCNOT,yyvsp[0]); }
-break;
-case 24:
-#line 123 "a2p.y"
-{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
-break;
-case 25:
-#line 125 "a2p.y"
-{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
-break;
-case 26:
-#line 127 "a2p.y"
-{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
-break;
-case 27:
-#line 129 "a2p.y"
-{ yyval = oper1(ORPAREN,yyvsp[-1]); }
-break;
-case 28:
-#line 133 "a2p.y"
-{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
-break;
-case 29:
-#line 135 "a2p.y"
-{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
-break;
-case 30:
-#line 137 "a2p.y"
-{ yyval = oper1(OREGEX,yyvsp[0]); }
-break;
-case 31:
-#line 139 "a2p.y"
-{ yyval = oper1(OMPAREN,yyvsp[-1]); }
-break;
-case 32:
-#line 143 "a2p.y"
-{ yyval = yyvsp[0]; }
-break;
-case 33:
-#line 145 "a2p.y"
-{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
-break;
-case 34:
-#line 147 "a2p.y"
-{ yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
- if ((ops[yyvsp[-2]].ival & 255) == OFLD)
- lval_field = TRUE;
- if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
- lval_field = TRUE;
- }
-break;
-case 35:
-#line 156 "a2p.y"
-{ yyval = yyvsp[0]; }
-break;
-case 36:
-#line 158 "a2p.y"
-{ yyval = oper1(ONUM,yyvsp[0]); }
-break;
-case 37:
-#line 160 "a2p.y"
-{ yyval = oper1(OSTR,yyvsp[0]); }
-break;
-case 38:
-#line 162 "a2p.y"
-{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
-break;
-case 39:
-#line 164 "a2p.y"
-{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
-break;
-case 40:
-#line 166 "a2p.y"
-{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
-break;
-case 41:
-#line 168 "a2p.y"
-{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
-break;
-case 42:
-#line 170 "a2p.y"
-{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
-break;
-case 43:
-#line 172 "a2p.y"
-{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
-break;
-case 44:
-#line 174 "a2p.y"
-{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
-break;
-case 45:
-#line 176 "a2p.y"
-{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
-break;
-case 46:
-#line 178 "a2p.y"
-{ yyval = oper1(OPOSTINCR,yyvsp[-1]); }
-break;
-case 47:
-#line 180 "a2p.y"
-{ yyval = oper1(OPOSTDECR,yyvsp[-1]); }
-break;
-case 48:
-#line 182 "a2p.y"
-{ yyval = oper1(OPREINCR,yyvsp[0]); }
-break;
-case 49:
-#line 184 "a2p.y"
-{ yyval = oper1(OPREDECR,yyvsp[0]); }
-break;
-case 50:
-#line 186 "a2p.y"
-{ yyval = oper1(OUMINUS,yyvsp[0]); }
-break;
-case 51:
-#line 188 "a2p.y"
-{ yyval = oper1(OUPLUS,yyvsp[0]); }
-break;
-case 52:
-#line 190 "a2p.y"
-{ yyval = oper1(OPAREN,yyvsp[-1]); }
-break;
-case 53:
-#line 192 "a2p.y"
-{ yyval = oper0(OGETLINE); }
-break;
-case 54:
-#line 194 "a2p.y"
-{ yyval = oper1(OGETLINE,yyvsp[0]); }
-break;
-case 55:
-#line 196 "a2p.y"
-{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 56:
-#line 199 "a2p.y"
-{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 57:
-#line 202 "a2p.y"
-{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
- if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 58:
-#line 205 "a2p.y"
-{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
- if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 59:
-#line 208 "a2p.y"
-{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
-break;
-case 60:
-#line 210 "a2p.y"
-{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
-break;
-case 61:
-#line 212 "a2p.y"
-{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
-break;
-case 62:
-#line 214 "a2p.y"
-{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
-break;
-case 63:
-#line 216 "a2p.y"
-{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
-break;
-case 64:
-#line 218 "a2p.y"
-{ yyval = oper1(OSPRINTF,yyvsp[0]); }
-break;
-case 65:
-#line 220 "a2p.y"
-{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
-break;
-case 66:
-#line 222 "a2p.y"
-{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
-break;
-case 67:
-#line 224 "a2p.y"
-{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
-break;
-case 68:
-#line 226 "a2p.y"
-{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
-break;
-case 69:
-#line 228 "a2p.y"
-{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
-break;
-case 70:
-#line 230 "a2p.y"
-{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
-break;
-case 71:
-#line 232 "a2p.y"
-{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
-break;
-case 72:
-#line 234 "a2p.y"
-{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
-break;
-case 73:
-#line 236 "a2p.y"
-{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
-break;
-case 74:
-#line 238 "a2p.y"
-{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
-break;
-case 75:
-#line 240 "a2p.y"
-{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
-break;
-case 76:
-#line 242 "a2p.y"
-{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
-break;
-case 77:
-#line 244 "a2p.y"
-{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
-break;
-case 78:
-#line 246 "a2p.y"
-{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
-break;
-case 79:
-#line 248 "a2p.y"
-{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
-break;
-case 80:
-#line 250 "a2p.y"
-{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
-break;
-case 81:
-#line 254 "a2p.y"
-{ yyval = oper1(OVAR,yyvsp[0]); }
-break;
-case 82:
-#line 256 "a2p.y"
-{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
-break;
-case 83:
-#line 258 "a2p.y"
-{ yyval = oper1(OFLD,yyvsp[0]); }
-break;
-case 84:
-#line 260 "a2p.y"
-{ yyval = oper1(OVFLD,yyvsp[0]); }
-break;
-case 87:
-#line 267 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 88:
-#line 271 "a2p.y"
-{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
-break;
-case 89:
-#line 273 "a2p.y"
-{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
-break;
-case 90:
-#line 275 "a2p.y"
-{ yyval = yyvsp[-1]; }
-break;
-case 91:
-#line 279 "a2p.y"
-{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
-break;
-case 92:
-#line 281 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 93:
-#line 285 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
-break;
-case 94:
-#line 287 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
-break;
-case 95:
-#line 289 "a2p.y"
-{ yyval = oper0(ONEWLINE); }
-break;
-case 96:
-#line 291 "a2p.y"
-{ yyval = oper1(OCOMMENT,yyvsp[0]); }
-break;
-case 97:
-#line 295 "a2p.y"
-{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
-break;
-case 98:
-#line 297 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 99:
-#line 301 "a2p.y"
-{ yyval = oper0(ONEWLINE); }
-break;
-case 100:
-#line 303 "a2p.y"
-{ yyval = oper1(OCOMMENT,yyvsp[0]); }
-break;
-case 101:
-#line 308 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
-break;
-case 102:
-#line 310 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
-break;
-case 103:
-#line 312 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
-break;
-case 104:
-#line 314 "a2p.y"
-{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
-break;
-case 105:
-#line 318 "a2p.y"
-{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
-break;
-case 106:
-#line 320 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 107:
-#line 325 "a2p.y"
-{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
-break;
-case 108:
-#line 327 "a2p.y"
-{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
-break;
-case 109:
-#line 329 "a2p.y"
-{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
-break;
-case 112:
-#line 335 "a2p.y"
-{ yyval = Nullop; }
-break;
-case 114:
-#line 341 "a2p.y"
-{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
- do_opens = TRUE;
- saw_ORS = saw_OFS = TRUE;
- if (!yyvsp[-2]) need_entire = TRUE;
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 115:
-#line 347 "a2p.y"
-{ yyval = oper1(OPRINT,yyvsp[0]);
- if (!yyvsp[0]) need_entire = TRUE;
- saw_ORS = saw_OFS = TRUE;
- }
-break;
-case 116:
-#line 352 "a2p.y"
-{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
- do_opens = TRUE;
- if (!yyvsp[-2]) need_entire = TRUE;
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
-break;
-case 117:
-#line 357 "a2p.y"
-{ yyval = oper1(OPRINTF,yyvsp[0]);
- if (!yyvsp[0]) need_entire = TRUE;
- }
-break;
-case 118:
-#line 361 "a2p.y"
-{ yyval = oper0(OBREAK); }
-break;
-case 119:
-#line 363 "a2p.y"
-{ yyval = oper0(ONEXT); }
-break;
-case 120:
-#line 365 "a2p.y"
-{ yyval = oper0(OEXIT); }
-break;
-case 121:
-#line 367 "a2p.y"
-{ yyval = oper1(OEXIT,yyvsp[0]); }
-break;
-case 122:
-#line 369 "a2p.y"
-{ yyval = oper0(OCONTINUE); }
-break;
-case 123:
-#line 371 "a2p.y"
-{ yyval = oper0(ORETURN); }
-break;
-case 124:
-#line 373 "a2p.y"
-{ yyval = oper1(ORETURN,yyvsp[0]); }
-break;
-case 125:
-#line 375 "a2p.y"
-{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
-break;
-case 126:
-#line 379 "a2p.y"
-{ yyval = oper1(OREDIR,string(">",1)); }
-break;
-case 127:
-#line 381 "a2p.y"
-{ yyval = oper1(OREDIR,string(">>",2)); }
-break;
-case 128:
-#line 383 "a2p.y"
-{ yyval = oper1(OREDIR,string("|",1)); }
-break;
-case 129:
-#line 388 "a2p.y"
-{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 130:
-#line 390 "a2p.y"
-{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 131:
-#line 392 "a2p.y"
-{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 132:
-#line 394 "a2p.y"
-{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
-break;
-case 133:
-#line 396 "a2p.y"
-{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 134:
-#line 398 "a2p.y"
-{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 135:
-#line 400 "a2p.y"
-{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
-break;
-case 136:
-#line 402 "a2p.y"
-{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
-break;
-#line 2660 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yyssp, yystate);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- return (1);
-yyaccept:
- return (0);
-}