| 
version 1.1.1.1, 2012/02/21 22:39:10
 | 
version 1.1.1.2, 2014/06/15 16:37:11
 | 
| 
 Line 1
 | 
 Line 1
 | 
 |   | 
  /* A Bison parser, made by GNU Bison 2.6.2.  */ | 
 |   | 
   | 
| /* A Bison parser, made by GNU Bison 2.4.1.  */ | /* Bison implementation for Yacc-like parsers in C | 
 |   | 
| /* Skeleton implementation for Bison's Yacc-like parsers in C |   | 
 |      | 
      | 
|       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |       Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. | 
|    Free Software Foundation, Inc. |   | 
 |      | 
      | 
 |     This program is free software: you can redistribute it and/or modify | 
     This program is free software: you can redistribute it and/or modify | 
 |     it under the terms of the GNU General Public License as published by | 
     it under the terms of the GNU General Public License as published by | 
| 
 Line 46
 | 
 Line 44
 | 
 |  #define YYBISON 1 | 
  #define YYBISON 1 | 
 |   | 
   | 
 |  /* Bison version.  */ | 
  /* Bison version.  */ | 
| #define YYBISON_VERSION "2.4.1" | #define YYBISON_VERSION "2.6.2" | 
 |   | 
   | 
 |  /* Skeleton name.  */ | 
  /* Skeleton name.  */ | 
 |  #define YYSKELETON_NAME "yacc.c" | 
  #define YYSKELETON_NAME "yacc.c" | 
| 
 Line 60
 | 
 Line 58
 | 
 |  /* Pull parsers.  */ | 
  /* Pull parsers.  */ | 
 |  #define YYPULL 1 | 
  #define YYPULL 1 | 
 |   | 
   | 
 |  /* Using locations.  */ | 
   | 
 |  #define YYLSP_NEEDED 0 | 
   | 
 |   | 
   | 
 |   | 
   | 
 |   | 
   | 
 |  /* Copy the first part of user declarations.  */ | 
  /* Copy the first part of user declarations.  */ | 
 | /* Line 336 of yacc.c  */ | 
| /* Line 189 of yacc.c  */ |   | 
 |  #line 5 "cfparse.y" | 
  #line 5 "cfparse.y" | 
 |   | 
   | 
 |  /* | 
  /* | 
| 
 Line 239  static int load_x509(const char *file, char **filename
 | 
 Line 234  static int load_x509(const char *file, char **filename
 | 
 |          return 0; | 
          return 0; | 
 |  } | 
  } | 
 |   | 
   | 
 |   | 
  static int process_rmconf() | 
 |   | 
  { | 
 |   | 
   | 
 |   | 
          /* check a exchange mode */ | 
 |   | 
          if (cur_rmconf->etypes == NULL) { | 
 |   | 
                  yyerror("no exchange mode specified.\n"); | 
 |   | 
                  return -1; | 
 |   | 
          } | 
 |   | 
   | 
| /* Line 189 of yacc.c  */ |         if (cur_rmconf->idvtype == IDTYPE_UNDEFINED) | 
| #line 246 "cfparse.c" |                 cur_rmconf->idvtype = IDTYPE_ADDRESS; | 
 |   | 
   | 
| /* Enabling traces.  */ |         if (cur_rmconf->idvtype == IDTYPE_ASN1DN) { | 
| #ifndef YYDEBUG |                 if (cur_rmconf->mycertfile) { | 
| # define YYDEBUG 0 |                         if (cur_rmconf->idv) | 
| #endif |                                 yywarn("Both CERT and ASN1 ID " | 
|   |                                        "are set. Hope this is OK.\n"); | 
|   |                         /* TODO: Preparse the DN here */ | 
|   |                 } else if (cur_rmconf->idv) { | 
|   |                         /* OK, using asn1dn without X.509. */ | 
|   |                 } else { | 
|   |                         yyerror("ASN1 ID not specified " | 
|   |                                 "and no CERT defined!\n"); | 
|   |                         return -1; | 
|   |                 } | 
|   |         } | 
 |   | 
   | 
 |   | 
          if (duprmconf_finish(cur_rmconf)) | 
 |   | 
                  return -1; | 
 |   | 
   | 
 |   | 
          if (set_isakmp_proposal(cur_rmconf) != 0) | 
 |   | 
                  return -1; | 
 |   | 
   | 
 |   | 
          /* DH group settting if aggressive mode is there. */ | 
 |   | 
          if (check_etypeok(cur_rmconf, (void*) ISAKMP_ETYPE_AGG)) { | 
 |   | 
                  struct isakmpsa *p; | 
 |   | 
                  int b = 0; | 
 |   | 
   | 
 |   | 
                  /* DH group */ | 
 |   | 
                  for (p = cur_rmconf->proposal; p; p = p->next) { | 
 |   | 
                          if (b == 0 || (b && b == p->dh_group)) { | 
 |   | 
                                  b = p->dh_group; | 
 |   | 
                                  continue; | 
 |   | 
                          } | 
 |   | 
                          yyerror("DH group must be equal " | 
 |   | 
                                  "in all proposals " | 
 |   | 
                                  "when aggressive mode is " | 
 |   | 
                                  "used.\n"); | 
 |   | 
                          return -1; | 
 |   | 
                  } | 
 |   | 
                  cur_rmconf->dh_group = b; | 
 |   | 
   | 
 |   | 
                  if (cur_rmconf->dh_group == 0) { | 
 |   | 
                          yyerror("DH group must be set in the proposal.\n"); | 
 |   | 
                          return -1; | 
 |   | 
                  } | 
 |   | 
   | 
 |   | 
                  /* DH group settting if PFS is required. */ | 
 |   | 
                  if (oakley_setdhgroup(cur_rmconf->dh_group, | 
 |   | 
                                  &cur_rmconf->dhgrp) < 0) { | 
 |   | 
                          yyerror("failed to set DH value.\n"); | 
 |   | 
                          return -1; | 
 |   | 
                  } | 
 |   | 
          } | 
 |   | 
   | 
 |   | 
          insrmconf(cur_rmconf); | 
 |   | 
   | 
 |   | 
          return 0; | 
 |   | 
  } | 
 |   | 
   | 
 |   | 
   | 
 |   | 
  /* Line 336 of yacc.c  */ | 
 |   | 
  #line 310 "cfparse.c" | 
 |   | 
   | 
 |   | 
  # ifndef YY_NULL | 
 |   | 
  #  if defined __cplusplus && 201103L <= __cplusplus | 
 |   | 
  #   define YY_NULL nullptr | 
 |   | 
  #  else | 
 |   | 
  #   define YY_NULL 0 | 
 |   | 
  #  endif | 
 |   | 
  # endif | 
 |   | 
   | 
 |  /* Enabling verbose error messages.  */ | 
  /* Enabling verbose error messages.  */ | 
 |  #ifdef YYERROR_VERBOSE | 
  #ifdef YYERROR_VERBOSE | 
 |  # undef YYERROR_VERBOSE | 
  # undef YYERROR_VERBOSE | 
| 
 Line 257  static int load_x509(const char *file, char **filename
 | 
 Line 324  static int load_x509(const char *file, char **filename
 | 
 |  # define YYERROR_VERBOSE 0 | 
  # define YYERROR_VERBOSE 0 | 
 |  #endif | 
  #endif | 
 |   | 
   | 
| /* Enabling the token table.  */ | /* In a future release of Bison, this section will be replaced | 
| #ifndef YYTOKEN_TABLE |    by #include "y.tab.h".  */ | 
| # define YYTOKEN_TABLE 0 | #ifndef YY_Y_TAB_H | 
|   | # define YY_Y_TAB_H | 
|   | /* Enabling traces.  */ | 
|   | #ifndef YYDEBUG | 
|   | # define YYDEBUG 0 | 
 |  #endif | 
  #endif | 
 |   | 
  #if YYDEBUG | 
 |   | 
  extern int yydebug; | 
 |   | 
  #endif | 
 |   | 
   | 
 |   | 
   | 
 |  /* Tokens.  */ | 
  /* Tokens.  */ | 
 |  #ifndef YYTOKENTYPE | 
  #ifndef YYTOKENTYPE | 
 |  # define YYTOKENTYPE | 
  # define YYTOKENTYPE | 
| 
 Line 617  static int load_x509(const char *file, char **filename
 | 
 Line 690  static int load_x509(const char *file, char **filename
 | 
 |   | 
   | 
 |   | 
   | 
 |   | 
   | 
 |   | 
   | 
 |  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED | 
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED | 
 |  typedef union YYSTYPE | 
  typedef union YYSTYPE | 
 |  { | 
  { | 
 |   | 
  /* Line 350 of yacc.c  */ | 
 |   | 
  #line 247 "cfparse.y" | 
 |   | 
   | 
 |  /* Line 214 of yacc.c  */ | 
   | 
 |  #line 177 "cfparse.y" | 
   | 
 |   | 
   | 
 |          unsigned long num; | 
          unsigned long num; | 
 |          vchar_t *val; | 
          vchar_t *val; | 
 |          struct remoteconf *rmconf; | 
          struct remoteconf *rmconf; | 
| 
 Line 632  typedef union YYSTYPE
 | 
 Line 703  typedef union YYSTYPE
 | 
 |          struct sainfoalg *alg; | 
          struct sainfoalg *alg; | 
 |   | 
   | 
 |   | 
   | 
 | /* Line 350 of yacc.c  */ | 
| /* Line 214 of yacc.c  */ | #line 708 "cfparse.c" | 
| #line 638 "cfparse.c" |   | 
 |  } YYSTYPE; | 
  } YYSTYPE; | 
 |  # define YYSTYPE_IS_TRIVIAL 1 | 
  # define YYSTYPE_IS_TRIVIAL 1 | 
 |  # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | 
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | 
 |  # define YYSTYPE_IS_DECLARED 1 | 
  # define YYSTYPE_IS_DECLARED 1 | 
 |  #endif | 
  #endif | 
 |   | 
   | 
 |   | 
  extern YYSTYPE yylval; | 
 |   | 
   | 
| /* Copy the second part of user declarations.  */ | #ifdef YYPARSE_PARAM | 
|   | #if defined __STDC__ || defined __cplusplus | 
|   | int yyparse (void *YYPARSE_PARAM); | 
|   | #else | 
|   | int yyparse (); | 
|   | #endif | 
|   | #else /* ! YYPARSE_PARAM */ | 
|   | #if defined __STDC__ || defined __cplusplus | 
|   | int yyparse (void); | 
|   | #else | 
|   | int yyparse (); | 
|   | #endif | 
|   | #endif /* ! YYPARSE_PARAM */ | 
 |   | 
   | 
 |   | 
  #endif /* !YY_Y_TAB_H  */ | 
 |   | 
   | 
| /* Line 264 of yacc.c  */ | /* Copy the second part of user declarations.  */ | 
| #line 650 "cfparse.c" |   | 
 |   | 
   | 
 |   | 
  /* Line 353 of yacc.c  */ | 
 |   | 
  #line 736 "cfparse.c" | 
 |   | 
   | 
 |  #ifdef short | 
  #ifdef short | 
 |  # undef short | 
  # undef short | 
 |  #endif | 
  #endif | 
| 
 Line 696  typedef short int yytype_int16;
 | 
 Line 782  typedef short int yytype_int16;
 | 
 |  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) | 
  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) | 
 |   | 
   | 
 |  #ifndef YY_ | 
  #ifndef YY_ | 
| # if YYENABLE_NLS | # if defined YYENABLE_NLS && YYENABLE_NLS | 
 |  #  if ENABLE_NLS | 
  #  if ENABLE_NLS | 
 |  #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */ | 
  #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */ | 
 |  #   define YY_(msgid) dgettext ("bison-runtime", msgid) | 
  #   define YY_(msgid) dgettext ("bison-runtime", msgid) | 
| 
 Line 749  YYID (yyi)
 | 
 Line 835  YYID (yyi)
 | 
 |  #    define alloca _alloca | 
  #    define alloca _alloca | 
 |  #   else | 
  #   else | 
 |  #    define YYSTACK_ALLOC alloca | 
  #    define YYSTACK_ALLOC alloca | 
| #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ | 
 |       || defined __cplusplus || defined _MSC_VER) | 
       || defined __cplusplus || defined _MSC_VER) | 
 |  #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | 
  #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | 
| #     ifndef _STDLIB_H |       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */ | 
| #      define _STDLIB_H 1 | #     ifndef EXIT_SUCCESS | 
|   | #      define EXIT_SUCCESS 0 | 
 |  #     endif | 
  #     endif | 
 |  #    endif | 
  #    endif | 
 |  #   endif | 
  #   endif | 
| 
 Line 776  YYID (yyi)
 | 
 Line 863  YYID (yyi)
 | 
 |  #  ifndef YYSTACK_ALLOC_MAXIMUM | 
  #  ifndef YYSTACK_ALLOC_MAXIMUM | 
 |  #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM | 
  #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM | 
 |  #  endif | 
  #  endif | 
| #  if (defined __cplusplus && ! defined _STDLIB_H \ | #  if (defined __cplusplus && ! defined EXIT_SUCCESS \ | 
 |         && ! ((defined YYMALLOC || defined malloc) \ | 
         && ! ((defined YYMALLOC || defined malloc) \ | 
 |               && (defined YYFREE || defined free))) | 
               && (defined YYFREE || defined free))) | 
 |  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | 
  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | 
| #   ifndef _STDLIB_H | #   ifndef EXIT_SUCCESS | 
| #    define _STDLIB_H 1 | #    define EXIT_SUCCESS 0 | 
 |  #   endif | 
  #   endif | 
 |  #  endif | 
  #  endif | 
 |  #  ifndef YYMALLOC | 
  #  ifndef YYMALLOC | 
 |  #   define YYMALLOC malloc | 
  #   define YYMALLOC malloc | 
| #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ | 
 |       || defined __cplusplus || defined _MSC_VER) | 
       || defined __cplusplus || defined _MSC_VER) | 
 |  void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ | 
  void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ | 
 |  #   endif | 
  #   endif | 
 |  #  endif | 
  #  endif | 
 |  #  ifndef YYFREE | 
  #  ifndef YYFREE | 
 |  #   define YYFREE free | 
  #   define YYFREE free | 
| #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ | 
 |       || defined __cplusplus || defined _MSC_VER) | 
       || defined __cplusplus || defined _MSC_VER) | 
 |  void free (void *); /* INFRINGES ON USER NAME SPACE */ | 
  void free (void *); /* INFRINGES ON USER NAME SPACE */ | 
 |  #   endif | 
  #   endif | 
| 
 Line 822  union yyalloc
 | 
 Line 909  union yyalloc
 | 
 |       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ | 
       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ | 
 |        + YYSTACK_GAP_MAXIMUM) | 
        + YYSTACK_GAP_MAXIMUM) | 
 |   | 
   | 
| /* Copy COUNT objects from FROM to TO.  The source and destination do | # define YYCOPY_NEEDED 1 | 
|    not overlap.  */ |   | 
| # ifndef YYCOPY |   | 
| #  if defined __GNUC__ && 1 < __GNUC__ |   | 
| #   define YYCOPY(To, From, Count) \ |   | 
|       __builtin_memcpy (To, From, (Count) * sizeof (*(From))) |   | 
| #  else |   | 
| #   define YYCOPY(To, From, Count)              \ |   | 
|       do                                        \ |   | 
|         {                                       \ |   | 
|           YYSIZE_T yyi;                         \ |   | 
|           for (yyi = 0; yyi < (Count); yyi++)   \ |   | 
|             (To)[yyi] = (From)[yyi];            \ |   | 
|         }                                       \ |   | 
|       while (YYID (0)) |   | 
| #  endif |   | 
| # endif |   | 
 |   | 
   | 
 |  /* Relocate STACK from its old location to the new one.  The | 
  /* Relocate STACK from its old location to the new one.  The | 
 |     local variables YYSIZE and YYSTACKSIZE give the old and new number of | 
     local variables YYSIZE and YYSTACKSIZE give the old and new number of | 
| 
 Line 858  union yyalloc
 | 
 Line 929  union yyalloc
 | 
 |   | 
   | 
 |  #endif | 
  #endif | 
 |   | 
   | 
 |   | 
  #if defined YYCOPY_NEEDED && YYCOPY_NEEDED | 
 |   | 
  /* Copy COUNT objects from SRC to DST.  The source and destination do | 
 |   | 
     not overlap.  */ | 
 |   | 
  # ifndef YYCOPY | 
 |   | 
  #  if defined __GNUC__ && 1 < __GNUC__ | 
 |   | 
  #   define YYCOPY(Dst, Src, Count) \ | 
 |   | 
        __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) | 
 |   | 
  #  else | 
 |   | 
  #   define YYCOPY(Dst, Src, Count)              \ | 
 |   | 
        do                                        \ | 
 |   | 
          {                                       \ | 
 |   | 
            YYSIZE_T yyi;                         \ | 
 |   | 
            for (yyi = 0; yyi < (Count); yyi++)   \ | 
 |   | 
              (Dst)[yyi] = (Src)[yyi];            \ | 
 |   | 
          }                                       \ | 
 |   | 
        while (YYID (0)) | 
 |   | 
  #  endif | 
 |   | 
  # endif | 
 |   | 
  #endif /* !YYCOPY_NEEDED */ | 
 |   | 
   | 
 |  /* YYFINAL -- State number of the termination state.  */ | 
  /* YYFINAL -- State number of the termination state.  */ | 
 |  #define YYFINAL  2 | 
  #define YYFINAL  2 | 
 |  /* YYLAST -- Last index in YYTABLE.  */ | 
  /* YYLAST -- Last index in YYTABLE.  */ | 
| #define YYLAST   548 | #define YYLAST   534 | 
 |   | 
   | 
 |  /* YYNTOKENS -- Number of terminals.  */ | 
  /* YYNTOKENS -- Number of terminals.  */ | 
 |  #define YYNTOKENS  174 | 
  #define YYNTOKENS  174 | 
 |  /* YYNNTS -- Number of nonterminals.  */ | 
  /* YYNNTS -- Number of nonterminals.  */ | 
| #define YYNNTS  203 | #define YYNNTS  204 | 
 |  /* YYNRULES -- Number of rules.  */ | 
  /* YYNRULES -- Number of rules.  */ | 
| #define YYNRULES  379 | #define YYNRULES  381 | 
 |  /* YYNRULES -- Number of states.  */ | 
  /* YYNRULES -- Number of states.  */ | 
| #define YYNSTATES  689 | #define YYNSTATES  691 | 
 |   | 
   | 
 |  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ | 
  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ | 
 |  #define YYUNDEFTOK  2 | 
  #define YYUNDEFTOK  2 | 
| 
 Line 957  static const yytype_uint16 yyprhs[] =
 | 
 Line 1048  static const yytype_uint16 yyprhs[] =
 | 
 |       656,   657,   662,   663,   670,   671,   678,   679,   684,   686, | 
       656,   657,   662,   663,   670,   671,   678,   679,   684,   686, | 
 |       687,   692,   695,   696,   698,   699,   701,   703,   705,   707, | 
       687,   692,   695,   696,   698,   699,   701,   703,   705,   707, | 
 |       709,   710,   712,   713,   720,   721,   726,   727,   734,   735, | 
       709,   710,   712,   713,   720,   721,   726,   727,   734,   735, | 
|      740,   744,   747,   749,   750,   753,   754,   759,   760,   765, |      740,   742,   744,   748,   751,   753,   754,   757,   758,   763, | 
|      766,   771,   772,   777,   780,   781,   786,   787,   793,   794, |      764,   769,   770,   775,   776,   781,   784,   785,   790,   791, | 
|      800,   801,   806,   807,   813,   814,   819,   820,   825,   826, |      797,   798,   804,   805,   810,   811,   817,   818,   823,   824, | 
|      831,   832,   837,   838,   844,   845,   852,   853,   858,   859, |      829,   830,   835,   836,   841,   842,   848,   849,   856,   857, | 
|      865,   866,   873,   874,   879,   880,   885,   886,   891,   892, |      862,   863,   869,   870,   877,   878,   883,   884,   889,   890, | 
|      897,   898,   903,   904,   909,   910,   915,   916,   922,   923, |      895,   896,   901,   902,   907,   908,   913,   914,   919,   920, | 
|      929,   930,   936,   937,   942,   943,   948,   949,   954,   955, |      926,   927,   933,   934,   940,   941,   946,   947,   952,   953, | 
|      960,   961,   966,   967,   972,   973,   978,   979,   984,   985, |      958,   959,   964,   965,   970,   971,   976,   977,   982,   983, | 
|      990,   991,   996,   997,  1002,  1003,  1008,  1009,  1014,  1015, |      988,   989,   994,   995,  1000,  1001,  1006,  1007,  1012,  1013, | 
|     1020,  1021,  1026,  1027,  1034,  1035,  1040,  1041,  1048,  1049, |     1018,  1019,  1024,  1025,  1030,  1031,  1038,  1039,  1044,  1045, | 
|     1055,  1056,  1059,  1060,  1066,  1067,  1072,  1074,  1076,  1077, |     1052,  1053,  1059,  1060,  1063,  1064,  1070,  1071,  1076,  1078, | 
|     1079,  1081,  1082,  1085,  1086,  1093,  1094,  1101,  1102,  1107, |     1080,  1081,  1083,  1085,  1086,  1089,  1090,  1097,  1098,  1105, | 
|     1108,  1113,  1114,  1120,  1122,  1124,  1126,  1128,  1130,  1132 |     1106,  1111,  1112,  1117,  1118,  1124,  1126,  1128,  1130,  1132, | 
|   |     1134,  1136 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */ | 
  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */ | 
| 
 Line 1031  static const yytype_int16 yyrhs[] =
 | 
 Line 1123  static const yytype_int16 yyrhs[] =
 | 
 |        -1,   274,   173,   273,    -1,   160,    -1,   276,    -1,   276, | 
        -1,   274,   173,   273,    -1,   160,    -1,   276,    -1,   276, | 
 |       173,   275,    -1,   160,    -1,    70,   171,   278,   172,    -1, | 
       173,   275,    -1,   160,    -1,    70,   171,   278,   172,    -1, | 
 |        -1,   278,   279,    -1,    -1,    71,   156,   280,   170,    -1, | 
        -1,   278,   279,    -1,    -1,    71,   156,   280,   170,    -1, | 
|       -1,    72,   156,   375,   281,   170,    -1,    -1,    73,   156, |       -1,    72,   156,   376,   281,   170,    -1,    -1,    73,   156, | 
|      282,   170,    -1,    -1,    74,   156,   375,   283,   170,    -1, |      282,   170,    -1,    -1,    74,   156,   376,   283,   170,    -1, | 
|       -1,    75,   156,   375,   284,   170,    -1,    -1,    76,   156, |       -1,    75,   156,   376,   284,   170,    -1,    -1,    76,   156, | 
|      375,   285,   170,    -1,    -1,    -1,    80,   287,   289,   291, |      376,   285,   170,    -1,    -1,    -1,    80,   287,   289,   291, | 
 |       171,   292,   288,   172,    -1,    83,    -1,    83,    84,    -1, | 
       171,   292,   288,   172,    -1,    83,    -1,    83,    84,    -1, | 
 |        83,   290,    -1,   290,    83,    -1,   290,    84,    -1,   290, | 
        83,   290,    -1,   290,    83,    -1,   290,    84,    -1,   290, | 
 |       290,    -1,   101,   161,   302,   303,   304,    -1,   101,   161, | 
       290,    -1,   101,   161,   302,   303,   304,    -1,   101,   161, | 
 |       162,   302,   303,   304,    -1,   101,   160,    -1,    -1,    81, | 
       162,   302,   303,   304,    -1,   101,   160,    -1,    -1,    81, | 
