#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 "asn1p_l.c"
/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header$
 */

#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 137
#define YY_END_OF_BUFFER 138
static yyconst short int yy_acclist[1258] =
    {   0,
      138,  136,  137,  131,  136,  137,  131,  137,  134,  136,
      137,   19,  136,  137,  134,  136,  137,  136,  137,  134,
      136,  137,  136,  137,  134,  136,  137,  136,  137,   33,
      136,  137,   32,  136,  137,  134,  136,  137,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,

      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  118,  136,  137,  134,
      136,  137,    9,  136,  137,    6,  137,    6,  136,  137,
        8,  136,  137,    8,  136,  137,   11,   13,  136,  137,
       11,  137,   13,  136,  137,   13,  136,  137,   13,  136,
      137,   21,  136,  137,   21,  137,   22,  136,  137,   16,
      136,  137,   16,  137,   18,  136,  137,   18,  136,  137,
       14,  136,  137,   15,  136,  137,   25,   27,  136,  137,
       27,  136,  137,   28,  137,   25,   26,   27,  136,  137,
       25,   26,   27,  136,  137,  129,  136,  137,  129,  137,

      136,  137,  125,  136,  137,  136,  137,  136,  137,  124,
      136,  137,  127,  136,  137,  128,  136,  137,  126,  136,
      137,  130,  136,  137,  131,   19,   19,  116,  117,    5,
       31,  123,   10,   32,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   43,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,   88,

      119,  120,  119,  120,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  120,  120,  119,  120,  118,
        9,    7,    7,   12,   21,   20,   16,   25,   25,   26,
       25,   26,  129,    5,  124,  135,  116,  117,   31,  122,
      121,  119,  120,  120,  119,  120,   35,  119,  120,   36,
      119,  120,  119,  120,  119,  120,  119,  120,   40,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,

      120,   57,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   80,  119,  120,   81,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
       91,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  119,  120,  119,  120,   99,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  119,  120,  118,    3,   17,   25,   26,   24,   25,

       26,  124,  116,  117,   30,   29,    2,    1,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   65,  119,  120,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   83,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,   96,  119,  120,  119,  120,

      119,  120,  100,  119,  120,  119,  120,  119,  120,  119,
      120,  104,  119,  120,  106,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  115,  119,  120,    3,   25,   26,  119,  120,  119,
      120,  119,  120,   39,  119,  120,  120,  119,  120,  119,
      120,  119,  120,   46,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   64,  119,  120,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,
      120,   87,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  120,  120,  107,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  120,  120,  120,  132,   25,   26,
       34,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      119,  120,   45,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   59,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  120,  119,

      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
       85,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  101,
      119,  120,  102,  119,  120,  120,  120,  108,  119,  120,
      119,  120,  120,  120,  120,  120,  120,   25,   26,  119,
      120,  119,  120,  120,   42,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   51,  119,  120,   52,  119,
      120,  119,  120,  119,  120,   55,  119,  120,  119,  120,
      119,  120,  119,  120,   61,  119,  120,  119,  120,  119,

      120,  120,  120,  120,  119,  120,  119,  120,   72,  119,
      120,   73,  119,  120,  119,  120,  119,  120,  119,  120,
       77,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,   90,  119,  120,  119,  120,   93,  119,
      120,   95,  119,  120,  120,  119,  120,  119,  120,  120,
      120,  119,  120,  111,  120,  120,  120,  120,  120,   25,
       26,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,   54,  119,  120,  119,
      120,  119,  120,   60,  119,  120,  119,  120,   63,  119,
      120,  120,  120,  120,  120,  119,  120,   71,  119,  120,

       74,  119,  120,   75,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,   89,  119,  120,  120,  119,  120,
      120,  119,  120,   98,  119,  120,  120,  120,  119,  120,
      120,  120,  120,  120,   25,   26,  119,  120,   38,  119,
      120,   41,  120,   44,  119,  120,   47,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      120,  120,   69,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,  120,  119,  120,  120,  103,  120,
      120,  109,  119,  120,  120,  120,  120,  120,  133,   25,
      119,  120,   48,  119,  120,  119,  120,   50,  119,  120,

      119,  120,  119,  120,   58,  119,  120,  119,  120,  120,
      120,  120,   70,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,  120,  119,  120,  120,  119,  120,  120,
      112,  120,  120,  120,  120,   25,   37,  119,  120,   49,
      119,  120,   53,  119,  120,  119,  120,  119,  120,  120,
      120,  120,  119,  120,  119,  120,  120,  119,  120,  120,
      120,  119,  120,  120,  119,  120,  120,  120,  120,  120,
       25,  119,  120,  119,  120,  120,  120,  120,   76,  119,
      120,   78,  119,  120,   79,  120,  119,  120,  120,  120,
      119,  120,  120,   97,  119,  120,  120,  120,  120,  120,

       25,  119,  120,   62,  119,  120,   67,  120,  120,   68,
      120,  119,  120,   84,  120,  120,   92,  119,  120,  120,
      105,  120,  120,  120,  114,  120,   25,  119,  120,  120,
       82,  119,  120,  120,  120,  120,  113,  120,   25,  119,
      120,   66,  120,  120,   94,  120,  110,  120,   25,   56,
      119,  120,   86,  120,   23,   25,    4
    } ;

static yyconst short int yy_accept[736] =
    {   0,
        1,    1,    1,    1,    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,  137,  141,
      143,  146,  149,  152,  155,  157,  160,  163,  165,  168,
      171,  174,  177,  181,  184,  186,  191,  196,  199,  201,
      203,  206,  208,  210,  213,  216,  219,  222,  225,  225,
      226,  227,  228,  228,  229,  229,  230,  230,  230,  231,

      232,  233,  234,  235,  235,  235,  237,  239,  241,  243,
      245,  247,  248,  250,  252,  254,  256,  259,  261,  263,
      265,  267,  269,  271,  273,  275,  277,  278,  279,  281,
      283,  285,  287,  289,  291,  293,  295,  296,  298,  300,
      303,  305,  306,  308,  310,  312,  314,  315,  317,  319,
      321,  323,  325,  327,  329,  331,  332,  334,  336,  337,
      338,  340,  340,  341,  341,  341,  341,  342,  343,  344,
      345,  346,  347,  348,  348,  349,  351,  353,  354,  355,
      355,  356,  357,  357,  357,  358,  358,  359,  359,  359,
      359,  359,  360,  361,  362,  364,  365,  367,  370,  373,

      375,  377,  377,  379,  382,  384,  386,  388,  390,  392,
      394,  396,  398,  400,  402,  405,  407,  409,  411,  413,
      415,  417,  418,  419,  421,  423,  425,  427,  429,  431,
      433,  436,  439,  441,  442,  444,  446,  448,  449,  451,
      454,  456,  458,  460,  461,  463,  465,  467,  470,  472,
      474,  476,  478,  480,  482,  483,  485,  487,  489,  490,
      491,  492,  494,  495,  495,  495,  496,  497,  499,  502,
      503,  503,  504,  505,  506,  507,  508,  509,  509,  509,
      509,  511,  513,  515,  517,  519,  521,  523,  525,  527,
      529,  531,  533,  535,  537,  539,  541,  543,  545,  547,

      549,  551,  553,  556,  557,  558,  560,  562,  564,  566,
      568,  570,  572,  574,  576,  579,  580,  582,  584,  586,
      587,  589,  591,  593,  595,  596,  599,  601,  603,  606,
      608,  610,  612,  615,  618,  619,  621,  623,  625,  627,
      629,  630,  631,  632,  635,  635,  635,  635,  635,  636,
      638,  638,  640,  642,  644,  647,  648,  650,  652,  654,
      657,  659,  661,  663,  665,  667,  669,  671,  673,  675,
      677,  679,  681,  683,  686,  687,  688,  689,  691,  693,
      695,  697,  699,  701,  703,  705,  707,  709,  710,  712,
      715,  717,  718,  720,  720,  722,  724,  725,  727,  729,

      731,  733,  734,  735,  738,  740,  742,  743,  745,  746,
      747,  748,  748,  748,  749,  751,  751,  754,  756,  758,
      759,  761,  763,  766,  768,  770,  772,  774,  776,  778,
      780,  782,  784,  786,  789,  791,  793,  795,  797,  798,
      799,  800,  802,  804,  806,  808,  810,  812,  814,  816,
      818,  820,  820,  821,  824,  826,  827,  829,  831,  833,
      835,  836,  838,  840,  843,  846,  847,  848,  851,  853,
      854,  855,  856,  857,  858,  858,  858,  860,  860,  862,
      864,  865,  868,  870,  872,  874,  876,  879,  882,  884,
      886,  889,  891,  893,  895,  898,  900,  902,  903,  904,

      905,  907,  909,  912,  915,  917,  919,  921,  924,  926,
      928,  930,  931,  933,  934,  937,  939,  942,  945,  946,
      948,  950,  951,  952,  954,  956,  957,  958,  959,  960,
      960,  962,  962,  964,  966,  967,  969,  971,  973,  975,
      977,  980,  982,  984,  987,  989,  992,  993,  994,  995,
      996,  998, 1001, 1004, 1007, 1009, 1011, 1012, 1014, 1015,
     1018, 1019, 1021, 1022, 1024, 1027, 1028, 1029, 1031, 1032,
     1033, 1034, 1035, 1035, 1035, 1037, 1037, 1039, 1042, 1044,
     1047, 1050, 1052, 1054, 1056, 1056, 1058, 1060, 1061, 1062,
     1063, 1065, 1067, 1069, 1071, 1072, 1074, 1075, 1076, 1078,

     1079, 1079, 1081, 1082, 1085, 1086, 1087, 1088, 1089, 1089,
     1090, 1091, 1091, 1093, 1096, 1098, 1101, 1103, 1105, 1108,
     1110, 1111, 1112, 1113, 1116, 1118, 1120, 1121, 1123, 1124,
     1125, 1127, 1128, 1130, 1131, 1133, 1134, 1135, 1136, 1137,
     1137, 1140, 1143, 1146, 1148, 1150, 1151, 1152, 1153, 1155,
     1157, 1158, 1160, 1161, 1162, 1164, 1165, 1167, 1168, 1169,
     1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179, 1182,
     1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1198, 1199,
     1200, 1201, 1202, 1202, 1204, 1207, 1209, 1210, 1212, 1214,
     1216, 1217, 1220, 1221, 1223, 1224, 1225, 1227, 1228, 1228,

     1230, 1231, 1234, 1235, 1236, 1237, 1239, 1240, 1240, 1242,
     1244, 1245, 1247, 1249, 1250, 1250, 1253, 1255, 1257, 1257,
     1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
     1257, 1257, 1257, 1258, 1258
    } ;

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

       62,   63,   64,   65,   66,   67,   63,   68,   69,   70,
       71,   72,   63,   73,   74,   75,   76,   77,   63,   78,
       63,   79,   80,   81,   82,    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[83] =
    {   0,
        1,    2,    3,    4,    4,    1,    5,    1,    6,    1,
        1,    1,    7,    1,    1,    8,    8,    8,    8,    8,
        8,    8,    8,    9,    1,    1,    9,    1,   10,   10,
       10,   10,   10,   10,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,    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,   13
    } ;

