#define yy_create_buffer asn1p__create_buffer
#define yy_delete_buffer asn1p__delete_buffer
#define yy_scan_buffer asn1p__scan_buffer
#define yy_scan_string asn1p__scan_string
#define yy_scan_bytes asn1p__scan_bytes
#define yy_flex_debug asn1p__flex_debug
#define yy_init_buffer asn1p__init_buffer
#define yy_flush_buffer asn1p__flush_buffer
#define yy_load_buffer_state asn1p__load_buffer_state
#define yy_switch_to_buffer asn1p__switch_to_buffer
#define yyin asn1p_in
#define yyleng asn1p_leng
#define yylex asn1p_lex
#define yyout asn1p_out
#define yyrestart asn1p_restart
#define yytext asn1p_text
#define yylineno asn1p_lineno

#line 20 "lex.yy.c"
/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header$
 * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.4 1999/10/27 07:56:44 obrien Exp $
 */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>


/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif


#ifdef __cplusplus

#include <stdlib.h>
#include <unistd.h>

/* Use prototypes in function declarations. */
#define YY_USE_PROTOS

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

#endif	/* __STDC__ */
#endif	/* ! __cplusplus */

#ifdef __TURBOC__
 #pragma warn -rch
 #pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif


#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif

/* Returned upon end-of-file. */
#define YY_NULL 0

/* Promotes a possibly negative, possibly signed char to an unsigned
 * integer for use as an array index.  If the signed char is negative,
 * we want to instead treat it as an 8-bit unsigned char, hence the
 * double cast.
 */
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)

/* Enter a start condition.  This macro really ought to take a parameter,
 * but we do it the disgusting crufty way forced on us by the ()-less
 * definition of BEGIN.
 */
#define BEGIN yy_start = 1 + 2 *

/* Translate the current start state into a value that can be later handed
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 * compatibility.
 */
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START

/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)

/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#define YY_BUF_SIZE 16384

typedef struct yy_buffer_state *YY_BUFFER_STATE;

extern int yyleng;
extern FILE *yyin, *yyout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

/* The funky do-while in the following #define is used to turn the definition
 * int a single C statement (which needs a semi-colon terminator).  This
 * avoids problems with code like:
 *
 * 	if ( condition_holds )
 *		yyless( 5 );
 *	else
 *		do_something_else();
 *
 * Prior to using the do-while the compiler would get upset at the
 * "else" because it interpreted the "if" statement as being all
 * done when it reached the ';' after the yyless() call.
 */

/* Return all but the first 'n' matched characters back to the input stream. */

#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		*yy_cp = yy_hold_char; \
		YY_RESTORE_YY_MORE_OFFSET \
		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, yytext_ptr )

/* The following is because we cannot portably get our hands on size_t
 * (without autoconf's help, which isn't available because we want
 * flex-generated scanners to compile on their own).
 */
typedef unsigned int yy_size_t;


struct yy_buffer_state
	{
	FILE *yy_input_file;

	char *yy_ch_buf;		/* input buffer */
	char *yy_buf_pos;		/* current position in input buffer */

	/* Size of input buffer in bytes, not including room for EOB
	 * characters.
	 */
	yy_size_t yy_buf_size;

	/* Number of characters read into yy_ch_buf, not including EOB
	 * characters.
	 */
	int yy_n_chars;

	/* Whether we "own" the buffer - i.e., we know we created it,
	 * and can realloc() it to grow it, and should free() it to
	 * delete it.
	 */
	int yy_is_our_buffer;

	/* Whether this is an "interactive" input source; if so, and
	 * if we're using stdio for input, then we want to use getc()
	 * instead of fread(), to make sure we stop fetching input after
	 * each newline.
	 */
	int yy_is_interactive;

	/* Whether we're considered to be at the beginning of a line.
	 * If so, '^' rules will be active on the next match, otherwise
	 * not.
	 */
	int yy_at_bol;

	/* Whether to try to fill the input buffer when we reach the
	 * end of it.
	 */
	int yy_fill_buffer;

	int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
	/* When an EOF's been seen but there's still some text to process
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
	 * shouldn't try reading from the input source any more.  We might
	 * still have a bunch of tokens to match, though, because of
	 * possible backing-up.
	 *
	 * When we actually see the EOF, we change the status to "new"
	 * (via yyrestart()), so that the user can continue scanning by
	 * just pointing yyin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2
	};

static YY_BUFFER_STATE yy_current_buffer = 0;

/* We provide macros for accessing buffer states in case in the
 * future we want to put the buffer states in a more general
 * "scanner state".
 */
#define YY_CURRENT_BUFFER yy_current_buffer


/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;

static int yy_n_chars;		/* number of characters read into yy_ch_buf */


int yyleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow yywrap()'s to do buffer switches
 * instead of setting up a fresh yyin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void yyrestart YY_PROTO(( FILE *input_file ));

void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )

YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));

static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));

#define yy_new_buffer yy_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT

#define yywrap() 1
#define YY_SKIP_YYWRAP

#define FLEX_DEBUG
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;

#define FLEX_DEBUG
extern int yylineno;
int yylineno = 1;
extern char *yytext;
#define yytext_ptr yytext

static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up yytext.
 */
#define YY_DO_BEFORE_ACTION \
	yytext_ptr = yy_bp; \
	yyleng = (int) (yy_cp - yy_bp); \
	yy_hold_char = *yy_cp; \
	*yy_cp = '\0'; \
	yy_c_buf_p = yy_cp;

#define YY_NUM_RULES 123
#define YY_END_OF_BUFFER 124
static yyconst short int yy_acclist[1196] =
    {   0,
      124,  122,  123,  117,  122,  123,  117,  123,  116,  122,
      123,   15,  122,  123,  116,  122,  123,  122,  123,  116,
      122,  123,  122,  123,  116,  122,  123,  122,  123,   23,
      122,  123,   22,  122,  123,  116,  122,  123,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,
      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  111,  112,  122,  123,

      111,  112,  122,  123,  111,  112,  122,  123,  111,  112,
      122,  123,  111,  112,  122,  123,  116,  122,  123,  110,
      122,  123,    5,  122,  123,    2,  123,    2,  122,  123,
        4,  122,  123,    7,    9,  122,  123,    7,  123,    9,
      122,  123,    9,  122,  123,   17,  122,  123,   17,  123,
       18,  122,  123,   12,  122,  123,   12,  123,   14,  122,
      123,   14,  122,  123,   10,  122,  123,   11,  122,  123,
      119,  122,  123,  120,  122,  123,  120,  123,  122,  123,
      121,  122,  123,  117,   15,   15,  108,  109,    1,   21,
      115,    6,   22,  111,  112,  111,  112,  111,  112,  111,

      112,  111,  112,  111,  112,  112,  111,  112,  111,  112,
      111,  112,  111,  112,   36,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  112,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  112,  111,  112,  111,  112,   79,  111,
      112,  111,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  111,  112,  111,  112,  112,  112,  111,  112,

      110,    5,    3,    8,   17,   16,   12,  119,  120,  118,
      108,  109,   21,  114,  113,  111,  112,   28,  111,  112,
       29,  111,  112,  111,  112,  111,  112,  111,  112,   33,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,   49,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  112,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,   71,  111,  112,   72,  111,  112,  111,
      112,  112,  111,  112,  111,  112,  111,  112,  112,  111,

      112,   82,  111,  112,  111,  112,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,   90,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,  111,  112,  111,  112,  111,
      112,  112,  112,  112,  111,  112,   24,   13,   20,   19,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,   57,  111,  112,  112,

      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,   74,
      111,  112,  112,  111,  112,  111,  112,  111,  112,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  112,   87,
      111,  112,  111,  112,  111,  112,   91,  111,  112,  111,
      112,  111,  112,  111,  112,   95,  111,  112,   97,  111,
      112,  111,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,  112,  112,  107,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,   32,  111,
      112,  112,  111,  112,  111,  112,  111,  112,   39,  111,

      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,   56,  111,  112,
      112,  112,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  111,  112,   78,  111,  112,  111,  112,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  112,  111,
      112,  111,  112,  111,  112,  111,  112,  112,  111,  112,
      112,   99,  111,  112,  111,  112,  111,  112,  112,  111,
      112,  112,  112,  112,   25,   26,  111,  112,  111,  112,

      111,  112,  111,  112,  112,  111,  112,  111,  112,   38,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
       51,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,  111,  112,  112,   76,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  112,
      111,  112,  111,  112,   92,  111,  112,   93,  111,  112,
      112,  111,  112,  112,  100,  111,  112,  111,  112,  112,

      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      112,   35,  111,  112,  111,  112,  111,  112,  111,  112,
      111,  112,   44,  111,  112,   45,  111,  112,  111,  112,
      111,  112,   48,  111,  112,  111,  112,  111,  112,   53,
      111,  112,  111,  112,  111,  112,  112,  112,  112,  111,
      112,  111,  112,   64,  111,  112,   65,  111,  112,  111,
      112,  111,  112,   68,  111,  112,  111,  112,  111,  112,
      111,  112,  112,  111,  112,  112,   81,  111,  112,  111,
      112,   84,  111,  112,   86,  111,  112,  112,  111,  112,
      111,  112,  112,  111,  112,  112,  111,  112,  103,  112,

      112,  112,  112,  112,  111,  112,  111,  112,  111,  112,
      112,  111,  112,  111,  112,  111,  112,  111,  112,  111,
      112,   47,  111,  112,  111,  112,   52,  111,  112,  111,
      112,   55,  111,  112,  112,  112,  112,  112,  111,  112,
       63,  111,  112,   66,  111,  112,   67,  111,  112,  111,
      112,  112,  111,  112,  112,   80,  111,  112,  112,  111,
      112,  112,  111,  112,   89,  111,  112,  112,  111,  112,
      112,  111,  112,  112,  112,  112,  112,  111,  112,  111,
      112,   31,  111,  112,   34,  112,   37,  111,  112,   40,
      111,  112,  111,  112,  111,  112,  111,  112,  111,  112,

      111,  112,  112,  112,  112,   61,  112,  111,  112,  111,
      112,  112,  111,  112,  112,  112,  111,  112,  112,  111,
      112,   94,  112,  111,  112,  112,  101,  111,  112,  112,
      112,  112,  112,  111,  112,  111,  112,   41,  111,  112,
       42,  111,  112,   43,  111,  112,  111,  112,   50,  111,
      112,  111,  112,  112,  112,  112,   62,  111,  112,  111,
      112,  112,  111,  112,  112,  112,  111,  112,  112,  111,
      112,  111,  112,  112,  104,  112,  112,  112,  112,  111,
      112,   30,  111,  112,   46,  111,  112,  111,  112,  112,
      112,  112,  111,  112,  112,  111,  112,  112,  112,  111,

      112,  112,  111,  112,  111,  112,  112,  112,  112,  112,
       24,   25,  111,  112,  111,  112,  112,  112,  112,   69,
      111,  112,   70,  112,  111,  112,  112,  112,  111,  112,
      112,   88,  111,  112,  111,  112,  112,  112,  112,  112,
      111,  112,   54,  111,  112,   59,  112,  112,   60,  112,
      111,  112,   75,  112,  112,   83,  111,  112,  112,  111,
      112,   96,  112,  112,  112,  106,  112,  111,  112,  112,
       73,  111,  112,  112,  112,  111,  112,  112,  105,  112,
       27,  111,  112,   58,  112,  112,   85,  112,   98,  111,
      112,  102,  112,   77,  112

    } ;