|      101,   367,    -1,     5,   160,    -1,    -1,   292,   293,    -1, |      101,   368,    -1,     5,   160,    -1,    -1,   292,   293,    -1, | 
|       -1,   146,   366,   294,   170,    -1,    -1,   151,   156,   295, |       -1,   146,   367,   294,   170,    -1,    -1,   151,   156,   295, | 
|      170,    -1,    -1,   147,   148,   156,   375,   296,   170,    -1, |      170,    -1,    -1,   147,   148,   156,   376,   296,   170,    -1, | 
|       -1,   147,   149,   156,   376,   297,   170,    -1,    -1,    77, |       -1,   147,   149,   156,   377,   297,   170,    -1,    -1,    77, | 
 |       298,   299,   170,    -1,   301,    -1,    -1,   301,   300,   173, | 
       298,   299,   170,    -1,   301,    -1,    -1,   301,   300,   173, | 
 |       299,    -1,    78,   305,    -1,    -1,   138,    -1,    -1,   139, | 
       299,    -1,    78,   305,    -1,    -1,   138,    -1,    -1,   139, | 
 |        -1,   140,    -1,   156,    -1,   141,    -1,   142,    -1,    -1, | 
        -1,   140,    -1,   156,    -1,   141,    -1,   142,    -1,    -1, | 
 |       156,    -1,    -1,    82,   160,    85,   160,   307,   311,    -1, | 
       156,    -1,    -1,    82,   160,    85,   160,   307,   311,    -1, | 
|       -1,    82,   160,   308,   311,    -1,    -1,    82,   312,    85, |       -1,    82,   160,   308,   312,    -1,    -1,    82,   313,    85, | 
|      312,   309,   311,    -1,    -1,    82,   312,   310,   311,    -1, |      313,   309,   311,    -1,    -1,    82,   313,   310,   312,    -1, | 
|      171,   313,   172,    -1,    83,   212,    -1,   211,    -1,    -1, |      312,    -1,   170,    -1,   171,   314,   172,    -1,    83,   212, | 
|      313,   314,    -1,    -1,    86,   211,   315,   170,    -1,    -1, |       -1,   211,    -1,    -1,   314,   315,    -1,    -1,    86,   211, | 
|       87,   316,   362,   170,    -1,    -1,    89,    90,   317,   170, |      316,   170,    -1,    -1,    87,   317,   363,   170,    -1,    -1, | 
|       -1,    -1,    91,    92,   318,   170,    -1,    93,   363,    -1, |       89,    90,   318,   170,    -1,    -1,    91,    92,   319,   170, | 
|       -1,    95,   160,   319,   170,    -1,    -1,    95,   107,   160, |       -1,    93,   364,    -1,    -1,    95,   160,   320,   170,    -1, | 
|      320,   170,    -1,    -1,    95,   108,   160,   321,   170,    -1, |       -1,    95,   107,   160,   321,   170,    -1,    -1,    95,   108, | 
|       -1,    95,   106,   322,   170,    -1,    -1,    96,   107,   160, |      160,   322,   170,    -1,    -1,    95,   106,   323,   170,    -1, | 
|      323,   170,    -1,    -1,    97,   157,   324,   170,    -1,    -1, |       -1,    96,   107,   160,   324,   170,    -1,    -1,    97,   157, | 
|       98,   157,   325,   170,    -1,    -1,    99,   157,   326,   170, |      325,   170,    -1,    -1,    98,   157,   326,   170,    -1,    -1, | 
|       -1,    -1,   100,   157,   327,   170,    -1,    -1,   103,   101, |       99,   157,   327,   170,    -1,    -1,   100,   157,   328,   170, | 
|      367,   328,   170,    -1,    -1,   103,   101,   102,   367,   329, |       -1,    -1,   103,   101,   368,   329,   170,    -1,    -1,   103, | 
|      170,    -1,    -1,   135,   367,   330,   170,    -1,    -1,   104, |      101,   102,   368,   330,   170,    -1,    -1,   135,   368,   331, | 
|      101,   367,   331,   170,    -1,    -1,   104,   101,   102,   367, |      170,    -1,    -1,   104,   101,   368,   332,   170,    -1,    -1, | 
|      332,   170,    -1,    -1,   105,   157,   333,   170,    -1,    -1, |      104,   101,   102,   368,   333,   170,    -1,    -1,   105,   157, | 
|      109,   156,   334,   170,    -1,    -1,   110,   335,   366,   170, |      334,   170,    -1,    -1,   109,   156,   335,   170,    -1,    -1, | 
|       -1,    -1,   112,   157,   336,   170,    -1,    -1,   143,   157, |      110,   336,   367,   170,    -1,    -1,   112,   157,   337,   170, | 
|      337,   170,    -1,    -1,   143,   115,   338,   170,    -1,    -1, |       -1,    -1,   143,   157,   338,   170,    -1,    -1,   143,   115, | 
|      144,   156,   339,   170,    -1,    -1,   152,   160,   153,   340, |      339,   170,    -1,    -1,   144,   156,   340,   170,    -1,    -1, | 
|      170,    -1,    -1,   152,   160,   154,   341,   170,    -1,    -1, |      152,   160,   153,   341,   170,    -1,    -1,   152,   160,   154, | 
|      152,   160,   155,   342,   170,    -1,    -1,   145,   157,   343, |      342,   170,    -1,    -1,   152,   160,   155,   343,   170,    -1, | 
|      170,    -1,    -1,   136,   157,   344,   170,    -1,    -1,   118, |       -1,   145,   157,   344,   170,    -1,    -1,   136,   157,   345, | 
|      157,   345,   170,    -1,    -1,   118,   119,   346,   170,    -1, |      170,    -1,    -1,   118,   157,   346,   170,    -1,    -1,   118, | 
|       -1,   120,   157,   347,   170,    -1,    -1,   113,   157,   348, |      119,   347,   170,    -1,    -1,   120,   157,   348,   170,    -1, | 
|      170,    -1,    -1,   114,   157,   349,   170,    -1,    -1,   114, |       -1,   113,   157,   349,   170,    -1,    -1,   114,   157,   350, | 
|      115,   350,   170,    -1,    -1,   130,   157,   351,   170,    -1, |      170,    -1,    -1,   114,   115,   351,   170,    -1,    -1,   130, | 
|       -1,   131,   156,   352,   170,    -1,    -1,   132,   156,   353, |      157,   352,   170,    -1,    -1,   131,   156,   353,   170,    -1, | 
|      170,    -1,    -1,   133,   156,   354,   170,    -1,    -1,   137, |       -1,   132,   156,   354,   170,    -1,    -1,   133,   156,   355, | 
|      157,   355,   170,    -1,    -1,   137,   115,   356,   170,    -1, |      170,    -1,    -1,   137,   157,   356,   170,    -1,    -1,   137, | 
|       -1,   134,   156,   357,   170,    -1,    -1,   147,   148,   156, |      115,   357,   170,    -1,    -1,   134,   156,   358,   170,    -1, | 
|      375,   358,   170,    -1,    -1,   116,   117,   359,   170,    -1, |       -1,   147,   148,   156,   376,   359,   170,    -1,    -1,   116, | 
|       -1,   147,   149,   156,   376,   360,   170,    -1,    -1,   121, |      117,   360,   170,    -1,    -1,   147,   149,   156,   377,   361, | 
|      361,   171,   368,   172,    -1,    -1,   362,    88,    -1,    -1, |      170,    -1,    -1,   121,   362,   171,   369,   172,    -1,    -1, | 
|      107,   160,   160,   364,   170,    -1,    -1,   108,   160,   365, |      363,    88,    -1,    -1,   107,   160,   160,   365,   170,    -1, | 
|      170,    -1,    78,    -1,   156,    -1,    -1,   161,    -1,   160, |       -1,   108,   160,   366,   170,    -1,    78,    -1,   156,    -1, | 
|       -1,    -1,   368,   369,    -1,    -1,   147,   148,   156,   375, |       -1,   161,    -1,   160,    -1,    -1,   369,   370,    -1,    -1, | 
|      370,   170,    -1,    -1,   147,   149,   156,   376,   371,   170, |      147,   148,   156,   376,   371,   170,    -1,    -1,   147,   149, | 
|       -1,    -1,   110,   366,   372,   170,    -1,    -1,   126,   160, |      156,   377,   372,   170,    -1,    -1,   110,   367,   373,   170, | 
|      373,   170,    -1,    -1,    77,    78,   305,   374,   170,    -1, |       -1,    -1,   126,   160,   374,   170,    -1,    -1,    77,    78, | 
|      167,    -1,   168,    -1,   169,    -1,   163,    -1,   164,    -1, |      305,   375,   170,    -1,   167,    -1,   168,    -1,   169,    -1, | 
|      165,    -1,   166,    -1 |      163,    -1,   164,    -1,   165,    -1,   166,    -1 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ | 
  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ | 
 |  static const yytype_uint16 yyrline[] = | 
  static const yytype_uint16 yyrline[] = | 
 |  { | 
  { | 
|        0,   266,   266,   268,   271,   272,   273,   274,   275,   276, |        0,   336,   336,   338,   341,   342,   343,   344,   345,   346, | 
|      277,   278,   279,   280,   281,   282,   283,   284,   285,   290, |      347,   348,   349,   350,   351,   352,   353,   354,   355,   360, | 
|      292,   294,   298,   297,   308,   308,   310,   309,   320,   320, |      362,   364,   368,   367,   378,   378,   380,   379,   390,   390, | 
|      321,   321,   327,   326,   347,   347,   352,   366,   373,   385, |      391,   391,   397,   396,   417,   417,   422,   436,   443,   455, | 
|      388,   402,   404,   406,   409,   409,   410,   410,   411,   411, |      458,   472,   474,   476,   479,   479,   480,   480,   481,   481, | 
|      412,   412,   413,   413,   418,   420,   422,   426,   425,   432, |      482,   482,   483,   483,   488,   490,   492,   496,   495,   502, | 
|      431,   443,   442,   452,   451,   461,   460,   469,   469,   472, |      501,   513,   512,   522,   521,   531,   530,   539,   539,   542, | 
|      484,   485,   490,   490,   507,   509,   513,   512,   531,   530, |      554,   555,   560,   560,   577,   579,   583,   582,   601,   600, | 
|      549,   548,   567,   566,   585,   584,   594,   593,   606,   606, |      619,   618,   637,   636,   655,   654,   664,   663,   676,   676, | 
|      617,   619,   623,   622,   634,   633,   645,   644,   654,   653, |      687,   689,   693,   692,   704,   703,   715,   714,   724,   723, | 
|      665,   664,   674,   673,   685,   684,   696,   695,   707,   706, |      735,   734,   744,   743,   755,   754,   766,   765,   777,   776, | 
|      718,   717,   729,   728,   740,   739,   754,   756,   758,   762, |      788,   787,   799,   798,   810,   809,   824,   826,   828,   832, | 
|      761,   773,   772,   783,   785,   788,   787,   797,   796,   806, |      831,   843,   842,   853,   855,   858,   857,   867,   866,   876, | 
|      805,   813,   812,   825,   824,   834,   833,   847,   846,   860, |      875,   883,   882,   895,   894,   904,   903,   917,   916,   930, | 
|      859,   873,   872,   880,   879,   889,   888,   902,   901,   911, |      929,   943,   942,   950,   949,   959,   958,   972,   971,   981, | 
|      910,   920,   919,   933,   932,   946,   945,   956,   955,   965, |      980,   990,   989,  1003,  1002,  1016,  1015,  1026,  1025,  1035, | 
|      964,   974,   973,   983,   982,   992,   991,  1005,  1004,  1018, |     1034,  1044,  1043,  1053,  1052,  1062,  1061,  1075,  1074,  1088, | 
|     1017,  1031,  1032,  1035,  1052,  1053,  1056,  1073,  1074,  1077, |     1087,  1101,  1102,  1105,  1122,  1123,  1126,  1143,  1144,  1147, | 
|     1100,  1101,  1104,  1138,  1139,  1142,  1179,  1181,  1183,  1187, |     1170,  1171,  1174,  1208,  1209,  1212,  1249,  1251,  1253,  1257, | 
|     1186,  1192,  1191,  1197,  1196,  1202,  1201,  1207,  1206,  1212, |     1256,  1262,  1261,  1267,  1266,  1272,  1271,  1277,  1276,  1282, | 
|     1211,  1228,  1236,  1227,  1275,  1280,  1285,  1290,  1295,  1300, |     1281,  1298,  1306,  1297,  1345,  1350,  1355,  1360,  1365,  1370, | 
|     1307,  1356,  1421,  1450,  1453,  1478,  1491,  1493,  1497,  1496, |     1377,  1426,  1491,  1520,  1523,  1548,  1561,  1563,  1567,  1566, | 
|     1502,  1501,  1507,  1506,  1512,  1511,  1523,  1523,  1530,  1535, |     1572,  1571,  1577,  1576,  1582,  1581,  1593,  1593,  1600,  1605, | 
|     1534,  1541,  1597,  1598,  1601,  1602,  1603,  1606,  1607,  1608, |     1604,  1611,  1667,  1668,  1671,  1672,  1673,  1676,  1677,  1678, | 
|     1611,  1612,  1618,  1617,  1648,  1647,  1668,  1667,  1691,  1690, |     1681,  1682,  1688,  1687,  1718,  1717,  1738,  1737,  1761,  1760, | 
|     1707,  1784,  1790,  1799,  1801,  1805,  1804,  1814,  1813,  1818, |     1777,  1778,  1786,  1793,  1799,  1808,  1810,  1814,  1813,  1823, | 
|     1818,  1819,  1819,  1820,  1822,  1821,  1842,  1841,  1859,  1858, |     1822,  1827,  1827,  1828,  1828,  1829,  1831,  1830,  1851,  1850, | 
|     1889,  1888,  1903,  1902,  1919,  1919,  1920,  1920,  1921,  1921, |     1868,  1867,  1898,  1897,  1912,  1911,  1928,  1928,  1929,  1929, | 
|     1922,  1922,  1924,  1923,  1933,  1932,  1942,  1941,  1959,  1958, |     1930,  1930,  1931,  1931,  1933,  1932,  1942,  1941,  1951,  1950, | 
|     1976,  1975,  1992,  1992,  1993,  1993,  1995,  1994,  2000,  2000, |     1968,  1967,  1985,  1984,  2001,  2001,  2002,  2002,  2004,  2003, | 
|     2001,  2001,  2002,  2002,  2003,  2003,  2013,  2013,  2020,  2020, |     2009,  2009,  2010,  2010,  2011,  2011,  2012,  2012,  2022,  2022, | 
|     2027,  2027,  2034,  2034,  2035,  2035,  2038,  2038,  2039,  2039, |     2029,  2029,  2036,  2036,  2043,  2043,  2044,  2044,  2047,  2047, | 
|     2040,  2040,  2041,  2041,  2043,  2042,  2054,  2053,  2065,  2064, |     2048,  2048,  2049,  2049,  2050,  2050,  2052,  2051,  2063,  2062, | 
|     2073,  2072,  2082,  2081,  2091,  2090,  2099,  2099,  2100,  2100, |     2074,  2073,  2082,  2081,  2091,  2090,  2100,  2099,  2108,  2108, | 
|     2102,  2101,  2107,  2106,  2111,  2111,  2113,  2112,  2127,  2126, |     2109,  2109,  2111,  2110,  2116,  2115,  2120,  2120,  2122,  2121, | 
|     2137,  2139,  2163,  2162,  2184,  2183,  2217,  2225,  2237,  2238, |     2136,  2135,  2146,  2148,  2172,  2171,  2193,  2192,  2226,  2234, | 
|     2239,  2241,  2243,  2247,  2246,  2252,  2251,  2264,  2263,  2269, |     2246,  2247,  2248,  2250,  2252,  2256,  2255,  2261,  2260,  2273, | 
|     2268,  2282,  2281,  2379,  2380,  2381,  2384,  2385,  2386,  2387 |     2272,  2278,  2277,  2291,  2290,  2388,  2389,  2390,  2393,  2394, | 
|   |     2395,  2396 | 
 |  }; | 
  }; | 
 |  #endif | 
  #endif | 
 |   | 
   | 
| #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE | #if YYDEBUG || YYERROR_VERBOSE || 0 | 
 |  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 
  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 
 |     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */ | 
     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */ | 
 |  static const char *const yytname[] = | 
  static const char *const yytname[] = | 
| 
 Line 1199  static const char *const yytname[] =
 | 
 Line 1292  static const char *const yytname[] =
 | 
 |    "sainfo_name", "sainfo_id", "sainfo_param", "sainfo_specs", | 
    "sainfo_name", "sainfo_id", "sainfo_param", "sainfo_specs", | 
 |    "sainfo_spec", "$@72", "$@73", "$@74", "$@75", "$@76", "algorithms", | 
    "sainfo_spec", "$@72", "$@73", "$@74", "$@75", "$@76", "algorithms", | 
 |    "$@77", "algorithm", "prefix", "port", "ul_proto", "keylength", | 
    "$@77", "algorithm", "prefix", "port", "ul_proto", "keylength", | 
|   "remote_statement", "$@78", "$@79", "$@80", "$@81", "remote_specs_block", |   "remote_statement", "$@78", "$@79", "$@80", "$@81", | 
|   "remote_index", "remote_specs", "remote_spec", "$@82", "$@83", "$@84", |   "remote_specs_inherit_block", "remote_specs_block", "remote_index", | 
|   "$@85", "$@86", "$@87", "$@88", "$@89", "$@90", "$@91", "$@92", "$@93", |   "remote_specs", "remote_spec", "$@82", "$@83", "$@84", "$@85", "$@86", | 
|   "$@94", "$@95", "$@96", "$@97", "$@98", "$@99", "$@100", "$@101", |   "$@87", "$@88", "$@89", "$@90", "$@91", "$@92", "$@93", "$@94", "$@95", | 
|   "$@102", "$@103", "$@104", "$@105", "$@106", "$@107", "$@108", "$@109", |   "$@96", "$@97", "$@98", "$@99", "$@100", "$@101", "$@102", "$@103", | 
|   "$@110", "$@111", "$@112", "$@113", "$@114", "$@115", "$@116", "$@117", |   "$@104", "$@105", "$@106", "$@107", "$@108", "$@109", "$@110", "$@111", | 
|   "$@118", "$@119", "$@120", "$@121", "$@122", "$@123", "$@124", "$@125", |   "$@112", "$@113", "$@114", "$@115", "$@116", "$@117", "$@118", "$@119", | 
|   "$@126", "$@127", "$@128", "exchange_types", "cert_spec", "$@129", |   "$@120", "$@121", "$@122", "$@123", "$@124", "$@125", "$@126", "$@127", | 
|   "$@130", "dh_group_num", "identifierstring", "isakmpproposal_specs", |   "$@128", "exchange_types", "cert_spec", "$@129", "$@130", "dh_group_num", | 
|   "isakmpproposal_spec", "$@131", "$@132", "$@133", "$@134", "$@135", |   "identifierstring", "isakmpproposal_specs", "isakmpproposal_spec", | 
|   "unittype_time", "unittype_byte", 0 |   "$@131", "$@132", "$@133", "$@134", "$@135", "unittype_time", | 
|   |   "unittype_byte", YY_NULL | 
 |  }; | 
  }; | 
 |  #endif | 
  #endif | 
 |   | 
   | 
| 
 Line 1267  static const yytype_uint16 yyr1[] =
 | 
 Line 1361  static const yytype_uint16 yyr1[] =
 | 
 |       295,   293,   296,   293,   297,   293,   298,   293,   299,   300, | 
       295,   293,   296,   293,   297,   293,   298,   293,   299,   300, | 
 |       299,   301,   302,   302,   303,   303,   303,   304,   304,   304, | 
       299,   301,   302,   302,   303,   303,   303,   304,   304,   304, | 
 |       305,   305,   307,   306,   308,   306,   309,   306,   310,   306, | 
       305,   305,   307,   306,   308,   306,   309,   306,   310,   306, | 
|      311,   312,   312,   313,   313,   315,   314,   316,   314,   317, |      311,   311,   312,   313,   313,   314,   314,   316,   315,   317, | 
|      314,   318,   314,   314,   319,   314,   320,   314,   321,   314, |      315,   318,   315,   319,   315,   315,   320,   315,   321,   315, | 
|      322,   314,   323,   314,   324,   314,   325,   314,   326,   314, |      322,   315,   323,   315,   324,   315,   325,   315,   326,   315, | 
|      327,   314,   328,   314,   329,   314,   330,   314,   331,   314, |      327,   315,   328,   315,   329,   315,   330,   315,   331,   315, | 
|      332,   314,   333,   314,   334,   314,   335,   314,   336,   314, |      332,   315,   333,   315,   334,   315,   335,   315,   336,   315, | 
|      337,   314,   338,   314,   339,   314,   340,   314,   341,   314, |      337,   315,   338,   315,   339,   315,   340,   315,   341,   315, | 
|      342,   314,   343,   314,   344,   314,   345,   314,   346,   314, |      342,   315,   343,   315,   344,   315,   345,   315,   346,   315, | 
|      347,   314,   348,   314,   349,   314,   350,   314,   351,   314, |      347,   315,   348,   315,   349,   315,   350,   315,   351,   315, | 
|      352,   314,   353,   314,   354,   314,   355,   314,   356,   314, |      352,   315,   353,   315,   354,   315,   355,   315,   356,   315, | 
|      357,   314,   358,   314,   359,   314,   360,   314,   361,   314, |      357,   315,   358,   315,   359,   315,   360,   315,   361,   315, | 
|      362,   362,   364,   363,   365,   363,   366,   366,   367,   367, |      362,   315,   363,   363,   365,   364,   366,   364,   367,   367, | 
|      367,   368,   368,   370,   369,   371,   369,   372,   369,   373, |      368,   368,   368,   369,   369,   371,   370,   372,   370,   373, | 
|      369,   374,   369,   375,   375,   375,   376,   376,   376,   376 |      370,   374,   370,   375,   370,   376,   376,   376,   377,   377, | 
|   |      377,   377 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ | 
  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ | 
| 
 Line 1310  static const yytype_uint8 yyr2[] =
 | 
 Line 1405  static const yytype_uint8 yyr2[] =
 | 
 |         0,     4,     0,     6,     0,     6,     0,     4,     1,     0, | 
         0,     4,     0,     6,     0,     6,     0,     4,     1,     0, | 
 |         4,     2,     0,     1,     0,     1,     1,     1,     1,     1, | 
         4,     2,     0,     1,     0,     1,     1,     1,     1,     1, | 
 |         0,     1,     0,     6,     0,     4,     0,     6,     0,     4, | 
         0,     1,     0,     6,     0,     4,     0,     6,     0,     4, | 