static yyconst short int yy_base[761] =
    {   0,
        0,    0,   80,   83,   86,   97,   92,   94,   91,  101,
       89,  103,  185,  267,  349,    0, 1572, 1561,  119,  129,
     1557, 1555,  423,  137, 4413,  138, 1548,  103, 4413,  156,
     1537, 4413,  490,  184,  208,  190,  257,  285,  540,  205,
      546,  567,  561,  277,  585,  600,  606,  631,  634,  623,
      654, 1547,  697,    0, 4413, 4413, 1546, 1540, 4413, 4413,
     1536, 1538, 4413,    0,    0, 1541,    0,    0, 1522, 4413,
     4413, 4413,    0, 4413, 4413,  720,  801,  160,  199,  110,
     4413, 1529, 1529, 1526, 4413, 4413, 4413, 4413, 1531,  203,
        0, 1530, 1525, 1514,   86, 1510,  433, 1512,  123,  321,

     1506, 4413,  689, 1487,  825,  709,  710,  725,  738,  741,
      756, 1499,  800,  806,  821,  829,  875,  878,  896,  893,
      909,  917,  932,  938,  935,  953,  112,  157,  968,  971,
      979,  994, 1005, 1016, 1022, 1033,  153, 1046, 1049, 1062,
     1070,  113, 1073, 1086, 1097, 1110,  102, 1126, 1132, 1143,
     1149, 1160, 1171, 1177, 1188,  116, 1194, 1210,  218,  242,
     1209,    0, 1493, 1258, 1270, 1282,    0, 4413, 1491, 4413,
        0, 4413,    0, 1476,    0, 1455,  254,  256, 4413,    0,
     1480, 4413, 1478,    0, 1477,    0, 1476,  114, 1451,  299,
      214,  801, 4413, 4413, 1293, 1471, 1277, 1278, 1293, 1294,

     1343, 1470, 1351, 1354, 1367, 1375, 1383, 1391, 1404, 1412,
     1415, 1436, 1437, 1452, 1458, 1469, 1475, 1486, 1492, 1503,
     1514,  243,  216, 1527, 1535, 1538, 1553, 1556, 1559, 1585,
     1577, 1588, 1601,  251, 1609, 1622, 1630,  270, 1633, 1646,
     1654, 1662, 1670,  240, 1683, 1686, 1694, 1707, 1715, 1723,
     1731, 1744, 1752, 1765,  532, 1773, 1789, 1790,  104,  558,
      223, 1805, 1462, 1848, 1856, 1461, 4413,  220, 1430, 1458,
     1413, 1455, 1447, 4413, 4413, 4413, 4413,  315,  217, 1411,
     1850, 1851, 1866, 1872, 1883, 1889, 1905, 1906, 1921, 1929,
     1937, 1953, 1950, 1961, 1974, 1977, 1992, 1998, 2009, 2015,

     2026, 2041, 2047,  431,  533, 2058, 2064, 2079, 2080, 2095,
     2101, 2116, 2119, 2127, 2140,  432, 2148, 2151, 2164,  559,
     2172, 2185, 2193, 2201,  502, 2209, 2217, 2230, 2238, 2241,
     2259, 2256, 2262, 2277,  504, 2280, 2283, 2300, 2306, 2317,
      560,  503,  420, 2333, 2376, 2398, 2420, 2432, 1437,  303,
     1407, 2416, 2432, 2448, 2417,  568, 2454, 2469, 2472, 2480,
     2493, 2501, 2509, 2522, 2530, 2543, 2551, 2559, 2567, 2582,
     2588, 2599, 2605, 2620,  534,  572,  593, 2621, 2641, 2638,
     2659, 2658, 2674, 2680, 2691, 2704, 2715,  613, 2712, 2728,
     2736,  570, 2744,  586, 2752, 2765,  599, 2778, 2781, 2789,

     2802,  595,  608, 2813, 2819, 2830,  277, 2841,  615,  587,
      619,  759, 2884, 4413,  397, 1430, 2868, 2884, 2881,  656,
     2892, 2905, 2908, 2925, 2931, 2942, 2948, 2963, 2969, 2986,
     2992, 3003, 3009, 3020, 3026, 3037, 3043, 3059,  622,  682,
      672, 3060, 3075, 3081, 3092, 3098, 3113, 3119, 3130, 3145,
     3151,  723,  710, 3162, 3178,  711, 3175, 1401, 3186, 3199,
      638, 3207, 3222, 3225, 3228,  728,  753, 3243, 3246,  771,
      724,  760,  775,  776, 3294, 3306, 1399, 1408, 3290, 3303,
      611, 3306, 3321, 3327, 3338, 3344, 3355, 3361, 3372, 3383,
     3389, 3400, 3406, 3417, 3428, 3434, 3445,  862,  759,  782,

     3451, 3462, 3473, 3479, 3490, 3496, 3511, 3512, 3527, 3533,
     1396,  819, 3544,  849, 3550, 1403, 3561, 3567,  779, 3582,
     3588,  790,  832, 3604, 1423,  840,  634,  786,  863, 3638,
      110,    0, 3632, 3633,  867, 3648, 3656, 3659, 3672, 3680,
     3688, 3696, 3709, 3717, 3725, 3733,  854,  928,  855,  868,
     3746, 3754, 3757, 3770, 3778, 3781,  766, 1396,  931, 3794,
      899, 1389,  937, 3815, 3802,  903,  939, 3818,  900,  935,
      942,  941, 3866, 1027,  943, 1376, 3850, 3861, 1407, 3867,
     3878, 3884, 3899, 3900,  987, 3915, 3916,  977,  978, 1014,
     1405, 3931, 3939, 3954, 1042, 1375, 1026, 1009, 1368,  947,

      643, 1395, 1059, 3955, 1061,  958, 1048, 1065, 1243, 4413,
     1375, 1342, 3970, 3971, 3986, 3987, 4002, 1359, 4003, 4018,
     1054, 1020, 1067, 4024, 4035, 4046, 1013, 1357, 1083, 1072,
     1352, 1088, 1343, 1092, 1366, 1094, 1111, 1116, 1335, 1305,
     4052, 4063, 4069, 1334, 4080, 1024,  430, 1129, 4091, 4097,
     1144, 1338, 1135, 1140, 1326, 1121, 1315, 1152, 1154, 1148,
     1165, 1304, 1272, 1296, 4112, 1203, 1190, 1220, 4113, 4128,
     1328, 1292, 1251,  979, 1261, 1229,    0, 1252, 1283, 1242,
     1284, 1265, 1249, 1263, 4129, 1260, 1197, 1256, 1215, 1212,
     1210,    0, 1258, 1183, 1259, 1318, 1151, 1105, 1070, 1088,

     1270,    0, 1158, 1326, 1337, 1046, 1014,  991,  906,  901,
     1257,  864,  861,  753,  686,    0,  712,    0,  543,  489,
      440,  407,  376,  380,  371,  365,  271,  257, 1042, 1158,
      135,  124, 4413, 4413, 4178, 4191, 4204, 4217, 4230, 4243,
     4255, 4259, 4270, 4283, 4296, 4307, 4318, 4323, 4328, 4333,
     4337, 4342, 4346, 4350, 4354, 4358, 4369, 4376, 4387, 4399
    } ;