static yyconst short int yy_accept[676] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    2,    4,    7,    9,   12,   15,   18,
       20,   23,   25,   28,   30,   33,   36,   39,   41,   45,
       49,   53,   57,   61,   65,   69,   73,   77,   81,   85,
       89,   93,   97,  101,  105,  109,  113,  117,  120,  123,
      126,  128,  131,  134,  138,  140,  143,  146,  149,  151,
      154,  157,  159,  162,  165,  168,  171,  174,  177,  179,
      181,  184,  184,  185,  186,  187,  187,  188,  188,  189,
      189,  189,  190,  191,  192,  193,  194,  194,  196,  198,
      200,  202,  204,  206,  207,  209,  211,  213,  215,  218,

      220,  222,  224,  226,  228,  230,  232,  234,  236,  237,
      238,  240,  242,  244,  246,  248,  250,  252,  254,  255,
      257,  259,  262,  264,  265,  267,  269,  271,  273,  274,
      276,  278,  280,  282,  284,  286,  288,  290,  292,  293,
      295,  297,  298,  299,  301,  301,  301,  301,  301,  301,
      302,  303,  304,  305,  306,  307,  308,  308,  309,  310,
      311,  311,  312,  313,  313,  313,  314,  315,  316,  318,
      321,  324,  326,  328,  330,  333,  335,  337,  339,  341,
      343,  345,  347,  349,  351,  353,  356,  358,  360,  362,
      364,  366,  368,  369,  370,  372,  374,  376,  378,  380,

      382,  384,  387,  390,  392,  393,  395,  397,  399,  400,
      402,  405,  407,  409,  411,  412,  414,  416,  418,  421,
      423,  425,  427,  429,  431,  433,  435,  436,  438,  440,
      442,  443,  444,  445,  447,  448,  448,  448,  448,  448,
      449,  449,  450,  451,  453,  455,  457,  459,  461,  463,
      465,  467,  469,  471,  473,  475,  477,  479,  481,  483,
      485,  487,  489,  491,  493,  495,  497,  500,  501,  502,
      504,  506,  508,  510,  512,  514,  516,  518,  520,  523,
      524,  526,  528,  530,  531,  533,  535,  537,  539,  540,
      543,  545,  547,  550,  552,  554,  556,  559,  562,  564,

      565,  567,  569,  571,  573,  575,  576,  577,  578,  581,
      581,  581,  581,  581,  583,  585,  587,  589,  592,  593,
      595,  597,  599,  602,  604,  606,  608,  610,  612,  614,
      616,  618,  620,  622,  624,  626,  628,  631,  632,  633,
      634,  636,  638,  640,  642,  644,  646,  648,  650,  652,
      653,  655,  658,  660,  661,  663,  665,  667,  669,  670,
      672,  674,  676,  678,  679,  681,  682,  685,  687,  689,
      690,  692,  693,  694,  695,  696,  696,  696,  696,  699,
      701,  703,  705,  706,  708,  710,  713,  715,  717,  719,
      721,  723,  725,  727,  729,  731,  734,  736,  738,  740,

      742,  743,  744,  745,  747,  749,  751,  753,  755,  757,
      759,  761,  763,  765,  766,  769,  771,  772,  774,  776,
      778,  780,  781,  783,  785,  788,  791,  792,  794,  795,
      798,  800,  801,  802,  803,  804,  805,  805,  805,  805,
      807,  809,  811,  812,  815,  817,  819,  821,  823,  826,
      829,  831,  833,  836,  838,  840,  843,  845,  847,  848,
      849,  850,  852,  854,  857,  860,  862,  864,  867,  869,
      871,  873,  874,  876,  877,  880,  882,  885,  888,  889,
      891,  893,  894,  896,  897,  899,  901,  902,  903,  904,
      905,  905,  905,  905,  907,  909,  911,  912,  914,  916,

      918,  920,  922,  925,  927,  930,  932,  935,  936,  937,
      938,  939,  941,  944,  947,  950,  952,  953,  955,  956,
      959,  960,  962,  963,  965,  968,  969,  971,  972,  974,
      975,  976,  977,  978,  978,  978,  978,  980,  982,  985,
      987,  990,  993,  995,  997,  999, 1001, 1003, 1004, 1005,
     1006, 1008, 1010, 1012, 1013, 1015, 1016, 1017, 1019, 1020,
     1022, 1024, 1026, 1027, 1030, 1031, 1032, 1033, 1034, 1034,
     1034, 1034, 1036, 1038, 1041, 1044, 1047, 1049, 1052, 1054,
     1055, 1056, 1057, 1060, 1062, 1063, 1065, 1066, 1067, 1069,
     1070, 1072, 1074, 1075, 1077, 1078, 1079, 1080, 1080, 1080,

     1080, 1082, 1085, 1088, 1090, 1091, 1092, 1093, 1095, 1096,
     1098, 1099, 1100, 1102, 1103, 1105, 1107, 1108, 1109, 1110,
     1111, 1111, 1113, 1113, 1115, 1117, 1118, 1119, 1120, 1123,
     1125, 1127, 1128, 1129, 1131, 1132, 1135, 1137, 1138, 1139,
     1140, 1141, 1141, 1143, 1146, 1148, 1149, 1151, 1153, 1155,
     1156, 1159, 1160, 1162, 1164, 1165, 1166, 1168, 1168, 1170,
     1171, 1174, 1175, 1176, 1178, 1179, 1181, 1184, 1186, 1187,
     1189, 1192, 1194, 1196, 1196
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    2,    5,    6,    1,    1,    1,    7,    8,    9,
        9,   10,    1,    9,   11,   12,   13,   14,   15,   16,
       16,   17,   18,   19,   16,   20,   16,   21,   22,   23,
       24,    1,    1,    9,   25,   26,   27,   28,   29,   30,
       31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
       51,    1,   52,   53,    1,    1,   54,   55,   56,   57,

       58,   59,   60,   61,   62,   63,   59,   64,   65,   66,
       67,   68,   59,   69,   70,   71,   72,   73,   59,   74,
       59,   75,   76,   77,   78,    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,    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,    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,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1
    } ;

static yyconst int yy_meta[79] =
    {   0,
        1,    2,    3,    3,    1,    4,    5,    6,    1,    1,
        7,    1,    1,    8,    8,    8,    8,    8,    8,    8,
        9,    1,    1,    9,    8,    8,    8,    8,    8,    8,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
        1,    1,    1,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   12,    1,   12
    } ;

static yyconst short int yy_base[691] =
    {   0,
        0,    0,   76,   78,   80,   81,   82,   89,   83,   93,
       96,  106,  844,  833,  116,  119,  822,  821,  177,  126,
     4166,  127,  816,  123, 4166,  134,  805, 4166,  242,  292,
      141,  298,  152,  314,  322,  130,  338,  359,  360,  376,
      382,  397,  410,  437,  440,  462,  463,  495,    0,    0,
     4166, 4166,  811, 4166, 4166,  807,  807,    0,    0,  809,
        0,    0,  787, 4166, 4166, 4166,    0,  160,  191,  104,
     4166,  800,  261,    0,  798,  797,    0,   79,    0,  426,
      793, 4166,  511,  787, 4166,  527,  771,  512,  513,  528,
      529,  544,  550,    0,  561,  567,  578,  589,  595,  611,

      617,  628,  641,  644,  664,  661,  672,  685,  727,  737,
      696,  702,  713,  719,  730,  741,  747,  758,  725,  771,
      774,  787,  795,  725,  798,  811,  822,  835,  720,  851,
      857,  868,  874,  885,  900,  901,  916,  917,  716,  932,
      933,  716,   45,  948,  980,  987,  736,   97,  120,    0,
        0, 4166, 4166,    0, 4166,    0,  750,    0,  291, 4166,
      761,    0,    0,   79,  739,  994, 4166, 4166,  990, 1003,
     1011, 1014, 1027, 1035, 1038, 1051, 1059, 1067, 1075, 1088,
     1096, 1099, 1120, 1121, 1136, 1142, 1153, 1159, 1170, 1176,
     1187, 1198,  707,  693, 1211, 1219, 1222, 1237, 1240, 1243,

     1267, 1261, 1264, 1282,  702, 1285, 1300, 1306,  696, 1317,
     1328, 1334, 1345, 1356,  686, 1367, 1373, 1384, 1390, 1405,
     1406, 1421, 1432, 1438, 1453, 1459,  692, 1470, 1481, 1492,
      675,  686,  681, 1503, 4166, 1542,  697,  143,  158, 4166,
      683, 4166, 4166, 1527, 1528, 1543, 1549, 1564, 1565, 1582,
     1581, 1597, 1603, 1614, 1625, 1643, 1640, 1646, 1661, 1664,
     1667, 1682, 1688, 1699, 1710, 1725, 1731,  664,  668, 1742,
     1748, 1763, 1764, 1779, 1785, 1796, 1809, 1817, 1825,  658,
     1840, 1843, 1856,  670, 1864, 1880, 1879, 1896,  649, 1897,
     1912, 1925, 1933, 1936, 1954, 1951, 1957, 1972, 1975,  648,

     1978, 1993, 1999, 2010, 2016,  660,  649,  660, 2031, 2063,
      283,  280,  305, 2048, 2064, 2072, 2080, 2088,  644, 2096,
     2104, 2117, 2125, 2128, 2146, 2143, 2149, 2164, 2170, 2185,
     2186, 2201, 2216, 2222, 2233, 2239, 2254,  653,  641,  627,
     2255, 2275, 2272, 2293, 2292, 2310, 2309, 2325, 2331,  633,
     2342, 2353, 2359,  623, 2370, 2381, 2387, 2398,  639, 2411,
     2414, 2422, 2435,  616, 2446,  625, 2452, 2467, 2468,  613,
     2483,  607,  604,  610, 4166,  302,  321,   96, 2489, 2504,
     2507, 2515,  610, 2530, 2536, 2547, 2553, 2564, 2570, 2581,
     2592, 2598, 2615, 2621, 2637, 2638, 2653, 2654, 2669, 2675,

      605,  607,  599, 2686, 2692, 2707, 2708, 2728, 2729, 2744,
     2752, 2765, 2773,  604, 2776, 2794,  631, 2791, 2797, 2812,
     2815,  603, 2823, 2838, 2841, 2844,  590, 2859,  574, 2862,
     2865,  588,  576,  574,  583,  581,  317,  309,  328, 2880,
     2883, 2896,  572, 2904, 2917, 2925, 2928, 2941, 2949, 2952,
     2965, 2976, 2973, 2989, 3000, 3011, 3017, 3028,   54,  589,
      564, 3034, 3045, 3056, 3062, 3073, 3079, 3094, 3095, 3110,
     3111,  583, 3126,  566, 3127, 3144, 3147, 3150,  558, 3165,
     3171,  554, 3186,  576, 3192,    0,  555,  559,  536,  566,
      347,  226,  339, 3203, 3209, 3224,  548, 3230, 3241, 3254,

     3262, 3265, 3280, 3283, 3291, 3304, 3307,  531,  525,  525,
      531, 3322, 3328, 3339, 3345, 3356,  516, 3367,  512, 3373,
      511, 3384,  521, 3395, 3401,  517, 3412,  504, 3418,  506,
      507,  520,  466,  325,  465,  348, 3429, 3440, 3451,    0,
     3457, 3468, 3479, 3490, 3496, 3511, 3512,  467,  476,  464,
        0, 3527, 3528,  470, 3544,  450,  462, 3545,  474, 3560,
        0, 3566,  447, 3577,  444,  454,  423,  424,  361, 3616,
      353, 3601, 3602, 3617, 3618, 3633, 3634, 3649, 3650,  430,
      434,  428, 3665, 3673,  421, 3681,  421,  412, 3689,  403,
     3697, 3705,  410,    0,  400,  401,  403,  189, 3737,  519,

     3722, 3723, 3738, 3746,  398,  417,  394, 3759,  398, 3767,
      391,  391, 3770,  383, 3783, 3794,  383,  378,  383,  378,
      371, 4166, 3833, 3818, 3819,  378,  363,  359, 3834,    0,
     3840,  357,  347, 3851,  351, 3857, 3868,  330,  315,  305,
      295,  558, 3884, 3881,    0,  282,    0, 3892,    0,  262,
     3907,  256, 3910,    0,  188,  141,    0, 3954, 3939,  138,
     3940,  120,  105, 3955,   95,    0, 3956,    0,   37,    0,
     3972,    0,    0, 4166, 4017, 4029, 4041, 4053, 4065, 4077,
     4088, 4089, 4093, 4104, 4116, 4128, 4139, 4144, 4149, 4154
    } ;

static yyconst short int yy_def[691] =
    {   0,
      674,    1,  675,  675,  676,  676,  677,  677,  678,  678,
      679,  679,  674,  674,  674,  674,  674,  680,  674,  681,
      674,  674,  674,  674,  674,  674,  674,  674,  674,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  682,  683,  684,
      674,  674,  674,  674,  674,  674,  674,  685,  685,  674,
      686,  686,  674,  674,  674,  674,  687,  674,  674,   19,
      674,  674,  674,  680,  680,  674,  688,  674,  689,  681,
      681,  674,  674,  674,  674,  674,  674,   29,   29,   29,
       29,   29,   29,  690,   29,   29,   29,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,   29,  690,  690,
       29,   29,   29,   29,   29,   29,   29,   29,  690,   29,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,  690,   29,
       29,  690,  690,   29,  674,  682,  146,  146,  146,  683,
      684,  674,  674,  685,  674,  686,  674,  687,  674,  674,
      674,  688,  689,  674,  674,  674,  674,  674,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,  690,  690,   29,   29,   29,   29,   29,   29,

       29,   29,   29,   29,  690,   29,   29,   29,  690,   29,
       29,   29,   29,   29,  690,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,  690,   29,   29,   29,
      690,  690,  690,   29,  674,  674,  146,  146,  146,  674,
      674,  674,  674,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  690,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,

       29,   29,   29,   29,   29,  690,  690,  690,   29,  674,
      146,  146,  146,   29,   29,   29,   29,   29,  690,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
       29,   29,   29,   29,   29,   29,   29,   29,   29,  690,
       29,   29,   29,  690,   29,   29,   29,   29,  690,   29,
       29,   29,   29,  690,   29,  690,   29,   29,   29,  690,
       29,  690,  690,  690,  674,  146,  146,  146,   29,   29,
       29,   29,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,

      690,  690,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,  690,   29,   29,  690,   29,   29,   29,
       29,  690,   29,   29,   29,   29,  690,   29,  690,   29,
       29,  690,  690,  690,  690,  690,  146,  146,  146,   29,
       29,   29,  690,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,  690,  690,
      690,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,  690,   29,  690,   29,   29,   29,   29,  690,   29,
       29,  690,   29,  690,   29,  690,  690,  690,  690,  690,
      146,  146,  146,   29,   29,   29,  690,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
      690,   29,   29,   29,   29,   29,  690,   29,  690,   29,
      690,   29,  690,   29,   29,  690,   29,  690,   29,  690,
      690,  690,  690,  146,  146,  146,   29,   29,   29,  690,
       29,   29,   29,   29,   29,   29,   29,  690,  690,  690,
      690,   29,   29,  690,   29,  690,  690,   29,  690,   29,
      690,   29,  690,   29,  690,  690,  690,  690,  146,  674,
      146,   29,   29,   29,   29,   29,   29,   29,   29,  690,
      690,  690,   29,   29,  690,   29,  690,  690,   29,  690,
       29,   29,  690,  690,  690,  690,  690,  146,  674,  146,

       29,   29,   29,   29,  690,  690,  690,   29,  690,   29,
      690,  690,   29,  690,   29,   29,  690,  690,  690,  690,
      146,  674,  674,   29,   29,  690,  690,  690,   29,  690,
       29,  690,  690,   29,  690,   29,   29,  690,  690,  690,
      690,  146,   29,   29,  690,  690,  690,   29,  690,  690,
       29,  690,   29,  690,  690,  690,  690,  674,   29,  690,
       29,  690,  690,   29,  690,  690,   29,  690,  690,  690,
       29,  690,  690,    0,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674
    } ;