|        3,     2,     1,     0,     2,     0,     4,     0,     4,     0, |        1,     1,     3,     2,     1,     0,     2,     0,     4,     0, | 
|        4,     0,     4,     2,     0,     4,     0,     5,     0,     5, |        4,     0,     4,     0,     4,     2,     0,     4,     0,     5, | 
|        0,     4,     0,     5,     0,     4,     0,     4,     0,     4, |        0,     5,     0,     4,     0,     5,     0,     4,     0,     4, | 
|        0,     4,     0,     5,     0,     6,     0,     4,     0,     5, |        0,     4,     0,     4,     0,     5,     0,     6,     0,     4, | 
|        0,     6,     0,     4,     0,     4,     0,     4,     0,     4, |        0,     5,     0,     6,     0,     4,     0,     4,     0,     4, | 
|        0,     4,     0,     4,     0,     4,     0,     5,     0,     5, |        0,     4,     0,     4,     0,     4,     0,     4,     0,     5, | 
|        0,     5,     0,     4,     0,     4,     0,     4,     0,     4, |        0,     5,     0,     5,     0,     4,     0,     4,     0,     4, | 
 |         0,     4,     0,     4,     0,     4,     0,     4,     0,     4, | 
         0,     4,     0,     4,     0,     4,     0,     4,     0,     4, | 
 |         0,     4,     0,     4,     0,     4,     0,     4,     0,     4, | 
         0,     4,     0,     4,     0,     4,     0,     4,     0,     4, | 
|        0,     4,     0,     6,     0,     4,     0,     6,     0,     5, |        0,     4,     0,     4,     0,     6,     0,     4,     0,     6, | 
|        0,     2,     0,     5,     0,     4,     1,     1,     0,     1, |        0,     5,     0,     2,     0,     5,     0,     4,     1,     1, | 
|        1,     0,     2,     0,     6,     0,     6,     0,     4,     0, |        0,     1,     1,     0,     2,     0,     6,     0,     6,     0, | 
|        4,     0,     5,     1,     1,     1,     1,     1,     1,     1 |        4,     0,     4,     0,     5,     1,     1,     1,     1,     1, | 
|   |        1,     1 | 
 |  }; | 
  }; | 
 |   | 
   | 