static yyconst short int yy_def[761] =
    {   0,
      734,    1,  735,  735,  735,  735,  736,  736,  737,  737,
      738,  738,  739,  739,  734,   15,  734,  734,  734,  734,
      734,  740,  734,  741,  734,  734,  734,  734,  734,  734,
      734,  734,  734,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  742,  734,  743,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  744,  744,  734,  745,  745,  734,  734,
      734,  734,  746,  734,  734,  747,  747,  734,  734,   23,
      734,  734,  734,  748,  734,  734,  734,  734,  734,  734,
      740,  740,  734,  749,  734,  750,  741,  741,  734,  734,

      734,  734,  734,  734,  751,   33,   33,   33,   33,   33,
       33,  752,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,   33,   33,
       33,   33,   33,   33,   33,   33,  752,   33,   33,   33,
       33,  752,   33,   33,   33,   33,  752,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,  752,  752,
       33,  753,  742,  734,  734,  734,  743,  734,  734,  734,
      744,  734,  745,  734,  746,   77,   77,  734,  734,  754,
      748,  734,  734,  755,  749,  756,  750,  734,  734,  757,
      734,  734,  734,  734,  751,  758,   33,   33,   33,   33,

       33,  758,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  752,  752,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  752,   33,   33,   33,  752,   33,   33,
       33,   33,   33,  752,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,  752,  752,
      752,   33,  753,  734,  734,  734,  734,   77,   77,  754,
      734,  755,  756,  734,  734,  734,  734,  757,  734,  734,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,

       33,   33,   33,  752,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,   33,  752,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
      752,  752,  752,   33,  734,  734,  734,  734,  734,   77,
      734,   33,   33,   33,   33,  752,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,  752,  752,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,   33,   33,
       33,  752,   33,  195,   33,   33,  752,   33,   33,   33,

       33,  752,  752,   33,   33,   33,  752,   33,  752,  752,
      752,  734,  734,  734,   77,  734,   33,   33,   33,  752,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  752,  752,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  195,  752,   33,   33,  752,   33,  195,   33,   33,
      752,   33,   33,   33,   33,  752,  752,   33,   33,  752,
      752,  752,  752,  752,  734,  734,   77,  734,   33,   33,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,  752,  752,

       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      195,  752,   33,  752,   33,  195,   33,   33,  752,   33,
       33,  752,  752,   33,  752,  752,  752,  752,  752,  734,
       77,  759,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,  752,  752,
       33,   33,   33,   33,   33,   33,  752,  195,  752,   33,
      752,  195,  752,   33,   33,  752,  752,   33,  752,  752,
      752,  752,  734,  760,   77,  734,   33,   33,  752,   33,
       33,   33,   33,   33,  195,   33,   33,  752,  752,  752,
      752,   33,   33,   33,  752,  195,  752,  752,  195,  752,

      195,  752,  752,   33,  752,  752,  752,  752,  734,  734,
      746,  734,   33,   33,   33,   33,   33,  195,   33,   33,
      752,  752,  752,   33,   33,   33,  752,  195,  752,  752,
      195,  752,  195,  752,  752,  752,  752,  752,  746,  734,
       33,   33,   33,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,  195,  752,
      752,  195,  752,  752,  752,  752,  752,  746,  734,  195,

      752,  195,  752,  752,  752,  752,  746,  734,  195,  752,
      752,  752,  752,  746,  734,  195,  752,  746,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,    0,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734
    } ;