static yyconst short int yy_nxt[4245] =
    {   0,
       14,   15,   16,   15,   17,   18,   19,   20,   21,   14,
       22,   23,   24,   25,   26,   26,   26,   26,   26,   26,
       27,   17,   28,   28,   29,   30,   31,   32,   33,   34,
       35,   36,   37,   36,   36,   36,   38,   39,   40,   41,
       36,   42,   43,   44,   45,   46,   47,   36,   36,   36,
       48,   17,   14,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   21,   17,   21,   51,   52,
       51,   52,   55,   55,   59,   62,   53,   60,   53,   56,
       56,   59,   57,   57,   60,   62,  508,   68,   69,   68,

       76,  232,   70,   63,  242,  673,   64,   68,   69,   68,
      243,  674,   70,   63,  233,  509,   64,   73,   73,   73,
       73,   73,   73,   72,  439,  674,   72,   80,   80,   80,
       72,   78,   85,   72,   72,  147,  147,   82,  238,   80,
       80,   83,   83,   83,   83,   83,   83,   86,   86,   86,
       86,   86,   86,   86,  672,   88,  674,  239,   65,  147,
       66,  159,  159,  159,  670,   88,   88,   88,   65,   88,
       66,   28,  100,   71,   88,  312,  101,   88,   88,  102,
       88,   28,  147,   71,   72,   88,  669,   88,  104,  105,
      313,   88,  159,  159,  159,  668,   88,  147,   76,  106,

      666,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,   77,  621,  147,   78,
       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
       79,   79,   88,  665,  535,   88,   88,   88,   88,   88,
       88,   88,   73,   73,   73,  147,   88,   89,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   90,   88,   91,
       88,   92,   88,   88,   88,   88,   93,   88,   88,   88,
       88,   88,  159,  159,  159,   94,   94,   94,   94,   94,

       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,   88,  376,  147,
       95,  663,  147,   88,   96,  377,  103,   88,   97,   88,
       98,   88,  662,   88,  437,   88,   88,   88,  107,   88,
       99,  147,   88,  491,  147,  438,  660,   88,  147,   88,
      378,   88,  492,   88,  657,  108,  147,   88,   88,   88,
      147,   88,  111,   88,  147,  112,   88,  147,  569,  493,
      656,  534,  571,   88,  113,  114,  655,   88,  147,  109,
      115,  536,   88,  116,   88,   88,  147,  147,  600,  654,
      110,  117,  147,  598,   88,   88,   88,   88,   88,   88,

      147,  120,  121,   88,  118,  122,  125,   88,  642,  126,
      147,   88,  652,   88,  650,  123,  649,  127,  647,   88,
       88,   88,   88,  128,  646,  130,   88,   80,   80,   80,
      124,  119,   88,  164,   88,   88,   88,  645,  131,   80,
       80,   88,  132,  641,  640,   88,  639,   88,  638,   88,
      129,  635,  633,  133,   88,  135,  632,  630,  134,  628,
      627,  136,   88,  626,  620,   88,  570,  570,  570,  619,
      618,  617,   88,  614,   88,   88,   88,  140,  137,   88,
      612,   88,  611,  141,   88,  138,  609,   88,   88,  607,
      606,  605,  597,  596,  139,  144,  595,   88,   88,   88,

       88,   88,   88,  594,  147,  142,   88,   88,  145,  145,
      145,  145,  145,  145,  145,  593,  590,  588,  587,  146,
      623,  623,  623,  143,  166,  166,  166,  166,  166,  166,
      166,  585,  582,  581,  148,  580,  568,   88,   88,  149,
       86,   86,   86,   86,   86,   86,   86,   88,   88,   88,
       88,   88,   88,   88,   88,  169,   88,   88,  147,  658,
      658,  658,  567,  170,   88,   88,   88,   88,   88,   88,
      566,  565,   88,   88,  563,   88,  561,  171,  559,   88,
      557,   88,  556,  172,  554,   88,   88,   88,   88,   88,
      551,  174,   88,  173,   88,  550,   88,  147,   88,  549,

       88,  548,   88,   88,   88,   88,   88,  540,  533,  532,
      175,   88,  531,   88,   88,   88,  530,  176,  528,  526,
       88,  523,   88,  521,   88,  519,   88,  177,   88,  511,
       88,  510,   88,   88,   88,  178,   88,  497,  490,   88,
      489,  180,   88,  488,  487,  486,   88,  484,   88,  179,
       88,  482,   88,   88,   88,   88,   88,  479,  474,  472,
      461,   88,  460,   88,  181,  182,   88,   88,  459,  184,
      183,  443,   88,  436,  435,  434,   88,  432,   88,   88,
       88,   88,  429,   88,  427,   88,   88,  188,   88,   88,
      185,  186,  422,  417,  414,  403,   88,   88,   88,   88,

      189,   88,  402,   88,  190,   88,  401,  191,  187,   88,
       88,   88,  383,  195,  374,  373,   88,  372,  366,  359,
       88,   88,   88,  192,   88,  354,  350,   88,  339,   88,
      196,   88,  338,   88,  160,   88,  311,   88,   88,   88,
       88,   88,  308,  307,   88,  198,   88,  306,   88,  300,
       88,  289,  197,  284,   88,   88,   88,   88,   88,  280,
      269,  199,  200,   88,  268,   88,   88,   88,  201,   88,
      243,  241,   88,  240,   88,  147,   88,  231,   88,  227,
       88,  215,   88,   88,  203,   88,   88,  209,  202,  205,
      194,   88,  193,  204,  168,   88,   88,   88,  167,   88,

      165,  161,   88,  160,  206,  160,   88,  157,   88,   88,
       88,   88,   88,   88,  155,   88,   85,  207,   88,  153,
       88,  152,   88,   88,   88,   87,   88,   84,   75,   72,
       88,   88,   88,   88,   88,   88,   88,   88,  208,   88,
       72,  210,   88,  674,  674,  674,   88,   88,   88,  674,
       88,  674,  674,  674,  674,   88,  211,   88,  674,   88,
       88,   88,  674,  213,  674,  674,  212,  214,  674,  674,
       88,  674,   88,  674,   88,  216,   88,  674,  674,   88,
      674,  674,   88,  674,  674,  674,  217,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  218,  674,   88,

      219,   88,  674,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  223,  221,  674,  220,   88,  674,
       88,  674,  222,  674,   88,   88,   88,  674,  674,   88,
      674,  224,  674,  674,  674,   88,   88,   88,   88,   88,
       88,   88,   88,  674,   88,   88,  674,  674,  674,  674,
      674,   88,   88,   88,   88,   88,  226,   88,   88,  229,
      225,   88,  230,  674,  228,  674,  674,   88,   88,   88,
       88,   88,   88,   88,  674,  674,   88,   88,  674,  674,
      674,  674,  674,   88,  674,   88,  674,   88,  236,  236,
      236,  234,   88,  145,  145,  145,  145,  145,  145,  145,

      674,  674,  674,  674,  674,  674,  674,  166,  166,  166,
      166,  166,  166,  166,  674,   88,  674,  674,  244,  674,
      674,  674,  674,  674,  674,   88,  237,   88,   88,   88,
      674,  235,  674,  245,   88,  674,   88,  674,   88,   88,
       88,  674,   88,  674,  674,  674,   88,   88,   88,  246,
       88,   88,   88,   88,  674,   88,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  247,   88,  248,  674,  674,
       88,   88,   88,   88,   88,   88,   88,   88,  674,   88,
      674,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,  249,  250,   88,   88,  674,   88,  674,

       88,  674,   88,   88,   88,  674,   88,  252,  251,  674,
       88,   88,   88,   88,   88,  674,  674,  674,  674,   88,
      674,   88,  674,   88,   88,   88,  674,   88,  674,  674,
      253,   88,   88,   88,   88,  254,   88,  674,   88,  674,
       88,  255,  256,   88,  257,   88,   88,  674,  674,  259,
      674,  674,  258,  674,  674,   88,   88,   88,   88,   88,
       88,   88,  674,  674,   88,   88,  674,   88,  674,  674,
      674,   88,  674,   88,  260,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  674,   88,  262,   88,  261,
       88,  674,   88,  674,   88,   88,   88,   88,   88,  674,

      674,   88,  674,   88,  265,  263,  674,   88,  264,   88,
      674,   88,   88,   88,   88,   88,  674,  674,  674,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  266,
      674,   88,  674,   88,  267,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,  674,   88,   88,   88,  674,
       88,  674,  674,  270,   88,   88,  271,  272,   88,   88,
      273,   88,   88,   88,  674,   88,   88,  674,   88,  674,
      674,  276,  274,  674,   88,   88,   88,   88,   88,   88,
       88,   88,   88,  275,   88,  277,   88,   88,  674,   88,
      674,  674,   88,  674,  674,  674,   88,  674,   88,   88,

       88,   88,   88,   88,   88,   88,   88,   88,  278,  674,
       88,   88,  674,  281,  674,  674,  674,  279,  674,   88,
       88,   88,   88,  674,   88,   88,   88,  674,  282,   88,
      674,   88,  674,  674,  674,   88,  674,   88,  283,   88,
      674,   88,   88,   88,   88,   88,  674,  674,  674,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,   88,
      285,   88,  674,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  674,  674,  286,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,  287,  674,   88,
      674,   88,   88,   88,  674,   88,  674,  291,   88,  674,

       88,  288,  290,  674,   88,  674,   88,  674,   88,   88,
       88,   88,   88,  674,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,  674,   88,  292,   88,
       88,   88,  674,  293,   88,  674,  674,  674,  294,  674,
       88,   88,   88,   88,   88,   88,   88,  674,  674,   88,
       88,  674,  674,  674,  674,  674,   88,   88,   88,  674,
       88,  674,  674,   88,  295,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  296,   88,   88,   88,   88,  674,
      297,  298,   88,  674,   88,  674,  674,  299,   88,  674,
       88,  674,   88,  674,   88,   88,   88,   88,   88,  674,

      674,  674,  674,   88,  674,   88,   88,   88,  301,   88,
      302,  305,  674,  674,   88,  303,   88,   88,   88,  674,
       88,  674,  674,  674,  304,   88,  674,   88,   88,   88,
      674,   88,  674,  674,  309,  674,   88,  674,   88,  674,
       88,  674,   88,  236,  236,  236,  674,   88,  674,  674,
      674,  674,   88,   88,  674,  310,  310,  310,  310,  310,
      310,  310,   88,   88,  314,   88,   88,   88,   88,  315,
      674,   88,   88,  674,   88,  316,  674,  674,   88,  674,
       88,  674,   88,  674,   88,  317,   88,   88,   88,   88,
       88,  674,  674,   88,  674,  674,  674,  674,  674,   88,

       88,  318,   88,   88,   88,  321,   88,   88,   88,   88,
      320,  674,  674,  674,  674,  674,   88,   88,   88,   88,
       88,   88,   88,  322,  674,   88,   88,  674,   88,  674,
      674,  674,   88,  674,   88,  319,   88,  674,   88,   88,
       88,   88,   88,  674,  674,  323,  674,   88,  674,   88,
       88,   88,  324,   88,  674,  674,  674,  674,   88,  674,
       88,  674,   88,  674,   88,   88,  325,  326,   88,   88,
      674,   88,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  328,  327,   88,   88,   88,  329,   88,
       88,  330,   88,  674,  674,  331,   88,  674,   88,   88,

       88,   88,   88,   88,   88,   88,   88,   88,   88,  674,
      674,   88,  674,   88,  674,  674,  674,   88,  674,   88,
      333,  332,  674,   88,   88,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      334,  674,  674,   88,  674,   88,  674,  335,  674,   88,
       88,  336,  674,  337,   88,  674,   88,  674,  674,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  341,   88,  674,  674,  342,  674,  674,   88,   88,

       88,   88,   88,   88,   88,  343,  674,   88,   88,  345,
       88,  674,  340,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,  344,   88,  348,  346,  674,  674,   88,
      674,   88,  674,   88,   88,   88,  674,  347,  674,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  349,
       88,   88,   88,  674,   88,   88,  351,  674,   88,   88,
      674,  674,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  674,   88,  674,  352,   88,  674,   88,
      356,   88,  355,   88,  353,   88,  674,  674,  674,   88,

       88,   88,  674,   88,   88,   88,  674,  357,   88,  674,
      674,  674,  674,  674,   88,   88,   88,   88,   88,   88,
      358,   88,   88,   88,   88,  674,  674,  674,  674,  674,
      674,   88,   88,   88,   88,   88,   88,   88,  674,  674,
       88,   88,  674,  674,  674,  674,  674,   88,  674,   88,
       88,   88,  674,  361,  674,  360,   88,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,  674,   88,   88,
       88,   88,   88,  362,  674,   88,   88,   88,  363,   88,
       88,  674,   88,  674,  674,  365,   88,  674,   88,   88,
       88,   88,   88,   88,   88,   88,   88,   88,   88,  674,

       88,   88,  674,   88,  674,  674,  674,   88,  674,   88,
       88,   88,   88,   88,   88,  367,   88,   88,   88,   88,
      674,  364,   88,  674,   88,  674,  674,  369,   88,  674,
       88,  674,   88,  674,   88,   88,   88,  368,   88,  674,
      674,   88,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,   88,   88,   88,   88,  674,  371,  674,
       88,  674,  674,  674,  674,  674,   88,  674,   88,  674,
       88,  370,  674,   88,  674,   88,  310,  310,  310,  310,
      310,  310,  310,   88,  674,   88,  674,   88,  380,   88,
      674,  379,   88,  674,  674,  674,  674,   88,  381,   88,

      674,   88,  674,   88,  382,   88,  674,   88,   88,   88,
      674,   88,  674,   88,  375,   88,   88,   88,  674,   88,
      384,   88,  674,   88,   88,   88,  674,   88,  674,   88,
      385,   88,   88,   88,  674,   88,  674,  674,  674,   88,
       88,   88,   88,   88,  674,  386,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  674,
       88,   88,   88,   88,   88,  387,  674,   88,   88,   88,
      388,   88,   88,  674,   88,  389,  674,  674,   88,  674,
       88,   88,   88,   88,  390,   88,   88,   88,   88,   88,
       88,  674,  391,   88,  674,   88,  392,  393,  674,   88,

      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  394,   88,  674,  674,  674,  674,  674,
       88,   88,   88,   88,   88,   88,   88,  395,  674,   88,
       88,  674,  674,  674,  674,  674,   88,  674,   88,  674,
       88,   88,  397,  674,  396,   88,  674,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  398,   88,  674,   88,  674,
       88,  674,   88,  674,   88,  399,  400,   88,   88,   88,
       88,  674,  674,   88,  674,  674,  674,  404,  674,   88,
       88,   88,   88,   88,   88,  674,  674,   88,   88,   88,

       88,  405,  674,  406,  674,  674,  674,   88,  674,   88,
       88,   88,   88,  674,   88,  407,   88,   88,   88,   88,
      408,  674,  674,  674,  674,  674,  674,   88,   88,  409,
       88,   88,   88,  674,   88,   88,   88,   88,  410,  674,
      674,  413,  674,  412,   88,   88,   88,   88,   88,   88,
       88,  411,  674,   88,   88,  674,   88,  674,  674,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,  674,  674,   88,  674,   88,   88,   88,
      674,   88,  674,  674,   88,  415,   88,  674,   88,  674,
       88,  674,   88,  674,   88,   88,  416,   88,   88,  674,

      674,  674,  674,   88,  674,   88,   88,   88,  674,   88,
      674,  418,   88,  419,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,  420,   88,   88,  674,  674,  674,
      674,   88,  674,   88,  674,   88,   88,   88,  674,   88,
      674,  421,   88,  423,  674,  674,   88,   88,   88,   88,
       88,  424,  425,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,  674,  674,   88,  674,  674,  674,
       88,   88,   88,  674,   88,  674,  674,   88,  428,   88,
      674,   88,  426,   88,  674,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  674,  430,   88,  674,  674,  674,

      674,  674,   88,   88,   88,   88,   88,   88,   88,  431,
      674,   88,   88,  674,   88,  674,  674,  674,   88,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
      440,  441,   88,   88,  674,  674,  674,  674,  674,   88,
       88,   88,   88,   88,   88,  674,   88,  674,   88,  674,
       88,   88,   88,  433,   88,   88,  674,  674,  442,   88,
      674,   88,  674,  674,  674,   88,  674,  444,  674,   88,
      674,   88,   88,   88,   88,   88,  674,  674,   88,  445,
       88,  446,   88,  674,   88,  674,   88,  674,   88,   88,
       88,   88,   88,  674,  674,   88,  447,   88,  674,   88,

      674,   88,  674,   88,  674,   88,   88,  448,   88,   88,
      674,  674,  674,  674,   88,  674,   88,   88,   88,  450,
       88,  674,  674,   88,  449,   88,  674,   88,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,  674,  674,
       88,  451,   88,  452,  674,  674,   88,  674,  453,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,  454,   88,   88,  674,   88,  674,  674,  674,  674,
      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      674,   88,   88,  674,  674,  455,  674,  674,   88,   88,
       88,   88,   88,   88,   88,  674,  456,   88,   88,  458,

       88,  457,  674,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,   88,   88,  462,  674,   88,  674,   88,
      674,   88,  674,   88,  463,   88,  674,   88,  674,   88,
       88,   88,   88,   88,  464,  674,   88,  674,  674,  674,
      674,  674,   88,   88,   88,   88,   88,   88,  674,  674,
      465,   88,   88,   88,   88,  467,  466,  674,  674,  674,
      674,  674,  674,   88,   88,   88,   88,   88,   88,   88,
      674,  674,   88,   88,  674,  674,  674,   88,  674,   88,
      469,   88,  674,   88,  674,  468,  674,   88,   88,   88,
       88,   88,  674,  674,  674,  674,   88,  674,   88,  674,

       88,   88,   88,  674,   88,  471,  674,  470,   88,   88,
       88,   88,   88,   88,  674,   88,   88,   88,  473,   88,
       88,  674,   88,  674,  674,  674,   88,  674,  475,   88,
       88,   88,   88,   88,  476,   88,   88,   88,   88,  674,
       88,   88,  674,  478,  674,  674,  674,   88,   88,   88,
       88,   88,   88,  674,   88,  477,   88,  674,   88,   88,
       88,  674,   88,   88,  481,  674,   88,   88,  480,   88,
      674,  674,  674,   88,  674,   88,   88,   88,   88,   88,
       88,   88,   88,   88,   88,   88,  483,   88,   88,  674,
       88,  674,  674,  674,   88,  674,   88,   88,   88,   88,

       88,   88,   88,   88,   88,   88,   88,  485,   88,   88,
      674,  674,  674,  674,  674,   88,  674,   88,   88,   88,
       88,   88,   88,  494,   88,  674,  495,   88,  496,   88,
      674,   88,  674,   88,  674,   88,  674,  674,  674,   88,
       88,   88,   88,   88,  674,  498,  674,  674,   88,  674,
       88,  674,   88,   88,   88,  674,   88,  674,  674,  674,
       88,   88,  499,   88,   88,  500,   88,   88,  674,   88,
      674,  674,   88,  501,   88,  674,   88,   88,   88,  674,
       88,  674,  674,  674,   88,   88,   88,   88,   88,   88,
       88,   88,  674,   88,  674,  674,   88,  502,   88,  674,

       88,   88,   88,  503,   88,  674,  674,  674,   88,   88,
       88,   88,   88,   88,   88,   88,  674,   88,  674,  674,
       88,  674,  674,  674,   88,   88,   88,  674,   88,  674,
      674,  674,  504,   88,  674,   88,   88,   88,  674,   88,
      674,  674,  506,  505,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,   88,
      674,   88,  674,  507,  674,   88,  512,   88,  674,   88,
       88,   88,   88,   88,  674,  674,  674,  674,   88,  674,
       88,   88,   88,  674,   88,  674,  674,   88,  513,   88,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,

       88,   88,  674,  674,   88,  674,   88,  515,   88,  674,
       88,  674,   88,  674,   88,  514,   88,   88,   88,   88,
       88,  516,  674,   88,  674,  674,  674,  674,  674,   88,
       88,   88,   88,   88,   88,   88,   88,  674,   88,   88,
      674,  674,  674,  674,  674,   88,   88,   88,  518,   88,
       88,   88,   88,  674,   88,   88,  674,  674,  674,  674,
      674,  520,   88,   88,   88,   88,   88,  674,  674,   88,
       88,   88,   88,  522,  674,   88,  674,  674,  674,   88,
      517,   88,   88,   88,   88,   88,   88,   88,   88,   88,
       88,   88,  674,  524,   88,  674,   88,  674,  674,  525,

       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,   88,  674,  537,  527,   88,  529,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,   88,   88,
       88,   88,  674,  674,   88,  674,   88,  674,   88,  674,
       88,  538,   88,  674,   88,  674,   88,   88,   88,   88,
      539,  674,  674,   88,  674,   88,  674,  674,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  541,  674,  674,   88,  674,   88,  674,   88,   88,
       88,  674,  543,  674,  542,   88,  674,   88,  674,   88,
       88,   88,  674,   88,  674,  674,  674,   88,   88,  544,

       88,   88,   88,  545,   88,   88,   88,  674,   88,   88,
      674,  546,  674,  674,  674,   88,   88,   88,   88,   88,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,   88,  674,  674,   88,  547,  674,  674,   88,
      674,   88,   88,   88,   88,  674,   88,   88,   88,  674,
      552,   88,  674,   88,  674,  674,  674,   88,  674,   88,
      674,   88,  674,   88,   88,   88,   88,   88,  674,  674,
       88,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,   88,   88,   88,   88,  674,  674,  674,  674,   88,
      674,   88,   88,   88,  674,   88,  555,  674,   88,  553,

       88,  674,   88,  674,   88,  560,   88,  674,   88,   88,
       88,   88,   88,  674,  674,  674,  558,   88,  674,   88,
       88,   88,  674,   88,  674,  674,   88,  674,   88,  674,
       88,  674,   88,  674,   88,  674,   88,   88,   88,   88,
       88,  674,  674,   88,  674,   88,  674,   88,  674,  562,
      674,   88,  674,  564,   88,   88,   88,   88,  674,  674,
      674,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      674,  572,  674,   88,  674,   88,   88,   88,  573,   88,
      674,  674,   88,  674,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,  674,

      674,   88,  674,   88,   88,   88,  575,   88,  674,  674,
      574,  674,   88,  674,   88,   88,   88,  674,   88,  674,
      576,   88,  674,   88,  674,   88,  674,   88,  674,   88,
      674,   88,  674,  577,   88,   88,   88,   88,  578,  674,
       88,  674,  674,  674,  674,  674,   88,  579,   88,   88,
       88,   88,   88,   88,  674,   88,   88,  674,  674,  674,
      584,  674,   88,   88,   88,   88,   88,   88,  583,   88,
       88,   88,   88,  674,  674,  674,  586,  674,  674,   88,
       88,   88,  589,   88,   88,   88,  674,  674,   88,   88,
      674,   88,  674,  674,  674,   88,  674,   88,  591,   88,

      674,   88,   88,   88,   88,   88,  674,  674,  674,  592,
       88,  674,   88,  674,   88,  674,   88,  570,  570,  570,
      674,   88,  674,  674,  674,  674,   88,   88,  674,  599,
      599,  599,  599,  599,  599,  599,   88,   88,   88,  602,
       88,   88,   88,   88,  674,   88,   88,  674,  674,  601,
      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      674,   88,   88,  674,  674,  674,  674,  674,   88,   88,
       88,   88,   88,   88,   88,   88,  603,   88,   88,  674,
      674,  674,  604,  674,   88,   88,   88,   88,   88,   88,
       88,  674,  674,   88,   88,  674,  674,  674,   88,  674,

       88,  674,   88,  674,   88,  674,   88,  674,   88,   88,
       88,  608,   88,  674,   88,  674,   88,   88,  610,  674,
       88,  613,   88,  674,   88,   88,   88,  674,   88,  615,
       88,  674,   88,   88,   88,  674,   88,  616,  674,  674,
       88,   88,   88,  674,   88,  674,  674,   88,   88,   88,
      599,  599,  599,  599,  599,  599,  599,   88,   88,  624,
       88,   88,   88,   88,  674,  674,   88,   88,  674,  674,
      674,   88,  674,   88,  674,   88,  674,   88,  674,  674,
      674,   88,   88,   88,   88,   88,  674,  674,  622,  625,
       88,  674,   88,  674,   88,   88,  629,  674,   88,  631,

      674,  674,   88,   88,   88,   88,   88,   88,   88,   88,
      636,   88,  674,  634,   88,  674,  674,  674,   88,   88,
       88,  674,   88,  637,  674,  674,  674,   88,  674,   88,
      674,   88,  674,   88,  623,  623,  623,  674,   88,  674,
      674,  674,  674,   88,   88,  674,  599,  599,  599,  599,
      599,  599,  599,   88,   88,   88,   88,   88,   88,   88,
      674,  643,   88,   88,  674,   88,  674,  644,  674,   88,
      674,   88,  674,   88,  674,   88,   88,   88,   88,   88,
      674,  674,   88,  648,   88,  674,   88,  674,   88,  674,
       88,  674,   88,   88,   88,   88,   88,  674,  674,  651,

      653,   88,  674,   88,  674,   88,   88,   88,  659,   88,
      674,  674,   88,  674,  674,  674,   88,   88,   88,   88,
       88,   88,  674,   88,  674,   88,  674,   88,   88,   88,
      674,   88,   88,  674,  674,   88,   88,  674,  664,  674,
      661,  674,   88,  674,   88,   88,   88,   88,  674,   88,
      674,   88,  674,  674,   88,  658,  658,  658,  674,  674,
      674,  674,  674,  674,   88,   88,  674,  599,  599,  599,
      599,  599,  599,  599,   88,   88,   88,   88,   88,   88,
       88,   88,  674,   88,   88,  674,  667,  674,  674,  674,
       88,   88,   88,   88,   88,   88,  671,   88,  674,   88,

       88,  674,  674,  674,  674,  674,  674,   88,  674,   88,
      674,   88,  674,  674,  674,  674,   88,   50,   50,   50,
       50,   50,   50,   50,   50,   50,   50,   50,   50,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   58,   58,   58,   58,   58,   58,   58,   58,   58,
       58,   58,   58,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   67,   67,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   74,   74,   74,
      674,   74,   74,   74,   74,   74,   74,   74,   74,   81,
       81,  674,  674,   81,  674,   81,  147,  674,  147,  150,

      150,  674,  150,  150,  151,  151,  674,  151,  151,  151,
      674,  151,  151,  151,  151,  151,  154,  154,  154,  674,
      154,  154,  154,  154,  154,  154,  154,  154,  156,  156,
      156,  156,  156,  156,  156,  156,  674,  156,  156,  158,
      674,  674,  158,  674,  158,  158,  158,  158,  158,  158,
      162,  162,  674,  162,  162,  163,  163,  674,  163,  163,
       94,   94,  674,   94,   94,   13,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,

      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674
    } ;