| /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state | /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. | 
|    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero |    Performed when YYTABLE doesn't specify something else to do.  Zero | 
 |     means the default is an error.  */ | 
     means the default is an error.  */ | 
 |  static const yytype_uint16 yydefact[] = | 
  static const yytype_uint16 yydefact[] = | 
 |  { | 
  { | 
| 
 Line 1335  static const yytype_uint16 yydefact[] =
 | 
 Line 1431  static const yytype_uint16 yydefact[] =
 | 
 |         5,    18,     6,     7,     8,     9,    10,    11,    13,    12, | 
         5,    18,     6,     7,     8,     9,    10,    11,    13,    12, | 
 |        14,    15,    16,    17,    20,     0,     0,     0,    40,     0, | 
        14,    15,    16,    17,    20,     0,     0,     0,    40,     0, | 
 |        42,    55,     0,     0,   117,   187,     0,    70,   244,    70, | 
        42,    55,     0,     0,   117,   187,     0,    70,   244,    70, | 
|      252,   248,     0,    34,     0,    32,    36,    37,    39,     0, |      254,   248,     0,    34,     0,    32,    36,    37,    39,     0, | 
 |         0,    90,    74,     0,     0,   204,     0,   213,     0,    71, | 
         0,    90,    74,     0,     0,   204,     0,   213,     0,    71, | 
|      251,     0,     0,    69,     0,     0,    38,     0,     0,     0, |      253,     0,     0,    69,     0,     0,    38,     0,     0,     0, | 
 |         0,    19,    21,     0,     0,     0,     0,     0,     0,    41, | 
         0,    19,    21,     0,     0,     0,     0,     0,     0,    41, | 
 |        43,     0,     0,    67,     0,    54,    56,     0,     0,     0, | 
        43,     0,     0,    67,     0,    54,    56,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,   116,   118,     0,     0, | 
         0,     0,     0,     0,     0,     0,   116,   118,     0,     0, | 
 |         0,     0,     0,     0,   186,   188,   205,   206,   212,   232, | 
         0,     0,     0,     0,   186,   188,   205,   206,   212,   232, | 
|        0,     0,     0,   207,   208,   209,   242,   253,   245,   246, |        0,     0,     0,   207,   208,   209,   242,   255,   245,   246, | 
 |       249,    35,    24,    22,    28,    26,    30,    33,    44,    46, | 
       249,    35,    24,    22,    28,    26,    30,    33,    44,    46, | 
 |        48,    50,    52,    57,    59,     0,    65,    63,     0,     0, | 
        48,    50,    52,    57,    59,     0,    65,    63,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
| 
 Line 1352  static const yytype_uint16 yydefact[] =
 | 
 Line 1448  static const yytype_uint16 yydefact[] =
 | 
 |       139,   182,   141,   180,   143,   145,   149,   151,   153,   147, | 
       139,   182,   141,   180,   143,   145,   149,   151,   153,   147, | 
 |       165,   167,   163,   169,   155,   161,     0,     0,   185,   129, | 
       165,   167,   163,   169,   155,   161,     0,     0,   185,   129, | 
 |       183,   157,   159,   189,     0,   193,     0,     0,     0,   233, | 
       183,   157,   159,   189,     0,   193,     0,     0,     0,   233, | 
|      232,   234,   215,   358,   216,     0,     0,     0,     0,     0, |      232,   234,   215,   360,   216,     0,     0,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
 |        68,     0,     0,     0,    94,    96,    92,    98,   102,   104, | 
        68,     0,     0,     0,    94,    96,    92,    98,   102,   104, | 
 |       100,   106,   108,   110,   112,   114,     0,     0,    84,    86, | 
       100,   106,   108,   110,   112,   114,     0,     0,    84,    86, | 
 |         0,     0,   123,     0,   124,     0,     0,     0,     0,     0, | 
         0,     0,   123,     0,   124,     0,     0,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,   125,   177,   127,     0, | 
         0,     0,     0,     0,     0,     0,   125,   177,   127,     0, | 
|        0,     0,     0,     0,   373,   374,   375,   191,     0,   195, |        0,     0,     0,     0,   375,   376,   377,   191,     0,   195, | 
|      197,   199,   234,   235,   236,     0,   360,   359,   214,   202, |      197,   199,   234,   235,   236,     0,   362,   361,   214,   202, | 
|      243,     0,   257,     0,     0,     0,     0,     0,     0,     0, |      251,   243,   250,     0,   259,     0,     0,     0,     0,     0, | 
|        0,     0,     0,     0,     0,     0,   296,     0,     0,     0, |        0,     0,     0,     0,     0,     0,     0,     0,   298,     0, | 
|        0,     0,     0,   348,     0,     0,     0,     0,     0,   358, |        0,     0,     0,     0,     0,   350,     0,     0,     0,     0, | 
|        0,     0,     0,     0,     0,     0,     0,   250,   254,   247, |        0,   360,     0,     0,     0,     0,     0,     0,     0,   252, | 
|       25,    23,    29,    27,    31,    45,    47,    49,    51,    53, |      256,   247,    25,    23,    29,    27,    31,    45,    47,    49, | 
|       58,    60,    66,     0,    64,     0,     0,     0,     0,     0, |       51,    53,    58,    60,    66,     0,    64,     0,     0,     0, | 
|        0,     0,     0,     0,     0,     0,     0,     0,    76,     0, |        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|       80,     0,     0,   120,   122,   172,   175,   132,   134,   136, |       76,     0,    80,     0,     0,   120,   122,   172,   175,   132, | 
|      138,   140,   142,   181,   144,   146,   150,   152,   154,   148, |      134,   136,   138,   140,   142,   181,   144,   146,   150,   152, | 
|      166,   168,   164,   170,   156,   162,   179,     0,     0,     0, |      154,   148,   166,   168,   164,   170,   156,   162,   179,     0, | 
|      130,   184,   158,   160,   190,     0,   194,     0,     0,     0, |        0,     0,   130,   184,   158,   160,   190,     0,   194,     0, | 
|        0,   238,   239,   237,   210,   226,     0,     0,     0,     0, |        0,     0,     0,   238,   239,   237,   210,   226,     0,     0, | 
|      217,   255,   350,   259,   261,     0,     0,   263,   270,     0, |        0,     0,   217,   257,   352,   261,   263,     0,     0,   265, | 
|        0,   264,     0,   274,   276,   278,   280,   358,   358,   292, |      272,     0,     0,   266,     0,   276,   278,   280,   282,   360, | 
|      294,     0,   298,   322,   326,   324,   344,   318,   316,   320, |      360,   294,   296,     0,   300,   324,   328,   326,   346,   320, | 
|        0,   328,   330,   332,   334,   340,   286,   314,   338,   336, |      318,   322,     0,   330,   332,   334,   336,   342,   288,   316, | 
|      302,   300,   304,   312,     0,     0,     0,    61,    95,    97, |      340,   338,   304,   302,   306,   314,     0,     0,     0,    61, | 
|       93,    99,   103,   105,   101,   107,   109,   111,   113,   115, |       95,    97,    93,    99,   103,   105,   101,   107,   109,   111, | 
|       78,     0,    82,     0,    85,    87,   178,   126,   128,   192, |      113,   115,    78,     0,    82,     0,    85,    87,   178,   126, | 
|      196,   198,   200,   211,     0,   356,   357,   218,     0,     0, |      128,   192,   196,   198,   200,   211,     0,   358,   359,   218, | 
|      220,   203,     0,     0,     0,     0,     0,   354,     0,   266, |        0,     0,   220,   203,     0,     0,     0,     0,     0,   356, | 
|      268,     0,   272,     0,     0,     0,     0,   358,   282,   358, |        0,   268,   270,     0,   274,     0,     0,     0,     0,   360, | 
|      288,     0,     0,     0,     0,     0,     0,     0,     0,     0, |      284,   360,   290,     0,     0,     0,     0,     0,     0,     0, | 
|        0,     0,   361,     0,     0,     0,     0,     0,     0,     0, |        0,     0,     0,     0,   363,     0,     0,     0,     0,     0, | 
|        0,     0,     0,     0,     0,     0,     0,     0,   306,   308, |        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|      310,     0,     0,    77,     0,    81,   240,     0,   228,     0, |      308,   310,   312,     0,     0,    77,     0,    81,   240,     0, | 
|        0,     0,     0,   256,   351,   258,   260,   262,   352,     0, |      228,     0,     0,     0,     0,   258,   353,   260,   262,   264, | 
|      271,     0,     0,   265,     0,   275,   277,   279,   281,   284, |      354,     0,   273,     0,     0,   267,     0,   277,   279,   281, | 
|        0,   290,     0,   293,   295,   297,   299,   323,   327,   325, |      283,   286,     0,   292,     0,   295,   297,   299,   301,   325, | 
|      345,   319,   317,   321,     0,   329,   331,   333,   335,   341, |      329,   327,   347,   321,   319,   323,     0,   331,   333,   335, | 
|      287,   315,   339,   337,   303,   301,   305,   313,   342,   376, |      337,   343,   289,   317,   341,   339,   305,   303,   307,   315, | 
|      377,   378,   379,   346,     0,     0,     0,    62,    79,    83, |      344,   378,   379,   380,   381,   348,     0,     0,     0,    62, | 
|      241,   231,   227,     0,   219,   222,   224,   221,     0,   355, |       79,    83,   241,   231,   227,     0,   219,   222,   224,   221, | 
|      267,   269,   273,     0,   283,     0,   289,     0,     0,     0, |        0,   357,   269,   271,   275,     0,   285,     0,   291,     0, | 
|        0,   349,   362,     0,     0,   307,   309,   311,     0,     0, |        0,     0,     0,   351,   364,     0,     0,   309,   311,   313, | 
|        0,   353,   285,   291,   240,   367,   369,     0,     0,   343, |        0,     0,     0,   355,   287,   293,   240,   369,   371,     0, | 
|      347,   230,   223,   225,   371,     0,     0,     0,     0,     0, |        0,   345,   349,   230,   223,   225,   373,     0,     0,     0, | 
|      368,   370,   363,   365,   372,     0,     0,   364,   366 |        0,     0,   370,   372,   365,   367,   374,     0,     0,   366, | 
|   |      368 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYDEFGOTO[NTERM-NUM].  */ | 
  /* YYDEFGOTO[NTERM-NUM].  */ | 
| 
 Line 1407  static const yytype_int16 yydefgoto[] =
 | 
 Line 1504  static const yytype_int16 yydefgoto[] =
 | 
 |        -1,     1,    18,    19,    54,    82,   229,   228,   231,   230, | 
        -1,     1,    18,    19,    54,    82,   229,   228,   231,   230, | 
 |       232,    20,    83,    21,    77,    22,    23,    24,    25,    39, | 
       232,    20,    83,    21,    77,    22,    23,    24,    25,    39, | 
 |        26,    59,    90,   233,   234,   235,   236,   237,    27,    60, | 
        26,    59,    90,   233,   234,   235,   236,   237,    27,    60, | 
|       96,   238,   239,   561,   243,   241,   155,    50,    70,    28, |       96,   238,   239,   563,   243,   241,   155,    50,    70,    28, | 
|       43,    98,   177,   491,   562,   493,   564,   381,   382,    29, |       43,    98,   177,   493,   564,   495,   566,   383,   384,    29, | 
|       42,    97,   171,   367,   365,   366,   368,   371,   369,   370, |       42,    97,   171,   369,   367,   368,   370,   373,   371,   372, | 
|      372,   373,   374,   375,   376,    30,    63,   117,   260,   261, |      374,   375,   376,   377,   378,    30,    63,   117,   260,   261, | 
|      408,   409,   289,   266,   267,   268,   269,   270,   271,   273, |      410,   411,   289,   266,   267,   268,   269,   270,   271,   273, | 
 |       274,   278,   275,   276,   277,   283,   291,   292,   284,   281, | 
       274,   278,   275,   276,   277,   283,   291,   292,   284,   281, | 
 |       279,   280,   282,   181,   182,   184,   185,   286,   287,   192, | 
       279,   280,   282,   181,   182,   184,   185,   286,   287,   192, | 
|      193,   209,   210,    31,    64,   125,   293,   415,   298,   417, |      193,   209,   210,    31,    64,   125,   293,   417,   298,   419, | 
|      418,   419,    32,    46,   429,    67,    68,   132,   309,   430, |      420,   421,    32,    46,   431,    67,    68,   132,   309,   432, | 
|      569,   572,   659,   660,   504,   567,   633,   568,   221,   305, |      571,   574,   661,   662,   506,   569,   635,   570,   221,   305, | 
|      424,   631,    33,   225,    72,   227,    75,   138,    51,   226, |      426,   633,    33,   225,    72,   227,    75,   311,   312,    51, | 
|      348,   512,   432,   514,   515,   521,   581,   582,   518,   584, |      226,   350,   514,   434,   516,   517,   523,   583,   584,   520, | 
|      523,   524,   525,   526,   590,   643,   548,   592,   645,   531, |      586,   525,   526,   527,   528,   592,   645,   550,   594,   647, | 
|      532,   451,   534,   553,   552,   554,   624,   625,   626,   555, |      533,   534,   453,   536,   555,   554,   556,   626,   627,   628, | 
|      549,   540,   539,   541,   535,   537,   536,   543,   544,   545, |      557,   551,   542,   541,   543,   537,   539,   538,   545,   546, | 
|      546,   551,   550,   547,   653,   538,   654,   460,   513,   437, |      547,   548,   553,   552,   549,   655,   540,   656,   462,   515, | 
|      638,   579,   507,   308,   604,   652,   685,   686,   675,   676, |      439,   640,   581,   509,   308,   606,   654,   687,   688,   677, | 
|      679,   297,   623 |      678,   681,   297,   625 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 
 |     STATE-NUM.  */ | 
     STATE-NUM.  */ | 
| #define YYPACT_NINF -535 | #define YYPACT_NINF -542 | 
 |  static const yytype_int16 yypact[] = | 
  static const yytype_int16 yypact[] = | 
 |  { | 
  { | 
|     -535,    42,  -535,  -101,    87,   -53,   -14,   144,     9,    24, |     -542,    42,  -542,  -124,    46,   -87,   -72,    82,   -63,   -39, | 
|     -535,  -535,    26,    36,  -535,   -43,    65,     7,  -535,  -535, |     -542,  -542,   -29,   -15,  -542,   -50,    34,     7,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,    40,    35,    39,  -535,    48, |     -542,  -542,  -542,  -542,  -542,    12,    10,    21,  -542,    25, | 
|     -535,  -535,    53,    54,  -535,  -535,     2,    72,   134,    72, |     -542,  -542,    38,    40,  -542,  -542,    30,    66,    89,    66, | 
|     -535,   143,    62,  -535,     3,  -535,  -535,  -535,  -535,    -4, |     -542,   143,    37,  -542,     3,  -542,  -542,  -542,  -542,    -4, | 
|       -5,  -535,  -535,    29,    -9,    22,  -113,    49,    45,  -535, |       -5,  -542,  -542,    29,    -9,    35,   -11,    36,    45,  -542, | 
|     -535,    74,    68,  -535,   -45,    68,  -535,    66,   -23,   -13, |     -542,    72,    63,  -542,   -45,    63,  -542,    71,   -53,   -13, | 
|       81,  -535,  -535,    70,    85,    86,    88,    89,    98,  -535, |       76,  -542,  -542,    73,    85,    87,    90,    88,    99,  -542, | 
|     -535,    84,    84,  -535,    -8,  -535,  -535,    -6,    -7,    95, |     -542,    94,    94,  -542,    -8,  -542,  -542,    -7,    -6,    96, | 
|       97,   102,   104,    99,    96,   106,     4,    56,    79,   107, |       97,   102,   104,   107,   106,   108,    54,    81,     4,   110, | 
|      101,   112,    75,   110,   115,   116,  -535,  -535,   118,   119, |      103,   115,   122,   112,   118,   109,  -542,  -542,   119,   120, | 
|      120,   121,   122,   123,  -535,  -535,  -535,  -535,  -535,   -78, |      121,   123,   124,   125,  -542,  -542,  -542,  -542,  -542,   -90, | 
|      124,   171,   109,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |      113,   177,   111,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,   111,  -535,   125,   126,   127, |     -542,  -542,  -542,  -542,  -542,   114,  -542,   126,   127,   129, | 
|      131,   128,   130,   132,   136,   135,   137,   138,   139,   140, |      132,   130,   131,   133,   135,   134,   136,   137,   138,   139, | 
|     -535,  -535,   141,   142,   147,   148,  -535,  -535,  -535,  -535, |     -542,  -542,   140,   141,   146,   147,  -542,  -542,  -542,  -542, | 
|     -535,   145,   133,  -535,   146,   149,  -535,  -535,  -535,  -535, |     -542,   142,   144,  -542,   145,   148,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,   150,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,   149,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,   151,   151,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,   150,   150,  -542,  -542, | 
|      152,  -535,  -535,  -535,    14,  -535,    14,    14,    14,  -535, |      151,  -542,  -542,  -542,    14,  -542,    14,    14,    14,  -542, | 
|      153,    34,  -535,     1,  -535,    68,   117,    68,   154,   156, |      157,    50,  -542,    32,  -542,    27,   117,    27,   153,   155, | 
|      157,   158,   159,   160,   161,   162,   163,   164,   165,   166, |      156,   158,   159,   160,   161,   162,   163,   164,   165,   166, | 
|     -535,   167,   178,   169,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,   167,   154,   168,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,    -2,    -1,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,   -12,    -3,  -542,  -542, | 
|      172,   173,  -535,   102,  -535,   104,   174,   175,   176,   177, |      169,   170,  -542,   102,  -542,   104,   171,   173,   174,   175, | 
|      179,   180,   106,   181,   182,   183,   185,   186,   187,   188, |      176,   178,   108,   179,   180,   181,   182,   183,   184,   185, | 
|      189,   190,   191,   192,   193,   170,   168,  -535,   168,   194, |      187,   188,   189,   190,   191,   172,   192,  -542,   192,   193, | 
|      110,   195,   196,   197,  -535,  -535,  -535,  -535,   198,  -535, |      112,   194,   196,   197,  -542,  -542,  -542,  -542,   198,  -542, | 
|     -535,  -535,    34,  -535,  -535,    -3,  -535,  -535,  -535,   -20, |     -542,  -542,    50,  -542,  -542,    -1,  -542,  -542,  -542,   -21, | 
|     -535,    84,  -535,   204,   213,    80,   -35,   200,   212,   214, |     -542,  -542,  -542,    94,  -542,   214,   213,    92,   -37,   199, | 
|      215,   216,   208,   209,   217,   155,  -535,   218,   219,   -57, |      152,   205,   212,   215,   206,   207,   216,   218,  -542,   219, | 
|      201,   -75,   220,  -535,   221,   223,   224,   225,   226,     1, |      220,   -57,   201,   -75,   221,  -542,   222,   224,   225,   226, | 
|      227,   -46,   -21,   229,   230,    41,   210,  -535,  -535,  -535, |      227,    32,   228,   -30,   -20,   230,   231,    70,   210,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,   232,  -535,   222,   228,   231,   233,   234, |     -542,  -542,  -542,  -542,  -542,   233,  -542,   217,   223,   229, | 
|      235,   236,   237,   238,   239,   240,   241,   242,  -535,   252, |      232,   234,   235,   236,   237,   238,   239,   240,   241,   211, | 
|     -535,   243,   244,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,   243,  -542,   242,   244,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,   151,   245,   246, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   150, | 
|     -535,  -535,  -535,  -535,  -535,   247,  -535,   248,   249,   250, |      245,   246,  -542,  -542,  -542,  -542,  -542,   247,  -542,   248, | 
|       -3,  -535,  -535,  -535,  -535,  -535,   -37,    43,   265,   211, |      249,   250,    -1,  -542,  -542,  -542,  -542,  -542,   -38,    75, | 
|     -535,  -535,  -535,  -535,  -535,   262,   263,  -535,  -535,   264, |      257,   203,  -542,  -542,  -542,  -542,  -542,   261,   262,  -542, | 
|      266,  -535,   267,  -535,  -535,  -535,  -535,   -59,   -56,  -535, |     -542,   263,   264,  -542,   265,  -542,  -542,  -542,  -542,   -59, | 
|     -535,   -37,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |      -56,  -542,  -542,   -38,  -542,  -542,  -542,  -542,  -542,  -542, | 
|      254,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,   255,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,   272,   273,    31,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,   271,   272,    31,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,   260,  -535,   261,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,   259,  -542,   260,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,   270,  -535,  -535,  -535,   276,   277, |     -542,  -542,  -542,  -542,  -542,  -542,   269,  -542,  -542,  -542, | 
|     -535,  -535,   268,   -49,   269,   271,   274,  -535,   275,  -535, |      275,   276,  -542,  -542,   266,   -49,   267,   268,   273,  -542, | 
|     -535,   278,  -535,   279,   280,   281,   282,     1,  -535,     1, |      270,  -542,  -542,   274,  -542,   277,   278,   279,   280,    32, | 
|     -535,   283,   284,   285,   286,   287,   288,   289,   290,   292, |     -542,    32,  -542,   281,   282,   283,   284,   285,   286,   287, | 
|      293,   294,  -535,   295,   296,   297,   298,   299,   300,   301, |      288,   289,   290,   291,  -542,   292,   294,   295,   296,   297, | 
|      302,   303,   304,   305,   306,   307,    14,    13,  -535,  -535, |      298,   299,   300,   301,   302,   303,   304,   305,    14,    13, | 
|     -535,   308,   309,  -535,   310,  -535,   291,   311,   312,   313, |     -542,  -542,  -542,   306,   307,  -542,   308,  -542,   323,   310, | 
|       14,    13,   314,  -535,  -535,  -535,  -535,  -535,  -535,   316, |      309,   311,    14,    13,   313,  -542,  -542,  -542,  -542,  -542, | 
|     -535,   317,   318,  -535,   319,  -535,  -535,  -535,  -535,  -535, |     -542,   314,  -542,   315,   316,  -542,   317,  -542,  -542,  -542, | 
|      320,  -535,   321,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,   318,  -542,   319,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,   -27,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,   -27,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,   322,   323,   324,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,   320,   321,   322,  -542, | 
|     -535,  -535,  -535,   325,  -535,  -535,  -535,  -535,   326,  -535, |     -542,  -542,  -542,  -542,  -542,   324,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,   327,  -535,   329,  -535,   315,   -37,   335, |      325,  -542,  -542,  -542,  -542,   326,  -542,   328,  -542,   312, | 
|       50,  -535,  -535,   330,   331,  -535,  -535,  -535,   270,   332, |      -38,   333,    91,  -542,  -542,   329,   330,  -542,  -542,  -542, | 
|      333,  -535,  -535,  -535,   291,  -535,  -535,   348,   349,  -535, |      269,   331,   332,  -542,  -542,  -542,   323,  -542,  -542,   338, | 
|     -535,  -535,  -535,  -535,  -535,   336,   337,    14,    13,   338, |      347,  -542,  -542,  -542,  -542,  -542,  -542,   334,   335,    14, | 
|     -535,  -535,  -535,  -535,  -535,   339,   340,  -535,  -535 |       13,   336,  -542,  -542,  -542,  -542,  -542,   337,   339,  -542, | 
|   |     -542 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYPGOTO[NTERM-NUM].  */ | 
  /* YYPGOTO[NTERM-NUM].  */ | 
 |  static const yytype_int16 yypgoto[] = | 
  static const yytype_int16 yypgoto[] = | 
 |  { | 
  { | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,   -88,   341,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,   -88,   342,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,    19,  -535,    52,  -535,   113,  -111,    47, |     -542,  -542,  -542,    20,  -542,    48,  -542,   327,   -93,    47, | 
|     -535,    23,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,   105,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,    92,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,    86,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -344,  -535,  -535,   328,    93, |     -542,  -542,  -542,  -542,  -542,  -340,  -542,  -542,   293,    95, | 
|      -99,  -278,  -535,  -535,  -535,  -535,  -535,   -55,   361,  -535, |      -95,  -282,  -542,  -542,  -542,  -542,  -542,   208,    98,   360, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -535,  -446,  -333,  -535,  -535,  -535,  -535,  -535,  -535, |     -542,  -542,  -542,  -448,  -335,  -542,  -542,  -542,  -542,  -542, | 
|     -535,  -216,  -534 |     -542,  -542,  -216,  -541 | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If | 
  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If | 
 |     positive, shift that token.  If negative, reduce the rule which | 
     positive, shift that token.  If negative, reduce the rule which | 
|    number is the opposite.  If zero, do what YYDEFACT says. |    number is the opposite.  If YYTABLE_NINF, syntax error.  */ | 
|    If YYTABLE_NINF, syntax error.  */ |   | 
 |  #define YYTABLE_NINF -230 | 
  #define YYTABLE_NINF -230 | 
 |  static const yytype_int16 yytable[] = | 
  static const yytype_int16 yytable[] = | 
 |  { | 
  { | 
|      299,   300,   301,   153,   154,   533,   466,    78,    79,    80, |      299,   300,   301,   153,   154,   535,   468,    78,    79,    80, | 
 |        84,    85,    86,    87,    88,    91,    92,   156,    93,    94, | 
        84,    85,    86,    87,    88,    91,    92,   156,    93,    94, | 
|      140,   158,   159,   160,   161,   162,   163,   164,   165,   166, |      158,   159,   160,   161,   162,   163,   164,   165,   166,   167, | 
|      167,   168,   169,   172,   173,   174,   175,   636,    47,   574, |      168,   169,   638,    47,   172,   173,   174,   175,    47,   576, | 
|       47,   505,     2,   527,   457,     3,   529,   128,   129,     4, |      507,   130,     2,   529,   459,     3,   531,    34,   219,     4, | 
|      647,     5,     6,     7,   130,     8,   194,   425,   454,   195, |      649,     5,     6,     7,    35,     8,   427,   200,   456,   201, | 
|      219,     9,   118,   119,   120,   121,   122,   123,    10,   468, |      202,     9,   118,   119,   120,   121,   122,   123,    10,   440, | 
|       34,   438,   439,   440,    99,   100,   101,   102,   103,   104, |      441,   442,   220,    36,    99,   100,   101,   102,   103,   104, | 
|      105,    11,   458,   648,   220,    65,    12,   106,   107,   108, |      105,    11,   460,   650,    37,   470,    12,   106,   107,   108, | 
|      109,   110,   111,   112,   470,    35,   113,   114,   115,   649, |      109,   110,   111,   112,    38,   472,   113,   114,   115,   651, | 
|      455,   306,   307,    66,   306,   307,   126,    36,   196,   197, |      457,   306,   307,   142,   306,   307,   194,   143,    40,   195, | 
|      198,   469,    13,   199,   528,   530,    49,    48,    49,   506, |       48,    49,    13,    65,   530,   532,    49,   131,   508,   126, | 
|      650,   575,    14,    66,    15,   441,   426,   427,   133,   134, |      652,   577,    14,   443,    15,   428,   429,   471,   133,   134, | 
|      131,   428,   200,   142,   201,   202,   471,   143,   421,   422, |      430,    66,    41,   196,   197,   198,    66,   473,   199,   685, | 
|      206,   207,    37,   144,   683,   651,    66,   145,   187,   188, |      423,   424,    44,   144,   379,   653,    66,   145,   380,   128, | 
|      189,   190,   157,   423,   377,   379,    38,   127,   378,   380, |      129,   127,   157,   381,   135,   425,    45,   382,   187,   188, | 
|      135,   306,   307,   124,    53,   176,   170,    95,    89,    16, |      189,   190,    52,   124,    53,   170,   176,    95,    89,    16, | 
|      310,    17,   349,   303,   304,    81,   619,   620,   621,   622, |      138,    17,    55,   140,    71,    81,   621,   622,   623,   624, | 
|       40,   294,   295,   296,   558,   559,   560,   435,   436,   474, |       56,   294,   295,   296,   560,   561,   562,   206,   207,   303, | 
|      475,   508,   509,    52,   589,    41,   591,    44,   667,   668, |      304,    57,   306,   307,   591,    58,   593,   310,   137,   437, | 
|       55,   116,   665,   311,   312,    56,   313,    45,   314,    57, |      438,   116,   667,   313,   314,    69,   315,    76,   316,    61, | 
|      315,    69,   316,   317,   318,   319,   320,   321,    58,    71, |      317,    62,   318,   319,   320,   321,   322,   323,   476,   477, | 
|      322,   323,   324,   431,    61,    62,   325,   326,    74,   327, |      324,   325,   326,   510,   511,   433,   327,   328,    74,   329, | 
|      328,   329,    76,   330,   136,   331,   141,   332,   333,   137, |      330,   331,   136,   332,   137,   333,   146,   334,   335,   669, | 
|      147,   146,   148,   149,   150,    49,   151,   334,   335,   336, |      670,   141,   148,   147,   149,   151,   150,   336,   337,   338, | 
|      337,   338,   339,   340,   341,   152,   178,   204,   179,   186, |      339,   340,   341,   342,   343,    49,   152,   178,   179,   204, | 
|      342,   343,   344,   180,   345,   183,   191,   203,   205,   346, |      344,   345,   346,   180,   347,   183,   212,   186,   191,   348, | 
|      208,   211,   223,   212,   213,   214,   215,   216,   217,   218, |      203,   205,   208,   222,   211,   213,   214,   215,   223,   216, | 
|      224,   240,   385,   245,   222,   242,   244,   246,   247,   347, |      217,   218,   224,   387,   240,   245,   242,   244,   246,   349, | 
|      248,   219,   249,   250,   433,   251,   496,   252,   253,   254, |      247,   248,   250,   249,   251,   219,   252,   253,   254,   255, | 
|      255,   256,   257,   258,   259,   434,   263,   442,   406,   447, |      256,   257,   258,   259,   435,   436,   444,   449,   450,   445, | 
|      448,   450,   285,   411,   671,   262,   264,   386,   456,   393, |      408,   285,   262,   388,   365,   264,   498,   263,   458,   395, | 
|      288,   503,   265,   272,   350,   290,   351,   352,   353,   354, |      673,   265,   272,   352,   290,   353,   354,   505,   355,   356, | 
|      355,   356,   357,   358,   359,   360,   361,   362,   363,   364, |      357,   358,   359,   360,   361,   362,   363,   364,   366,   385, | 
|      618,   407,   383,   384,   387,   388,   389,   390,   566,   391, |      386,   389,   620,   390,   391,   392,   393,   568,   394,   396, | 
|      392,   394,   395,   396,   635,   397,   398,   399,   400,   401, |      397,   398,   399,   400,   401,   402,   637,   403,   404,   405, | 
|      402,   403,   404,   405,   410,   412,   413,   414,   416,   443, |      406,   407,   446,   412,   414,   409,   415,   416,   418,   447, | 
|      476,   444,   445,   446,   449,   452,   453,   459,   461,   462, |      478,   492,   448,   451,   452,   513,   454,   455,   461,   463, | 
|      463,   464,   465,   511,   467,   472,   674,   473,   477,     0, |      464,   465,   466,   467,   676,   469,   474,   480,   475,   479, | 
|       73,     0,   478,   664,     0,   420,     0,     0,   479,     0, |      666,    73,     0,   481,     0,   413,     0,   422,     0,   482, | 
|        0,   480,   490,   481,   482,   483,   484,   485,   486,   487, |        0,     0,   483,   494,   484,   485,   486,   487,   488,   489, | 
|      488,   489,   492,   494,   495,   497,   498,   499,   500,   501, |      490,   491,   496,   512,   497,   499,   500,   501,   502,   503, | 
|      502,   510,   516,   517,   519,   542,   520,   522,   556,   557, |      504,   518,   519,   521,   522,   524,   544,   558,   559,   565, | 
|      563,   565,   570,   571,   578,   139,     0,     0,   573,   576, |      567,   572,   573,   580,   139,   351,   575,   578,   579,     0, | 
|        0,   577,     0,     0,     0,   580,     0,   630,   583,   585, |      582,     0,     0,     0,   585,     0,     0,   587,   588,   589, | 
|      586,   587,   588,   593,   594,   595,   596,   597,   598,   599, |      590,   595,   596,   597,   598,   599,   600,   601,   602,   603, | 
|      600,   682,   601,   602,   603,   605,   606,   607,   608,   609, |      604,   605,   607,   684,   608,   609,   610,   611,   612,   613, | 
|      610,   611,   612,   613,   614,   615,   616,   617,   627,   628, |      614,   615,   616,   617,   618,   619,   629,   630,   631,   632, | 
|      629,   632,     0,   634,   637,  -229,   639,   640,   641,   642, |      634,   636,  -229,   639,   641,   642,   643,   644,   646,   648, | 
|      644,   646,   655,   656,   657,   666,   661,   662,   658,   663, |      657,   658,   659,   668,   679,   663,   664,   660,   665,   671, | 
|      669,   670,   672,   673,   677,   678,   680,   681,   684,   687, |      672,   674,   675,   680,   682,   683,   686,   689,     0,   690, | 
|      688,     0,     0,     0,     0,     0,     0,     0,     0,     0, |        0,     0,     0,   302,     0,     0,     0,     0,     0,     0, | 
 |         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|        0,     0,     0,     0,     0,     0,     0,     0,     0,     0, |        0,     0,     0,     0,   288 | 
|        0,     0,     0,     0,     0,     0,     0,     0,   302 |   | 
 |  }; | 
  }; | 
 |   | 
   | 
 |   | 
  #define yypact_value_is_default(yystate) \ | 
 |   | 
    ((yystate) == (-542)) | 
 |   | 
   | 
 |   | 
  #define yytable_value_is_error(yytable_value) \ | 
 |   | 
    YYID (0) | 
 |   | 
   | 
 |  static const yytype_int16 yycheck[] = | 
  static const yytype_int16 yycheck[] = | 
 |  { | 
  { | 
|      216,   217,   218,    91,    92,   451,   339,     4,     5,     6, |      216,   217,   218,    91,    92,   453,   341,     4,     5,     6, | 
 |        14,    15,    16,    17,    18,    20,    21,    25,    23,    24, | 
        14,    15,    16,    17,    18,    20,    21,    25,    23,    24, | 
|       75,    27,    28,    29,    30,    31,    32,    33,    34,    35, |       27,    28,    29,    30,    31,    32,    33,    34,    35,    36, | 
|       36,    37,    38,    40,    41,    42,    43,   571,    83,    88, |       37,    38,   573,    83,    40,    41,    42,    43,    83,    88, | 
|       83,    78,     0,   102,   119,     3,   102,   160,   161,     7, |       78,     5,     0,   102,   119,     3,   102,   171,   138,     7, | 
|       77,     9,    10,    11,     5,    13,    52,    77,   115,    55, |       77,     9,    10,    11,     8,    13,    77,    53,   115,    55, | 
|      138,    19,    71,    72,    73,    74,    75,    76,    26,   115, |       56,    19,    71,    72,    73,    74,    75,    76,    26,   106, | 
|      171,   106,   107,   108,    45,    46,    47,    48,    49,    50, |      107,   108,   162,   160,    45,    46,    47,    48,    49,    50, | 
|       51,    39,   157,   110,   162,    83,    44,    58,    59,    60, |       51,    39,   157,   110,   156,   115,    44,    58,    59,    60, | 
|       61,    62,    63,    64,   115,     8,    67,    68,    69,   126, |       61,    62,    63,    64,    12,   115,    67,    68,    69,   126, | 
|      157,   160,   161,   101,   160,   161,    84,   160,    52,    53, |      157,   160,   161,   156,   160,   161,    52,   160,   171,    55, | 
|       54,   157,    70,    57,   447,   448,   161,   160,   161,   156, |      160,   161,    70,    83,   449,   450,   161,    81,   156,    84, | 
|      147,   170,    80,   101,    82,   160,   146,   147,    83,    84, |      147,   170,    80,   160,    82,   146,   147,   157,    83,    84, | 
|       81,   151,    53,   156,    55,    56,   157,   160,   141,   142, |      151,   101,   171,    52,    53,    54,   101,   157,    57,   680, | 
|       65,    66,   156,   156,   678,   172,   101,   160,    52,    53, |      141,   142,   171,   156,   156,   172,   101,   160,   160,   160, | 
|       54,    55,   160,   156,   156,   156,    12,    65,   160,   160, |      161,    65,   160,   156,    68,   156,   171,   160,    52,    53, | 
|       68,   160,   161,   172,   157,   172,   172,   172,   172,   127, |       54,    55,   128,   172,   157,   172,   172,   172,   172,   127, | 
|      225,   129,   227,   139,   140,   172,   163,   164,   165,   166, |       72,   129,   160,    75,    85,   172,   163,   164,   165,   166, | 
|      171,   167,   168,   169,   153,   154,   155,   107,   108,   148, |      170,   167,   168,   169,   153,   154,   155,    65,    66,   139, | 
|      149,   148,   149,   128,   527,   171,   529,   171,   148,   149, |      140,   170,   160,   161,   529,   170,   531,   170,   171,   107, | 
|      160,   172,   648,    86,    87,   170,    89,   171,    91,   170, |      108,   172,   650,    86,    87,   139,    89,   170,    91,   171, | 
|       93,   139,    95,    96,    97,    98,    99,   100,   170,    85, |       93,   171,    95,    96,    97,    98,    99,   100,   148,   149, | 
|      103,   104,   105,   311,   171,   171,   109,   110,    85,   112, |      103,   104,   105,   148,   149,   313,   109,   110,    85,   112, | 
|      113,   114,   170,   116,   160,   118,   170,   120,   121,   171, |      113,   114,   160,   116,   171,   118,   160,   120,   121,   148, | 
|      170,   160,   157,   157,   156,   161,   157,   130,   131,   132, |      149,   170,   157,   170,   157,   157,   156,   130,   131,   132, | 
|      133,   134,   135,   136,   137,   157,   161,   156,   161,   160, |      133,   134,   135,   136,   137,   161,   157,   161,   161,   156, | 
|      143,   144,   145,   161,   147,   161,   160,   160,   156,   152, |      143,   144,   145,   161,   147,   161,   157,   160,   160,   152, | 
|      160,   156,   101,   157,   156,   156,   156,   156,   156,   156, |      160,   156,   160,   160,   156,   156,   156,   156,   101,   156, | 
|      171,   170,   263,   156,   160,   160,   160,   156,   160,   172, |      156,   156,   171,   263,   170,   156,   160,   160,   156,   172, | 
|      160,   138,   160,   157,    90,   160,   407,   160,   160,   160, |      160,   160,   157,   160,   160,   138,   160,   160,   160,   160, | 
|      160,   160,   160,   156,   156,    92,   173,   107,   138,   101, |      160,   160,   156,   156,    90,    92,   107,   101,   101,   157, | 
|      101,   156,   161,   290,   658,   170,   170,   265,   117,   272, |      138,   161,   170,   265,   160,   170,   409,   173,   117,   272, | 
|      207,   420,   173,   173,   170,   173,   170,   170,   170,   170, |      660,   173,   173,   170,   173,   170,   170,   422,   170,   170, | 
|      170,   170,   170,   170,   170,   170,   170,   170,   160,   170, |   | 
|      556,   173,   170,   170,   170,   170,   170,   170,    78,   170, |   | 
|      170,   170,   170,   170,   570,   170,   170,   170,   170,   170, |   | 
|      170,   170,   170,   170,   170,   170,   170,   170,   170,   157, |   | 
|      160,   157,   157,   157,   157,   157,   157,   157,   157,   156, |   | 
|      156,   156,   156,   172,   157,   156,   664,   157,   156,    -1, |   | 
|       49,    -1,   170,    78,    -1,   302,    -1,    -1,   170,    -1, |   | 
|       -1,   170,   160,   170,   170,   170,   170,   170,   170,   170, |   | 
|      170,   170,   160,   170,   170,   170,   170,   170,   170,   170, |   | 
|      170,   156,   160,   160,   160,   171,   160,   160,   156,   156, |   | 
|      170,   170,   156,   156,   160,    74,    -1,    -1,   170,   170, |   | 
|       -1,   170,    -1,    -1,    -1,   170,    -1,   156,   170,   170, |   | 
 |       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
|      170,   677,   170,   170,   170,   170,   170,   170,   170,   170, |      170,   170,   558,   170,   170,   170,   170,    78,   170,   170, | 
|   |      170,   170,   170,   170,   170,   170,   572,   170,   170,   170, | 
|   |      170,   170,   157,   170,   170,   173,   170,   170,   170,   157, | 
|   |      160,   160,   157,   157,   156,   172,   157,   157,   157,   157, | 
|   |      156,   156,   156,   156,   666,   157,   156,   170,   157,   156, | 
|   |       78,    49,    -1,   170,    -1,   290,    -1,   302,    -1,   170, | 
|   |       -1,    -1,   170,   160,   170,   170,   170,   170,   170,   170, | 
|   |      170,   170,   170,   156,   170,   170,   170,   170,   170,   170, | 
|   |      170,   160,   160,   160,   160,   160,   171,   156,   156,   170, | 
|   |      170,   156,   156,   160,    74,   227,   170,   170,   170,    -1, | 
|   |      170,    -1,    -1,    -1,   170,    -1,    -1,   170,   170,   170, | 
 |       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
|      170,   170,    -1,   170,   170,   173,   170,   170,   170,   170, |      170,   170,   170,   679,   170,   170,   170,   170,   170,   170, | 
|      170,   170,   170,   170,   170,   160,   170,   170,   173,   170, |      170,   170,   170,   170,   170,   170,   170,   170,   170,   156, | 
|      170,   170,   170,   170,   156,   156,   170,   170,   170,   170, |      170,   170,   173,   170,   170,   170,   170,   170,   170,   170, | 
|      170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, |      170,   170,   170,   160,   156,   170,   170,   173,   170,   170, | 
|   |      170,   170,   170,   156,   170,   170,   170,   170,    -1,   170, | 
|   |       -1,    -1,    -1,   220,    -1,    -1,    -1,    -1,    -1,    -1, | 
 |        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, |       -1,    -1,    -1,    -1,   207 | 
|       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   220 |   | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 
| 
 Line 1661  static const yytype_uint16 yystos[] =
 | 
 Line 1762  static const yytype_uint16 yystos[] =
 | 
 |       185,   187,   189,   190,   191,   192,   194,   202,   213,   223, | 
       185,   187,   189,   190,   191,   192,   194,   202,   213,   223, | 
 |       239,   277,   286,   306,   171,     8,   160,   156,    12,   193, | 
       239,   277,   286,   306,   171,     8,   160,   156,    12,   193, | 
 |       171,   171,   224,   214,   171,   171,   287,    83,   160,   161, | 
       171,   171,   224,   214,   171,   171,   287,    83,   160,   161, | 
|      211,   312,   128,   157,   178,   160,   170,   170,   170,   195, |      211,   313,   128,   157,   178,   160,   170,   170,   170,   195, | 
 |       203,   171,   171,   240,   278,    83,   101,   289,   290,   139, | 
       203,   171,   171,   240,   278,    83,   101,   289,   290,   139, | 
 |       212,    85,   308,   212,    85,   310,   170,   188,     4,     5, | 
       212,    85,   308,   212,    85,   310,   170,   188,     4,     5, | 
 |         6,   172,   179,   186,    14,    15,    16,    17,    18,   172, | 
         6,   172,   179,   186,    14,    15,    16,    17,    18,   172, | 
| 
 Line 1669  static const yytype_uint16 yystos[] =
 | 
 Line 1770  static const yytype_uint16 yystos[] =
 | 
 |        46,    47,    48,    49,    50,    51,    58,    59,    60,    61, | 
        46,    47,    48,    49,    50,    51,    58,    59,    60,    61, | 
 |        62,    63,    64,    67,    68,    69,   172,   241,    71,    72, | 
        62,    63,    64,    67,    68,    69,   172,   241,    71,    72, | 
 |        73,    74,    75,    76,   172,   279,    84,   290,   160,   161, | 
        73,    74,    75,    76,   172,   279,    84,   290,   160,   161, | 
|        5,    81,   291,    83,    84,   290,   160,   171,   311,   312, |        5,    81,   291,    83,    84,   290,   160,   171,   312,   313, | 
|      311,   170,   156,   160,   156,   160,   160,   170,   157,   157, |      312,   170,   156,   160,   156,   160,   160,   170,   157,   157, | 
 |       156,   157,   157,   211,   211,   210,    25,   160,    27,    28, | 
       156,   157,   157,   211,   211,   210,    25,   160,    27,    28, | 
 |        29,    30,    31,    32,    33,    34,    35,    36,    37,    38, | 
        29,    30,    31,    32,    33,    34,    35,    36,    37,    38, | 
 |       172,   226,    40,    41,    42,    43,   172,   216,   161,   161, | 
       172,   226,    40,    41,    42,    43,   172,   216,   161,   161, | 
| 
 Line 1678  static const yytype_uint16 yystos[] =
 | 
 Line 1779  static const yytype_uint16 yystos[] =
 | 
 |        55,   160,   273,   274,    52,    55,    52,    53,    54,    57, | 
        55,   160,   273,   274,    52,    55,    52,    53,    54,    57, | 
 |        53,    55,    56,   160,   156,   156,    65,    66,   160,   275, | 
        53,    55,    56,   160,   156,   156,    65,    66,   160,   275, | 
 |       276,   156,   157,   156,   156,   156,   156,   156,   156,   138, | 
       276,   156,   157,   156,   156,   156,   156,   156,   156,   138, | 
|      162,   302,   160,   101,   171,   307,   313,   309,   181,   180, |      162,   302,   160,   101,   171,   307,   314,   309,   181,   180, | 
 |       183,   182,   184,   197,   198,   199,   200,   201,   205,   206, | 
       183,   182,   184,   197,   198,   199,   200,   201,   205,   206, | 
 |       170,   209,   160,   208,   160,   156,   156,   160,   160,   160, | 
       170,   209,   160,   208,   160,   156,   156,   160,   160,   160, | 
 |       157,   160,   160,   160,   160,   160,   160,   160,   156,   156, | 
       157,   160,   160,   160,   160,   160,   160,   160,   156,   156, | 
 |       242,   243,   170,   173,   170,   173,   247,   248,   249,   250, | 
       242,   243,   170,   173,   170,   173,   247,   248,   249,   250, | 
 |       251,   252,   173,   253,   254,   256,   257,   258,   255,   264, | 
       251,   252,   173,   253,   254,   256,   257,   258,   255,   264, | 
 |       265,   263,   266,   259,   262,   161,   271,   272,   271,   246, | 
       265,   263,   266,   259,   262,   161,   271,   272,   271,   246, | 
|      173,   260,   261,   280,   167,   168,   169,   375,   282,   375, |      173,   260,   261,   280,   167,   168,   169,   376,   282,   376, | 
|      375,   375,   302,   139,   140,   303,   160,   161,   367,   292, |      376,   376,   302,   139,   140,   303,   160,   161,   368,   292, | 
|      311,    86,    87,    89,    91,    93,    95,    96,    97,    98, |      170,   311,   312,    86,    87,    89,    91,    93,    95,    96, | 
|       99,   100,   103,   104,   105,   109,   110,   112,   113,   114, |       97,    98,    99,   100,   103,   104,   105,   109,   110,   112, | 
|      116,   118,   120,   121,   130,   131,   132,   133,   134,   135, |      113,   114,   116,   118,   120,   121,   130,   131,   132,   133, | 
|      136,   137,   143,   144,   145,   147,   152,   172,   314,   311, |      134,   135,   136,   137,   143,   144,   145,   147,   152,   172, | 
|   |      315,   311,   170,   170,   170,   170,   170,   170,   170,   170, | 
|   |      170,   170,   170,   170,   170,   160,   170,   228,   229,   227, | 
|   |      230,   232,   233,   231,   234,   235,   236,   237,   238,   156, | 
|   |      160,   156,   160,   221,   222,   170,   170,   267,   269,   170, | 
|   |      170,   170,   170,   170,   170,   273,   170,   170,   170,   170, | 
|   |      170,   170,   170,   170,   170,   170,   170,   170,   138,   173, | 
|   |      244,   245,   170,   275,   170,   170,   170,   281,   170,   283, | 
|   |      284,   285,   303,   141,   142,   156,   304,    77,   146,   147, | 
|   |      151,   288,   293,   211,   317,    90,    92,   107,   108,   364, | 
|   |      106,   107,   108,   160,   107,   157,   157,   157,   157,   101, | 
|   |      101,   157,   156,   336,   157,   157,   115,   157,   117,   119, | 
|   |      157,   157,   362,   157,   156,   156,   156,   156,   368,   157, | 
|   |      115,   157,   115,   157,   156,   157,   148,   149,   160,   156, | 
 |       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
|      170,   170,   170,   160,   170,   228,   229,   227,   230,   232, |      170,   170,   160,   217,   160,   219,   170,   170,   272,   170, | 
|      233,   231,   234,   235,   236,   237,   238,   156,   160,   156, |      170,   170,   170,   170,   170,   304,   298,    78,   156,   367, | 
|      160,   221,   222,   170,   170,   267,   269,   170,   170,   170, |      148,   149,   156,   172,   316,   363,   318,   319,   160,   160, | 
|      170,   170,   170,   273,   170,   170,   170,   170,   170,   170, |      323,   160,   160,   320,   160,   325,   326,   327,   328,   102, | 
|      170,   170,   170,   170,   170,   170,   138,   173,   244,   245, |      368,   102,   368,   334,   335,   367,   337,   349,   351,   350, | 
|      170,   275,   170,   170,   170,   281,   170,   283,   284,   285, |      360,   347,   346,   348,   171,   352,   353,   354,   355,   358, | 
|      303,   141,   142,   156,   304,    77,   146,   147,   151,   288, |      331,   345,   357,   356,   339,   338,   340,   344,   156,   156, | 
|      293,   211,   316,    90,    92,   107,   108,   363,   106,   107, |      153,   154,   155,   207,   218,   170,   220,   170,    78,   299, | 
|      108,   160,   107,   157,   157,   157,   157,   101,   101,   157, |      301,   294,   156,   156,   295,   170,    88,   170,   170,   170, | 
|      156,   335,   157,   157,   115,   157,   117,   119,   157,   157, |      160,   366,   170,   321,   322,   170,   324,   170,   170,   170, | 
|      361,   157,   156,   156,   156,   156,   367,   157,   115,   157, |      170,   368,   329,   368,   332,   170,   170,   170,   170,   170, | 
|      115,   157,   156,   157,   148,   149,   160,   156,   170,   170, |      170,   170,   170,   170,   170,   170,   369,   170,   170,   170, | 
 |       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
       170,   170,   170,   170,   170,   170,   170,   170,   170,   170, | 
|      160,   217,   160,   219,   170,   170,   272,   170,   170,   170, |      376,   163,   164,   165,   166,   377,   341,   342,   343,   170, | 
|      170,   170,   170,   304,   298,    78,   156,   366,   148,   149, |      170,   170,   156,   305,   170,   300,   170,   376,   377,   170, | 
|      156,   172,   315,   362,   317,   318,   160,   160,   322,   160, |      365,   170,   170,   170,   170,   330,   170,   333,   170,    77, | 
|      160,   319,   160,   324,   325,   326,   327,   102,   367,   102, |      110,   126,   147,   172,   370,   359,   361,   170,   170,   170, | 
|      367,   333,   334,   366,   336,   348,   350,   349,   359,   346, |      173,   296,   297,   170,   170,   170,    78,   367,   160,   148, | 
|      345,   347,   171,   351,   352,   353,   354,   357,   330,   344, |      149,   170,   170,   299,   170,   170,   305,   373,   374,   156, | 
|      356,   355,   338,   337,   339,   343,   156,   156,   153,   154, |      156,   375,   170,   170,   376,   377,   170,   371,   372,   170, | 
|      155,   207,   218,   170,   220,   170,    78,   299,   301,   294, |      170 | 
|      156,   156,   295,   170,    88,   170,   170,   170,   160,   365, |   | 
|      170,   320,   321,   170,   323,   170,   170,   170,   170,   367, |   | 
|      328,   367,   331,   170,   170,   170,   170,   170,   170,   170, |   | 
|      170,   170,   170,   170,   368,   170,   170,   170,   170,   170, |   | 
|      170,   170,   170,   170,   170,   170,   170,   170,   375,   163, |   | 
|      164,   165,   166,   376,   340,   341,   342,   170,   170,   170, |   | 
|      156,   305,   170,   300,   170,   375,   376,   170,   364,   170, |   | 
|      170,   170,   170,   329,   170,   332,   170,    77,   110,   126, |   | 
|      147,   172,   369,   358,   360,   170,   170,   170,   173,   296, |   | 
|      297,   170,   170,   170,    78,   366,   160,   148,   149,   170, |   | 
|      170,   299,   170,   170,   305,   372,   373,   156,   156,   374, |   | 
|      170,   170,   375,   376,   170,   370,   371,   170,   170 |   | 
 |  }; | 
  }; | 
 |   | 
   | 
 |  #define yyerrok         (yyerrstatus = 0) | 
  #define yyerrok         (yyerrstatus = 0) | 
| 
 Line 1739  static const yytype_uint16 yystos[] =
 | 
 Line 1841  static const yytype_uint16 yystos[] =
 | 
 |   | 
   | 
 |  /* Like YYERROR except do call yyerror.  This remains here temporarily | 
  /* Like YYERROR except do call yyerror.  This remains here temporarily | 
 |     to ease the transition to the new meaning of YYERROR, for GCC. | 
     to ease the transition to the new meaning of YYERROR, for GCC. | 
|    Once GCC version 2 has supplanted version 1, this can go.  */ |    Once GCC version 2 has supplanted version 1, this can go.  However, | 
|   |    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated | 
|   |    in Bison 2.4.2's NEWS entry, where a plan to phase it out is | 
|   |    discussed.  */ | 
 |   | 
   | 
 |  #define YYFAIL          goto yyerrlab | 
  #define YYFAIL          goto yyerrlab | 
 |   | 
  #if defined YYFAIL | 
 |   | 
    /* This is here to suppress warnings from the GCC cpp's | 
 |   | 
       -Wunused-macros.  Normally we don't worry about that warning, but | 
 |   | 
       some users do, and we want to make it easy for users to remove | 
 |   | 
       YYFAIL uses, which will produce warnings from Bison 2.5.  */ | 
 |   | 
  #endif | 
 |   | 
   | 
 |  #define YYRECOVERING()  (!!yyerrstatus) | 
  #define YYRECOVERING()  (!!yyerrstatus) | 
 |   | 
   | 
| #define YYBACKUP(Token, Value)                                  \ | #define YYBACKUP(Token, Value)                                  \ | 
| do                                                                \ | do                                                              \ | 
|   if (yychar == YYEMPTY && yylen == 1)                          \ |   if (yychar == YYEMPTY)                                        \ | 
|     {                                                                \ |     {                                                           \ | 
|       yychar = (Token);                                         \ |       yychar = (Token);                                         \ | 
|       yylval = (Value);                                         \ |       yylval = (Value);                                         \ | 
|       yytoken = YYTRANSLATE (yychar);                                \ |       YYPOPSTACK (yylen);                                       \ | 
|       YYPOPSTACK (1);                                                \ |       yystate = *yyssp;                                         \ | 
|       goto yybackup;                                            \ |       goto yybackup;                                            \ | 
|     }                                                                \ |     }                                                           \ | 
|   else                                                          \ |   else                                                          \ | 
|     {                                                           \ |     {                                                           \ | 
 |        yyerror (YY_("syntax error: cannot back up")); \ | 
        yyerror (YY_("syntax error: cannot back up")); \ | 
 |        YYERROR;                                                  \ | 
        YYERROR;                                                  \ | 
 |      }                                                           \ | 
      }                                                           \ | 
| 
 Line 1766  while (YYID (0))
 | 
 Line 1877  while (YYID (0))
 | 
 |  #define YYTERROR        1 | 
  #define YYTERROR        1 | 
 |  #define YYERRCODE       256 | 
  #define YYERRCODE       256 | 
 |   | 
   | 
 |   | 
   | 
 |  /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. | 
  /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. | 
 |     If N is 0, then set CURRENT to the empty location which ends | 
     If N is 0, then set CURRENT to the empty location which ends | 
 |     the previous symbol: RHS[0] (always defined).  */ | 
     the previous symbol: RHS[0] (always defined).  */ | 
 |   | 
   | 
 |  #define YYRHSLOC(Rhs, K) ((Rhs)[K]) | 
   | 
 |  #ifndef YYLLOC_DEFAULT | 
  #ifndef YYLLOC_DEFAULT | 
| # define YYLLOC_DEFAULT(Current, Rhs, N)                                \ | # define YYLLOC_DEFAULT(Current, Rhs, N)                                \ | 
|     do                                                                        \ |     do                                                                  \ | 
|       if (YYID (N))                                                    \ |       if (YYID (N))                                                     \ | 
|         {                                                                \ |         {                                                               \ | 
|           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \ |           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \ | 
|           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \ |           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \ | 
|           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \ |           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \ | 
|           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \ |           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \ | 
|         }                                                                \ |         }                                                               \ | 
|       else                                                              \ |       else                                                              \ | 
|         {                                                                \ |         {                                                               \ | 
|           (Current).first_line   = (Current).last_line   =              \ |           (Current).first_line   = (Current).last_line   =              \ | 
|             YYRHSLOC (Rhs, 0).last_line;                                \ |             YYRHSLOC (Rhs, 0).last_line;                                \ | 
|           (Current).first_column = (Current).last_column =              \ |           (Current).first_column = (Current).last_column =              \ | 
|             YYRHSLOC (Rhs, 0).last_column;                              \ |             YYRHSLOC (Rhs, 0).last_column;                              \ | 
|         }                                                               \ |         }                                                               \ | 
 |      while (YYID (0)) | 
      while (YYID (0)) | 
 |  #endif | 
  #endif | 
 |   | 
   | 
 |   | 
  #define YYRHSLOC(Rhs, K) ((Rhs)[K]) | 
 |   | 
   | 
 |  /* YY_LOCATION_PRINT -- Print the location on the stream. | 
   | 
 |     This macro was not mandated originally: define only if we know | 
   | 
 |     we won't break user code: when these are the locations we know.  */ | 
   | 
 |   | 
   | 
 |   | 
   | 
 |   | 
  /* This macro is provided for backward compatibility. */ | 
 |   | 
   | 
 |  #ifndef YY_LOCATION_PRINT | 
  #ifndef YY_LOCATION_PRINT | 
| # if YYLTYPE_IS_TRIVIAL | # define YY_LOCATION_PRINT(File, Loc) ((void) 0) | 
| #  define YY_LOCATION_PRINT(File, Loc)                  \ |   | 
|      fprintf (File, "%d.%d-%d.%d",                      \ |   | 
|               (Loc).first_line, (Loc).first_column,     \ |   | 
|               (Loc).last_line,  (Loc).last_column) |   | 
| # else |   | 
| #  define YY_LOCATION_PRINT(File, Loc) ((void) 0) |   | 
| # endif |   | 
 |  #endif | 
  #endif | 
 |   | 
   | 
 |   | 
   | 
| 
 Line 1860  yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 | 
 Line 1963  yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 | 
 |      YYSTYPE const * const yyvaluep; | 
      YYSTYPE const * const yyvaluep; | 
 |  #endif | 
  #endif | 
 |  { | 
  { | 
 |   | 
    FILE *yyo = yyoutput; | 
 |   | 
    YYUSE (yyo); | 
 |    if (!yyvaluep) | 
    if (!yyvaluep) | 
 |      return; | 
      return; | 
 |  # ifdef YYPRINT | 
  # ifdef YYPRINT | 
| 
 Line 1997  int yydebug;
 | 
 Line 2102  int yydebug;
 | 
 |  # define YYMAXDEPTH 10000 | 
  # define YYMAXDEPTH 10000 | 
 |  #endif | 
  #endif | 
 |   | 
   | 
 |   | 
   | 
 |   | 
   | 
 |  #if YYERROR_VERBOSE | 
  #if YYERROR_VERBOSE | 
 |   | 
   | 
| 
 Line 2100  yytnamerr (char *yyres, const char *yystr)
 | 
 Line 2204  yytnamerr (char *yyres, const char *yystr)
 | 
 |  } | 
  } | 
 |  # endif | 
  # endif | 
 |   | 
   | 
| /* Copy into YYRESULT an error message about the unexpected token | /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message | 
|    YYCHAR while in state YYSTATE.  Return the number of bytes copied, |    about the unexpected token YYTOKEN for the state stack whose top is | 
|    including the terminating null byte.  If YYRESULT is null, do not |    YYSSP. | 
|    copy anything; just return the number of bytes that would be |  | 
|    copied.  As a special case, return 0 if an ordinary "syntax error" |    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is | 
|    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during |    not large enough to hold the message.  In that case, also set | 
|    size calculation.  */ |    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the | 
| static YYSIZE_T |    required number of bytes is too large to store.  */ | 
| yysyntax_error (char *yyresult, int yystate, int yychar) | static int | 
|   | yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | 
|   |                 yytype_int16 *yyssp, int yytoken) | 
 |  { | 
  { | 
|   int yyn = yypact[yystate]; |   YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); | 
|   |   YYSIZE_T yysize = yysize0; | 
|   |   YYSIZE_T yysize1; | 
|   |   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; | 
|   |   /* Internationalized format string. */ | 
|   |   const char *yyformat = YY_NULL; | 
|   |   /* Arguments of yyformat. */ | 
|   |   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; | 
|   |   /* Number of reported tokens (one for the "unexpected", one per | 
|   |      "expected"). */ | 
|   |   int yycount = 0; | 
 |   | 
   | 
|   if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |   /* There are many possibilities here to consider: | 
|     return 0; |      - Assume YYFAIL is not used.  It's too flawed to consider.  See | 
|   else |        <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> | 
|   |        for details.  YYERROR is fine as it does not invoke this | 
|   |        function. | 
|   |      - If this state is a consistent state with a default action, then | 
|   |        the only way this function was invoked is if the default action | 
|   |        is an error action.  In that case, don't check for expected | 
|   |        tokens because there are none. | 
|   |      - The only way there can be no lookahead present (in yychar) is if | 
|   |        this state is a consistent state with a default action.  Thus, | 
|   |        detecting the absence of a lookahead is sufficient to determine | 
|   |        that there is no unexpected or expected token to report.  In that | 
|   |        case, just report a simple "syntax error". | 
|   |      - Don't assume there isn't a lookahead just because this state is a | 
|   |        consistent state with a default action.  There might have been a | 
|   |        previous inconsistent state, consistent state with a non-default | 
|   |        action, or user semantic action that manipulated yychar. | 
|   |      - Of course, the expected token list depends on states to have | 
|   |        correct lookahead information, and it depends on the parser not | 
|   |        to perform extra reductions after fetching a lookahead from the | 
|   |        scanner and before detecting a syntax error.  Thus, state merging | 
|   |        (from LALR or IELR) and default reductions corrupt the expected | 
|   |        token list.  However, the list is correct for canonical LR with | 
|   |        one exception: it will still contain any token that will not be | 
|   |        accepted due to an error action in a later state. | 
|   |   */ | 
|   |   if (yytoken != YYEMPTY) | 
 |      { | 
      { | 
|       int yytype = YYTRANSLATE (yychar); |       int yyn = yypact[*yyssp]; | 
|       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |       yyarg[yycount++] = yytname[yytoken]; | 
|       YYSIZE_T yysize = yysize0; |       if (!yypact_value_is_default (yyn)) | 
|       YYSIZE_T yysize1; |         { | 
|       int yysize_overflow = 0; |           /* Start YYX at -YYN if negative to avoid negative indexes in | 
|       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |              YYCHECK.  In other words, skip the first -YYN actions for | 
|       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |              this state because they are default actions.  */ | 
|       int yyx; |           int yyxbegin = yyn < 0 ? -yyn : 0; | 
|   |           /* Stay within bounds of both yycheck and yytname.  */ | 
|   |           int yychecklim = YYLAST - yyn + 1; | 
|   |           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; | 
|   |           int yyx; | 
 |   | 
   | 
| # if 0 |           for (yyx = yyxbegin; yyx < yyxend; ++yyx) | 
|       /* This is so xgettext sees the translatable formats that are |             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR | 
|          constructed on the fly.  */ |                 && !yytable_value_is_error (yytable[yyx + yyn])) | 
|       YY_("syntax error, unexpected %s"); |               { | 
|       YY_("syntax error, unexpected %s, expecting %s"); |                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) | 
|       YY_("syntax error, unexpected %s, expecting %s or %s"); |                   { | 
|       YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |                     yycount = 1; | 
|       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |                     yysize = yysize0; | 
| # endif |                     break; | 
|       char *yyfmt; |                   } | 
|       char const *yyf; |                 yyarg[yycount++] = yytname[yyx]; | 
|       static char const yyunexpected[] = "syntax error, unexpected %s"; |                 yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); | 
|       static char const yyexpecting[] = ", expecting %s"; |                 if (! (yysize <= yysize1 | 
|       static char const yyor[] = " or %s"; |                        && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) | 
|       char yyformat[sizeof yyunexpected |                   return 2; | 
|                     + sizeof yyexpecting - 1 |                 yysize = yysize1; | 
|                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |               } | 
|                        * (sizeof yyor - 1))]; |         } | 
|       char const *yyprefix = yyexpecting; |     } | 
 |   | 
   | 
|       /* Start YYX at -YYN if negative to avoid negative indexes in |   switch (yycount) | 
|          YYCHECK.  */ |     { | 
|       int yyxbegin = yyn < 0 ? -yyn : 0; | # define YYCASE_(N, S)                      \ | 
|   |       case N:                               \ | 
|   |         yyformat = S;                       \ | 
|   |       break | 
|   |       YYCASE_(0, YY_("syntax error")); | 
|   |       YYCASE_(1, YY_("syntax error, unexpected %s")); | 
|   |       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); | 
|   |       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); | 
|   |       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); | 
|   |       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); | 
|   | # undef YYCASE_ | 
|   |     } | 
 |   | 
   | 