static yyconst short int yy_nxt[4496] =
    {   0,
       18,   19,   20,   19,   19,   21,   22,   23,   24,   25,
       18,   25,   26,   27,   28,   29,   30,   30,   30,   30,
       30,   30,   30,   31,   21,   32,   32,   18,   33,   34,
       35,   36,   37,   38,   39,   40,   41,   40,   40,   40,
       42,   43,   44,   45,   40,   46,   47,   48,   49,   50,
       51,   40,   40,   40,   25,   21,   21,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   53,
       21,   25,   55,   56,   56,   55,   56,   56,   55,   56,
       56,   68,   57,   65,   60,   57,   60,   66,   58,   55,

       56,   56,   61,   65,   61,   68,   62,   66,   62,   58,
       93,   89,   69,  102,  202,   70,  202,   63,  734,   63,
       90,   90,   90,   90,  202,  202,   69,   89,  202,   70,
       90,   90,   90,   90,  734,  190,  733,   89,   97,   97,
       97,   97,   95,  274,  575,   89,   89,  732,  191,  275,
       99,  176,   97,   97,  100,  100,  100,  100,  100,  100,
      100,  178,  178,  178,  178,  202,  734,  244,   71,  202,
       72,  103,  103,  103,  103,  103,  103,  103,  103,  238,
      341,  222,   71,  255,   72,   73,   74,   75,   74,   74,
       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,

      178,  178,  178,  178,   90,   90,   90,   90,   73,   73,
       73,   73,   73,  106,  223,  279,  113,   77,  279,  106,
      114,  234,  121,  106,  115,  106,  116,  106,  202,  106,
      202,  106,  106,  106,  106,  202,  117,  106,  106,   73,
       73,   73,  280,  118,  106,  280,  106,  119,  106,  106,
      120,  106,  202,  106,  202,  202,  106,  178,  178,  178,
      178,  176,  350,  202,   74,   73,   74,   73,   74,   75,
       74,   74,   73,   73,   73,   73,   73,   73,   73,   73,
       73,   73,  202,  259,  268,  269,  106,  305,  343,  202,
       73,   73,   73,   73,   73,  176,  106,  122,  123,   77,

      106,  277,  260,  277,  304,  106,  138,  139,  124,  325,
      140,  278,  316,  125,  106,  261,  106,  277,  106,  277,
      141,   73,   73,   73,  106,  106,  106,  278,  106,  729,
      126,  320,  728,  106,  415,  142,  192,  192,  192,  192,
      192,  192,  192,  192,  176,  470,   74,   73,   74,   32,
       78,   79,   78,   78,   32,   32,   80,   32,   32,   32,
       81,   82,   32,   83,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,

       84,   84,   84,   85,   86,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   87,   32,
       88,   89,  202,  477,   97,   97,   97,   97,  176,  727,
      726,  188,  202,  202,  202,  725,  724,   93,   97,   97,
      723,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,  667,  411,   95,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,

       96,   96,  105,  375,  388,  106,  106,  106,  106,  106,
      106,  106,  106,  722,  202,  202,  202,  721,  106,  107,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  108,
      106,  109,  106,  110,  106,  106,  106,  106,  111,  106,
      106,  106,  106,  106,  202,  202,  202,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  106,
      202,  202,  202,  410,  129,  106,  397,  130,  403,  106,
      202,  106,  202,  106,  202,  106,  131,  132,  106,  106,
      106,  439,  133,  335,  106,  134,  106,  376,  734,  202,

      106,  127,  106,  135,  106,  202,  106,  202,  106,  136,
      106,  202,  128,  143,  106,  106,  144,  720,  392,  342,
      202,  409,  458,  202,  145,  202,  106,  202,  106,  106,
      146,  202,  148,  106,  202,  106,  137,  440,  149,  106,
      420,  106,  150,  106,  456,  106,  202,  106,  106,  106,
      202,  153,  106,  151,  106,  734,  461,  147,  152,  154,
      106,  473,  106,  106,  106,  441,  106,  466,  202,  467,
      106,  106,  106,  106,  106,  157,  155,  106,  453,  106,
      535,  158,  106,  106,  202,  633,  474,  472,  160,  498,
      161,  570,  156,  106,  202,  106,  519,  106,  164,  164,

      164,  164,  106,  159,  103,  103,  103,  103,  103,  103,
      103,  103,  165,  165,  165,  165,  165,  165,  166,  166,
      175,  481,  202,  202,  202,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  734,  202,  500,  106,  106,
      202,  499,  514,  175,  175,  175,  175,  175,  106,  106,
      106,  106,  106,  106,  106,  719,  197,  106,  106,  511,
      412,  412,  412,  412,  198,  202,  106,  106,  106,  512,
      106,  202,  202,  106,  175,  175,  175,  106,  202,  106,
      106,  106,  106,  202,  200,  106,  106,  202,  202,  106,
      199,  202,  718,  522,  202,  106,  526,  106,  202,  106,

      175,  175,  202,  201,  106,  549,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  175,  192,  192,  192,  192,
      192,  192,  192,  192,  175,  175,  175,  175,  175,  106,
      523,  202,  525,  527,  203,  106,  528,  529,  595,  106,
      414,  106,  177,  106,  202,  106,  563,  106,  106,  106,
      106,  550,  202,  204,  106,  175,  175,  175,  106,  566,
      106,  202,  106,  571,  205,  559,  202,  202,  106,  106,
      106,  206,  106,  202,  202,  202,  202,  106,  567,  202,
      202,  175,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,

      196,  196,  196,  196,  106,  569,  207,  106,  547,  572,
      561,  202,  202,  202,  106,  202,  106,  106,  106,  106,
      208,  106,  106,  106,  209,  106,  106,  548,  588,  590,
      579,  591,  106,  210,  211,  106,  106,  106,  106,  106,
      202,  106,  212,  202,  106,  716,  213,  202,  106,  202,
      106,  202,  106,  202,  202,  611,  106,  106,  106,  202,
      106,  106,  214,  215,  106,  106,  602,  106,  217,  605,
      202,  106,  598,  106,  220,  106,  106,  106,  106,  106,
      216,  218,  106,  106,  176,  219,  106,  224,  607,  202,
      202,  202,  106,  632,  106,  221,  106,  106,  600,  734,

      106,  106,  606,  225,  636,  597,  589,  106,  106,  106,
      106,  106,  106,  603,  106,  608,  106,  618,  106,  106,
      106,  202,  226,  106,  227,  202,  202,  106,  609,  609,
      609,  609,  202,  106,  106,  106,  202,  106,  202,  622,
      228,  229,  106,  730,  106,  106,  106,  230,  106,  621,
      691,  106,  715,  106,  202,  106,  714,  106,  202,  106,
      202,  106,  106,  232,  106,  106,  202,  231,  630,  731,
      106,  202,  233,  202,  106,  106,  106,  202,  106,  202,
      647,  106,  651,  235,  202,  106,  623,  106,  106,  106,
      106,  106,  106,  666,  106,  202,  236,  106,  629,  106,

      202,  106,  106,  106,  202,  106,  202,  627,  610,  106,
      106,  106,  106,  106,  106,  106,  106,  237,  106,  646,
      239,  106,  637,  202,  635,  106,  106,  106,  202,  106,
      709,  634,  648,  202,  106,  240,  106,  638,  106,  106,
      106,  202,  242,  708,  654,  241,  243,  202,  653,  106,
      707,  106,  202,  106,  245,  106,  202,  658,  106,  730,
      202,  106,  656,  202,  202,  246,  202,  106,  659,  106,
      202,  106,  106,  106,  106,  106,  247,  202,  106,  248,
      106,  661,  106,  660,  106,  731,  106,  252,  106,  106,
      106,  106,  106,  676,  250,  202,  249,  106,  668,  106,

      106,  251,  202,  106,  673,  674,  106,  671,  106,  202,
      106,  253,  106,  680,  106,  202,  106,  106,  106,  106,
      106,  678,  202,  106,  202,  106,  679,  106,  711,  106,
      256,  106,  202,  106,  681,  106,  254,  106,  106,  106,
      257,  202,  106,  258,  609,  609,  609,  609,  106,  106,
      106,  106,  106,  106,  202,  687,  262,  106,  106,  164,
      164,  164,  164,  202,  202,  701,  686,  702,  202,  202,
      202,  202,  202,  165,  165,  165,  165,  165,  165,  166,
      166,  264,  202,  688,  703,  166,  166,  166,  166,  166,
      166,  166,  166,  265,  693,  202,  202,  166,  166,  166,

      166,  166,  166,  166,  166,  105,  106,  106,  700,  281,
      699,  696,  698,  692,  690,  694,  106,  106,  106,  106,
      106,  106,  106,  106,  610,  106,  106,  704,  705,  717,
      202,  710,  106,  282,  106,  106,  106,  106,  202,  689,
      202,  106,  106,  684,  683,  682,  677,  697,  695,  202,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  106,  675,  672,  664,  663,  662,  202,  657,
      106,  706,  106,  106,  106,  283,  106,  284,  655,  712,
      106,  106,  106,  106,  106,  106,  106,  106,  652,  106,

      713,  644,  106,  640,  106,  639,  106,  202,  106,  631,
      106,  628,  106,  285,  286,  106,  106,  202,  106,  202,
      106,  612,  106,  106,  106,  599,  106,  288,  287,  596,
      106,  106,  106,  106,  106,  202,  562,  558,  532,  106,
      531,  106,  516,  106,  106,  106,  478,  106,  416,  349,
      289,  106,  106,  106,  106,  290,  106,  351,  106,  186,
      106,  291,  292,  106,  293,  106,  106,  184,  182,  295,
      180,  176,  294,  349,  162,  106,  106,  106,  106,  106,
      106,  106,  734,  202,  106,  106,  275,  106,  186,  184,
      271,  106,  180,  106,  296,  106,  176,  106,  106,  106,

      106,  106,  267,  266,  106,  162,  106,  298,  106,  297,
      106,  202,  106,  194,  106,  106,  106,  106,  106,  193,
      189,  106,  186,  106,  301,  299,  184,  106,  300,  106,
      183,  106,  106,  106,  106,  106,  182,  182,  180,  102,
      106,  179,  106,  106,  106,  174,  106,  172,  102,  302,
      170,  106,  169,  106,  303,  106,  106,  106,  168,  162,
      104,  101,  106,   92,  106,   89,  106,  106,  106,   89,
      106,  734,  734,  306,  106,  106,  307,  308,  106,  106,
      309,  106,  106,  106,  734,  106,  106,  734,  106,  734,
      734,  312,  310,  734,  106,  106,  106,  106,  106,  106,

      106,  106,  106,  311,  106,  313,  106,  106,  734,  734,
      734,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  106,  734,  106,  734,  734,  314,  734,  106,  734,
      315,  317,  106,  734,  106,  734,  734,  734,  106,  106,
      106,  106,  106,  734,  318,  734,  734,  106,  734,  106,
      734,  106,  106,  106,  734,  106,  319,  734,  734,  106,
      106,  106,  106,  106,  106,  106,  106,  734,  106,  734,
      321,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  106,

      322,  106,  106,  106,  734,  106,  734,  734,  323,  106,
      106,  106,  106,  106,  327,  106,  734,  734,  106,  324,
      734,  734,  326,  106,  106,  106,  106,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  328,  734,  106,  734,  106,  329,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  734,  106,  330,
      106,  734,  106,  106,  106,  734,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  331,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      332,  106,  106,  106,  106,  106,  734,  334,  333,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      734,  340,  106,  106,  106,  336,  106,  337,  106,  106,
      734,  106,  338,  734,  734,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  734,  339,  106,  106,  734,
      344,  734,  734,  734,  106,  734,  106,  734,  106,  345,
      345,  345,  345,  106,  734,  734,  734,  347,  347,  347,
      347,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  348,  348,  348,  348,  348,  348,  348,  348,  106,
      106,  734,  734,  734,  734,  734,  734,  353,  734,  106,
      106,  352,  106,  106,  106,  106,  734,  734,  106,  106,

      734,  106,  734,  734,  734,  106,  354,  106,  734,  106,
      734,  106,  106,  355,  106,  106,  734,  734,  106,  734,
      106,  357,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  358,  106,  106,  359,  106,  734,  734,
      734,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  356,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  360,  106,  106,
      106,  361,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  363,  106,  734,  362,  106,  734,  734,  734,  106,
      106,  106,  106,  106,  106,  734,  106,  734,  364,  734,

      106,  106,  365,  106,  106,  366,  106,  734,  367,  106,
      734,  734,  734,  106,  734,  106,  106,  106,  106,  734,
      106,  106,  106,  734,  368,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  369,  734,  734,  106,  370,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  106,  106,  734,
      371,  734,  734,  106,  734,  106,  734,  372,  734,  106,
      106,  373,  734,  374,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,

      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  378,  106,  734,  734,  379,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  380,  734,  106,  106,  382,
      106,  734,  377,  734,  106,  734,  106,  386,  106,  734,
      106,  734,  106,  381,  106,  106,  383,  734,  106,  106,
      384,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  385,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  387,  734,  106,  734,  106,  389,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  394,  390,  106,

      734,  106,  734,  106,  393,  106,  391,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  734,  734,  734,
      106,  734,  106,  734,  106,  395,  106,  734,  106,  396,
      106,  734,  106,  106,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  734,  399,  734,  398,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  400,  734,  106,  106,  106,  401,  106,  106,
      734,  106,  734,  734,  734,  106,  734,  106,  106,  106,

      106,  106,  106,  106,  106,  106,  106,  106,  734,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  106,
      106,  404,  106,  106,  106,  106,  106,  734,  106,  106,
      402,  405,  406,  734,  734,  106,  734,  734,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  408,  734,  106,  734,  734,  734,  734,
      734,  407,  106,  734,  106,  734,  106,  345,  345,  345,
      345,  106,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  346,  346,  346,  346,  346,  346,  346,  346,  412,

      412,  412,  412,  734,  734,  734,  734,  734,  734,  413,
      734,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  348,  348,  348,  348,  348,
      348,  348,  348,  413,  734,  106,  106,  348,  348,  348,
      348,  348,  348,  348,  348,  106,  106,  106,  106,  106,
      106,  106,  418,  417,  106,  106,  734,  734,  734,  734,
      734,  106,  734,  106,  734,  106,  419,  106,  734,  414,
      106,  734,  421,  106,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  422,

      734,  106,  106,  734,  423,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  424,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  426,  425,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  427,  428,  106,  734,  106,  429,  734,  734,  106,
      106,  106,  106,  106,  430,  734,  734,  734,  106,  734,
      106,  734,  106,  431,  106,  734,  106,  432,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,

      106,  734,  106,  734,  433,  734,  106,  106,  106,  734,
      106,  106,  435,  734,  434,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  106,  734,  734,  106,  436,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  437,  438,  106,  106,  106,
      106,  734,  734,  106,  734,  734,  734,  442,  734,  106,
      106,  106,  106,  106,  106,  734,  734,  106,  106,  106,
      106,  443,  734,  444,  734,  734,  734,  106,  734,  106,
      106,  106,  106,  734,  106,  445,  106,  106,  106,  106,
      446,  734,  734,  734,  734,  734,  734,  106,  106,  447,

      106,  106,  106,  106,  734,  734,  106,  106,  734,  106,
      734,  734,  449,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  448,  106,  451,  734,  734,  452,  106,  734,
      106,  734,  106,  106,  106,  734,  734,  450,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  454,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  455,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  457,
      734,  106,  106,  459,  106,  106,  734,  734,  734,  734,

      106,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  460,  106,  462,  734,  734,  106,  106,  106,
      106,  106,  463,  464,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  734,
      734,  106,  106,  106,  734,  106,  734,  734,  106,  734,
      106,  468,  106,  465,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  469,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  475,  475,  475,  475,  106,
      734,  734,  734,  734,  734,  734,  734,  106,  734,  476,

      476,  476,  476,  476,  476,  476,  476,  106,  734,  106,
      106,  106,  479,  106,  734,  471,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  734,  106,  480,  106,
      734,  106,  106,  482,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  106,  106,  106,
      734,  106,  483,  106,  106,  734,  106,  484,  734,  485,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      734,  106,  734,  486,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  734,  488,  487,  106,  734,  106,  734,

      734,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  734,  106,  489,  106,  490,  734,
      734,  106,  734,  491,  734,  106,  734,  106,  734,  106,
      734,  106,  106,  106,  106,  106,  734,  493,  106,  734,
      106,  734,  106,  734,  492,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  734,  106,
      734,  106,  494,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  496,
      106,  734,  106,  495,  106,  106,  106,  497,  106,  106,
      734,  106,  734,  501,  734,  734,  734,  734,  106,  106,

      106,  106,  106,  106,  106,  734,  734,  106,  106,  734,
      106,  502,  503,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      505,  106,  734,  106,  734,  106,  734,  106,  504,  106,
      106,  106,  106,  506,  734,  734,  106,  734,  106,  507,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  508,  734,  509,  106,  734,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  510,  734,  106,

      734,  106,  734,  106,  106,  106,  513,  106,  734,  734,
      106,  734,  734,  734,  106,  106,  515,  106,  106,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  518,  734,  517,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  734,
      106,  106,  521,  734,  106,  106,  520,  106,  734,  734,
      734,  106,  734,  106,  106,  106,  106,  106,  106,  106,
      106,  106,  106,  106,  734,  106,  106,  734,  734,  734,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      734,  106,  524,  734,  106,  475,  475,  475,  475,  734,

      734,  734,  734,  734,  734,  734,  734,  734,  734,  476,
      476,  476,  476,  476,  476,  476,  476,  530,  734,  106,
      734,  476,  476,  476,  476,  476,  476,  476,  476,  106,
      734,  106,  106,  106,  734,  106,  734,  533,  106,  534,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      106,  106,  734,  536,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  537,  106,
      106,  734,  734,  106,  538,  106,  734,  106,  734,  106,
      539,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,

      106,  106,  106,  106,  106,  734,  734,  734,  540,  106,
      734,  106,  106,  106,  541,  106,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  542,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  543,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  545,  544,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  546,  734,  106,  551,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  734,  106,

      734,  106,  106,  106,  734,  106,  734,  734,  106,  552,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  554,  106,
      734,  106,  734,  106,  734,  106,  553,  106,  106,  106,
      106,  106,  734,  734,  106,  734,  734,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  106,  556,  555,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  734,
      106,  734,  106,  106,  106,  106,  106,  734,  734,  106,
      734,  106,  734,  560,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  557,  106,  106,
      106,  106,  734,  734,  564,  106,  734,  106,  734,  734,
      565,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  568,  106,  734,  734,  106,  734,  734,  573,
      573,  573,  573,  106,  734,  106,  734,  106,  734,  734,
      734,  734,  106,  574,  574,  574,  574,  574,  574,  574,
      574,  106,  106,  578,  734,  734,  734,  734,  577,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  734,  734,
      106,  106,  734,  734,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  580,  734,  106,  106,  106,  106,  106,

      582,  106,  106,  581,  106,  734,  734,  106,  585,  106,
      734,  106,  734,  583,  734,  106,  734,  106,  734,  106,
      106,  106,  584,  106,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  734,  734,  106,  106,  106,  106,  106,
      734,  586,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  734,
      106,  587,  106,  734,  106,  106,  106,  734,  106,  734,
      734,  734,  106,  106,  106,  106,  106,  734,  592,  734,
      734,  106,  734,  106,  734,  106,  106,  106,  734,  106,
      734,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  734,  734,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  593,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  601,  594,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  604,  106,  106,
      734,  106,  734,  106,  734,  734,  106,  573,  573,  573,
      573,  734,  734,  734,  734,  734,  734,  734,  734,  106,
      734,  574,  574,  574,  574,  574,  574,  574,  574,  106,
      106,  106,  613,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  615,  106,  734,  106,
      734,  106,  734,  106,  614,  106,  106,  106,  106,  106,
      734,  734,  106,  616,  734,  734,  734,  734,  106,  106,
      106,  617,  106,  106,  106,  106,  619,  106,  106,  734,
      734,  734,  734,  734,  106,  620,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  624,  734,  106,  106,
      106,  625,  106,  106,  106,  734,  734,  106,  734,  734,
      626,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  106,  734,  734,  734,  734,  734,  106,
      106,  641,  106,  106,  106,  106,  106,  642,  106,  106,
      734,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  106,  106,  734,  106,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  643,  734,
      106,  106,  734,  106,  645,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  106,  734,  106,  106,  649,  734,  106,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  650,  106,
      734,  106,  106,  106,  106,  106,  734,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  106,  665,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  669,  670,  106,
      106,  106,  106,  734,  734,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  734,
      106,  106,  734,  734,  685,  734,  734,  106,  106,  106,
      106,  106,  106,  734,  734,  734,  106,  106,   54,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   59,   59,   59,   59,   59,   59,   59,   59,   59,

       59,   59,   59,   59,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   91,   91,   91,   91,  734,   91,   91,
       91,   91,   91,   91,   91,   91,   98,   98,   98,  734,
       98,  734,   98,  734,   98,  163,  163,  734,  163,  163,
      167,  167,  734,  734,  167,  167,  734,  167,  167,  167,
      167,  167,  167,  171,  171,  171,  171,  734,  171,  171,
      171,  171,  171,  171,  171,  171,  173,  173,  173,  173,

      173,  173,  173,  173,  734,  173,  173,  175,  734,  734,
      734,  175,  175,  175,  175,  175,  175,  175,  176,  734,
      734,  734,  176,  176,  176,  176,  176,  176,  176,  181,
      181,  734,  181,  181,  185,  185,  734,  185,  185,  187,
      187,  734,  187,  187,  195,  734,  195,  195,  112,  112,
      734,  112,  112,  263,  734,  263,  263,  270,  734,  270,
      270,  272,  734,  272,  272,  273,  734,  273,  273,  276,
      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
      276,  276,  196,  196,  734,  196,  196,  576,  576,  734,
      576,  576,  576,  576,  576,  576,  576,  576,  576,  576,

      574,  574,  574,  734,  734,  734,  574,  734,  734,  734,
      734,  574,   17,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

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

        6,    6,    7,   10,    8,   12,    7,   10,    8,    6,
       95,   28,   11,   28,  147,   11,  259,    7,   80,    8,
       19,   19,   19,   19,  127,  142,   12,   19,  156,   12,
       20,   20,   20,   20,   80,   99,  732,   20,   24,   24,
       24,   24,   95,  188,  531,   24,   26,  731,   99,  188,
       26,  531,   24,   24,   26,   26,   26,   26,   26,   26,
       26,   78,   78,   78,   78,  137,   80,  147,   11,  128,
       11,   30,   30,   30,   30,   30,   30,   30,   30,  142,
      259,  127,   12,  156,   12,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,

       79,   79,   79,   79,   90,   90,   90,   90,   13,   13,
       13,   13,   13,   34,  128,  191,   34,   13,  279,   36,
       34,  137,   36,   34,   34,   34,   34,   34,  223,   36,
      159,   36,   34,   36,   40,  261,   34,   35,   36,   13,
       13,   13,  191,   35,   40,  279,   40,   35,   40,   35,
       35,   35,  244,   40,  160,  222,   35,  178,  178,  178,
      178,  268,  268,  234,   13,   13,   13,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,  238,  159,  177,  177,   37,  223,  261,  407,
       14,   14,   14,   14,   14,  177,   37,   37,   37,   14,

       37,  190,  160,  190,  222,   37,   44,   44,   37,  244,
       44,  190,  234,   38,   38,  160,   44,  278,   44,  278,
       44,   14,   14,   14,   38,   44,   38,  278,   38,  728,
       38,  238,  727,   38,  350,   44,  100,  100,  100,  100,
      100,  100,  100,  100,  350,  407,   14,   14,   14,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,

       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   23,  343,  415,   97,   97,   97,   97,  415,  726,
      725,   97,  647,  304,  316,  724,  723,   23,   97,   97,
      722,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,  647,  343,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   33,  304,  316,   33,   33,   33,   33,   33,
       33,   33,   33,  721,  325,  342,  335,  720,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  255,  305,  375,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   39,
      260,  320,  341,  342,   41,   41,  325,   41,  335,   39,
      356,   39,  392,   39,  376,   41,   41,   41,   39,   41,
       43,  375,   41,  255,   41,   42,   42,  305,  394,  410,

       43,   39,   43,   42,   43,  377,   42,  402,   42,   43,
       42,  397,   39,   45,   45,   42,   45,  719,  320,  260,
      403,  341,  394,  481,   45,  388,   45,  409,   45,   46,
       45,  411,   46,   45,  439,   47,   43,  376,   47,   46,
      356,   46,   47,   46,  392,   47,  527,   47,   46,   47,
      461,   48,   50,   47,   47,  601,  397,   45,   47,   48,
       48,  410,   50,   49,   50,  377,   50,  402,  420,  403,
       48,   50,   48,   49,   48,   49,   48,   49,  388,   48,
      481,   49,   49,   51,  441,  601,  411,  409,   50,  439,
       51,  527,   48,   51,  440,   51,  461,   51,   53,   53,

       53,   53,   51,   49,  103,  103,  103,  103,  103,  103,
      103,  103,   53,   53,   53,   53,   53,   53,   53,   53,
       76,  420,  453,  456,  717,   76,   76,   76,   76,   76,
       76,   76,   76,   76,   76,  452,  471,  441,  106,  107,
      466,  440,  456,   76,   76,   76,   76,   76,  106,  107,
      106,  107,  106,  107,  108,  715,  107,  106,  107,  452,
      412,  412,  412,  412,  108,  467,  108,  109,  108,  453,
      110,  499,  472,  108,   76,   76,   76,  109,  557,  109,
      110,  109,  110,  470,  110,  111,  109,  473,  474,  110,
      109,  519,  714,  466,  500,  111,  471,  111,  528,  111,

       76,   77,  522,  111,  111,  499,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,  192,  192,  192,  192,
      192,  192,  192,  192,   77,   77,   77,   77,   77,  113,
      467,  512,  470,  472,  113,  114,  473,  474,  557,  113,
      412,  113,   77,  113,  523,  114,  519,  114,  113,  114,
      115,  500,  526,  114,  114,   77,   77,   77,  116,  522,
      115,  514,  115,  528,  115,  512,  547,  549,  116,  115,
      116,  116,  116,  713,  498,  529,  712,  116,  523,  535,
      550,   77,  105,  105,  105,  105,  105,  105,  105,  105,
      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,

      105,  105,  105,  105,  117,  526,  118,  118,  498,  529,
      514,  561,  569,  710,  117,  566,  117,  118,  117,  118,
      118,  118,  120,  117,  119,  119,  118,  498,  547,  549,
      535,  550,  120,  120,  120,  119,  120,  119,  121,  119,
      548,  120,  121,  559,  119,  709,  122,  570,  121,  563,
      121,  567,  121,  572,  571,  575,  122,  121,  122,  600,
      122,  123,  123,  123,  125,  122,  566,  124,  124,  569,
      606,  123,  561,  123,  125,  123,  125,  124,  125,  124,
      123,  124,  126,  125,  575,  124,  124,  129,  571,  588,
      589,  674,  126,  600,  126,  126,  126,  129,  563,  585,

      130,  126,  570,  130,  606,  559,  548,  129,  131,  129,
      130,  129,  130,  567,  130,  572,  129,  585,  131,  130,
      131,  598,  131,  132,  132,  627,  590,  131,  574,  574,
      574,  574,  622,  132,  133,  132,  646,  132,  597,  589,
      132,  132,  132,  729,  133,  134,  133,  133,  133,  588,
      674,  135,  708,  133,  595,  134,  707,  134,  706,  134,
      607,  135,  136,  135,  134,  135,  621,  134,  598,  729,
      135,  603,  136,  605,  136,  138,  136,  608,  139,  623,
      622,  136,  627,  138,  630,  138,  590,  138,  139,  138,
      139,  140,  139,  646,  138,  629,  139,  139,  597,  141,

      632,  140,  143,  140,  634,  140,  636,  595,  574,  141,
      140,  141,  143,  141,  143,  144,  143,  141,  141,  621,
      143,  143,  607,  637,  605,  144,  145,  144,  638,  144,
      700,  603,  623,  656,  144,  144,  145,  608,  145,  146,
      145,  648,  146,  699,  630,  145,  146,  653,  629,  146,
      698,  146,  654,  146,  148,  148,  651,  634,  146,  730,
      660,  149,  632,  697,  658,  148,  659,  148,  636,  148,
      703,  149,  150,  149,  148,  149,  149,  661,  151,  149,
      149,  638,  150,  637,  150,  730,  150,  153,  151,  152,
      151,  150,  151,  656,  151,  694,  150,  151,  648,  152,

      153,  152,  667,  152,  653,  654,  154,  651,  152,  687,
      153,  154,  153,  660,  153,  666,  154,  155,  154,  153,
      154,  658,  691,  157,  690,  154,  659,  155,  703,  155,
      157,  155,  668,  157,  661,  157,  155,  157,  161,  158,
      158,  676,  157,  158,  609,  609,  609,  609,  161,  158,
      161,  158,  161,  158,  680,  667,  161,  161,  158,  164,
      164,  164,  164,  673,  678,  687,  666,  689,  688,  711,
      693,  695,  686,  164,  164,  164,  164,  164,  164,  164,
      164,  165,  701,  668,  691,  165,  165,  165,  165,  165,
      165,  165,  165,  166,  676,  679,  681,  166,  166,  166,

      166,  166,  166,  166,  166,  195,  197,  198,  684,  197,
      683,  680,  682,  675,  673,  678,  197,  198,  197,  198,
      197,  198,  199,  200,  609,  197,  198,  693,  695,  711,
      696,  701,  199,  200,  199,  200,  199,  200,  704,  672,
      671,  199,  200,  664,  663,  662,  657,  681,  679,  705,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  201,  655,  652,  644,  640,  639,  635,  633,
      203,  696,  201,  204,  201,  201,  201,  203,  631,  704,
      203,  201,  203,  204,  203,  204,  205,  204,  628,  203,

      705,  618,  204,  612,  206,  611,  205,  602,  205,  599,
      205,  596,  207,  205,  206,  205,  206,  591,  206,  579,
      208,  576,  207,  206,  207,  562,  207,  208,  207,  558,
      208,  207,  208,  209,  208,  525,  516,  511,  478,  208,
      477,  210,  458,  209,  211,  209,  416,  209,  351,  349,
      209,  210,  209,  210,  211,  210,  211,  280,  211,  273,
      210,  211,  211,  211,  212,  212,  213,  272,  271,  213,
      270,  269,  212,  266,  263,  212,  213,  212,  213,  212,
      213,  214,  202,  196,  212,  213,  189,  215,  187,  185,
      183,  214,  181,  214,  214,  214,  176,  215,  216,  215,

      214,  215,  174,  169,  217,  163,  215,  217,  216,  216,
      216,  112,  216,  104,  217,  218,  217,  216,  217,  101,
       98,  219,   96,  217,  219,  218,   94,  218,  218,  218,
       93,  219,  220,  219,  218,  219,   92,   89,   84,   83,
      219,   82,  220,  221,  220,   69,  220,   66,   62,  220,
       61,  220,   58,  221,  221,  221,  224,  221,   57,   52,
       31,   27,  221,   22,  225,   21,  224,  226,  224,   18,
      224,   17,    0,  224,  225,  224,  225,  226,  225,  226,
      226,  226,  227,  225,    0,  228,  226,    0,  229,    0,
        0,  229,  227,    0,  227,  228,  227,  228,  229,  228,

      229,  227,  229,  228,  228,  230,  231,  229,    0,    0,
        0,    0,    0,    0,  230,    0,  231,  232,  231,    0,
      231,    0,    0,    0,  230,  231,  230,  232,  230,  232,
      233,  232,    0,  230,    0,    0,  232,    0,  235,    0,
      233,  235,  233,    0,  233,    0,    0,    0,  235,  233,
      235,  236,  235,    0,  236,    0,    0,  235,    0,  237,
        0,  236,  239,  236,    0,  236,  237,    0,    0,  237,
      236,  237,  239,  237,  239,  240,  239,    0,  237,    0,
      239,  239,    0,  241,    0,  240,    0,  240,    0,  240,
        0,  242,    0,  241,  240,  241,    0,  241,    0,  243,

      241,  242,  241,  242,    0,  242,    0,    0,  242,  243,
      242,  243,  245,  243,  246,  246,    0,    0,  243,  243,
        0,    0,  245,  247,  245,  246,  245,  246,    0,  246,
        0,  245,    0,  247,  246,  247,  248,  247,    0,    0,
        0,    0,  247,    0,  249,    0,  248,  249,  248,    0,
      248,    0,  250,    0,  249,  248,  249,    0,  249,  250,
      251,    0,  250,  249,  250,    0,  250,    0,    0,    0,
      251,  250,  251,  252,  251,    0,    0,    0,  251,  251,
        0,  253,    0,  252,    0,  252,    0,  252,    0,    0,
      252,  253,  252,  253,  254,  253,    0,  254,  253,    0,

      253,    0,  256,    0,  254,    0,  254,    0,  254,    0,
        0,  258,  256,  254,  256,  256,  256,  256,  257,  258,
        0,  256,  256,    0,    0,    0,    0,    0,  257,  258,
      257,  258,  257,  258,  262,    0,  257,  257,  258,    0,
      262,    0,    0,    0,  262,    0,  262,    0,  262,  264,
      264,  264,  264,  262,    0,    0,    0,  265,  265,  265,
      265,    0,    0,  264,  264,  264,  264,  264,  264,  264,
      264,  265,  265,  265,  265,  265,  265,  265,  265,  281,
      282,    0,    0,    0,    0,    0,    0,  282,    0,  281,
      282,  281,  282,  281,  282,  283,    0,    0,  281,  282,

        0,  284,    0,    0,    0,  283,  283,  283,    0,  283,
        0,  284,  285,  284,  283,  284,    0,    0,  286,    0,
      284,  286,  285,    0,  285,    0,  285,    0,  286,    0,
      286,  285,  286,  287,  287,  288,  288,  286,    0,    0,
        0,    0,    0,    0,  287,  288,  287,  288,  287,  288,
      289,    0,    0,  287,  288,    0,    0,  285,  290,    0,
      289,    0,  289,    0,  289,    0,  291,  289,  290,  289,
      290,  290,  290,    0,    0,    0,  291,  290,  291,  293,
      291,  292,  292,    0,  291,  291,    0,    0,    0,  293,
      294,  293,  292,  293,  292,    0,  292,    0,  293,    0,

      294,  292,  294,  295,  294,  295,  296,    0,  296,  294,
        0,    0,    0,  295,    0,  295,  296,  295,  296,    0,
      296,  297,  295,    0,  297,  296,    0,  298,    0,    0,
        0,  297,    0,  297,    0,  297,    0,  298,  299,  298,
      297,  298,    0,    0,  300,  299,  298,    0,  299,    0,
      299,    0,  299,    0,  300,  301,  300,  299,  300,    0,
      300,    0,    0,  300,    0,  301,    0,  301,    0,  301,
      302,  301,    0,  302,  301,    0,  303,    0,    0,    0,
      302,    0,  302,    0,  302,    0,  303,  306,  303,  302,
      303,    0,    0,  307,    0,  303,    0,  306,    0,  306,

        0,  306,    0,  307,    0,  307,  306,  307,  308,  309,
        0,  307,  307,    0,    0,  308,    0,    0,  308,  309,
      308,  309,  308,  309,  310,  309,    0,  308,  309,  311,
      311,    0,  306,    0,  310,    0,  310,  313,  310,    0,
      311,    0,  311,  310,  311,  312,  311,    0,  313,  311,
      312,    0,    0,    0,    0,  312,  314,  312,  313,  312,
      313,  312,  313,    0,  312,    0,  314,  313,  314,  315,
      314,    0,    0,  314,    0,  314,    0,  317,  317,  315,
      318,  315,    0,  315,    0,    0,    0,  317,  315,  317,
      318,  317,  318,  319,  318,    0,  317,  322,  318,  318,

        0,  321,    0,  319,  321,  319,  319,  319,    0,    0,
        0,  321,  319,  321,  322,  321,    0,    0,    0,    0,
      321,    0,  323,    0,  322,  323,  322,    0,  322,  324,
      324,    0,  323,  322,  323,    0,  323,    0,  326,    0,
      324,  323,  324,    0,  324,    0,  327,    0,  326,  324,
      326,    0,  326,    0,    0,    0,  327,  326,  327,  328,
      327,    0,  328,    0,  327,  327,    0,  329,    0,  328,
      330,  328,    0,  328,    0,    0,    0,  329,  328,  329,
      330,  329,  330,    0,  330,  332,  329,  331,  331,  330,
        0,  333,    0,    0,    0,  332,    0,  332,  331,  332,

      331,  333,  331,  333,  332,  333,  334,  331,    0,  336,
      333,    0,  337,    0,    0,    0,  334,    0,  334,  336,
      334,  336,  337,  336,  337,  334,  337,    0,  336,  338,
      332,  337,  338,    0,    0,  339,    0,    0,    0,  338,
        0,  338,    0,  338,    0,  339,  340,  339,  338,  339,
        0,    0,    0,    0,  339,    0,  340,    0,  340,    0,
      340,    0,  344,  340,    0,  340,    0,    0,    0,    0,
        0,  339,  344,    0,  344,    0,  344,  345,  345,  345,
      345,  344,    0,    0,    0,    0,    0,    0,    0,    0,
        0,  345,  345,  345,  345,  345,  345,  345,  345,  346,

      346,  346,  346,    0,    0,    0,    0,    0,    0,  346,
        0,    0,    0,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  347,  347,  347,  347,  347,
      347,  347,  347,  348,    0,  352,  355,  348,  348,  348,
      348,  348,  348,  348,  348,  352,  355,  352,  355,  352,
      355,  353,  353,  352,  352,  355,    0,    0,    0,    0,
        0,  353,    0,  353,    0,  353,  354,  354,    0,  346,
      353,    0,  357,  357,    0,    0,    0,  354,    0,  354,
        0,  354,    0,  357,    0,  357,  354,  357,  358,  358,

        0,  359,  357,    0,  359,    0,    0,    0,  358,  360,
      358,  359,  358,  359,    0,  359,    0,  358,    0,  360,
      359,  360,  361,  360,    0,    0,    0,    0,  360,    0,
      362,    0,  361,    0,  361,    0,  361,    0,  363,    0,
      362,  361,  362,    0,  362,  363,  362,    0,  363,  362,
      363,  364,  363,    0,    0,    0,    0,  363,    0,  365,
        0,  364,  365,  364,    0,  364,  365,    0,    0,  365,
      364,  365,  366,  365,  366,    0,    0,    0,  365,    0,
      367,    0,  366,  367,  366,    0,  366,  367,  368,    0,
      367,  366,  367,    0,  367,    0,  369,    0,  368,  367,

      368,    0,  368,    0,  368,    0,  369,  368,  369,    0,
      369,  370,  370,    0,  369,  369,    0,  371,    0,    0,
        0,  370,    0,  370,    0,  370,    0,  371,  372,  371,
      370,  371,    0,    0,  373,  371,  371,    0,  372,    0,
      372,    0,  372,    0,  373,  372,  373,  372,  373,  374,
      378,    0,    0,  373,    0,    0,    0,  378,    0,  374,
      378,  374,  378,  374,  378,    0,    0,  380,  374,  378,
      379,  379,    0,  379,    0,    0,    0,  380,    0,  380,
      379,  380,  379,    0,  379,  380,  380,  382,  381,  379,
      381,    0,    0,    0,    0,    0,    0,  382,  381,  382,

      381,  382,  381,  383,    0,    0,  382,  381,    0,  384,
        0,    0,  384,  383,    0,  383,    0,  383,    0,  384,
      385,  384,  383,  384,  386,    0,    0,  387,  384,    0,
      385,    0,  385,  386,  385,    0,    0,  385,    0,  385,
        0,  389,    0,  386,  387,  386,    0,  386,    0,    0,
        0,  389,  386,  389,  387,  389,  387,  390,  387,  389,
      389,    0,    0,  387,    0,  391,    0,  390,    0,  390,
        0,  390,    0,  393,    0,  391,  390,  391,    0,  391,
        0,  395,    0,  393,  391,  393,    0,  393,    0,  393,
        0,  395,  393,  395,  396,  395,    0,    0,    0,    0,

      395,    0,    0,    0,  396,    0,  396,  398,  396,    0,
      399,    0,  396,  396,  398,    0,    0,  398,  400,  398,
      399,  398,  399,  400,  399,    0,  398,    0,  400,  399,
      400,  401,  400,    0,    0,    0,    0,  400,    0,    0,
        0,  401,  404,  401,    0,  401,    0,    0,  405,    0,
      401,  405,  404,  401,  404,    0,  404,    0,  405,  406,
      405,  404,  405,    0,    0,    0,    0,  405,    0,  406,
      408,  406,    0,  406,    0,  406,    0,    0,  406,    0,
      408,    0,  408,    0,  408,  413,  413,  413,  413,  408,
        0,    0,    0,    0,    0,    0,    0,  417,    0,  413,

      413,  413,  413,  413,  413,  413,  413,  417,    0,  417,
      419,  417,  418,  418,    0,  408,  417,    0,    0,    0,
      419,  421,  419,  418,  419,  418,    0,  418,  419,  419,
        0,  421,  418,  421,  422,  421,    0,  423,    0,    0,
      421,    0,    0,    0,  422,    0,  422,  423,  422,  423,
        0,  423,  422,  422,  424,    0,  423,  424,    0,  425,
      425,    0,    0,    0,  424,    0,  424,    0,  424,    0,
      425,  426,  425,  424,  425,    0,    0,  427,    0,  425,
        0,  426,    0,  426,    0,  426,    0,  427,    0,  427,
      426,  427,  428,    0,  428,  427,  427,    0,  429,    0,

        0,    0,  428,    0,  428,    0,  428,    0,  429,    0,
      429,  428,  429,    0,    0,  430,  429,  429,  430,    0,
        0,  431,    0,  431,    0,  430,    0,  430,    0,  430,
        0,  431,  432,  431,  430,  431,    0,  433,  433,    0,
      431,    0,  432,    0,  432,    0,  432,    0,  433,  434,
      433,  432,  433,    0,    0,  435,    0,  433,    0,  434,
        0,  434,  435,  434,    0,  435,  436,  435,  434,  435,
        0,    0,  437,    0,  435,    0,  436,    0,  436,  437,
      436,    0,  437,  436,  437,  436,  437,  438,  438,  442,
        0,  437,    0,  442,    0,    0,    0,    0,  438,  442,

      438,  442,  438,  442,  443,    0,    0,  438,  442,    0,
      444,  443,  444,    0,  443,    0,  443,    0,  443,    0,
      444,  445,  444,  443,  444,    0,    0,  446,    0,  444,
      446,  445,    0,  445,    0,  445,    0,  446,  445,  446,
      445,  446,  447,  447,    0,    0,  446,    0,  448,  448,
        0,    0,  447,    0,  447,    0,  447,    0,  448,  449,
      448,  447,  448,    0,    0,    0,    0,  448,    0,  449,
        0,  449,    0,  449,  450,  449,    0,  450,  449,    0,
      451,    0,    0,    0,  450,    0,  450,    0,  450,    0,
      451,  454,  451,  450,  451,    0,    0,  451,    0,  451,

        0,  454,    0,  454,  457,  454,  455,  455,    0,    0,
      454,    0,    0,    0,  457,  459,  457,  455,  457,  455,
        0,  455,    0,  457,    0,  459,  455,  459,  460,  459,
        0,  460,    0,  459,  459,    0,  462,    0,  460,    0,
      460,    0,  460,    0,    0,    0,  462,  460,  462,    0,
      462,  463,  463,    0,  464,  462,  462,  465,    0,    0,
        0,  463,    0,  463,  464,  463,  464,  465,  464,  465,
      463,  465,  468,  464,    0,  469,  465,    0,    0,    0,
        0,    0,  468,    0,  468,  469,  468,  469,    0,  469,
        0,  468,  469,    0,  469,  475,  475,  475,  475,    0,

        0,    0,    0,    0,    0,    0,    0,    0,    0,  475,
      475,  475,  475,  475,  475,  475,  475,  476,    0,  479,
        0,  476,  476,  476,  476,  476,  476,  476,  476,  479,
        0,  479,  480,  479,    0,  482,    0,  479,  479,  480,
        0,    0,  480,    0,  480,  482,  480,  482,    0,  482,
      483,  480,    0,  483,  482,    0,  484,    0,    0,    0,
      483,    0,  483,    0,  483,    0,  484,  485,  484,  483,
      484,    0,    0,  486,  485,  484,    0,  485,    0,  485,
      486,  485,    0,  486,  487,  486,  485,  486,    0,    0,
      488,    0,  486,    0,  487,    0,  487,    0,  487,    0,

      488,  489,  488,  487,  488,    0,    0,    0,  489,  488,
        0,  489,  490,  489,  490,  489,    0,    0,  491,    0,
      489,    0,  490,    0,  490,    0,  490,    0,  491,  492,
      491,  490,  491,    0,  492,  493,    0,  491,    0,  492,
        0,  492,    0,  492,    0,  493,  494,  493,  492,  493,
        0,    0,    0,  493,  493,    0,  494,  495,  494,    0,
      494,    0,    0,  496,  494,  494,    0,  495,    0,  495,
        0,  495,    0,  496,  497,  496,  495,  496,    0,    0,
      501,    0,  496,    0,  497,    0,  497,  501,  497,    0,
      501,  502,  501,  497,  501,    0,    0,    0,    0,  501,

        0,  502,  503,  502,    0,  502,    0,    0,  504,  502,
      502,    0,  503,    0,  503,    0,  503,    0,  504,  505,
      504,  503,  504,    0,    0,  506,    0,  504,  506,  505,
        0,  505,    0,  505,    0,  506,  505,  506,  505,  506,
      507,  508,    0,    0,  506,    0,    0,    0,    0,    0,
      507,  508,  507,  508,  507,  508,  509,  509,  507,  507,
      508,    0,  510,    0,    0,    0,  509,    0,  509,    0,
      509,    0,  510,  513,  510,  509,  510,    0,    0,  515,
        0,  510,    0,  513,    0,  513,    0,  513,    0,  515,
      517,  515,  513,  515,    0,    0,  518,    0,  515,    0,

      517,    0,  517,    0,  517,    0,  518,  510,  518,  517,
      518,  520,    0,    0,  520,  518,    0,  521,    0,    0,
      521,  520,    0,  520,    0,  520,    0,  521,    0,  521,
      520,  521,  524,  524,    0,    0,  521,    0,    0,  530,
      530,  530,  530,  524,    0,  524,    0,  524,    0,    0,
        0,    0,  524,  530,  530,  530,  530,  530,  530,  530,
      530,  533,  534,  534,    0,    0,    0,    0,  533,    0,
        0,  533,  534,  533,  534,  533,  534,  536,    0,    0,
      533,  534,    0,    0,    0,  537,    0,  536,  538,  536,
        0,  536,    0,  536,    0,  537,  536,  537,  538,  537,

      538,  539,  538,  537,  537,    0,    0,  538,  542,  540,
        0,  539,    0,  539,    0,  539,    0,  541,    0,  540,
      539,  540,  540,  540,    0,  542,    0,  541,  540,  541,
        0,  541,    0,    0,    0,  542,  541,  542,  543,  542,
        0,  543,    0,    0,  542,    0,  544,    0,  543,    0,
      543,    0,  543,    0,  545,    0,  544,  543,  544,    0,
      544,  545,  546,    0,  545,  544,  545,    0,  545,    0,
        0,    0,  546,  545,  546,  551,  546,    0,  551,    0,
        0,  546,    0,  552,    0,  551,  553,  551,    0,  551,
        0,    0,    0,  552,  551,  552,  553,  552,  553,  554,

      553,    0,  552,    0,    0,  553,    0,  555,    0,  554,
      556,  554,    0,  554,  555,    0,    0,  555,  554,  555,
      556,  555,  556,  560,  556,    0,  555,  564,  556,  556,
        0,  565,    0,  560,    0,  560,    0,  560,    0,    0,
        0,  565,  560,  565,  564,  565,    0,  568,    0,    0,
      565,    0,    0,    0,  564,    0,  564,  568,  564,  568,
        0,  568,    0,  564,    0,    0,  568,  573,  573,  573,
      573,    0,    0,    0,    0,    0,    0,    0,    0,  577,
        0,  573,  573,  573,  573,  573,  573,  573,  573,  577,
      578,  577,  577,  577,    0,    0,  580,    0,  577,    0,

      578,    0,  578,    0,  578,    0,  580,  581,  580,  578,
      580,    0,    0,  582,    0,  580,  582,  581,    0,  581,
        0,  581,    0,  582,  581,  582,  581,  582,  583,  584,
        0,    0,  582,  583,    0,    0,    0,    0,  583,  584,
      583,  584,  583,  584,  586,  587,  586,  583,  584,    0,
        0,    0,    0,    0,  586,  587,  586,  587,  586,  587,
      592,    0,    0,  586,  587,    0,    0,    0,  593,    0,
      592,    0,  592,    0,  592,    0,  592,    0,  593,  592,
      593,  593,  593,  594,  604,    0,    0,  593,    0,    0,
      594,    0,    0,  594,  604,  594,  604,  594,  604,  613,

      614,    0,  594,  604,    0,    0,    0,    0,    0,  613,
      614,  613,  614,  613,  614,  615,  616,  615,  613,  614,
        0,    0,    0,    0,    0,  615,  616,  615,  616,  615,
      616,  617,  619,    0,  615,  616,    0,    0,    0,    0,
        0,  617,  619,  617,  619,  617,  619,  620,  617,    0,
      617,  619,    0,  624,  620,    0,    0,  620,    0,  620,
        0,  620,    0,  624,  625,  624,  620,  624,    0,    0,
        0,    0,  624,    0,  625,  626,  625,    0,  625,    0,
        0,  641,    0,  625,    0,  626,    0,  626,  626,  626,
        0,  641,  642,  641,  626,  641,    0,    0,  643,    0,

      641,    0,  642,    0,  642,    0,  642,    0,  643,  645,
      643,  642,  643,    0,    0,    0,    0,  643,    0,  645,
      649,  645,    0,  645,    0,    0,  650,  645,  645,    0,
      649,    0,  649,    0,  649,    0,  650,  649,  650,  649,
      650,  665,  669,    0,    0,  650,    0,    0,    0,    0,
        0,  665,  669,  665,  669,  665,  669,  670,  685,    0,
      665,  669,    0,    0,  665,    0,    0,  670,  685,  670,
      685,  670,  685,    0,    0,    0,  670,  685,  735,  735,
      735,  735,  735,  735,  735,  735,  735,  735,  735,  735,
      735,  736,  736,  736,  736,  736,  736,  736,  736,  736,

      736,  736,  736,  736,  737,  737,  737,  737,  737,  737,
      737,  737,  737,  737,  737,  737,  737,  738,  738,  738,
      738,  738,  738,  738,  738,  738,  738,  738,  738,  738,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  740,  740,  740,  740,    0,  740,  740,
      740,  740,  740,  740,  740,  740,  741,  741,  741,    0,
      741,    0,  741,    0,  741,  742,  742,    0,  742,  742,
      743,  743,    0,    0,  743,  743,    0,  743,  743,  743,
      743,  743,  743,  744,  744,  744,  744,    0,  744,  744,
      744,  744,  744,  744,  744,  744,  745,  745,  745,  745,

      745,  745,  745,  745,    0,  745,  745,  746,    0,    0,
        0,  746,  746,  746,  746,  746,  746,  746,  747,    0,
        0,    0,  747,  747,  747,  747,  747,  747,  747,  748,
      748,    0,  748,  748,  749,  749,    0,  749,  749,  750,
      750,    0,  750,  750,  751,    0,  751,  751,  752,  752,
        0,  752,  752,  753,    0,  753,  753,  754,    0,  754,
      754,  755,    0,  755,  755,  756,    0,  756,  756,  757,
      757,  757,  757,  757,  757,  757,  757,  757,  757,  757,
      757,  757,  758,  758,    0,  758,  758,  759,  759,    0,
      759,  759,  759,  759,  759,  759,  759,  759,  759,  759,

      760,  760,  760,    0,    0,    0,  760,    0,    0,    0,
        0,  760,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[137] =
    {   0,
       95,   96,   98,  101,  103,  106,  108,  109,  110,  113,
      115,  116,  117,  129,  136,  143,  149,  158,  166,  174,
      175,  177,  196,  202,  203,  204,  205,  206,  209,  215,
      222,  229,  236,  243,  244,  245,  253,  254,  255,  256,
      257,  262,  263,  264,  265,  266,  267,  268,  269,  270,
      271,  272,  281,  282,  283,  284,  285,  286,  287,  288,
      289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
      299,  300,  301,  302,  303,  304,  305,  306,  307,  308,
      309,  310,  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,
      343,  344,  349,  350,  351,  354,  359,  365,  373,  383,
      388,  390,  391,  395,  400,  405,  411,  412,  414,  420,
      433,  436,  461,  505,  507,  518
    } ;

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 */
void asn1p_lexer_hack_push_encoding_control(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;

int asn1p_as_pointer;

static asn1c_integer_t _lex_atoi(const char *ptr);

/*
 * 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))

/*
 * 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_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define idash_comment 2

#define cpp_comment 3

#define quoted 4

#define opaque 5

#define encoding_control 6

#define with_syntax 7

/* Newline */
/* White-space */
#line 1888 "asn1p_l.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 93 "asn1p_l.l"


#line 2042 "asn1p_l.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 >= 735 )
					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] != 4413 );

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 < 137 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 137 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 138 )
				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_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 95 "asn1p_l.l"