static yyconst short int yy_chk[4245] =
    {   0,
        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,
        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,    3,    3,
        4,    4,    5,    6,    7,    9,    3,    7,    4,    5,
        6,    8,    5,    6,    8,   10,  459,   11,   11,   11,

       78,  143,   11,    9,  164,  669,    9,   12,   12,   12,
      164,   70,   12,   10,  143,  459,   10,   15,   15,   15,
       16,   16,   16,   15,  378,   70,   16,   20,   20,   20,
       24,   78,   24,   20,   22,  378,  148,   22,  148,   20,
       20,   22,   22,   22,   22,   22,   22,   26,   26,   26,
       26,   26,   26,   26,  665,   36,   70,  149,    9,  149,
        9,   68,   68,   68,  663,   36,   31,   36,   10,   36,
       10,   11,   31,   11,   36,  238,   31,   33,   31,   31,
       31,   12,  238,   12,   19,   31,  662,   33,   33,   33,
      239,   33,   69,   69,   69,  660,   33,  239,   19,   33,

      656,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,  598,  598,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   29,  655,  492,   29,   29,   29,   29,   29,
       29,   29,   73,   73,   73,  492,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,  159,  159,  159,   29,   29,   29,   29,   29,

       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
       29,   29,   29,   29,   29,   29,   29,   30,  311,  312,
       30,  652,  311,   32,   30,  312,   32,   30,   30,   30,
       30,   30,  650,   32,  376,   32,   30,   32,   34,   34,
       30,  376,   32,  437,  313,  377,  646,   35,  438,   34,
      313,   34,  438,   34,  641,   34,  437,   35,   34,   35,
      377,   35,   37,   37,  534,   37,   35,  439,  534,  439,
      640,  491,  536,   37,   37,   37,  639,   37,  493,   35,
       37,  493,   37,   38,   38,   39,  491,  536,  571,  638,
       35,   38,  571,  569,   38,   39,   38,   39,   38,   39,

      569,   40,   40,   38,   39,   40,   41,   41,  621,   41,
      621,   40,  635,   40,  633,   40,  632,   41,  628,   41,
       40,   41,   42,   41,  627,   42,   41,   80,   80,   80,
       40,   39,   42,   80,   42,   43,   42,  626,   43,   80,
       80,   42,   43,  620,  619,   43,  618,   43,  617,   43,
       41,  614,  612,   43,   43,   44,  611,  609,   43,  607,
      606,   44,   44,  605,  597,   45,  535,  535,  535,  596,
      595,  593,   44,  590,   44,   45,   44,   45,   44,   45,
      588,   44,  587,   45,   45,   44,  585,   46,   47,  582,
      581,  580,  568,  567,   44,   47,  566,   46,   47,   46,

       47,   46,   47,  565,  535,   45,   46,   47,   48,   48,
       48,   48,   48,   48,   48,  563,  559,  557,  556,   48,
      600,  600,  600,   46,   83,   83,   83,   83,   83,   83,
       83,  554,  550,  549,   48,  548,  533,   88,   89,   48,
       86,   86,   86,   86,   86,   86,   86,   88,   89,   88,
       89,   88,   89,   90,   91,   89,   88,   89,  600,  642,
      642,  642,  532,   90,   91,   90,   91,   90,   91,   92,
      531,  530,   90,   91,  528,   93,  526,   91,  523,   92,
      521,   92,  519,   92,  517,   93,   95,   93,   92,   93,
      511,   95,   96,   93,   93,  510,   95,  642,   95,  509,

       95,  508,   96,   97,   96,   95,   96,  497,  490,  489,
       96,   96,  488,   97,   98,   97,  487,   97,  484,  482,
       99,  479,   97,  474,   98,  472,   98,   98,   98,  461,
       99,  460,   99,   98,   99,  100,  100,  443,  436,   99,
      435,  101,  101,  434,  433,  432,  100,  429,  100,  100,
      100,  427,  101,  102,  101,  100,  101,  422,  417,  414,
      403,  101,  402,  102,  102,  102,  103,  102,  401,  104,
      103,  383,  102,  374,  373,  372,  103,  370,  103,  104,
      103,  104,  366,  104,  364,  103,  106,  106,  104,  105,
      105,  105,  359,  354,  350,  340,  106,  107,  106,  105,

      106,  105,  339,  105,  106,  106,  338,  107,  105,  107,
      108,  107,  319,  111,  308,  307,  107,  306,  300,  289,
      108,  111,  108,  108,  108,  284,  280,  112,  269,  108,
      112,  111,  268,  111,  241,  111,  237,  112,  113,  112,
      111,  112,  233,  232,  114,  114,  112,  231,  113,  227,
      113,  215,  113,  209,  114,  115,  114,  113,  114,  205,
      194,  114,  114,  114,  193,  115,  116,  115,  115,  115,
      165,  161,  117,  157,  115,  147,  116,  142,  116,  139,
      116,  129,  117,  118,  117,  116,  117,  124,  116,  119,
      110,  117,  109,  118,   87,  118,  120,  118,   84,  121,

       81,   76,  118,   75,  120,   72,  120,   63,  120,  121,
      120,  121,  122,  121,   60,  120,   57,  121,  121,   56,
      123,   53,  122,  125,  122,   27,  122,   23,   18,   17,
      123,  122,  123,  125,  123,  125,  126,  125,  123,  123,
       14,  125,  125,   13,    0,    0,  126,  127,  126,    0,
      126,    0,    0,    0,    0,  126,  126,  127,    0,  127,
      128,  127,    0,  128,    0,    0,  127,  128,    0,    0,
      128,    0,  128,    0,  128,  130,  130,    0,    0,  128,
        0,    0,  131,    0,    0,    0,  130,    0,  130,    0,
      130,    0,  131,  132,  131,  130,  131,  131,    0,  133,

      131,  131,    0,  132,    0,  132,    0,  132,    0,  133,
      134,  133,  132,  133,  135,  133,    0,  132,  133,    0,
      134,    0,  134,    0,  134,  135,  136,    0,    0,  134,
        0,  136,    0,    0,    0,  135,  136,  135,  136,  135,
      136,  137,  138,    0,  135,  136,    0,    0,    0,    0,
        0,  137,  138,  137,  138,  137,  138,  140,  141,  141,
      137,  138,  141,    0,  140,    0,    0,  140,  141,  140,
      141,  140,  141,  144,    0,    0,  140,  141,    0,    0,
        0,    0,    0,  144,    0,  144,    0,  144,  146,  146,
      146,  144,  144,  145,  145,  145,  145,  145,  145,  145,

      146,  146,  146,  146,  146,  146,  146,  166,  166,  166,
      166,  166,  166,  166,    0,  169,    0,    0,  169,    0,
        0,    0,    0,    0,    0,  169,  146,  169,  170,  169,
        0,  145,    0,  169,  169,    0,  171,    0,  170,  172,
      170,    0,  170,    0,    0,    0,  171,  170,  171,  172,
      171,  172,  173,  172,    0,  171,    0,    0,  172,    0,
      174,    0,  173,  175,  173,  173,  173,  174,    0,    0,
      174,  173,  174,  175,  174,  175,  176,  175,    0,  174,
        0,    0,  175,    0,  177,    0,  176,    0,  176,    0,
      176,    0,  178,  176,  177,  176,  177,    0,  177,    0,

      179,    0,  178,  177,  178,    0,  178,  179,  178,    0,
      179,  178,  179,  180,  179,    0,    0,    0,    0,  179,
        0,  181,    0,  180,  182,  180,    0,  180,    0,    0,
      180,  181,  180,  181,  182,  181,  182,    0,  182,    0,
      181,  182,  182,  182,  183,  183,  184,    0,    0,  184,
        0,    0,  183,    0,    0,  183,  184,  183,  184,  183,
      184,  185,    0,    0,  183,  184,    0,  186,    0,    0,
        0,  185,    0,  185,  185,  185,    0,  186,  187,  186,
      185,  186,    0,    0,  188,    0,  186,  188,  187,  187,
      187,    0,  187,    0,  188,  189,  188,  187,  188,    0,

        0,  190,    0,  188,  190,  189,    0,  189,  189,  189,
        0,  190,  191,  190,  189,  190,    0,    0,    0,    0,
      190,    0,  191,  192,  191,    0,  191,    0,    0,  191,
        0,  191,    0,  192,  192,  192,  195,  192,    0,    0,
        0,    0,  192,    0,  196,    0,  195,  197,  195,    0,
      195,    0,    0,  195,  196,  195,  196,  197,  196,  197,
      197,  197,  198,  196,    0,  199,  197,    0,  200,    0,
        0,  200,  198,    0,  198,  199,  198,  199,  200,  199,
      200,  198,  200,  199,  199,  201,  202,  200,    0,  203,
        0,    0,  201,    0,    0,    0,  202,    0,  202,  203,

      202,  203,  201,  203,  201,  202,  201,  204,  203,    0,
      206,  201,    0,  206,    0,    0,    0,  204,    0,  204,
      206,  204,  206,    0,  206,  207,  204,    0,  207,  206,
        0,  208,    0,    0,    0,  207,    0,  207,  208,  207,
        0,  208,  210,  208,  207,  208,    0,    0,    0,    0,
      208,    0,  210,  211,  210,    0,  210,    0,    0,  212,
      210,  210,    0,  211,    0,  211,    0,  211,    0,  212,
      213,  212,  211,  212,    0,    0,  212,    0,  212,    0,
      213,  214,  213,    0,  213,    0,    0,  213,    0,  213,
        0,  214,  216,  214,    0,  214,    0,  217,  217,    0,

      214,  214,  216,    0,  216,    0,  216,    0,  217,  218,
      217,  216,  217,    0,    0,  219,    0,  217,    0,  218,
        0,  218,    0,  218,    0,  219,    0,  219,  218,  219,
      220,  221,    0,  220,  219,    0,    0,    0,  221,    0,
      220,  221,  220,  221,  220,  221,  222,    0,    0,  220,
      221,    0,    0,    0,    0,    0,  222,  223,  222,    0,
      222,    0,    0,  224,  222,  222,    0,  223,    0,  223,
        0,  223,    0,  224,  223,  224,  223,  224,  225,    0,
      224,  225,  224,    0,  226,    0,    0,  226,  225,    0,
      225,    0,  225,    0,  226,  228,  226,  225,  226,    0,

        0,    0,    0,  226,    0,  228,  229,  228,  228,  228,
      228,  230,    0,    0,  228,  228,  229,  230,  229,    0,
      229,    0,    0,    0,  229,  229,    0,  230,  234,  230,
        0,  230,    0,    0,  234,    0,  230,    0,  234,    0,
      234,    0,  234,  236,  236,  236,    0,  234,    0,    0,
        0,    0,  244,  245,    0,  236,  236,  236,  236,  236,
      236,  236,  244,  245,  244,  245,  244,  245,  246,  245,
        0,  244,  245,    0,  247,  246,    0,    0,  246,    0,
      246,    0,  246,    0,  247,  247,  247,  246,  247,  248,
      249,    0,    0,  247,    0,    0,    0,    0,    0,  248,

      249,  248,  249,  248,  249,  251,  251,  250,  248,  249,
      250,    0,    0,    0,    0,    0,  251,  250,  251,  250,
      251,  250,  252,  252,    0,  251,  250,    0,  253,    0,
        0,    0,  252,    0,  252,  249,  252,    0,  253,  254,
      253,  252,  253,    0,    0,  253,    0,  253,    0,  254,
      255,  254,  254,  254,    0,    0,    0,    0,  254,    0,
      255,    0,  255,    0,  255,  257,  255,  256,  256,  255,
        0,  258,    0,    0,    0,  257,    0,  257,  256,  257,
      256,  258,  256,  258,  257,  258,  259,  256,  259,  260,
      258,  260,  261,    0,    0,  261,  259,    0,  259,  260,

      259,  260,  261,  260,  261,  259,  261,  262,  260,    0,
        0,  261,    0,  263,    0,    0,    0,  262,    0,  262,
      263,  262,    0,  263,  264,  263,  262,  263,    0,    0,
        0,    0,  263,    0,  264,  265,  264,    0,  264,    0,
      264,    0,    0,  264,    0,  265,    0,  265,    0,  265,
      266,  265,    0,  266,  265,    0,  267,    0,    0,    0,
      266,    0,  266,    0,  266,    0,  267,  270,  267,  266,
      267,    0,    0,  271,    0,  267,    0,  270,    0,  270,
        0,  270,    0,  271,    0,  271,  270,  271,  272,  273,
        0,  271,  271,    0,    0,  272,    0,    0,  272,  273,

      272,  273,  272,  273,  274,  273,    0,  272,  273,  275,
      275,    0,  270,    0,  274,    0,  274,    0,  274,    0,
      275,  276,  275,  274,  275,  277,  276,    0,    0,  275,
        0,  276,    0,  276,  277,  276,    0,  276,    0,    0,
      276,    0,  278,    0,  277,    0,  277,    0,  277,    0,
      279,    0,  278,  277,  278,    0,  278,    0,    0,  278,
      279,  278,  279,    0,  279,  281,  281,    0,  282,  279,
        0,    0,    0,    0,    0,  281,    0,  281,  282,  281,
      282,  283,  282,    0,  281,    0,  282,  282,    0,  285,
      286,  283,  285,  283,  283,  283,    0,    0,    0,  285,

      283,  285,    0,  285,  287,  286,    0,  287,  285,    0,
        0,    0,    0,    0,  287,  286,  287,  286,  287,  286,
      288,  288,  290,  287,  286,    0,    0,    0,    0,    0,
        0,  288,  290,  288,  290,  288,  290,  291,    0,    0,
      288,  290,    0,    0,    0,    0,    0,  291,    0,  291,
      292,  291,    0,  292,    0,  291,  291,    0,  293,    0,
      292,  294,  292,    0,  292,    0,    0,    0,  293,  292,
      293,  294,  293,  294,    0,  294,  296,  293,  295,  295,
      294,    0,  297,    0,    0,  299,  296,    0,  296,  295,
      296,  295,  297,  295,  297,  296,  297,  298,  295,    0,

      299,  297,    0,  301,    0,    0,    0,  298,    0,  298,
      299,  298,  299,  301,  299,  301,  298,  301,  302,  299,
        0,  296,  301,    0,  303,    0,    0,  303,  302,    0,
      302,    0,  302,    0,  303,  304,  303,  302,  303,    0,
        0,  305,    0,  303,    0,  304,    0,  304,    0,  304,
        0,  305,    0,  305,  304,  305,  309,    0,  305,    0,
      305,    0,    0,    0,    0,    0,  309,    0,  309,    0,
      309,  304,    0,  314,    0,  309,  310,  310,  310,  310,
      310,  310,  310,  314,    0,  314,    0,  314,  315,  315,
        0,  314,  314,    0,    0,    0,    0,  316,  316,  315,

        0,  315,    0,  315,  317,  317,    0,  316,  315,  316,
        0,  316,    0,  318,  310,  317,  316,  317,    0,  317,
      320,  320,    0,  318,  317,  318,    0,  318,    0,  321,
      321,  320,  318,  320,    0,  320,    0,    0,    0,  321,
      320,  321,  322,  321,    0,  322,    0,    0,  321,    0,
      323,    0,  322,  324,  322,    0,  322,    0,    0,    0,
      323,  322,  323,  324,  323,  324,    0,  324,  326,  323,
      325,  325,  324,    0,  327,  326,    0,    0,  326,    0,
      326,  325,  326,  325,  327,  325,  327,  326,  327,  328,
      325,    0,  328,  327,    0,  329,  328,  329,    0,  328,

        0,  328,    0,  328,    0,  329,    0,  329,  328,  329,
      330,  331,    0,  330,  329,    0,    0,    0,    0,    0,
      330,  331,  330,  331,  330,  331,  332,  331,    0,  330,
      331,    0,    0,    0,    0,    0,  332,    0,  332,    0,
      332,  333,  333,    0,  332,  332,    0,  334,    0,    0,
        0,  333,    0,  333,    0,  333,    0,  334,  335,  334,
      333,  334,    0,    0,  336,  334,  334,    0,  335,    0,
      335,    0,  335,    0,  336,  335,  336,  335,  336,  337,
      341,    0,    0,  336,    0,    0,    0,  341,    0,  337,
      341,  337,  341,  337,  341,    0,    0,  343,  337,  341,

      342,  342,    0,  342,    0,    0,    0,  343,    0,  343,
      342,  343,  342,    0,  342,  343,  343,  345,  344,  342,
      344,    0,    0,    0,    0,    0,    0,  345,  344,  345,
      344,  345,  344,    0,  347,  346,  345,  344,  346,    0,
        0,  349,    0,  348,  347,  346,  347,  346,  347,  346,
      348,  347,    0,  347,  346,    0,  349,    0,    0,    0,
      348,    0,  348,    0,  348,    0,  349,  351,  349,  348,
      349,    0,    0,    0,    0,  349,    0,  351,  352,  351,
        0,  351,    0,    0,  353,  351,  351,    0,  352,    0,
      352,    0,  352,    0,  353,  355,  353,  352,  353,    0,

        0,    0,    0,  353,    0,  355,  356,  355,    0,  355,
        0,  355,  357,  356,  355,    0,  356,    0,  356,    0,
      356,    0,  357,  358,  357,  356,  357,    0,    0,    0,
        0,  357,    0,  358,    0,  358,  360,  358,    0,  361,
        0,  358,  358,  360,    0,    0,  360,  362,  360,  361,
      360,  361,  362,  361,    0,  360,    0,  362,  361,  362,
      363,  362,    0,    0,    0,    0,  362,    0,    0,    0,
      363,  365,  363,    0,  363,    0,    0,  367,  365,  363,
        0,  365,  363,  365,    0,  365,    0,  367,    0,  367,
      365,  367,  368,  369,    0,  368,  367,    0,    0,    0,

        0,    0,  368,  369,  368,  369,  368,  369,  371,  369,
        0,  368,  369,    0,  379,    0,    0,    0,  371,    0,
      371,    0,  371,    0,  379,    0,  379,  371,  379,  380,
      380,  381,  381,  379,    0,    0,    0,    0,    0,  380,
      382,  380,  381,  380,  381,    0,  381,    0,  380,    0,
      382,  381,  382,  371,  382,  384,    0,    0,  382,  382,
        0,  385,    0,    0,    0,  384,    0,  384,    0,  384,
        0,  385,  386,  385,  384,  385,    0,    0,  387,  385,
      385,  387,  386,    0,  386,    0,  386,    0,  387,  388,
      387,  386,  387,    0,    0,  389,  388,  387,    0,  388,

        0,  388,    0,  388,    0,  389,  390,  389,  388,  389,
        0,    0,    0,    0,  389,    0,  390,  391,  390,  391,
      390,    0,    0,  392,  390,  390,    0,  391,    0,  391,
        0,  391,    0,  392,    0,  392,  391,  392,    0,    0,
      393,  392,  392,  393,    0,    0,  394,    0,  394,    0,
      393,    0,  393,    0,  393,    0,  394,    0,  394,  393,
      394,  395,  395,  396,    0,  394,    0,    0,    0,    0,
        0,    0,  395,  396,  395,  396,  395,  396,  397,  398,
        0,  395,  396,    0,    0,  397,    0,    0,  397,  398,
      397,  398,  397,  398,  399,    0,  398,  397,  398,  400,

      400,  399,    0,    0,  399,    0,  399,    0,  399,    0,
      400,  404,  400,  399,  400,  404,    0,  405,    0,  400,
        0,  404,    0,  404,  405,  404,    0,  405,    0,  405,
      404,  405,  406,  407,  406,    0,  405,    0,    0,    0,
        0,    0,  406,  407,  406,  407,  406,  407,    0,    0,
      407,  406,  407,  408,  409,  409,  408,    0,    0,    0,
        0,    0,    0,  408,  409,  408,  409,  408,  409,  410,
        0,    0,  408,  409,    0,    0,    0,  411,    0,  410,
      411,  410,    0,  410,    0,  410,    0,  411,  410,  411,
      412,  411,    0,    0,    0,    0,  411,    0,  413,    0,

      412,  415,  412,    0,  412,  413,    0,  412,  413,  412,
      413,  415,  413,  415,    0,  415,  418,  413,  416,  416,
      415,    0,  419,    0,    0,    0,  418,    0,  418,  416,
      418,  416,  419,  416,  419,  418,  419,  420,  416,    0,
      421,  419,    0,  421,    0,    0,    0,  420,  423,  420,
      421,  420,  421,    0,  421,  420,  420,    0,  423,  421,
      423,    0,  423,  424,  424,    0,  425,  423,  423,  426,
        0,    0,    0,  424,    0,  424,  425,  424,  425,  426,
      425,  426,  424,  426,  428,  425,  428,  430,  426,    0,
      431,    0,    0,    0,  428,    0,  428,  430,  428,  430,

      431,  430,  431,  428,  431,  440,  430,  431,  441,  431,
        0,    0,    0,    0,    0,  440,    0,  440,  441,  440,
      441,  442,  441,  440,  440,    0,  441,  441,  442,  444,
        0,  442,    0,  442,    0,  442,    0,    0,    0,  444,
      442,  444,  445,  444,    0,  445,    0,    0,  444,    0,
      446,    0,  445,  447,  445,    0,  445,    0,    0,    0,
      446,  445,  446,  447,  446,  447,  448,  447,    0,  446,
        0,    0,  447,  448,  449,    0,  448,  450,  448,    0,
      448,    0,    0,    0,  449,  448,  449,  450,  449,  450,
      451,  450,    0,  449,    0,    0,  450,  451,  453,    0,

      451,  452,  451,  452,  451,    0,    0,    0,  453,  451,
      453,  452,  453,  452,  454,  452,    0,  453,    0,    0,
      452,    0,    0,    0,  454,  455,  454,    0,  454,    0,
        0,    0,  454,  454,    0,  455,  456,  455,    0,  455,
        0,    0,  457,  455,  455,    0,  456,    0,  456,    0,
      456,    0,  457,  458,  457,  456,  457,    0,    0,  462,
        0,  457,    0,  458,    0,  458,  462,  458,    0,  462,
      463,  462,  458,  462,    0,    0,    0,    0,  462,    0,
      463,  464,  463,    0,  463,    0,    0,  465,  463,  463,
        0,  464,    0,  464,    0,  464,    0,  465,  466,  465,

      464,  465,    0,    0,  467,    0,  465,  467,  466,    0,
      466,    0,  466,    0,  467,  466,  467,  466,  467,  468,
      469,  469,    0,  467,    0,    0,    0,    0,    0,  468,
      469,  468,  469,  468,  469,  470,  471,    0,  468,  469,
        0,    0,    0,    0,    0,  470,  471,  470,  471,  470,
      471,  473,  475,    0,  470,  471,    0,    0,    0,    0,
        0,  473,  475,  473,  475,  473,  475,    0,    0,  476,
      473,  475,  477,  476,    0,  478,    0,    0,    0,  476,
      470,  476,  477,  476,  477,  478,  477,  478,  476,  478,
      480,  477,    0,  480,  478,    0,  481,    0,    0,  481,

      480,    0,  480,    0,  480,    0,  481,    0,  481,  480,
      481,  483,    0,  494,  483,  481,  485,  485,    0,    0,
        0,  483,    0,  483,    0,  483,    0,  485,  494,  485,
      483,  485,    0,    0,  495,    0,  485,    0,  494,    0,
      494,  495,  494,    0,  495,    0,  495,  494,  495,  496,
      496,    0,    0,  495,    0,  498,    0,    0,    0,  496,
        0,  496,    0,  496,    0,  498,  499,  498,  496,  498,
        0,  498,    0,    0,  498,    0,  499,    0,  499,  500,
      499,    0,  500,    0,  499,  499,    0,  501,    0,  500,
      502,  500,    0,  500,    0,    0,    0,  501,  500,  501,

      502,  501,  502,  502,  502,  503,  501,    0,  504,  502,
        0,  504,    0,    0,    0,  503,  505,  503,  504,  503,
      504,    0,  504,    0,  503,    0,  505,  504,  505,  506,
      505,    0,  507,    0,    0,  505,  506,    0,    0,  506,
        0,  506,  507,  506,  507,    0,  507,  512,  506,    0,
      512,  507,    0,  513,    0,    0,    0,  512,    0,  512,
        0,  512,    0,  513,  514,  513,  512,  513,    0,    0,
      515,    0,  513,    0,  514,    0,  514,    0,  514,    0,
      515,  516,  515,  514,  515,    0,    0,    0,    0,  515,
        0,  516,  518,  516,    0,  516,  518,    0,  520,  516,

      516,    0,  518,    0,  518,  524,  518,    0,  520,  522,
      520,  518,  520,    0,    0,    0,  522,  520,    0,  522,
      524,  522,    0,  522,    0,    0,  525,    0,  522,    0,
      524,    0,  524,    0,  524,    0,  525,  527,  525,  524,
      525,    0,    0,  529,    0,  525,    0,  527,    0,  527,
        0,  527,    0,  529,  537,  529,  527,  529,    0,    0,
        0,    0,  529,    0,  537,  538,  537,    0,  537,    0,
        0,  537,    0,  537,    0,  538,  539,  538,  538,  538,
        0,    0,  541,    0,  538,    0,  539,    0,  539,    0,
      539,    0,  541,  542,  541,  539,  541,    0,    0,    0,

        0,  541,    0,  542,  543,  542,  543,  542,    0,    0,
      542,    0,  542,    0,  543,  544,  543,    0,  543,    0,
      544,  545,    0,  543,    0,  544,    0,  544,    0,  544,
        0,  545,    0,  545,  544,  545,  546,  547,  546,    0,
      545,    0,    0,    0,    0,    0,  546,  547,  546,  547,
      546,  547,  552,  553,    0,  546,  547,    0,    0,    0,
      553,    0,  552,  553,  552,  553,  552,  553,  552,  555,
      558,  552,  553,    0,    0,    0,  555,    0,    0,  555,
      558,  555,  558,  555,  558,  560,    0,    0,  555,  558,
        0,  562,    0,    0,    0,  560,    0,  560,  560,  560,

        0,  562,  564,  562,  560,  562,    0,    0,    0,  562,
      562,    0,  564,    0,  564,    0,  564,  570,  570,  570,
        0,  564,    0,    0,    0,    0,  572,  573,    0,  570,
      570,  570,  570,  570,  570,  570,  572,  573,  572,  573,
      572,  573,  574,  575,    0,  572,  573,    0,    0,  572,
        0,    0,  574,  575,  574,  575,  574,  575,  576,  577,
        0,  574,  575,    0,    0,    0,    0,    0,  576,  577,
      576,  577,  576,  577,  578,  579,  577,  576,  577,    0,
        0,    0,  579,    0,  578,  579,  578,  579,  578,  579,
      583,    0,    0,  578,  579,    0,    0,    0,  584,    0,

      583,    0,  583,    0,  583,    0,  586,    0,  584,  583,
      584,  584,  584,    0,  589,    0,  586,  584,  586,    0,
      586,  589,  591,    0,  589,  586,  589,    0,  589,  591,
      592,    0,  591,  589,  591,    0,  591,  592,    0,    0,
      592,  591,  592,    0,  592,    0,    0,  601,  602,  592,
      599,  599,  599,  599,  599,  599,  599,  601,  602,  601,
      602,  601,  602,  603,    0,    0,  601,  602,    0,    0,
        0,  604,    0,  603,    0,  603,    0,  603,    0,    0,
        0,  604,  603,  604,  608,  604,    0,    0,  599,  604,
      604,    0,  610,    0,  608,  613,  608,    0,  608,  610,

        0,    0,  610,  608,  610,  613,  610,  613,  615,  613,
      615,  610,    0,  613,  613,    0,    0,    0,  615,  616,
      615,    0,  615,  616,    0,    0,    0,  615,    0,  616,
        0,  616,    0,  616,  623,  623,  623,    0,  616,    0,
        0,    0,    0,  624,  625,    0,  623,  623,  623,  623,
      623,  623,  623,  624,  625,  624,  625,  624,  625,  629,
        0,  624,  624,  625,    0,  631,    0,  625,    0,  629,
        0,  629,    0,  629,    0,  631,  634,  631,  629,  631,
        0,    0,  636,  631,  631,    0,  634,    0,  634,    0,
      634,    0,  636,  637,  636,  634,  636,    0,    0,  634,

      637,  636,    0,  637,    0,  637,  644,  637,  643,  643,
        0,    0,  637,    0,    0,    0,  644,  648,  644,  643,
      644,  643,    0,  643,    0,  644,    0,  648,  643,  648,
        0,  648,  651,    0,    0,  653,  648,    0,  653,    0,
      648,    0,  651,    0,  651,  653,  651,  653,    0,  653,
        0,  651,    0,    0,  653,  658,  658,  658,    0,    0,
        0,    0,    0,    0,  659,  661,    0,  658,  658,  658,
      658,  658,  658,  658,  659,  661,  659,  661,  659,  661,
      664,  667,    0,  659,  661,    0,  659,    0,    0,    0,
      664,  667,  664,  667,  664,  667,  664,  671,    0,  664,

      667,    0,    0,    0,    0,    0,    0,  671,    0,  671,
        0,  671,    0,    0,    0,    0,  671,  675,  675,  675,
      675,  675,  675,  675,  675,  675,  675,  675,  675,  676,
      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
      676,  677,  677,  677,  677,  677,  677,  677,  677,  677,
      677,  677,  677,  678,  678,  678,  678,  678,  678,  678,
      678,  678,  678,  678,  678,  679,  679,  679,  679,  679,
      679,  679,  679,  679,  679,  679,  679,  680,  680,  680,
        0,  680,  680,  680,  680,  680,  680,  680,  680,  681,
      681,    0,    0,  681,    0,  681,  682,    0,  682,  683,

      683,    0,  683,  683,  684,  684,    0,  684,  684,  684,
        0,  684,  684,  684,  684,  684,  685,  685,  685,    0,
      685,  685,  685,  685,  685,  685,  685,  685,  686,  686,
      686,  686,  686,  686,  686,  686,    0,  686,  686,  687,
        0,    0,  687,    0,  687,  687,  687,  687,  687,  687,
      688,  688,    0,  688,  688,  689,  689,    0,  689,  689,
      690,  690,    0,  690,  690,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,

      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
      674,  674,  674,  674
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[123] =
    {   0,
      101,  104,  106,  107,  108,  111,  113,  114,  115,  127,
      134,  141,  147,  156,  164,  172,  173,  175,  194,  200,
      207,  214,  221,  231,  265,  272,  273,  274,  275,  283,
      284,  285,  286,  287,  292,  293,  294,  295,  296,  297,
      298,  299,  300,  301,  302,  311,  312,  313,  314,  315,
      316,  317,  318,  319,  320,  321,  322,  323,  324,  325,
      326,  327,  328,  329,  330,  331,  332,  333,  334,  335,
      336,  337,  338,  339,  340,  341,  342,  343,  344,  345,
      346,  347,  348,  349,  350,  351,  352,  353,  354,  355,
      356,  357,  358,  359,  360,  361,  362,  363,  364,  365,

      366,  367,  372,  373,  378,  379,  380,  383,  389,  396,
      405,  416,  422,  424,  425,  427,  429,  431,  444,  450,
      456,  464
    } ;

static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
static char *yy_full_match;
static int yy_lp;
#define REJECT \
{ \
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
yy_cp = yy_full_match; /* restore poss. backed-over text */ \
++yy_lp; \
goto find_rule; \
}
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "asn1p_l.l"
#define INITIAL 0
#line 2 "asn1p_l.l"

#include <string.h>
#include <errno.h>
#include <assert.h>

#include "asn1parser.h"
#include "asn1p_y.h"

int asn1p_lex(void);
void asn1p_lexer_hack_push_opaque_state(void);		/* Used in .y */
void asn1p_lexer_hack_enable_with_syntax(void);		/* Used in .y */

#define	YY_FATAL_ERROR(msg)	do {			\
		fprintf(stderr,				\
			"lexer error at line %d, "	\
			"text \"%s\"\n",		\
			yylineno, yytext);		\
		exit(1);				\
	} while(0)