|       /* Stay within bounds of both yycheck and yytname.  */ |   yysize1 = yysize + yystrlen (yyformat); | 
|       int yychecklim = YYLAST - yyn + 1; |   if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) | 
|       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |     return 2; | 
|       int yycount = 1; |   yysize = yysize1; | 
 |   | 
   | 
|       yyarg[0] = yytname[yytype]; |   if (*yymsg_alloc < yysize) | 
|       yyfmt = yystpcpy (yyformat, yyunexpected); |     { | 
 |       *yymsg_alloc = 2 * yysize; | 
|       for (yyx = yyxbegin; yyx < yyxend; ++yyx) |       if (! (yysize <= *yymsg_alloc | 
|         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) | 
|           { |         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; | 
|             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |       return 1; | 
|               { |   | 
|                 yycount = 1; |   | 
|                 yysize = yysize0; |   | 
|                 yyformat[sizeof yyunexpected - 1] = '\0'; |   | 
|                 break; |   | 
|               } |   | 
|             yyarg[yycount++] = yytname[yyx]; |   | 
|             yysize1 = yysize + yytnamerr (0, yytname[yyx]); |   | 
|             yysize_overflow |= (yysize1 < yysize); |   | 
|             yysize = yysize1; |   | 
|             yyfmt = yystpcpy (yyfmt, yyprefix); |   | 
|             yyprefix = yyor; |   | 
|           } |   | 
 |   | 
|       yyf = YY_(yyformat); |   | 
|       yysize1 = yysize + yystrlen (yyf); |   | 
|       yysize_overflow |= (yysize1 < yysize); |   | 
|       yysize = yysize1; |   | 
 |   | 
|       if (yysize_overflow) |   | 
|         return YYSIZE_MAXIMUM; |   | 
 |   | 
|       if (yyresult) |   | 
|         { |   | 
|           /* Avoid sprintf, as that infringes on the user's name space. |   | 
|              Don't have undefined behavior even if the translation |   | 
|              produced a string with the wrong number of "%s"s.  */ |   | 
|           char *yyp = yyresult; |   | 
|           int yyi = 0; |   | 
|           while ((*yyp = *yyf) != '\0') |   | 
|             { |   | 
|               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |   | 
|                 { |   | 
|                   yyp += yytnamerr (yyp, yyarg[yyi++]); |   | 
|                   yyf += 2; |   | 
|                 } |   | 
|               else |   | 
|                 { |   | 
|                   yyp++; |   | 
|                   yyf++; |   | 
|                 } |   | 
|             } |   | 
|         } |   | 
|       return yysize; |   | 
 |      } | 
      } | 
 |   | 
   | 
 |   | 
    /* Avoid sprintf, as that infringes on the user's name space. | 
 |   | 
       Don't have undefined behavior even if the translation | 
 |   | 
       produced a string with the wrong number of "%s"s.  */ | 
 |   | 
    { | 
 |   | 
      char *yyp = *yymsg; | 
 |   | 
      int yyi = 0; | 
 |   | 
      while ((*yyp = *yyformat) != '\0') | 
 |   | 
        if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) | 
 |   | 
          { | 
 |   | 
            yyp += yytnamerr (yyp, yyarg[yyi++]); | 
 |   | 
            yyformat += 2; | 
 |   | 
          } | 
 |   | 
        else | 
 |   | 
          { | 
 |   | 
            yyp++; | 
 |   | 
            yyformat++; | 
 |   | 
          } | 
 |   | 
    } | 
 |   | 
    return 0; | 
 |  } | 
  } | 
 |  #endif /* YYERROR_VERBOSE */ | 
  #endif /* YYERROR_VERBOSE */ | 
 |   | 
   | 
 |   | 
   | 
 |  /*-----------------------------------------------. | 
  /*-----------------------------------------------. | 
 |  | Release the memory associated to this symbol.  | | 
  | Release the memory associated to this symbol.  | | 
| 
 Line 2241  yydestruct (yymsg, yytype, yyvaluep)
 | 
 Line 2372  yydestruct (yymsg, yytype, yyvaluep)
 | 
 |      } | 
      } | 
 |  } | 
  } | 
 |   | 
   | 
 |  /* Prevent warnings from -Wmissing-prototypes.  */ | 
   | 
 |  #ifdef YYPARSE_PARAM | 
   | 
 |  #if defined __STDC__ || defined __cplusplus | 
   | 
 |  int yyparse (void *YYPARSE_PARAM); | 
   | 
 |  #else | 
   | 
 |  int yyparse (); | 
   | 
 |  #endif | 
   | 
 |  #else /* ! YYPARSE_PARAM */ | 
   | 
 |  #if defined __STDC__ || defined __cplusplus | 
   | 
 |  int yyparse (void); | 
   | 
 |  #else | 
   | 
 |  int yyparse (); | 
   | 
 |  #endif | 
   | 
 |  #endif /* ! YYPARSE_PARAM */ | 
   | 
 |   | 
   | 
 |   | 
   | 
 |   | 
   | 
 |  /* The lookahead symbol.  */ | 
  /* The lookahead symbol.  */ | 
 |  int yychar; | 
  int yychar; | 
 |   | 
   | 