/* Immediately terminated long comment */
	YY_BREAK
case 2:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 96 "asn1p_l.l"
yy_push_state(idash_comment);	/* Incorrect, but acceptable */
	YY_BREAK

case 3:
YY_RULE_SETUP
#line 98 "asn1p_l.l"
yy_pop_state(); /* Acceptable end of comment */
	YY_BREAK

case 4:
YY_RULE_SETUP
#line 101 "asn1p_l.l"
asn1p_as_pointer = 1;
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 103 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 106 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 110 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 10:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 11:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 117 "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 14:
YY_RULE_SETUP
#line 129 "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 15:
YY_RULE_SETUP
#line 136 "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 16:
YY_RULE_SETUP
#line 143 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 149 "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 18:
YY_RULE_SETUP
#line 158 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 19:
YY_RULE_SETUP
#line 166 "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 20:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 177 "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 23:
YY_RULE_SETUP
#line 196 "asn1p_l.l"
{
			const char *s = "ENCODING-CONTROL";
			const char *p = s + sizeof("ENCODING-CONTROL") - 2;
			for(; p >= s; p--) unput(*p);
			yy_pop_state();
		}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 202 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 26:
YY_RULE_SETUP
#line 204 "asn1p_l.l"

	YY_BREAK
case 27:
YY_RULE_SETUP
#line 205 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 206 "asn1p_l.l"

	YY_BREAK