int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
static int _check_dashes(char *ptr);
static asn1_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */

/*
 * Check that the type is defined in the year of the standard choosen.
 */
#define	TYPE_LIFETIME(fyr, lyr)				\
	(!asn1p_lexer_types_year			\
	|| (fyr && fyr <= asn1p_lexer_types_year)	\
	|| (lyr && lyr  > asn1p_lexer_types_year))

/*
 * Check the the construction (or concept, i.e. CLASS) is defined in
 * a given year.
 */
#define	CONSTRUCT_LIFETIME(fyr, lyr)			\
	(!asn1p_lexer_constructs_year			\
	|| (fyr && fyr <= asn1p_lexer_constructs_year)	\
	|| (lyr && lyr  > asn1p_lexer_constructs_year))

/*
 * Make sure that the label is compliant with the naming rules.
 */
#define	CHECK_DASHES	do {				\
	if(_check_dashes(yytext)) {			\
		fprintf(stderr,				\
		"%s: Identifier format invalid: "	\
		"Improper dash location\n", yytext);	\
		return -1;				\
	} } while(0)

/*
 * Append quoted string.
 */
#define	QAPPEND(text, tlen)	do {				\
		char *prev_text = asn1p_lval.tv_opaque.buf;	\
		int prev_len = asn1p_lval.tv_opaque.len;	\
		char *p;					\
								\
		p = malloc((tlen) + prev_len + 1);		\
		if(p == NULL) return -1;			\
								\
		if(prev_text) memcpy(p, prev_text, prev_len);	\
		memcpy(p + prev_len, text, tlen);		\
		p[prev_len + (tlen)] = '\0';			\
								\
		free(asn1p_lval.tv_opaque.buf);			\
		asn1p_lval.tv_opaque.buf = p;			\
		asn1p_lval.tv_opaque.len = (tlen) + prev_len;	\
	} while(0)