| 
 Line 2267  YYSTYPE yylval;
 | 
 Line 2385  YYSTYPE yylval;
 | 
 |  int yynerrs; | 
  int yynerrs; | 
 |   | 
   | 
 |   | 
   | 
 |   | 
  /*----------. | 
 |   | 
  | yyparse.  | | 
 |   | 
  `----------*/ | 
 |   | 
   | 
 |  /*-------------------------. | 
   | 
 |  | yyparse or yypush_parse.  | | 
   | 
 |  `-------------------------*/ | 
   | 
 |   | 
   | 
 |  #ifdef YYPARSE_PARAM | 
  #ifdef YYPARSE_PARAM | 
 |  #if (defined __STDC__ || defined __C99__FUNC__ \ | 
  #if (defined __STDC__ || defined __C99__FUNC__ \ | 
 |       || defined __cplusplus || defined _MSC_VER) | 
       || defined __cplusplus || defined _MSC_VER) | 
| 
 Line 2294  yyparse ()
 | 
 Line 2411  yyparse ()
 | 
 |  #endif | 
  #endif | 
 |  #endif | 
  #endif | 
 |  { | 
  { | 
 |   | 
   | 
 |   | 
   | 
 |      int yystate; | 
      int yystate; | 
 |      /* Number of tokens to shift before error messages enabled.  */ | 
      /* Number of tokens to shift before error messages enabled.  */ | 
 |      int yyerrstatus; | 
      int yyerrstatus; | 
| 
 Line 2304  yyparse ()
 | 
 Line 2419  yyparse ()
 | 
 |         `yyss': related to states. | 
         `yyss': related to states. | 
 |         `yyvs': related to semantic values. | 
         `yyvs': related to semantic values. | 
 |   | 
   | 
|        Refer to the stacks thru separate pointers, to allow yyoverflow |        Refer to the stacks through separate pointers, to allow yyoverflow | 
 |         to reallocate them elsewhere.  */ | 
         to reallocate them elsewhere.  */ | 
 |   | 
   | 
 |      /* The state stack.  */ | 
      /* The state stack.  */ | 
| 
 Line 2358  yyparse ()
 | 
 Line 2473  yyparse ()
 | 
 |       The wasted elements are never initialized.  */ | 
       The wasted elements are never initialized.  */ | 
 |    yyssp = yyss; | 
    yyssp = yyss; | 
 |    yyvsp = yyvs; | 
    yyvsp = yyvs; | 
 |   | 
   | 
 |    goto yysetstate; | 
    goto yysetstate; | 
 |   | 
   | 
 |  /*------------------------------------------------------------. | 
  /*------------------------------------------------------------. | 
| 
 Line 2450  yybackup:
 | 
 Line 2564  yybackup:
 | 
 |   | 
   | 
 |    /* First try to decide what to do without reference to lookahead token.  */ | 
    /* First try to decide what to do without reference to lookahead token.  */ | 
 |    yyn = yypact[yystate]; | 
    yyn = yypact[yystate]; | 
|   if (yyn == YYPACT_NINF) |   if (yypact_value_is_default (yyn)) | 
 |      goto yydefault; | 
      goto yydefault; | 
 |   | 
   | 
 |    /* Not known => get a lookahead token if don't already have one.  */ | 
    /* Not known => get a lookahead token if don't already have one.  */ | 
| 
 Line 2481  yybackup:
 | 
 Line 2595  yybackup:
 | 
 |    yyn = yytable[yyn]; | 
    yyn = yytable[yyn]; | 
 |    if (yyn <= 0) | 
    if (yyn <= 0) | 
 |      { | 
      { | 
|       if (yyn == 0 || yyn == YYTABLE_NINF) |       if (yytable_value_is_error (yyn)) | 
|         goto yyerrlab; |         goto yyerrlab; | 
 |        yyn = -yyn; | 
        yyn = -yyn; | 
 |        goto yyreduce; | 
        goto yyreduce; | 
 |      } | 
      } | 
| 
 Line 2536  yyreduce:
 | 
 Line 2650  yyreduce:
 | 
 |    switch (yyn) | 
    switch (yyn) | 
 |      { | 
      { | 
 |          case 22: | 
          case 22: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 368 "cfparse.y" | 
| #line 298 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct passwd *pw; | 
                          struct passwd *pw; | 
 |   | 
   | 
| 
 Line 2551  yyreduce:
 | 
 Line 2664  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 24: | 
    case 24: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 378 "cfparse.y" | 
| #line 308 "cfparse.y" |   | 
 |      { lcconf->uid = (yyvsp[(2) - (2)].num); } | 
      { lcconf->uid = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 26: | 
    case 26: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 380 "cfparse.y" | 
| #line 310 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct group *gr; | 
                          struct group *gr; | 
 |   | 
   | 
| 
 Line 2573  yyreduce:
 | 
 Line 2684  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 28: | 
    case 28: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 390 "cfparse.y" | 
| #line 320 "cfparse.y" |   | 
 |      { lcconf->gid = (yyvsp[(2) - (2)].num); } | 
      { lcconf->gid = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 30: | 
    case 30: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 391 "cfparse.y" | 
| #line 321 "cfparse.y" |   | 
 |      { lcconf->chroot = (yyvsp[(2) - (2)].val)->v; } | 
      { lcconf->chroot = (yyvsp[(2) - (2)].val)->v; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 32: | 
    case 32: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 397 "cfparse.y" | 
| #line 327 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if ((yyvsp[(2) - (3)].num) >= LC_PATHTYPE_MAX) { | 
                          if ((yyvsp[(2) - (3)].num) >= LC_PATHTYPE_MAX) { | 
 |                                  yyerror("invalid path type %d", (yyvsp[(2) - (3)].num)); | 
                                  yyerror("invalid path type %d", (yyvsp[(2) - (3)].num)); | 
| 
 Line 2608  yyreduce:
 | 
 Line 2716  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 34: | 
    case 34: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 417 "cfparse.y" | 
| #line 347 "cfparse.y" |   | 
 |      { lcconf->complex_bundle = (yyvsp[(2) - (2)].num); } | 
      { lcconf->complex_bundle = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 36: | 
    case 36: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 423 "cfparse.y" | 
| #line 353 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char path[MAXPATHLEN]; | 
                          char path[MAXPATHLEN]; | 
 |   | 
   | 
| 
 Line 2630  yyreduce:
 | 
 Line 2736  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 37: | 
    case 37: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 437 "cfparse.y" | 
| #line 367 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->pfkey_buffer_size = (yyvsp[(2) - (3)].num); | 
                          lcconf->pfkey_buffer_size = (yyvsp[(2) - (3)].num); | 
 |          } | 
          } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 38: | 
    case 38: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 444 "cfparse.y" | 
| #line 374 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if ((yyvsp[(2) - (3)].num) >= LC_GSSENC_MAX) { | 
                          if ((yyvsp[(2) - (3)].num) >= LC_GSSENC_MAX) { | 
 |                                  yyerror("invalid GSS ID encoding %d", (yyvsp[(2) - (3)].num)); | 
                                  yyerror("invalid GSS ID encoding %d", (yyvsp[(2) - (3)].num)); | 
| 
 Line 2652  yyreduce:
 | 
 Line 2756  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 40: | 
    case 40: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 459 "cfparse.y" | 
| #line 389 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          /* | 
                          /* | 
 |                           * set the loglevel to the value specified | 
                           * set the loglevel to the value specified | 
| 
 Line 2667  yyreduce:
 | 
 Line 2770  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 44: | 
    case 44: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 479 "cfparse.y" | 
| #line 409 "cfparse.y" |   | 
 |      { lcconf->pad_random = (yyvsp[(2) - (2)].num); } | 
      { lcconf->pad_random = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 46: | 
    case 46: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 480 "cfparse.y" | 
| #line 410 "cfparse.y" |   | 
 |      { lcconf->pad_randomlen = (yyvsp[(2) - (2)].num); } | 
      { lcconf->pad_randomlen = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 48: | 
    case 48: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 481 "cfparse.y" | 
| #line 411 "cfparse.y" |   | 
 |      { lcconf->pad_maxsize = (yyvsp[(2) - (2)].num); } | 
      { lcconf->pad_maxsize = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 50: | 
    case 50: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 482 "cfparse.y" | 
| #line 412 "cfparse.y" |   | 
 |      { lcconf->pad_strict = (yyvsp[(2) - (2)].num); } | 
      { lcconf->pad_strict = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 52: | 
    case 52: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 483 "cfparse.y" | 
| #line 413 "cfparse.y" |   | 
 |      { lcconf->pad_excltail = (yyvsp[(2) - (2)].num); } | 
      { lcconf->pad_excltail = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 57: | 
    case 57: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 496 "cfparse.y" | 
| #line 426 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          myaddr_listen((yyvsp[(2) - (2)].saddr), FALSE); | 
                          myaddr_listen((yyvsp[(2) - (2)].saddr), FALSE); | 
 |                          racoon_free((yyvsp[(2) - (2)].saddr)); | 
                          racoon_free((yyvsp[(2) - (2)].saddr)); | 
| 
 Line 2712  yyreduce:
 | 
 Line 2809  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 59: | 
    case 59: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 502 "cfparse.y" | 
| #line 432 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_NATT | 
  #ifdef ENABLE_NATT | 
 |                          myaddr_listen((yyvsp[(2) - (2)].saddr), TRUE); | 
                          myaddr_listen((yyvsp[(2) - (2)].saddr), TRUE); | 
| 
 Line 2727  yyreduce:
 | 
 Line 2823  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 61: | 
    case 61: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 513 "cfparse.y" | 
| #line 443 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_ADMINPORT | 
  #ifdef ENABLE_ADMINPORT | 
 |                          adminsock_conf((yyvsp[(2) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].num)); | 
                          adminsock_conf((yyvsp[(2) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].num)); | 
| 
 Line 2740  yyreduce:
 | 
 Line 2835  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 63: | 
    case 63: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 522 "cfparse.y" | 
| #line 452 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_ADMINPORT | 
  #ifdef ENABLE_ADMINPORT | 
 |                          adminsock_conf((yyvsp[(2) - (2)].val), NULL, NULL, -1); | 
                          adminsock_conf((yyvsp[(2) - (2)].val), NULL, NULL, -1); | 
| 
 Line 2753  yyreduce:
 | 
 Line 2847  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 65: | 
    case 65: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 531 "cfparse.y" | 
| #line 461 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_ADMINPORT | 
  #ifdef ENABLE_ADMINPORT | 
 |                          adminsock_path = NULL; | 
                          adminsock_path = NULL; | 
| 
 Line 2766  yyreduce:
 | 
 Line 2859  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 67: | 
    case 67: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 539 "cfparse.y" | 
| #line 469 "cfparse.y" |   | 
 |      { lcconf->strict_address = TRUE; } | 
      { lcconf->strict_address = TRUE; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 69: | 
    case 69: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 543 "cfparse.y" | 
| #line 473 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char portbuf[10]; | 
                          char portbuf[10]; | 
 |   | 
   | 
| 
 Line 2788  yyreduce:
 | 
 Line 2879  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 70: | 
    case 70: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 554 "cfparse.y" | 
| #line 484 "cfparse.y" |   | 
 |      { (yyval.num) = PORT_ISAKMP; } | 
      { (yyval.num) = PORT_ISAKMP; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 71: | 
    case 71: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 555 "cfparse.y" | 
| #line 485 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 72: | 
    case 72: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 560 "cfparse.y" | 
| #line 490 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifndef ENABLE_HYBRID | 
  #ifndef ENABLE_HYBRID | 
 |                          yyerror("racoon not configured with --enable-hybrid"); | 
                          yyerror("racoon not configured with --enable-hybrid"); | 
| 
 Line 2824  yyreduce:
 | 
 Line 2912  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 76: | 
    case 76: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 583 "cfparse.y" | 
| #line 513 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2846  yyreduce:
 | 
 Line 2933  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 78: | 
    case 78: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 601 "cfparse.y" | 
| #line 531 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2868  yyreduce:
 | 
 Line 2954  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 80: | 
    case 80: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 619 "cfparse.y" | 
| #line 549 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2890  yyreduce:
 | 
 Line 2975  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 82: | 
    case 82: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 637 "cfparse.y" | 
| #line 567 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2912  yyreduce:
 | 
 Line 2996  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 84: | 
    case 84: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 655 "cfparse.y" | 
| #line 585 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2925  yyreduce:
 | 
 Line 3008  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 86: | 
    case 86: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 664 "cfparse.y" | 
| #line 594 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 2938  yyreduce:
 | 
 Line 3020  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 88: | 
    case 88: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 676 "cfparse.y" | 
| #line 606 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifndef ENABLE_HYBRID | 
  #ifndef ENABLE_HYBRID | 
 |                          yyerror("racoon not configured with --enable-hybrid"); | 
                          yyerror("racoon not configured with --enable-hybrid"); | 
| 
 Line 2954  yyreduce:
 | 
 Line 3035  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 92: | 
    case 92: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 693 "cfparse.y" | 
| #line 623 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 2969  yyreduce:
 | 
 Line 3049  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 94: | 
    case 94: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 704 "cfparse.y" | 
| #line 634 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 2984  yyreduce:
 | 
 Line 3063  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 96: | 
    case 96: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 715 "cfparse.y" | 
| #line 645 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 2997  yyreduce:
 | 
 Line 3075  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 98: | 
    case 98: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 724 "cfparse.y" | 
| #line 654 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3012  yyreduce:
 | 
 Line 3089  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 100: | 
    case 100: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 735 "cfparse.y" | 
| #line 665 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3025  yyreduce:
 | 
 Line 3101  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 102: | 
    case 102: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 744 "cfparse.y" | 
| #line 674 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3040  yyreduce:
 | 
 Line 3115  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 104: | 
    case 104: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 755 "cfparse.y" | 
| #line 685 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3055  yyreduce:
 | 
 Line 3129  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 106: | 
    case 106: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 766 "cfparse.y" | 
| #line 696 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3070  yyreduce:
 | 
 Line 3143  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 108: | 
    case 108: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 777 "cfparse.y" | 
| #line 707 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3085  yyreduce:
 | 
 Line 3157  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 110: | 
    case 110: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 788 "cfparse.y" | 
| #line 718 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3100  yyreduce:
 | 
 Line 3171  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 112: | 
    case 112: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 799 "cfparse.y" | 
| #line 729 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3115  yyreduce:
 | 
 Line 3185  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 114: | 
    case 114: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 810 "cfparse.y" | 
| #line 740 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3130  yyreduce:
 | 
 Line 3199  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 119: | 
    case 119: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 832 "cfparse.y" | 
| #line 762 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          if (inet_pton(AF_INET, (yyvsp[(2) - (2)].val)->v, | 
                          if (inet_pton(AF_INET, (yyvsp[(2) - (2)].val)->v, | 
| 
 Line 3145  yyreduce:
 | 
 Line 3213  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 121: | 
    case 121: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 843 "cfparse.y" | 
| #line 773 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          if (inet_pton(AF_INET, (yyvsp[(2) - (2)].val)->v, | 
                          if (inet_pton(AF_INET, (yyvsp[(2) - (2)].val)->v, | 
| 
 Line 3160  yyreduce:
 | 
 Line 3227  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 125: | 
    case 125: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 858 "cfparse.y" | 
| #line 788 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.splitnet_type = UNITY_LOCAL_LAN; | 
                          isakmp_cfg_config.splitnet_type = UNITY_LOCAL_LAN; | 
| 
 Line 3173  yyreduce:
 | 
 Line 3239  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 127: | 
    case 127: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 867 "cfparse.y" | 
| #line 797 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.splitnet_type = UNITY_SPLIT_INCLUDE; | 
                          isakmp_cfg_config.splitnet_type = UNITY_SPLIT_INCLUDE; | 
| 
 Line 3186  yyreduce:
 | 
 Line 3251  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 129: | 
    case 129: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 876 "cfparse.y" | 
| #line 806 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifndef ENABLE_HYBRID | 
  #ifndef ENABLE_HYBRID | 
 |                          yyerror("racoon not configured with --enable-hybrid"); | 
                          yyerror("racoon not configured with --enable-hybrid"); | 
| 
 Line 3197  yyreduce:
 | 
 Line 3261  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 131: | 
    case 131: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 883 "cfparse.y" | 
| #line 813 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          strncpy(&isakmp_cfg_config.default_domain[0],  | 
                          strncpy(&isakmp_cfg_config.default_domain[0],  | 
| 
 Line 3213  yyreduce:
 | 
 Line 3276  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 133: | 
    case 133: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 895 "cfparse.y" | 
| #line 825 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.authsource = ISAKMP_CFG_AUTH_SYSTEM; | 
                          isakmp_cfg_config.authsource = ISAKMP_CFG_AUTH_SYSTEM; | 
| 
 Line 3226  yyreduce:
 | 
 Line 3288  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 135: | 
    case 135: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 904 "cfparse.y" | 
| #line 834 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 3243  yyreduce:
 | 
 Line 3304  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 137: | 
    case 137: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 917 "cfparse.y" | 
| #line 847 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBPAM | 
  #ifdef HAVE_LIBPAM | 
| 
 Line 3260  yyreduce:
 | 
 Line 3320  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 139: | 
    case 139: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 930 "cfparse.y" | 
| #line 860 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3277  yyreduce:
 | 
 Line 3336  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 141: | 
    case 141: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 943 "cfparse.y" | 
| #line 873 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifndef ENABLE_HYBRID | 
  #ifndef ENABLE_HYBRID | 
 |                          yyerror("racoon not configured with --enable-hybrid"); | 
                          yyerror("racoon not configured with --enable-hybrid"); | 
| 
 Line 3288  yyreduce:
 | 
 Line 3346  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 143: | 
    case 143: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 950 "cfparse.y" | 
| #line 880 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.groupsource = ISAKMP_CFG_GROUP_SYSTEM; | 
                          isakmp_cfg_config.groupsource = ISAKMP_CFG_GROUP_SYSTEM; | 
| 
 Line 3301  yyreduce:
 | 
 Line 3358  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 145: | 
    case 145: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 959 "cfparse.y" | 
| #line 889 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3318  yyreduce:
 | 
 Line 3374  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 147: | 
    case 147: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 972 "cfparse.y" | 
| #line 902 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.accounting = ISAKMP_CFG_ACCT_NONE; | 
                          isakmp_cfg_config.accounting = ISAKMP_CFG_ACCT_NONE; | 
| 
 Line 3331  yyreduce:
 | 
 Line 3386  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 149: | 
    case 149: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 981 "cfparse.y" | 
| #line 911 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.accounting = ISAKMP_CFG_ACCT_SYSTEM; | 
                          isakmp_cfg_config.accounting = ISAKMP_CFG_ACCT_SYSTEM; | 
| 
 Line 3344  yyreduce:
 | 
 Line 3398  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 151: | 
    case 151: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 990 "cfparse.y" | 
| #line 920 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 3361  yyreduce:
 | 
 Line 3414  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 153: | 
    case 153: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1003 "cfparse.y" | 
| #line 933 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBPAM | 
  #ifdef HAVE_LIBPAM | 
| 
 Line 3378  yyreduce:
 | 
 Line 3430  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 155: | 
    case 155: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1016 "cfparse.y" | 
| #line 946 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          if (isakmp_cfg_resize_pool((yyvsp[(2) - (2)].num)) != 0) | 
                          if (isakmp_cfg_resize_pool((yyvsp[(2) - (2)].num)) != 0) | 
| 
 Line 3392  yyreduce:
 | 
 Line 3443  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 157: | 
    case 157: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1026 "cfparse.y" | 
| #line 956 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.pfs_group = (yyvsp[(2) - (2)].num); | 
                          isakmp_cfg_config.pfs_group = (yyvsp[(2) - (2)].num); | 
| 
 Line 3405  yyreduce:
 | 
 Line 3455  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 159: | 
    case 159: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1035 "cfparse.y" | 
| #line 965 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.save_passwd = (yyvsp[(2) - (2)].num); | 
                          isakmp_cfg_config.save_passwd = (yyvsp[(2) - (2)].num); | 
| 
 Line 3418  yyreduce:
 | 
 Line 3467  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 161: | 
    case 161: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1044 "cfparse.y" | 
| #line 974 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.auth_throttle = (yyvsp[(2) - (2)].num); | 
                          isakmp_cfg_config.auth_throttle = (yyvsp[(2) - (2)].num); | 
| 
 Line 3431  yyreduce:
 | 
 Line 3479  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 163: | 
    case 163: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1053 "cfparse.y" | 
| #line 983 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          isakmp_cfg_config.confsource = ISAKMP_CFG_CONF_LOCAL; | 
                          isakmp_cfg_config.confsource = ISAKMP_CFG_CONF_LOCAL; | 
| 
 Line 3444  yyreduce:
 | 
 Line 3491  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 165: | 
    case 165: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1062 "cfparse.y" | 
| #line 992 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBRADIUS | 
  #ifdef HAVE_LIBRADIUS | 
| 
 Line 3461  yyreduce:
 | 
 Line 3507  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 167: | 
    case 167: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1075 "cfparse.y" | 
| #line 1005 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |  #ifdef HAVE_LIBLDAP | 
  #ifdef HAVE_LIBLDAP | 
| 
 Line 3478  yyreduce:
 | 
 Line 3523  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 169: | 
    case 169: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1088 "cfparse.y" | 
| #line 1018 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          strncpy(&isakmp_cfg_config.motd[0], (yyvsp[(2) - (2)].val)->v, MAXPATHLEN); | 
                          strncpy(&isakmp_cfg_config.motd[0], (yyvsp[(2) - (2)].val)->v, MAXPATHLEN); | 
| 
 Line 3493  yyreduce:
 | 
 Line 3537  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 173: | 
    case 173: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1106 "cfparse.y" | 
| #line 1036 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
| 
 Line 3512  yyreduce:
 | 
 Line 3555  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 176: | 
    case 176: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1127 "cfparse.y" | 
| #line 1057 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
| 
 Line 3531  yyreduce:
 | 
 Line 3573  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 179: | 
    case 179: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1148 "cfparse.y" | 
| #line 1078 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
| 
 Line 3556  yyreduce:
 | 
 Line 3597  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 182: | 
    case 182: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1175 "cfparse.y" | 
| #line 1105 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          char * groupname = NULL; | 
                          char * groupname = NULL; | 
| 
 Line 3592  yyreduce:
 | 
 Line 3632  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 185: | 
    case 185: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1213 "cfparse.y" | 
| #line 1143 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
                          struct isakmp_cfg_config *icc = &isakmp_cfg_config; | 
| 
 Line 3629  yyreduce:
 | 
 Line 3668  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 189: | 
    case 189: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1257 "cfparse.y" | 
| #line 1187 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->retry_counter = (yyvsp[(2) - (2)].num); | 
                          lcconf->retry_counter = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 191: | 
    case 191: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1262 "cfparse.y" | 
| #line 1192 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->retry_interval = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
                          lcconf->retry_interval = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 193: | 
    case 193: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1267 "cfparse.y" | 
| #line 1197 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->count_persend = (yyvsp[(2) - (2)].num); | 
                          lcconf->count_persend = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 195: | 
    case 195: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1272 "cfparse.y" | 
| #line 1202 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->retry_checkph1 = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
                          lcconf->retry_checkph1 = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 197: | 
    case 197: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1277 "cfparse.y" | 
| #line 1207 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          lcconf->wait_ph2complete = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
                          lcconf->wait_ph2complete = (yyvsp[(2) - (3)].num) * (yyvsp[(3) - (3)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 199: | 
    case 199: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1282 "cfparse.y" | 
| #line 1212 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_NATT | 
  #ifdef ENABLE_NATT | 
 |                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
| 
 Line 3690  yyreduce:
 | 
 Line 3723  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 201: | 
    case 201: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1298 "cfparse.y" | 
| #line 1228 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo = newsainfo(); | 
                          cur_sainfo = newsainfo(); | 
 |                          if (cur_sainfo == NULL) { | 
                          if (cur_sainfo == NULL) { | 
| 
 Line 3703  yyreduce:
 | 
 Line 3735  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 202: | 
    case 202: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1306 "cfparse.y" | 
| #line 1236 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct sainfo *check; | 
                          struct sainfo *check; | 
 |   | 
   | 
| 
 Line 3745  yyreduce:
 | 
 Line 3776  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 204: | 
    case 204: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1346 "cfparse.y" | 
| #line 1276 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
 |                          cur_sainfo->iddst = SAINFO_ANONYMOUS; | 
                          cur_sainfo->iddst = SAINFO_ANONYMOUS; | 
| 
 Line 3755  yyreduce:
 | 
 Line 3785  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 205: | 
    case 205: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1351 "cfparse.y" | 
| #line 1281 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
 |                          cur_sainfo->iddst = SAINFO_CLIENTADDR; | 
                          cur_sainfo->iddst = SAINFO_CLIENTADDR; | 
| 
 Line 3765  yyreduce:
 | 
 Line 3794  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 206: | 
    case 206: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1356 "cfparse.y" | 
| #line 1286 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
                          cur_sainfo->idsrc = SAINFO_ANONYMOUS; | 
 |                          cur_sainfo->iddst = (yyvsp[(2) - (2)].val); | 
                          cur_sainfo->iddst = (yyvsp[(2) - (2)].val); | 
| 
 Line 3775  yyreduce:
 | 
 Line 3803  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 207: | 
    case 207: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1361 "cfparse.y" | 
| #line 1291 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
 |                          cur_sainfo->iddst = SAINFO_ANONYMOUS; | 
                          cur_sainfo->iddst = SAINFO_ANONYMOUS; | 
| 
 Line 3785  yyreduce:
 | 
 Line 3812  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 208: | 
    case 208: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1366 "cfparse.y" | 
| #line 1296 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
 |                          cur_sainfo->iddst = SAINFO_CLIENTADDR; | 
                          cur_sainfo->iddst = SAINFO_CLIENTADDR; | 
| 
 Line 3795  yyreduce:
 | 
 Line 3821  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 209: | 
    case 209: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1371 "cfparse.y" | 
| #line 1301 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
                          cur_sainfo->idsrc = (yyvsp[(1) - (2)].val); | 
 |                          cur_sainfo->iddst = (yyvsp[(2) - (2)].val); | 
                          cur_sainfo->iddst = (yyvsp[(2) - (2)].val); | 
| 
 Line 3805  yyreduce:
 | 
 Line 3830  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 210: | 
    case 210: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1378 "cfparse.y" | 
| #line 1308 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char portbuf[10]; | 
                          char portbuf[10]; | 
 |                          struct sockaddr *saddr; | 
                          struct sockaddr *saddr; | 
| 
 Line 3859  yyreduce:
 | 
 Line 3883  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 211: | 
    case 211: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1427 "cfparse.y" | 
| #line 1357 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char portbuf[10]; | 
                          char portbuf[10]; | 
 |                          struct sockaddr *laddr = NULL, *haddr = NULL; | 
                          struct sockaddr *laddr = NULL, *haddr = NULL; | 
| 
 Line 3929  yyreduce:
 | 
 Line 3952  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 212: | 
    case 212: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1492 "cfparse.y" | 
| #line 1422 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct ipsecdoi_id_b *id_b; | 
                          struct ipsecdoi_id_b *id_b; | 
 |   | 
   | 
| 
 Line 3960  yyreduce:
 | 
 Line 3982  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 213: | 
    case 213: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1520 "cfparse.y" | 
| #line 1450 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->id_i = NULL; | 
                          cur_sainfo->id_i = NULL; | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 214: | 
    case 214: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1524 "cfparse.y" | 
| #line 1454 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct ipsecdoi_id_b *id_b; | 
                          struct ipsecdoi_id_b *id_b; | 
 |                          vchar_t *idv; | 
                          vchar_t *idv; | 
| 
 Line 3999  yyreduce:
 | 
 Line 4019  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 215: | 
    case 215: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1549 "cfparse.y" | 
| #line 1479 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          if ((cur_sainfo->group = vdup((yyvsp[(2) - (2)].val))) == NULL) { | 
                          if ((cur_sainfo->group = vdup((yyvsp[(2) - (2)].val))) == NULL) { | 
| 
 Line 4016  yyreduce:
 | 
 Line 4035  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 218: | 
    case 218: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1567 "cfparse.y" | 
| #line 1497 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->pfs_group = (yyvsp[(2) - (2)].num); | 
                          cur_sainfo->pfs_group = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 220: | 
    case 220: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1572 "cfparse.y" | 
| #line 1502 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->remoteid = (yyvsp[(2) - (2)].num); | 
                          cur_sainfo->remoteid = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 222: | 
    case 222: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1577 "cfparse.y" | 
| #line 1507 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_sainfo->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
                          cur_sainfo->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 224: | 
    case 224: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1582 "cfparse.y" | 
| #line 1512 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #if 1 | 
  #if 1 | 
 |                          yyerror("byte lifetime support is deprecated"); | 
                          yyerror("byte lifetime support is deprecated"); | 
| 
 Line 4059  yyreduce:
 | 
 Line 4074  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 226: | 
    case 226: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1593 "cfparse.y" | 
| #line 1523 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_algclass = (yyvsp[(1) - (1)].num); | 
                          cur_algclass = (yyvsp[(1) - (1)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 228: | 
    case 228: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1601 "cfparse.y" | 
| #line 1531 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          inssainfoalg(&cur_sainfo->algs[cur_algclass], (yyvsp[(1) - (1)].alg)); | 
                          inssainfoalg(&cur_sainfo->algs[cur_algclass], (yyvsp[(1) - (1)].alg)); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 229: | 
    case 229: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1605 "cfparse.y" | 
| #line 1535 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          inssainfoalg(&cur_sainfo->algs[cur_algclass], (yyvsp[(1) - (1)].alg)); | 
                          inssainfoalg(&cur_sainfo->algs[cur_algclass], (yyvsp[(1) - (1)].alg)); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 231: | 
    case 231: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1612 "cfparse.y" | 
| #line 1542 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          int defklen; | 
                          int defklen; | 
 |   | 
   | 
| 
 Line 4145  yyreduce:
 | 
 Line 4156  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 232: | 
    case 232: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1667 "cfparse.y" | 
| #line 1597 "cfparse.y" |   | 
 |      { (yyval.num) = ~0; } | 
      { (yyval.num) = ~0; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 233: | 
    case 233: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1668 "cfparse.y" | 
| #line 1598 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 234: | 
    case 234: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1671 "cfparse.y" | 
| #line 1601 "cfparse.y" |   | 
 |      { (yyval.num) = IPSEC_PORT_ANY; } | 
      { (yyval.num) = IPSEC_PORT_ANY; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 235: | 
    case 235: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1672 "cfparse.y" | 
| #line 1602 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 236: | 
    case 236: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1673 "cfparse.y" | 
| #line 1603 "cfparse.y" |   | 
 |      { (yyval.num) = IPSEC_PORT_ANY; } | 
      { (yyval.num) = IPSEC_PORT_ANY; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 237: | 
    case 237: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1676 "cfparse.y" | 
| #line 1606 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 238: | 
    case 238: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1677 "cfparse.y" | 
| #line 1607 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 239: | 
    case 239: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1678 "cfparse.y" | 
| #line 1608 "cfparse.y" |   | 
 |      { (yyval.num) = IPSEC_ULPROTO_ANY; } | 
      { (yyval.num) = IPSEC_ULPROTO_ANY; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 240: | 
    case 240: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1681 "cfparse.y" | 
| #line 1611 "cfparse.y" |   | 
 |      { (yyval.num) = 0; } | 
      { (yyval.num) = 0; } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 241: | 
    case 241: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1682 "cfparse.y" | 
| #line 1612 "cfparse.y" |   | 
 |      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
      { (yyval.num) = (yyvsp[(1) - (1)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 242: | 
    case 242: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1688 "cfparse.y" | 
| #line 1618 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct remoteconf *from, *new; | 
                          struct remoteconf *from, *new; | 
 |   | 
   | 
| 
 Line 4249  yyreduce:
 | 
 Line 4249  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 244: | 
    case 244: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1718 "cfparse.y" | 
| #line 1648 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct remoteconf *new; | 
                          struct remoteconf *new; | 
 |   | 
   | 
| 
 Line 4273  yyreduce:
 | 
 Line 4272  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 246: | 
    case 246: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1738 "cfparse.y" | 
| #line 1668 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct remoteconf *from, *new; | 
                          struct remoteconf *from, *new; | 
 |   | 
   | 
| 
 Line 4300  yyreduce:
 | 
 Line 4298  yyreduce:
 | 
 |      break; | 
      break; | 
 |   | 
   | 
 |    case 248: | 
    case 248: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1761 "cfparse.y" | 
| #line 1691 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct remoteconf *new; | 
                          struct remoteconf *new; | 
 |   | 
   | 
| 
 Line 4317  yyreduce:
 | 
 Line 4314  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 250: |   case 251: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1779 "cfparse.y" | 
| #line 1708 "cfparse.y" |   | 
 |      { | 
      { | 
|                         /* check a exchange mode */ |                         if (process_rmconf() != 0) | 
|                         if (cur_rmconf->etypes == NULL) { |   | 
|                                 yyerror("no exchange mode specified.\n"); |   | 
 |                                  return -1; | 
                                  return -1; | 
|                         } |                 } | 
|   |     break; | 
 |   | 
   | 
|                         if (cur_rmconf->idvtype == IDTYPE_UNDEFINED) |   case 252: | 
|                                 cur_rmconf->idvtype = IDTYPE_ADDRESS; | /* Line 1787 of yacc.c  */ | 
 | #line 1787 "cfparse.y" | 
|                         if (cur_rmconf->idvtype == IDTYPE_ASN1DN) { |     { | 
|                                 if (cur_rmconf->mycertfile) { |                         if (process_rmconf() != 0) | 
|                                         if (cur_rmconf->idv) |   | 
|                                                 yywarn("Both CERT and ASN1 ID " |   | 
|                                                        "are set. Hope this is OK.\n"); |   | 
|                                         /* TODO: Preparse the DN here */ |   | 
|                                 } else if (cur_rmconf->idv) { |   | 
|                                         /* OK, using asn1dn without X.509. */ |   | 
|                                 } else { |   | 
|                                         yyerror("ASN1 ID not specified " |   | 
|                                                 "and no CERT defined!\n"); |   | 
|                                         return -1; |   | 
|                                 } |   | 
|                         } |   | 
 |   | 
|                         if (duprmconf_finish(cur_rmconf)) |   | 
 |                                  return -1; | 
                                  return -1; | 
 |   | 
   | 
 |  #if 0 | 
   | 
 |                          /* this pointer copy will never happen, because duprmconf_shallow | 
   | 
 |                           * already copied all pointers. | 
   | 
 |                           */ | 
   | 
 |                          if (cur_rmconf->spspec == NULL && | 
   | 
 |                              cur_rmconf->inherited_from != NULL) { | 
   | 
 |                                  cur_rmconf->spspec = cur_rmconf->inherited_from->spspec; | 
   | 
 |                          } | 
   | 
 |  #endif | 
   | 
 |                          if (set_isakmp_proposal(cur_rmconf) != 0) | 
   | 
 |                                  return -1; | 
   | 
 |   | 
   | 
 |                          /* DH group settting if aggressive mode is there. */ | 
   | 
 |                          if (check_etypeok(cur_rmconf, (void*) ISAKMP_ETYPE_AGG)) { | 
   | 
 |                                  struct isakmpsa *p; | 
   | 
 |                                  int b = 0; | 
   | 
 |   | 
   | 
 |                                  /* DH group */ | 
   | 
 |                                  for (p = cur_rmconf->proposal; p; p = p->next) { | 
   | 
 |                                          if (b == 0 || (b && b == p->dh_group)) { | 
   | 
 |                                                  b = p->dh_group; | 
   | 
 |                                                  continue; | 
   | 
 |                                          } | 
   | 
 |                                          yyerror("DH group must be equal " | 
   | 
 |                                                  "in all proposals " | 
   | 
 |                                                  "when aggressive mode is " | 
   | 
 |                                                  "used.\n"); | 
   | 
 |                                          return -1; | 
   | 
 |                                  } | 
   | 
 |                                  cur_rmconf->dh_group = b; | 
   | 
 |   | 
   | 
 |                                  if (cur_rmconf->dh_group == 0) { | 
   | 
 |                                          yyerror("DH group must be set in the proposal.\n"); | 
   | 
 |                                          return -1; | 
   | 
 |                                  } | 
   | 
 |   | 
   | 
 |                                  /* DH group settting if PFS is required. */ | 
   | 
 |                                  if (oakley_setdhgroup(cur_rmconf->dh_group, | 
   | 
 |                                                  &cur_rmconf->dhgrp) < 0) { | 
   | 
 |                                          yyerror("failed to set DH value.\n"); | 
   | 
 |                                          return -1; | 
   | 
 |                                  } | 
   | 
 |                          } | 
   | 
 |   | 
   | 
 |                          insrmconf(cur_rmconf); | 
   | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 251: |   case 253: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1794 "cfparse.y" | 
| #line 1785 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          (yyval.saddr) = newsaddr(sizeof(struct sockaddr)); | 
                          (yyval.saddr) = newsaddr(sizeof(struct sockaddr)); | 
 |                          (yyval.saddr)->sa_family = AF_UNSPEC; | 
                          (yyval.saddr)->sa_family = AF_UNSPEC; | 
| 
 Line 4408  yyreduce:
 | 
 Line 4342  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 252: |   case 254: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1800 "cfparse.y" | 
| #line 1791 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          (yyval.saddr) = (yyvsp[(1) - (1)].saddr); | 
                          (yyval.saddr) = (yyvsp[(1) - (1)].saddr); | 
 |                          if ((yyval.saddr) == NULL) { | 
                          if ((yyval.saddr) == NULL) { | 
| 
 Line 4421  yyreduce:
 | 
 Line 4354  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 255: |   case 257: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1814 "cfparse.y" | 
| #line 1805 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->remote != NULL) { | 
                          if (cur_rmconf->remote != NULL) { | 
 |                                  yyerror("remote_address already specified"); | 
                                  yyerror("remote_address already specified"); | 
| 
 Line 4434  yyreduce:
 | 
 Line 4366  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 257: |   case 259: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1823 "cfparse.y" | 
| #line 1814 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->etypes = NULL; | 
                          cur_rmconf->etypes = NULL; | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 259: |   case 261: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1827 "cfparse.y" | 
| #line 1818 "cfparse.y" |   | 
 |      { cur_rmconf->doitype = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->doitype = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 261: |   case 263: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1828 "cfparse.y" | 
| #line 1819 "cfparse.y" |   | 
 |      { cur_rmconf->sittype = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->sittype = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 264: |   case 266: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1831 "cfparse.y" | 
| #line 1822 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          yywarn("This directive without certtype will be removed!\n"); | 
                          yywarn("This directive without certtype will be removed!\n"); | 
 |                          yywarn("Please use 'peers_certfile x509 \"%s\";' instead\n", (yyvsp[(2) - (2)].val)->v); | 
                          yywarn("Please use 'peers_certfile x509 \"%s\";' instead\n", (yyvsp[(2) - (2)].val)->v); | 
| 
 Line 4481  yyreduce:
 | 
 Line 4409  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 266: |   case 268: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1851 "cfparse.y" | 
| #line 1842 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->peerscert != NULL) { | 
                          if (cur_rmconf->peerscert != NULL) { | 
 |                                  yyerror("peers_certfile already defined\n"); | 
                                  yyerror("peers_certfile already defined\n"); | 
| 
 Line 4502  yyreduce:
 | 
 Line 4429  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 268: |   case 270: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1868 "cfparse.y" | 
| #line 1859 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char path[MAXPATHLEN]; | 
                          char path[MAXPATHLEN]; | 
 |                          int ret = 0; | 
                          int ret = 0; | 
| 
 Line 4536  yyreduce:
 | 
 Line 4462  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 270: |   case 272: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1898 "cfparse.y" | 
| #line 1889 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->peerscert != NULL) { | 
                          if (cur_rmconf->peerscert != NULL) { | 
 |                                  yyerror("peers_certfile already defined\n"); | 
                                  yyerror("peers_certfile already defined\n"); | 
| 
 Line 4554  yyreduce:
 | 
 Line 4479  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 272: |   case 274: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1912 "cfparse.y" | 
| #line 1903 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->cacert != NULL) { | 
                          if (cur_rmconf->cacert != NULL) { | 
 |                                  yyerror("ca_type already defined\n"); | 
                                  yyerror("ca_type already defined\n"); | 
| 
 Line 4575  yyreduce:
 | 
 Line 4499  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 274: |   case 276: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1928 "cfparse.y" | 
| #line 1919 "cfparse.y" |   | 
 |      { cur_rmconf->verify_cert = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->verify_cert = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 276: |   case 278: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1929 "cfparse.y" | 
| #line 1920 "cfparse.y" |   | 
 |      { cur_rmconf->send_cert = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->send_cert = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 278: |   case 280: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1930 "cfparse.y" | 
| #line 1921 "cfparse.y" |   | 
 |      { cur_rmconf->send_cr = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->send_cr = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 280: |   case 282: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1931 "cfparse.y" | 
| #line 1922 "cfparse.y" |   | 
 |      { cur_rmconf->match_empty_cr = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->match_empty_cr = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 282: |   case 284: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1933 "cfparse.y" | 
| #line 1924 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (set_identifier(&cur_rmconf->idv, (yyvsp[(2) - (3)].num), (yyvsp[(3) - (3)].val)) != 0) { | 
                          if (set_identifier(&cur_rmconf->idv, (yyvsp[(2) - (3)].num), (yyvsp[(3) - (3)].val)) != 0) { | 
 |                                  yyerror("failed to set identifer.\n"); | 
                                  yyerror("failed to set identifer.\n"); | 
| 
 Line 4616  yyreduce:
 | 
 Line 4535  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 284: |   case 286: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1942 "cfparse.y" | 
| #line 1933 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (set_identifier_qual(&cur_rmconf->idv, (yyvsp[(2) - (4)].num), (yyvsp[(4) - (4)].val), (yyvsp[(3) - (4)].num)) != 0) { | 
                          if (set_identifier_qual(&cur_rmconf->idv, (yyvsp[(2) - (4)].num), (yyvsp[(4) - (4)].val), (yyvsp[(3) - (4)].num)) != 0) { | 
 |                                  yyerror("failed to set identifer.\n"); | 
                                  yyerror("failed to set identifer.\n"); | 
| 
 Line 4629  yyreduce:
 | 
 Line 4547  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 286: |   case 288: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1951 "cfparse.y" | 
| #line 1942 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_HYBRID | 
  #ifdef ENABLE_HYBRID | 
 |                          /* formerly identifier type login */ | 
                          /* formerly identifier type login */ | 
| 
 Line 4650  yyreduce:
 | 
 Line 4567  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 288: |   case 290: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1968 "cfparse.y" | 
| #line 1959 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct idspec  *id; | 
                          struct idspec  *id; | 
 |                          id = newidspec(); | 
                          id = newidspec(); | 
| 
 Line 4671  yyreduce:
 | 
 Line 4587  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 290: |   case 292: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 1985 "cfparse.y" | 
| #line 1976 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct idspec  *id; | 
                          struct idspec  *id; | 
 |                          id = newidspec(); | 
                          id = newidspec(); | 
| 
 Line 4692  yyreduce:
 | 
 Line 4607  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 292: |   case 294: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2001 "cfparse.y" | 
| #line 1992 "cfparse.y" |   | 
 |      { cur_rmconf->verify_identifier = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->verify_identifier = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 294: |   case 296: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2002 "cfparse.y" | 
| #line 1993 "cfparse.y" |   | 
 |      { cur_rmconf->nonce_size = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->nonce_size = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 296: |   case 298: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2004 "cfparse.y" | 
| #line 1995 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          yyerror("dh_group cannot be defined here."); | 
                          yyerror("dh_group cannot be defined here."); | 
 |                          return -1; | 
                          return -1; | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 298: |   case 300: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2009 "cfparse.y" | 
| #line 2000 "cfparse.y" |   | 
 |      { cur_rmconf->passive = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->passive = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 300: |   case 302: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2010 "cfparse.y" | 
| #line 2001 "cfparse.y" |   | 
 |      { cur_rmconf->ike_frag = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->ike_frag = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 302: |   case 304: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2011 "cfparse.y" | 
| #line 2002 "cfparse.y" |   | 
 |      { cur_rmconf->ike_frag = ISAKMP_FRAG_FORCE; } | 
      { cur_rmconf->ike_frag = ISAKMP_FRAG_FORCE; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 304: |   case 306: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2012 "cfparse.y" | 
| #line 2003 "cfparse.y" |   | 
 |      {  | 
      {  | 
 |  #ifdef SADB_X_EXT_NAT_T_FRAG | 
  #ifdef SADB_X_EXT_NAT_T_FRAG | 
 |                          if (libipsec_opt & LIBIPSEC_OPT_FRAG) | 
                          if (libipsec_opt & LIBIPSEC_OPT_FRAG) | 
| 
 Line 4753  yyreduce:
 | 
 Line 4661  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 306: |   case 308: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2022 "cfparse.y" | 
| #line 2013 "cfparse.y" |   | 
 |      {  | 
      {  | 
 |                          if (cur_rmconf->script[SCRIPT_PHASE1_UP] != NULL) | 
                          if (cur_rmconf->script[SCRIPT_PHASE1_UP] != NULL) | 
 |                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_UP]); | 
                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_UP]); | 
| 
 Line 4766  yyreduce:
 | 
 Line 4673  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 308: |   case 310: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2029 "cfparse.y" | 
| #line 2020 "cfparse.y" |   | 
 |      {  | 
      {  | 
 |                          if (cur_rmconf->script[SCRIPT_PHASE1_DOWN] != NULL) | 
                          if (cur_rmconf->script[SCRIPT_PHASE1_DOWN] != NULL) | 
 |                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_DOWN]); | 
                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_DOWN]); | 
| 
 Line 4779  yyreduce:
 | 
 Line 4685  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 310: |   case 312: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2036 "cfparse.y" | 
| #line 2027 "cfparse.y" |   | 
 |      {  | 
      {  | 
 |                          if (cur_rmconf->script[SCRIPT_PHASE1_DEAD] != NULL) | 
                          if (cur_rmconf->script[SCRIPT_PHASE1_DEAD] != NULL) | 
 |                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_DEAD]); | 
                                  vfree(cur_rmconf->script[SCRIPT_PHASE1_DEAD]); | 
| 
 Line 4792  yyreduce:
 | 
 Line 4697  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 312: |   case 314: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2043 "cfparse.y" | 
| #line 2034 "cfparse.y" |   | 
 |      { cur_rmconf->mode_cfg = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->mode_cfg = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 314: |   case 316: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2044 "cfparse.y" | 
| #line 2035 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->weak_phase1_check = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->weak_phase1_check = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 316: |   case 318: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2047 "cfparse.y" | 
| #line 2038 "cfparse.y" |   | 
 |      { cur_rmconf->gen_policy = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->gen_policy = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 318: |   case 320: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2048 "cfparse.y" | 
| #line 2039 "cfparse.y" |   | 
 |      { cur_rmconf->gen_policy = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->gen_policy = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 320: |   case 322: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2049 "cfparse.y" | 
| #line 2040 "cfparse.y" |   | 
 |      { cur_rmconf->support_proxy = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->support_proxy = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 322: |   case 324: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2050 "cfparse.y" | 
| #line 2041 "cfparse.y" |   | 
 |      { cur_rmconf->ini_contact = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->ini_contact = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 324: |   case 326: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2052 "cfparse.y" | 
| #line 2043 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_NATT | 
  #ifdef ENABLE_NATT | 
 |                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
| 
 Line 4852  yyreduce:
 | 
 Line 4750  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 326: |   case 328: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2063 "cfparse.y" | 
| #line 2054 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_NATT | 
  #ifdef ENABLE_NATT | 
 |                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
                          if (libipsec_opt & LIBIPSEC_OPT_NATT) | 
| 
 Line 4868  yyreduce:
 | 
 Line 4765  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 328: |   case 330: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2074 "cfparse.y" | 
| #line 2065 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_DPD | 
  #ifdef ENABLE_DPD | 
 |                          cur_rmconf->dpd = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->dpd = (yyvsp[(2) - (2)].num); | 
| 
 Line 4881  yyreduce:
 | 
 Line 4777  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 330: |   case 332: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2082 "cfparse.y" | 
| #line 2073 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_DPD | 
  #ifdef ENABLE_DPD | 
 |                          cur_rmconf->dpd_interval = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->dpd_interval = (yyvsp[(2) - (2)].num); | 
| 
 Line 4894  yyreduce:
 | 
 Line 4789  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 332: |   case 334: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2091 "cfparse.y" | 
| #line 2082 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_DPD | 
  #ifdef ENABLE_DPD | 
 |                          cur_rmconf->dpd_retry = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->dpd_retry = (yyvsp[(2) - (2)].num); | 
| 
 Line 4907  yyreduce:
 | 
 Line 4801  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 334: |   case 336: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2100 "cfparse.y" | 
| #line 2091 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #ifdef ENABLE_DPD | 
  #ifdef ENABLE_DPD | 
 |                          cur_rmconf->dpd_maxfails = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->dpd_maxfails = (yyvsp[(2) - (2)].num); | 
| 
 Line 4920  yyreduce:
 | 
 Line 4813  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 336: |   case 338: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2108 "cfparse.y" | 
| #line 2099 "cfparse.y" |   | 
 |      { cur_rmconf->rekey = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->rekey = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 338: |   case 340: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2109 "cfparse.y" | 
| #line 2100 "cfparse.y" |   | 
 |      { cur_rmconf->rekey = REKEY_FORCE; } | 
      { cur_rmconf->rekey = REKEY_FORCE; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 340: |   case 342: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2111 "cfparse.y" | 
| #line 2102 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->ph1id = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->ph1id = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 342: |   case 344: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2116 "cfparse.y" | 
| #line 2107 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
                          cur_rmconf->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 344: |   case 346: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2120 "cfparse.y" | 
| #line 2111 "cfparse.y" |   | 
 |      { cur_rmconf->pcheck_level = (yyvsp[(2) - (2)].num); } | 
      { cur_rmconf->pcheck_level = (yyvsp[(2) - (2)].num); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 346: |   case 348: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2122 "cfparse.y" | 
| #line 2113 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #if 1 | 
  #if 1 | 
 |                          yyerror("byte lifetime support is deprecated in Phase1"); | 
                          yyerror("byte lifetime support is deprecated in Phase1"); | 
| 
 Line 4977  yyreduce:
 | 
 Line 4864  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 348: |   case 350: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2136 "cfparse.y" | 
| #line 2127 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct secprotospec *spspec; | 
                          struct secprotospec *spspec; | 
 |   | 
   | 
| 
 Line 4991  yyreduce:
 | 
 Line 4877  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 351: |   case 353: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2149 "cfparse.y" | 
| #line 2140 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          struct etypes *new; | 
                          struct etypes *new; | 
 |                          new = racoon_malloc(sizeof(struct etypes)); | 
                          new = racoon_malloc(sizeof(struct etypes)); | 
| 
 Line 5017  yyreduce:
 | 
 Line 4902  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 352: |   case 354: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2172 "cfparse.y" | 
| #line 2163 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->mycert != NULL) { | 
                          if (cur_rmconf->mycert != NULL) { | 
 |                                  yyerror("certificate_type already defined\n"); | 
                                  yyerror("certificate_type already defined\n"); | 
| 
 Line 5042  yyreduce:
 | 
 Line 4926  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 354: |   case 356: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2193 "cfparse.y" | 
| #line 2184 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          char path[MAXPATHLEN]; | 
                          char path[MAXPATHLEN]; | 
 |                          int ret = 0; | 
                          int ret = 0; | 
| 
 Line 5078  yyreduce:
 | 
 Line 4961  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 356: |   case 358: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2227 "cfparse.y" | 
| #line 2218 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          (yyval.num) = algtype2doi(algclass_isakmp_dh, (yyvsp[(1) - (1)].num)); | 
                          (yyval.num) = algtype2doi(algclass_isakmp_dh, (yyvsp[(1) - (1)].num)); | 
 |                          if ((yyval.num) == -1) { | 
                          if ((yyval.num) == -1) { | 
| 
 Line 5091  yyreduce:
 | 
 Line 4973  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 357: |   case 359: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2235 "cfparse.y" | 
| #line 2226 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (ARRAYLEN(num2dhgroup) > (yyvsp[(1) - (1)].num) && num2dhgroup[(yyvsp[(1) - (1)].num)] != 0) { | 
                          if (ARRAYLEN(num2dhgroup) > (yyvsp[(1) - (1)].num) && num2dhgroup[(yyvsp[(1) - (1)].num)] != 0) { | 
 |                                  (yyval.num) = num2dhgroup[(yyvsp[(1) - (1)].num)]; | 
                                  (yyval.num) = num2dhgroup[(yyvsp[(1) - (1)].num)]; | 
| 
 Line 5106  yyreduce:
 | 
 Line 4987  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 358: |   case 360: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2246 "cfparse.y" | 
| #line 2237 "cfparse.y" |   | 
 |      { (yyval.val) = NULL; } | 
      { (yyval.val) = NULL; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 359: |   case 361: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2247 "cfparse.y" | 
| #line 2238 "cfparse.y" |   | 
 |      { (yyval.val) = (yyvsp[(1) - (1)].val); } | 
      { (yyval.val) = (yyvsp[(1) - (1)].val); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 360: |   case 362: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2248 "cfparse.y" | 
| #line 2239 "cfparse.y" |   | 
 |      { (yyval.val) = (yyvsp[(1) - (1)].val); } | 
      { (yyval.val) = (yyvsp[(1) - (1)].val); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 363: |   case 365: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2256 "cfparse.y" | 
| #line 2247 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->spspec->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
                          cur_rmconf->spspec->lifetime = (yyvsp[(3) - (4)].num) * (yyvsp[(4) - (4)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 365: |   case 367: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2261 "cfparse.y" | 
| #line 2252 "cfparse.y" |   | 
 |      { | 
      { | 
 |  #if 1 | 
  #if 1 | 
 |                          yyerror("byte lifetime support is deprecated"); | 
                          yyerror("byte lifetime support is deprecated"); | 
| 
 Line 5152  yyreduce:
 | 
 Line 5028  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 367: |   case 369: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2273 "cfparse.y" | 
| #line 2264 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          cur_rmconf->spspec->algclass[algclass_isakmp_dh] = (yyvsp[(2) - (2)].num); | 
                          cur_rmconf->spspec->algclass[algclass_isakmp_dh] = (yyvsp[(2) - (2)].num); | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 369: |   case 371: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2278 "cfparse.y" | 
| #line 2269 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          if (cur_rmconf->spspec->vendorid != VENDORID_GSSAPI) { | 
                          if (cur_rmconf->spspec->vendorid != VENDORID_GSSAPI) { | 
 |                                  yyerror("wrong Vendor ID for gssapi_id"); | 
                                  yyerror("wrong Vendor ID for gssapi_id"); | 
| 
 Line 5178  yyreduce:
 | 
 Line 5052  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 371: |   case 373: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2291 "cfparse.y" | 
| #line 2282 "cfparse.y" |   | 
 |      { | 
      { | 
 |                          int doi; | 
                          int doi; | 
 |                          int defklen; | 
                          int defklen; | 
| 
 Line 5277  yyreduce:
 | 
 Line 5150  yyreduce:
 | 
 |                  } | 
                  } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 373: |   case 375: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2388 "cfparse.y" | 
| #line 2379 "cfparse.y" |   | 
 |      { (yyval.num) = 1; } | 
      { (yyval.num) = 1; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 374: |   case 376: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2389 "cfparse.y" | 
| #line 2380 "cfparse.y" |   | 
 |      { (yyval.num) = 60; } | 
      { (yyval.num) = 60; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 375: |   case 377: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2390 "cfparse.y" | 
| #line 2381 "cfparse.y" |   | 
 |      { (yyval.num) = (60 * 60); } | 
      { (yyval.num) = (60 * 60); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 376: |   case 378: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2393 "cfparse.y" | 
| #line 2384 "cfparse.y" |   | 
 |      { (yyval.num) = 1; } | 
      { (yyval.num) = 1; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 377: |   case 379: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2394 "cfparse.y" | 
| #line 2385 "cfparse.y" |   | 
 |      { (yyval.num) = 1024; } | 
      { (yyval.num) = 1024; } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 378: |   case 380: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2395 "cfparse.y" | 
| #line 2386 "cfparse.y" |   | 
 |      { (yyval.num) = (1024 * 1024); } | 
      { (yyval.num) = (1024 * 1024); } | 
 |      break; | 
      break; | 
 |   | 
   | 
|   case 379: |   case 381: | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 2396 "cfparse.y" | 
| #line 2387 "cfparse.y" |   | 
 |      { (yyval.num) = (1024 * 1024 * 1024); } | 
      { (yyval.num) = (1024 * 1024 * 1024); } | 
 |      break; | 
      break; | 
 |   | 
   | 
 |   | 
   | 
 | /* Line 1787 of yacc.c  */ | 
| /* Line 1455 of yacc.c  */ | #line 5198 "cfparse.c" | 
| #line 5333 "cfparse.c" |   | 
 |        default: break; | 
        default: break; | 
 |      } | 
      } | 
 |   | 
    /* User semantic actions sometimes alter yychar, and that requires | 
 |   | 
       that yytoken be updated with the new translation.  We take the | 
 |   | 
       approach of translating immediately before every use of yytoken. | 
 |   | 
       One alternative is translating here after every semantic action, | 
 |   | 
       but that translation would be missed if the semantic action invokes | 
 |   | 
       YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or | 
 |   | 
       if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an | 
 |   | 
       incorrect destructor might then be invoked immediately.  In the | 
 |   | 
       case of YYERROR or YYBACKUP, subsequent parser actions might lead | 
 |   | 
       to an incorrect destructor call or verbose syntax error message | 
 |   | 
       before the lookahead is translated.  */ | 
 |    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); | 
    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); | 
 |   | 
   | 
 |    YYPOPSTACK (yylen); | 
    YYPOPSTACK (yylen); | 
| 
 Line 5359  yyreduce:
 | 
 Line 5235  yyreduce:
 | 
 |  | yyerrlab -- here on detecting error | | 
  | yyerrlab -- here on detecting error | | 
 |  `------------------------------------*/ | 
  `------------------------------------*/ | 
 |  yyerrlab: | 
  yyerrlab: | 
 |   | 
    /* Make sure we have latest lookahead translation.  See comments at | 
 |   | 
       user semantic actions for why this is necessary.  */ | 
 |   | 
    yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); | 
 |   | 
   | 
 |    /* If not already recovering from an error, report this error.  */ | 
    /* If not already recovering from an error, report this error.  */ | 
 |    if (!yyerrstatus) | 
    if (!yyerrstatus) | 
 |      { | 
      { | 
| 
 Line 5366  yyerrlab:
 | 
 Line 5246  yyerrlab:
 | 
 |  #if ! YYERROR_VERBOSE | 
  #if ! YYERROR_VERBOSE | 
 |        yyerror (YY_("syntax error")); | 
        yyerror (YY_("syntax error")); | 
 |  #else | 
  #else | 
 |   | 
  # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ | 
 |   | 
                                          yyssp, yytoken) | 
 |        { | 
        { | 
|         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |         char const *yymsgp = YY_("syntax error"); | 
|         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |         int yysyntax_error_status; | 
|           { |         yysyntax_error_status = YYSYNTAX_ERROR; | 
|             YYSIZE_T yyalloc = 2 * yysize; |         if (yysyntax_error_status == 0) | 
|             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |           yymsgp = yymsg; | 
|               yyalloc = YYSTACK_ALLOC_MAXIMUM; |         else if (yysyntax_error_status == 1) | 
|             if (yymsg != yymsgbuf) |           { | 
|               YYSTACK_FREE (yymsg); |             if (yymsg != yymsgbuf) | 
|             yymsg = (char *) YYSTACK_ALLOC (yyalloc); |               YYSTACK_FREE (yymsg); | 
|             if (yymsg) |             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); | 
|               yymsg_alloc = yyalloc; |             if (!yymsg) | 
|             else |               { | 
|               { |                 yymsg = yymsgbuf; | 
|                 yymsg = yymsgbuf; |                 yymsg_alloc = sizeof yymsgbuf; | 
|                 yymsg_alloc = sizeof yymsgbuf; |                 yysyntax_error_status = 2; | 
|               } |               } | 
|           } |             else | 
 |               { | 
|         if (0 < yysize && yysize <= yymsg_alloc) |                 yysyntax_error_status = YYSYNTAX_ERROR; | 
|           { |                 yymsgp = yymsg; | 
|             (void) yysyntax_error (yymsg, yystate, yychar); |               } | 
|             yyerror (yymsg); |           } | 
|           } |         yyerror (yymsgp); | 
|         else |         if (yysyntax_error_status == 2) | 
|           { |           goto yyexhaustedlab; | 
|             yyerror (YY_("syntax error")); |   | 
|             if (yysize != 0) |   | 
|               goto yyexhaustedlab; |   | 
|           } |   | 
 |        } | 
        } | 
 |   | 
  # undef YYSYNTAX_ERROR | 
 |  #endif | 
  #endif | 
 |      } | 
      } | 
 |   | 
   | 
| 
 Line 5455  yyerrlab1:
 | 
 Line 5334  yyerrlab1:
 | 
 |    for (;;) | 
    for (;;) | 
 |      { | 
      { | 
 |        yyn = yypact[yystate]; | 
        yyn = yypact[yystate]; | 
|       if (yyn != YYPACT_NINF) |       if (!yypact_value_is_default (yyn)) | 
 |          { | 
          { | 
 |            yyn += YYTERROR; | 
            yyn += YYTERROR; | 
 |            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) | 
            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) | 
| 
 Line 5502  yyabortlab:
 | 
 Line 5381  yyabortlab:
 | 
 |    yyresult = 1; | 
    yyresult = 1; | 
 |    goto yyreturn; | 
    goto yyreturn; | 
 |   | 
   | 
| #if !defined(yyoverflow) || YYERROR_VERBOSE | #if !defined yyoverflow || YYERROR_VERBOSE | 
 |  /*-------------------------------------------------. | 
  /*-------------------------------------------------. | 
 |  | yyexhaustedlab -- memory exhaustion comes here.  | | 
  | yyexhaustedlab -- memory exhaustion comes here.  | | 
 |  `-------------------------------------------------*/ | 
  `-------------------------------------------------*/ | 
| 
 Line 5514  yyexhaustedlab:
 | 
 Line 5393  yyexhaustedlab:
 | 
 |   | 
   | 
 |  yyreturn: | 
  yyreturn: | 
 |    if (yychar != YYEMPTY) | 
    if (yychar != YYEMPTY) | 
|      yydestruct ("Cleanup: discarding lookahead", |     { | 
|                  yytoken, &yylval); |       /* Make sure we have latest lookahead translation.  See comments at | 
|   |          user semantic actions for why this is necessary.  */ | 
|   |       yytoken = YYTRANSLATE (yychar); | 
|   |       yydestruct ("Cleanup: discarding lookahead", | 
|   |                   yytoken, &yylval); | 
|   |     } | 
 |    /* Do not reclaim the symbols of the rule which action triggered | 
    /* Do not reclaim the symbols of the rule which action triggered | 
 |       this YYABORT or YYACCEPT.  */ | 
       this YYABORT or YYACCEPT.  */ | 
 |    YYPOPSTACK (yylen); | 
    YYPOPSTACK (yylen); | 
| 
 Line 5539  yyreturn:
 | 
 Line 5423  yyreturn:
 | 
 |  } | 
  } | 
 |   | 
   | 
 |   | 
   | 
 |   | 
  /* Line 2048 of yacc.c  */ | 
 |   | 
  #line 2398 "cfparse.y" | 
 |   | 
   | 
 |  /* Line 1675 of yacc.c  */ | 
   | 
 |  #line 2389 "cfparse.y" | 
   | 
 |   | 
   | 
 |   | 
   | 
 |  static struct secprotospec * | 
  static struct secprotospec * | 
 |  newspspec() | 
  newspspec() | 
 |  { | 
  { | 
| 
 Line 5986  adminsock_conf(path, owner, group, mode_dec)
 | 
 Line 5869  adminsock_conf(path, owner, group, mode_dec)
 | 
 |          return; | 
          return; | 
 |  } | 
  } | 
 |  #endif | 
  #endif | 
 |   | 
   |