case 29:
YY_RULE_SETUP
#line 209 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 215 "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 31:
YY_RULE_SETUP
#line 222 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 229 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 236 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 244 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 245 "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 37:
YY_RULE_SETUP
#line 253 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 254 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 255 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 257 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 262 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 263 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 264 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 272 "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 53:
YY_RULE_SETUP
#line 281 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 282 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 365 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 119:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_capitalreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 120:
YY_RULE_SETUP
#line 383 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 388 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 390 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 391 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 124:
YY_RULE_SETUP
#line 395 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 405 "asn1p_l.l"
{
				yy_push_state(with_syntax);
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 411 "asn1p_l.l"
return '[';
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 412 "asn1p_l.l"
return ']';
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 414 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_whitespace;
			}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 420 "asn1p_l.l"
{
				yy_pop_state();
				if(YYSTATE == with_syntax) {
					asn1p_lval.tv_str = strdup(yytext);
					return TOK_Literal;
				} else {
					return '}';
				}
			}
	YY_BREAK

case 131:
YY_RULE_SETUP
#line 433 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 436 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_atoi(p); break; }
		if(v1 < 0 || v1 > 7) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..7 range for Tuple's TableColumn\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 15) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..15 range for Tuple's TableRow\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 4) + v2;
		return TOK_tuple;
	}
	YY_BREAK
case 133:
YY_RULE_SETUP
#line 461 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = _lex_atoi(p); break; }
		if(v1 < 0 || v1 > 127) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..127 range for Quadruple's Group\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Plane\n",
				yytext, yylineno);
			return -1;
		}
		if(v3 < 0 || v3 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Row\n",
				yytext, yylineno);
			return -1;
		}
		if(v4 < 0 || v4 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Cell\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
		return TOK_quadruple;
	}
	YY_BREAK
case 134:
YY_RULE_SETUP
#line 505 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 135:
YY_RULE_SETUP
#line 507 "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 136:
YY_RULE_SETUP
#line 518 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		if(0) {
			yy_top_state();	/* Just to use this function. */
			yy_fatal_error("Parse error");
		}
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(idash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 531 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 137:
YY_RULE_SETUP
#line 538 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3102 "asn1p_l.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 >= 735 )
				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 >= 735 )
			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 == 734);
	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 538 "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); }

/* Yet another */
void asn1p_lexer_hack_push_encoding_control() {
	yy_push_state(encoding_control);
}

static asn1c_integer_t
_lex_atoi(const char *ptr) {
	asn1c_integer_t value;
	if(asn1p_atoi(ptr, &value)) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;
	}
	return value;
}