#define YY_NEVER_INTERACTIVE 1
#define YY_NO_INPUT 1
#define YY_NO_UNPUT 1
#define YY_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define cpp_comment 2

#define quoted 3

#define opaque 4

#define with_syntax 5

/* Newline */
/* White-space */
#line 1807 "lex.yy.c"

/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif

#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif

#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif

#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif

#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif

#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines.  This will fail
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 * or sizeof(void*) != sizeof(int).
 */
#endif
#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif

/* Copy whatever the last rule matched to the standard output. */

#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
 * we now use fwrite().
 */
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 * is returned in "result".
 */
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
	if ( yy_current_buffer->yy_is_interactive ) \
		{ \
		int c = '*', n; \
		for ( n = 0; n < max_size && \
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( yyin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
		  && ferror( yyin ) ) \
		YY_FATAL_ERROR( "input in flex scanner failed" );
#endif

/* No semi-colon after return; correct usage is to write "yyterminate();" -
 * we don't want an extra ';' after the "return" because that will cause
 * some compilers to complain about unreachable statements.
 */
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif

/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif

/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif

/* Code executed at the beginning of each rule, after yytext and yyleng
 * have been set up.
 */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif

/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif

#define YY_RULE_SETUP \
	YY_USER_ACTION

YY_DECL
	{
	register yy_state_type yy_current_state;
	register char *yy_cp, *yy_bp;
	register int yy_act;

#line 99 "asn1p_l.l"


#line 1961 "lex.yy.c"

	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! yy_start )
			yy_start = 1;	/* first start state */

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

		if ( ! yy_current_buffer )
			yy_current_buffer =
				yy_create_buffer( yyin, YY_BUF_SIZE );

		yy_load_buffer_state();
		}

	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 675 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			*yy_state_ptr++ = yy_current_state;
			++yy_cp;
			}
		while ( yy_base[yy_current_state] != 4166 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
find_rule: /* we branch to this label when backing up */
		for ( ; ; ) /* until we find what rule we matched */
			{
			if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
				{
				yy_act = yy_acclist[yy_lp];
					{
					yy_full_match = yy_cp;
					break;
					}
				}
			--yy_cp;
			yy_current_state = *--yy_state_ptr;
			yy_lp = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;

		if ( yy_act != YY_END_OF_BUFFER )
			{
			int yyl;
			for ( yyl = 0; yyl < yyleng; ++yyl )
				if ( yytext[yyl] == '\n' )
					++yylineno;
			}

do_action:	/* This label is used only to access EOF actions. */

		if ( yy_flex_debug )
			{
			if ( yy_act == 0 )
				fprintf( stderr, "--scanner backing up\n" );
			else if ( yy_act < 123 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 123 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 124 )
				fprintf( stderr, "--(end of buffer or a NUL)\n" );
			else
				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
			}

		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
#line 101 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 2:
YY_RULE_SETUP
#line 104 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 3:
YY_RULE_SETUP
#line 106 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 4:
YY_RULE_SETUP
#line 107 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 111 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 7:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 114 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK

/*
	 * This is state is being set from corresponding .y module when
	 * higher-level data is necessary to make proper parsing of the
	 * underlying data. Thus, we enter the <opaque> state and save
	 * everything for later processing.
	 */

case 10:
YY_RULE_SETUP
#line 127 "asn1p_l.l"
{
			yy_push_state(opaque);
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 134 "asn1p_l.l"
{
			yy_pop_state();
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 141 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 147 "asn1p_l.l"
{
			fprintf(stderr,
				"ASN.1 Parser syncronization failure: "
				"\"%s\" at line %d must not appear "
				"inside value definition\n",
				yytext, yylineno);
			return -1;
		}
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 156 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 15:
YY_RULE_SETUP
#line 164 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = 0;
			asn1p_lval.tv_opaque.len = 0;
			QAPPEND(yytext+1, yyleng-1);
			yy_push_state(quoted);
		}
	YY_BREAK

case 16:
YY_RULE_SETUP
#line 172 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 173 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{
			yy_pop_state();
			/* Do not append last quote:
			// QAPPEND(yytext, yyleng); */

			if(asn1p_lexer_pedantic_1990
			&& strchr(yytext, '\n')) {
				fprintf(stderr, "%s: "
				"Newlines are prohibited by ASN.1:1990\n",
				asn1p_lval.tv_opaque.buf);
				return -1;
			}

			return TOK_cstring;
		}
	YY_BREAK

case 19:
YY_RULE_SETUP
#line 194 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 200 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_bstring;
	}
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 207 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 214 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 23:
YY_RULE_SETUP
#line 221 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
/*
	 * Tags
	 */
case 24:
YY_RULE_SETUP
#line 231 "asn1p_l.l"
{
		char *p;
		memset(&asn1p_lval.a_tag, 0, sizeof(asn1p_lval.a_tag));
		switch(yytext[1]) {
		case 'U':
			asn1p_lval.a_tag.tag_class = TC_UNIVERSAL;
			p = yytext + sizeof("UNIVERSAL") + 1;
			break;
		case 'A':
			asn1p_lval.a_tag.tag_class = TC_APPLICATION;
			p = yytext + sizeof("APPLICATION") + 1;
			break;
		case 'P':
			asn1p_lval.a_tag.tag_class = TC_PRIVATE;
			p = yytext + sizeof("PRIVATE") + 1;
			break;
		default:
			assert(yytext[1] >= '0' && yytext[1] <= '9');
			asn1p_lval.a_tag.tag_class = TC_CONTEXT_SPECIFIC;
			p = yytext + 1;
			break;
		}
		asn1p_lval.a_tag.tag_value = asn1p_atoi(p);
		if(*p == '0' && asn1p_lval.a_tag.tag_value) {
			fprintf(stderr,
			"Tag value at line %d "
			"cannot start with zero "
			"and have multiple digits: \"%s\"\n",
			yylineno, yytext);
			return -1;
		}
		return TOK_tag;
	}
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
{
		fprintf(stderr,
			"Unsupported tag syntax at line %d: \"%s\"\n",
			yylineno, yytext);
		return -1;
	}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 273 "asn1p_l.l"
return TOK_ABSTRACT_SYNTAX;
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 274 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 275 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_ANY;	
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				REJECT;
			}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_DEFINED;
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				/* Deprecated since */
				REJECT;
			}
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 345 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 346 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 347 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 352 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 355 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 356 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 357 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 360 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 361 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 362 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 363 "asn1p_l.l"
return TOK_TYPE_IDENTIFIER;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 365 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 366 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 367 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 372 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 378 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 379 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 380 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 383 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 389 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 396 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 111:
YY_RULE_SETUP
#line 405 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_objectclassreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 112:
YY_RULE_SETUP
#line 416 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 422 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 424 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 425 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 427 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 429 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 431 "asn1p_l.l"
{
		if(TYPE_LIFETIME(1994, 0))
			fprintf(stderr, "ERROR: ");
		fprintf(stderr,
		"Symbol '%c' at line %d is prohibited "
		"by ASN.1:1994 and ASN.1:1997\n",
			yytext[0], yylineno);
		if(TYPE_LIFETIME(1994, 0))
			return -1;
	}
	YY_BREAK

case 119:
YY_RULE_SETUP
#line 444 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 450 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 456 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 122:
YY_RULE_SETUP
#line 464 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yy_top_state();		/* Just to use this function. */
		yyterminate();
		yy_fatal_error("Unexpected token");
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(with_syntax):
#line 476 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 483 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 2903 "lex.yy.c"

	case YY_END_OF_BUFFER:
		{
		/* Amount of text matched not including the EOB char. */
		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;

		/* Undo the effects of YY_DO_BEFORE_ACTION. */
		*yy_cp = yy_hold_char;
		YY_RESTORE_YY_MORE_OFFSET

		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
			{
			/* We're scanning a new file or input source.  It's
			 * possible that this happened because the user
			 * just pointed yyin at a new source and called
			 * yylex().  If so, then we have to assure
			 * consistency between yy_current_buffer and our
			 * globals.  Here is the right place to do so, because
			 * this is the first action (other than possibly a
			 * back-up) that will match for the new input source.
			 */
			yy_n_chars = yy_current_buffer->yy_n_chars;
			yy_current_buffer->yy_input_file = yyin;
			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
			}

		/* Note that here we test for yy_c_buf_p "<=" to the position
		 * of the first EOB in the buffer, since yy_c_buf_p will
		 * already have been incremented past the NUL character
		 * (since all states make transitions on EOB to the
		 * end-of-buffer state).  Contrast this with the test
		 * in input().
		 */
		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			{ /* This was really a NUL. */
			yy_state_type yy_next_state;

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

			/* Okay, we're now positioned to make the NUL
			 * transition.  We couldn't have
			 * yy_get_previous_state() go ahead and do it
			 * for us because it doesn't know how to deal
			 * with the possibility of jamming (and we don't
			 * want to build jamming into it because then it
			 * will run more slowly).
			 */

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

			if ( yy_next_state )
				{
				/* Consume the NUL. */
				yy_cp = ++yy_c_buf_p;
				yy_current_state = yy_next_state;
				goto yy_match;
				}

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

		else switch ( yy_get_next_buffer() )
			{
			case EOB_ACT_END_OF_FILE:
				{
				yy_did_buffer_switch_on_eof = 0;

				if ( yywrap() )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * yytext, we can now set up
					 * yy_c_buf_p so that if some total
					 * hoser (like flex itself) wants to
					 * call the scanner after we return the
					 * YY_NULL, it'll still work - another
					 * YY_NULL will get returned.
					 */
					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

				else
					{
					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
					}
				break;
				}

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_match;

			case EOB_ACT_LAST_MATCH:
				yy_c_buf_p =
				&yy_current_buffer->yy_ch_buf[yy_n_chars];

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_find_action;
			}
		break;
		}

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */


/* yy_get_next_buffer - try to read in a new buffer
 *
 * Returns a code representing an action:
 *	EOB_ACT_LAST_MATCH -
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 *	EOB_ACT_END_OF_FILE - end of file
 */

static int yy_get_next_buffer()
	{
	register char *dest = yy_current_buffer->yy_ch_buf;
	register char *source = yytext_ptr;
	register int number_to_move, i;
	int ret_val;

	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( yy_current_buffer->yy_fill_buffer == 0 )
		{ /* Don't try to fill the buffer, so this is an EOF. */
		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
			{
			/* We matched a single character, the EOB, so
			 * treat this as a final EOF.
			 */
			return EOB_ACT_END_OF_FILE;
			}

		else
			{
			/* We matched some text prior to the EOB, first
			 * process it.
			 */
			return EOB_ACT_LAST_MATCH;
			}
		}

	/* Try to read more data. */

	/* First move last chars to start of buffer. */
	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
		/* don't do the read, it's not guaranteed to return an EOF,
		 * just force an EOF
		 */
		yy_current_buffer->yy_n_chars = yy_n_chars = 0;

	else
		{
		int num_to_read =
			yy_current_buffer->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
			YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = yy_current_buffer;

			int yy_c_buf_p_offset =
				(int) (yy_c_buf_p - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				int new_size = b->yy_buf_size * 2;

				if ( new_size <= 0 )
					b->yy_buf_size += b->yy_buf_size / 8;
				else
					b->yy_buf_size *= 2;

				b->yy_ch_buf = (char *)
					/* Include room in for 2 EOB chars. */
					yy_flex_realloc( (void *) b->yy_ch_buf,
							 b->yy_buf_size + 2 );
				}
			else
				/* Can't grow it, we don't own it. */
				b->yy_ch_buf = 0;

			if ( ! b->yy_ch_buf )
				YY_FATAL_ERROR(
				"fatal error - scanner input buffer overflow" );

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

			num_to_read = yy_current_buffer->yy_buf_size -
						number_to_move - 1;
#endif
			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
			yy_n_chars, num_to_read );

		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	if ( yy_n_chars == 0 )
		{
		if ( number_to_move == YY_MORE_ADJ )
			{
			ret_val = EOB_ACT_END_OF_FILE;
			yyrestart( yyin );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			yy_current_buffer->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	yy_n_chars += number_to_move;
	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


/* yy_get_previous_state - get the state just before the EOB char was reached */

static yy_state_type yy_get_previous_state()
	{
	register yy_state_type yy_current_state;
	register char *yy_cp;

	yy_current_state = yy_start;
	yy_state_ptr = yy_state_buf;
	*yy_state_ptr++ = yy_current_state;

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 675 )
				yy_c = yy_meta[(unsigned int) yy_c];
			}
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
		*yy_state_ptr++ = yy_current_state;
		}

	return yy_current_state;
	}


/* yy_try_NUL_trans - try to make a transition on the NUL character
 *
 * synopsis
 *	next_state = yy_try_NUL_trans( current_state );
 */

#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
	{
	register int yy_is_jam;

	register YY_CHAR yy_c = 1;
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
		{
		yy_current_state = (int) yy_def[yy_current_state];
		if ( yy_current_state >= 675 )
			yy_c = yy_meta[(unsigned int) yy_c];
		}
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
	yy_is_jam = (yy_current_state == 674);
	if ( ! yy_is_jam )
		*yy_state_ptr++ = yy_current_state;

	return yy_is_jam ? 0 : yy_current_state;
	}


#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
	{
	register char *yy_cp = yy_c_buf_p;

	/* undo effects of setting up yytext */
	*yy_cp = yy_hold_char;

	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		register int number_to_move = yy_n_chars + 2;
		register char *dest = &yy_current_buffer->yy_ch_buf[
					yy_current_buffer->yy_buf_size + 2];
		register char *source =
				&yy_current_buffer->yy_ch_buf[number_to_move];

		while ( source > yy_current_buffer->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		yy_current_buffer->yy_n_chars =
			yy_n_chars = yy_current_buffer->yy_buf_size;

		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;

	if ( c == '\n' )
		--yylineno;

	yytext_ptr = yy_bp;
	yy_hold_char = *yy_cp;
	yy_c_buf_p = yy_cp;
	}
#endif	/* ifndef YY_NO_UNPUT */


#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
	{
	int c;

	*yy_c_buf_p = yy_hold_char;

	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			/* This was really a NUL. */
			*yy_c_buf_p = '\0';

		else
			{ /* need more input */
			int offset = yy_c_buf_p - yytext_ptr;
			++yy_c_buf_p;

			switch ( yy_get_next_buffer() )
				{
				case EOB_ACT_LAST_MATCH:
					/* This happens because yy_g_n_b()
					 * sees that we've accumulated a
					 * token and flags that we need to
					 * try matching the token before
					 * proceeding.  But for input(),
					 * there's no matching to consider.
					 * So convert the EOB_ACT_LAST_MATCH
					 * to EOB_ACT_END_OF_FILE.
					 */

					/* Reset buffer status. */
					yyrestart( yyin );

					/* fall through */

				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap() )
						return EOF;

					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					yy_c_buf_p = yytext_ptr + offset;
					break;
				}
			}
		}

	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
	*yy_c_buf_p = '\0';	/* preserve yytext */
	yy_hold_char = *++yy_c_buf_p;

	if ( c == '\n' )
		++yylineno;

	return c;
	}


#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
	{
	if ( ! yy_current_buffer )
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );

	yy_init_buffer( yy_current_buffer, input_file );
	yy_load_buffer_state();
	}


#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
	{
	if ( yy_current_buffer == new_buffer )
		return;

	if ( yy_current_buffer )
		{
		/* Flush out information for old buffer. */
		*yy_c_buf_p = yy_hold_char;
		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	yy_current_buffer = new_buffer;
	yy_load_buffer_state();

	/* We don't actually know whether we did this switch during
	 * EOF (yywrap()) processing, but the only time this flag
	 * is looked at is after yywrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	yy_did_buffer_switch_on_eof = 1;
	}


#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
	{
	yy_n_chars = yy_current_buffer->yy_n_chars;
	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
	yyin = yy_current_buffer->yy_input_file;
	yy_hold_char = *yy_c_buf_p;
	}


#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
	{
	YY_BUFFER_STATE b;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_buf_size = size;

	/* yy_ch_buf has to be 2 characters longer than the size given because
	 * we need to put in 2 end-of-buffer characters.
	 */
	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_is_our_buffer = 1;

	yy_init_buffer( b, file );

	return b;
	}


#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
	{
	if ( ! b )
		return;

	if ( b == yy_current_buffer )
		yy_current_buffer = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		yy_flex_free( (void *) b->yy_ch_buf );

	yy_flex_free( (void *) b );
	}


#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif

#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif


	{
	yy_flush_buffer( b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

#if YY_ALWAYS_INTERACTIVE
	b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
	b->yy_is_interactive = 0;
#else
	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
	}


#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif

	{
	if ( ! b )
		return;

	b->yy_n_chars = 0;

	/* We always need two end-of-buffer characters.  The first causes
	 * a transition to the end-of-buffer state.  The second causes
	 * a jam in that state.
	 */
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;

	b->yy_buf_pos = &b->yy_ch_buf[0];

	b->yy_at_bol = 1;
	b->yy_buffer_status = YY_BUFFER_NEW;

	if ( b == yy_current_buffer )
		yy_load_buffer_state();
	}


#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
	{
	YY_BUFFER_STATE b;

	if ( size < 2 ||
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
		/* They forgot to leave room for the EOB's. */
		return 0;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );

	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
	b->yy_buf_pos = b->yy_ch_buf = base;
	b->yy_is_our_buffer = 0;
	b->yy_input_file = 0;
	b->yy_n_chars = b->yy_buf_size;
	b->yy_is_interactive = 0;
	b->yy_at_bol = 1;
	b->yy_fill_buffer = 0;
	b->yy_buffer_status = YY_BUFFER_NEW;

	yy_switch_to_buffer( b );

	return b;
	}
#endif


#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
	{
	int len;
	for ( len = 0; yy_str[len]; ++len )
		;

	return yy_scan_bytes( yy_str, len );
	}
#endif


#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
	{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	int i;

	/* Get memory for full buffer, including space for trailing EOB's. */
	n = len + 2;
	buf = (char *) yy_flex_alloc( n );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );

	for ( i = 0; i < len; ++i )
		buf[i] = bytes[i];

	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;

	b = yy_scan_buffer( buf, n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );

	/* It's okay to grow etc. this buffer, and we should throw it
	 * away when we're done.
	 */
	b->yy_is_our_buffer = 1;

	return b;
	}
#endif


#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
	{
	if ( yy_start_stack_ptr >= yy_start_stack_depth )
		{
		yy_size_t new_size;

		yy_start_stack_depth += YY_START_STACK_INCR;
		new_size = yy_start_stack_depth * sizeof( int );

		if ( ! yy_start_stack )
			yy_start_stack = (int *) yy_flex_alloc( new_size );

		else
			yy_start_stack = (int *) yy_flex_realloc(
					(void *) yy_start_stack, new_size );

		if ( ! yy_start_stack )
			YY_FATAL_ERROR(
			"out of memory expanding start-condition stack" );
		}

	yy_start_stack[yy_start_stack_ptr++] = YY_START;

	BEGIN(new_state);
	}
#endif


#ifndef YY_NO_POP_STATE
static void yy_pop_state()
	{
	if ( --yy_start_stack_ptr < 0 )
		YY_FATAL_ERROR( "start-condition stack underflow" );

	BEGIN(yy_start_stack[yy_start_stack_ptr]);
	}
#endif


#ifndef YY_NO_TOP_STATE
static int yy_top_state()
	{
	return yy_start_stack[yy_start_stack_ptr - 1];
	}
#endif

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
	{
	(void) fprintf( stderr, "%s\n", msg );
	exit( YY_EXIT_FAILURE );
	}



/* Redefine yyless() so it works in section 3 code. */

#undef yyless
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		yytext[yyleng] = yy_hold_char; \
		yy_c_buf_p = yytext + n; \
		yy_hold_char = *yy_c_buf_p; \
		*yy_c_buf_p = '\0'; \
		yyleng = n; \
		} \
	while ( 0 )


/* Internal utility routines. */

#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
	{
	register int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
	}
#endif

#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
	{
	register int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
	}
#endif


#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
	{
	return (void *) malloc( size );
	}

#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
	{
	/* The cast to (char *) in the following accommodates both
	 * implementations that use char* generic pointers, and those
	 * that use void* generic pointers.  It works with the latter
	 * because both ANSI C and C++ allow castless assignment from
	 * any pointer type to void*, and deal with argument conversions
	 * as though doing an assignment.
	 */
	return (void *) realloc( (char *) ptr, size );
	}

#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
	{
	free( ptr );
	}

#if YY_MAIN
int main()
	{
	yylex();
	return 0;
	}
#endif
#line 483 "asn1p_l.l"


/*
 * Very dirty but wonderful hack allowing to rule states from within .y file.
 */
void
asn1p_lexer_hack_push_opaque_state() {
	yy_push_state(opaque);
}

/*
 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
 */
void
asn1p_lexer_hack_enable_with_syntax() {
	yy_push_state(with_syntax);
}

/*
 * Check that a token does not end with dash and does not contain
 * several dashes in succession.
 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
 * "end-", "vustom--value" are INVALID
 */
static int
_check_dashes(char *ptr) {
	int prev_dash = 0;

	assert(*ptr != '-');

	for(;; ptr++) {
		switch(*ptr) {
		case '-':
			if(prev_dash++)	/* No double dashes */
				return -1;
			continue;
		case '\0':
			if(prev_dash)	/* No dashes at the end */
				return -1;
			break;
		default:
			prev_dash = 0;
			continue;
		}
		break;
	}

	return 0;
}

static asn1_integer_t
asn1p_atoi(char *ptr) {
	asn1_integer_t value;
	errno = 0;	/* Clear the error code */

	if(sizeof(value) <= sizeof(int)) {
		value = strtol(ptr, 0, 10);
	} else {
#ifdef	HAVE_STRTOIMAX
		value = strtoimax(ptr, 0, 10);
#elif	HAVE_STRTOLL
		value = strtoll(ptr, 0, 10);
#else
		value = strtol(ptr, 0, 10);
#endif
	}

	if(errno == ERANGE) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the vendor.",
			ptr, yylineno);
		errno = ERANGE;	/* Restore potentially clobbered errno */
	}

	return value;
}

