From: Francis Dupont Date: Mon, 13 Mar 2023 14:07:02 +0000 (+0000) Subject: [#719] Regen lex and parser X-Git-Tag: Kea-2.3.6~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=146f59cd426a65248ffca34f4c7b6f472f61b990;p=thirdparty%2Fkea.git [#719] Regen lex and parser --- diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 76e3d3a7ce..3217b6324b 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 222 -#define YY_END_OF_BUFFER 223 +#define YY_NUM_RULES 223 +#define YY_END_OF_BUFFER 224 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +700,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2172] = +static const flex_int16_t yy_accept[2192] = { 0, - 215, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 223, 221, 10, 11, 221, 1, 215, 212, 215, 215, - 221, 214, 213, 221, 221, 221, 221, 221, 208, 209, - 221, 221, 221, 210, 211, 5, 5, 5, 221, 221, - 221, 10, 11, 0, 0, 203, 0, 0, 0, 0, + 216, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 222, 10, 11, 222, 1, 216, 213, 216, 216, + 222, 215, 214, 222, 222, 222, 222, 222, 209, 210, + 222, 222, 222, 211, 212, 5, 5, 5, 222, 222, + 222, 10, 11, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 215, - 215, 0, 214, 215, 3, 2, 6, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 216, + 216, 0, 215, 216, 3, 2, 6, 0, 216, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, + 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -724,11 +724,11 @@ static const flex_int16_t yy_accept[2172] = 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 207, 0, + 0, 0, 0, 0, 0, 0, 0, 206, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -736,127 +736,128 @@ static const flex_int16_t yy_accept[2172] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 218, - 0, 217, 216, 0, 0, 0, 0, 0, 0, 0, - 180, 0, 179, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, + 219, 0, 218, 217, 0, 0, 0, 0, 0, 0, + 0, 180, 0, 179, 0, 0, 100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, + 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, 220, 217, 0, 0, + 0, 0, 0, 0, 181, 0, 183, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 104, 0, 0, 0, 0, 0, 0, 85, 0, + 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, - 0, 0, 0, 0, 219, 216, 0, 0, 0, 0, - 0, 0, 181, 0, 183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, - 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, - 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, - 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 89, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 123, 0, 0, 35, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 12, 185, + 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, + 35, 0, 0, 39, 0, 0, 0, 0, 0, 0, - 184, 0, 0, 0, 0, 137, 0, 0, 0, 0, + 0, 12, 185, 184, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, + 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 111, 0, - 0, 0, 0, 0, 0, 116, 36, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 111, 0, 0, 0, 0, 0, + 0, 116, 36, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, + 118, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 58, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 119, 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, 0, 0, 0, 57, - 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 0, 114, + 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 168, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 130, 0, 0, 0, 0, 0, 0, 0, 134, + 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 0, 23, 0, 139, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, - 87, 0, 0, 0, 82, 0, 0, 0, 0, 0, - 0, 142, 0, 38, 0, 161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, + 23, 0, 139, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 87, + 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, + 142, 0, 38, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 0, 0, 0, 0, 0, 107, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 0, 0, 59, + 66, 0, 0, 0, 0, 0, 0, 0, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 0, 83, 98, 0, 0, 0, 0, 0, 0, @@ -865,74 +866,75 @@ static const flex_int16_t yy_accept[2172] = 157, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 140, 0, 15, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 46, 64, 0, 0, 135, 0, 0, 0, 126, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 56, 0, 90, 0, 0, 188, 0, - 0, 193, 0, 110, 0, 0, 0, 200, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 140, 0, 15, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 64, 0, 0, 135, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 90, 0, 0, 188, + 0, 0, 193, 0, 110, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 47, 0, 0, 196, 0, 0, 120, 31, - 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 0, 164, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 0, 0, 0, 28, 0, 0, 170, 0, 0, 0, - - 55, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 60, 0, 0, 109, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 0, 0, 0, 30, 0, 0, 0, 0, 192, 0, - 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 0, 47, 0, 0, 196, 0, 0, + 120, 31, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 29, 0, 0, 0, 0, 28, 0, 0, 170, + 0, 0, 0, 55, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 21, 0, 0, 195, 0, 81, 0, 51, 0, - - 0, 0, 0, 189, 187, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 149, 0, 0, 0, 125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, - 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, - 48, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 13, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 0, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 60, 0, 0, 109, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 148, 0, 62, 61, 20, 0, - 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, + 0, 0, 0, 141, 0, 0, 0, 30, 0, 0, + 0, 0, 192, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 147, 0, 0, 0, 0, 0, 54, 0, - 67, 0, 49, 175, 0, 101, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, - 0, 0, 77, 0, 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 21, 0, 0, 195, 0, + 81, 0, 51, 0, 0, 0, 0, 189, 187, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 17, 0, 0, 0, 0, 0, 0, 176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, + 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, + 52, 0, 0, 0, 0, 48, 154, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 155, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 0, 0, 0, 0, 0, 0, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 148, 0, 62, 61, 20, 0, 173, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 147, 0, 0, 0, 0, 0, 54, 0, 67, 0, + + 49, 175, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, + 77, 0, 0, 0, 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 0, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 76, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 198, 201, 174, 0, 121, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, - 150, 0, 74, 0, 65, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 178, 202, 199, 0, 0, 0, 0, @@ -941,6 +943,7 @@ static const flex_int16_t yy_accept[2172] = 0, 78, 0, 0, 105, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 146, 26, 197, 0 + } ; static const YY_CHAR yy_ec[256] = @@ -987,278 +990,281 @@ static const YY_CHAR yy_meta[74] = 1, 1, 1 } ; -static const flex_int16_t yy_base[2180] = +static const flex_int16_t yy_base[2200] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2563, 2564, 34, 2559, 145, 0, 207, 2564, 214, 221, - 13, 228, 2564, 2539, 118, 25, 2, 6, 2564, 2564, - 73, 11, 17, 2564, 2564, 2564, 104, 2547, 2500, 0, - 2537, 108, 2554, 24, 262, 2564, 2496, 67, 2502, 84, - 75, 88, 224, 91, 89, 290, 220, 2494, 206, 285, - 236, 204, 197, 60, 291, 2503, 247, 308, 315, 214, - 286, 2486, 212, 320, 344, 318, 2505, 335, 0, 385, - 401, 415, 422, 427, 2564, 0, 2564, 441, 446, 236, - 314, 238, 326, 353, 309, 2564, 2502, 2543, 2564, 263, - - 2564, 440, 2530, 308, 2499, 364, 10, 329, 359, 384, - 391, 241, 2540, 0, 501, 408, 2482, 2479, 2483, 418, - 2479, 80, 2487, 422, 2473, 2474, 2479, 78, 2489, 2472, - 2481, 2471, 2480, 341, 343, 340, 2473, 2471, 410, 2519, - 2523, 2469, 2462, 2515, 2455, 174, 2476, 2476, 2470, 340, - 2463, 2461, 2462, 2454, 2459, 2453, 429, 2464, 412, 2449, - 2448, 2462, 425, 2448, 422, 447, 2442, 497, 436, 471, - 2463, 2460, 2461, 432, 2459, 2494, 2493, 450, 446, 2440, - 471, 2441, 478, 2433, 2450, 2442, 2444, 0, 477, 483, - 473, 496, 489, 515, 2440, 2564, 2485, 530, 2434, 499, - - 523, 530, 2488, 535, 2487, 532, 2486, 2564, 2564, 578, - 441, 543, 2445, 2437, 2424, 2435, 2439, 2440, 2420, 2431, - 2435, 2432, 2431, 475, 516, 2469, 2433, 2414, 2411, 2419, - 2414, 2428, 2424, 2415, 2411, 2423, 2423, 2414, 2417, 2397, - 2401, 2414, 2416, 2413, 2405, 2395, 2413, 2564, 2398, 2407, - 523, 2445, 2391, 2400, 2442, 2389, 2399, 2402, 510, 2398, - 2437, 2382, 2384, 2395, 2433, 557, 2378, 2436, 2390, 2370, - 2385, 561, 2375, 2381, 522, 2372, 2370, 2370, 2376, 2367, - 2366, 2373, 2363, 2422, 2378, 2377, 2371, 513, 2378, 2373, - 2365, 2355, 2370, 2369, 2364, 2368, 2349, 2365, 2351, 2357, - - 2364, 2346, 527, 2351, 2348, 2347, 603, 2346, 2341, 2355, - 570, 2354, 2397, 2356, 520, 2347, 2335, 560, 2564, 2564, - 571, 2564, 2564, 2333, 559, 530, 2381, 585, 2391, 576, - 2564, 2390, 2564, 2384, 626, 2564, 2346, 575, 2323, 2332, - 2380, 2340, 2323, 2340, 2376, 2336, 2319, 2325, 2377, 2332, - 2335, 2326, 2329, 2315, 2326, 2370, 2364, 2322, 2319, 619, - 2325, 2365, 2300, 2358, 2311, 2306, 2303, 2306, 2353, 2310, - 2299, 2315, 2349, 2295, 626, 2309, 2294, 2293, 2306, 2304, - 2302, 2302, 2301, 2296, 2303, 2298, 2294, 593, 2292, 2295, - 2290, 2276, 2288, 2284, 2334, 587, 583, 2328, 2564, 2292, - - 2326, 2276, 2275, 2274, 2267, 2269, 2281, 2272, 2279, 2260, - 2277, 2272, 593, 2319, 2272, 2269, 2272, 2564, 2271, 604, - 2261, 2273, 599, 2248, 2249, 2270, 2261, 2251, 2302, 2247, - 2261, 609, 2247, 2259, 2258, 2257, 2252, 2294, 2254, 2253, - 2252, 2251, 2234, 2242, 2292, 2251, 2231, 2289, 2564, 2231, - 2230, 655, 2243, 2241, 2564, 2564, 2241, 2230, 2222, 583, - 2281, 2280, 2564, 2279, 2564, 633, 681, 2238, 646, 2277, - 2219, 2230, 2269, 2222, 2224, 2226, 2213, 2221, 2209, 2564, - 2214, 2207, 2219, 2222, 2209, 2208, 2564, 651, 2210, 2207, - 619, 2205, 2207, 2564, 2252, 2214, 2211, 2196, 2209, 2209, - - 2203, 673, 2210, 2198, 2191, 2242, 2564, 2189, 2205, 2239, - 2200, 2198, 2196, 2197, 2181, 2190, 2232, 2183, 2182, 2177, - 2176, 2227, 2171, 620, 2190, 2164, 2171, 2176, 2186, 2220, - 2224, 2564, 2169, 2165, 680, 2163, 2172, 2171, 2165, 2172, - 2156, 2156, 2166, 2154, 2168, 2168, 2156, 2152, 2150, 2564, - 2207, 2564, 2149, 2160, 2199, 2144, 2143, 2148, 2157, 2151, - 2145, 2154, 2196, 2190, 2152, 2136, 2131, 2151, 2126, 2132, - 568, 2146, 2139, 2143, 2126, 2184, 2125, 2125, 2176, 2121, - 2122, 2121, 2119, 2136, 2564, 2132, 2169, 2564, 2120, 2118, - 2564, 2129, 2165, 2164, 2124, 2108, 2125, 2165, 2564, 2564, - - 2564, 656, 658, 2105, 712, 2564, 2115, 2114, 613, 2121, - 2101, 2111, 2153, 2098, 2151, 2096, 2106, 2148, 2093, 2100, - 2093, 2105, 2087, 2087, 2102, 2101, 658, 2100, 2099, 2099, - 2081, 2086, 2127, 2094, 2091, 2085, 2130, 2074, 2090, 2088, - 2088, 2564, 2073, 2070, 2128, 2083, 2075, 2081, 2072, 2080, - 2065, 2116, 2080, 2062, 2074, 2066, 639, 2057, 2056, 2050, - 2055, 2070, 2067, 2068, 2047, 2057, 2063, 2106, 2061, 2053, - 2044, 2564, 2045, 2047, 2042, 2055, 2047, 2052, 2091, 2090, - 2041, 16, 2050, 2087, 2032, 2085, 2032, 2035, 2028, 2564, - 2042, 2021, 2025, 2039, 2034, 2030, 2075, 2027, 2034, 2072, - - 2564, 2017, 2031, 2030, 2033, 2014, 2066, 2065, 2012, 2063, - 2023, 2007, 2060, 2059, 2564, 2004, 2018, 2017, 695, 2018, - 2013, 203, 209, 278, 326, 341, 345, 367, 445, 457, - 2564, 567, 574, 2564, 683, 675, 609, 636, 659, 669, - 687, 681, 670, 666, 680, 681, 728, 692, 735, 695, - 696, 732, 738, 692, 692, 702, 707, 693, 696, 707, - 707, 691, 748, 701, 711, 714, 752, 715, 708, 712, - 709, 711, 758, 721, 766, 723, 724, 2564, 728, 723, - 714, 729, 734, 731, 719, 735, 734, 722, 736, 734, - 742, 778, 740, 785, 786, 736, 728, 738, 785, 743, - - 793, 2564, 794, 747, 749, 745, 739, 755, 743, 801, - 797, 760, 749, 762, 2564, 752, 763, 752, 765, 755, - 768, 812, 813, 756, 767, 752, 775, 766, 755, 761, - 816, 780, 764, 776, 820, 821, 768, 823, 787, 782, - 787, 785, 829, 771, 783, 786, 790, 782, 779, 2564, - 843, 802, 803, 791, 805, 795, 798, 809, 794, 801, - 807, 808, 800, 814, 854, 830, 804, 818, 823, 820, - 802, 809, 823, 868, 825, 822, 823, 821, 830, 2564, - 826, 821, 836, 833, 819, 821, 840, 837, 825, 832, - 833, 842, 846, 882, 845, 835, 833, 832, 843, 839, - - 895, 842, 853, 838, 839, 845, 861, 851, 898, 2564, - 862, 862, 855, 866, 864, 909, 851, 853, 872, 869, - 857, 855, 917, 874, 860, 866, 864, 2564, 2564, 874, - 879, 884, 872, 882, 884, 2564, 2564, 885, 872, 890, - 877, 879, 872, 2564, 877, 895, 882, 932, 883, 935, - 881, 885, 903, 944, 2564, 2564, 889, 893, 892, 889, - 905, 950, 903, 893, 894, 890, 903, 914, 915, 910, - 911, 913, 906, 908, 904, 910, 910, 912, 927, 910, - 969, 926, 931, 908, 931, 917, 916, 2564, 923, 924, - 973, 974, 926, 939, 977, 935, 925, 940, 934, 942, - - 929, 961, 969, 991, 939, 934, 989, 990, 952, 992, - 2564, 998, 941, 957, 961, 1002, 952, 951, 946, 947, - 959, 954, 950, 953, 954, 964, 974, 1010, 958, 976, - 968, 963, 1021, 978, 979, 970, 2564, 984, 973, 976, - 984, 986, 971, 987, 984, 982, 1029, 995, 979, 980, - 2564, 996, 999, 982, 993, 1042, 985, 1004, 2564, 1003, - 1006, 992, 987, 1005, 1045, 1003, 999, 996, 1049, 1050, - 1012, 998, 1016, 1016, 1016, 1017, 1003, 1018, 1010, 1017, - 1007, 1025, 1024, 1011, 1028, 2564, 1020, 1026, 1029, 1074, - 1021, 2564, 1024, 1029, 1074, 1025, 1037, 1031, 1032, 1030, - - 1032, 1042, 1087, 1031, 1032, 1032, 1091, 1035, 1047, 1040, - 2564, 1036, 1044, 1042, 1093, 1035, 1057, 1043, 1044, 1045, - 1046, 1052, 1060, 1051, 1056, 1066, 1067, 1068, 1073, 1114, - 1086, 1091, 2564, 1073, 1070, 1066, 1080, 1063, 1063, 2564, - 1064, 1124, 1067, 2564, 1078, 1068, 1088, 1087, 1078, 1089, - 1132, 1093, 1086, 1090, 1094, 1077, 1094, 1085, 1140, 1087, - 2564, 1137, 1086, 1089, 1107, 1089, 1090, 1090, 1111, 1108, - 1113, 1101, 1115, 1101, 1109, 1118, 1098, 1113, 1120, 1162, - 1158, 2564, 1164, 1165, 1107, 1117, 1127, 1111, 1131, 1119, - 1115, 1122, 1131, 1119, 1126, 1127, 1139, 1180, 1127, 1182, - - 1126, 1128, 1145, 1186, 1136, 1135, 1141, 1139, 1137, 1132, - 1193, 1144, 1195, 1191, 1197, 2564, 1138, 1155, 1148, 1139, - 1158, 1146, 1156, 1157, 1153, 1166, 1166, 2564, 1151, 1147, - 1153, 2564, 1154, 1214, 1173, 1154, 1173, 1174, 1176, 1215, - 1168, 1222, 1223, 1176, 1181, 1175, 1173, 1184, 1183, 1167, - 1172, 1178, 1191, 2564, 1213, 1204, 1236, 1176, 1198, 1193, - 1193, 1197, 1242, 2564, 1185, 1185, 1188, 1205, 1200, 1204, - 1199, 2564, 1191, 1208, 1188, 1209, 1199, 1250, 1203, 2564, - 1217, 1217, 1255, 1202, 1211, 1259, 1217, 1222, 1208, 1268, - 1211, 1225, 1223, 1215, 1221, 1217, 1235, 1236, 1237, 2564, - - 1227, 2564, 1237, 2564, 1222, 1233, 1224, 1243, 1236, 1234, - 1227, 1239, 1283, 1247, 1236, 1243, 1244, 1250, 2564, 1243, - 2564, 1295, 1236, 1297, 2564, 1298, 1240, 1246, 1253, 1297, - 1259, 2564, 1260, 2564, 1247, 2564, 1247, 1250, 1264, 1269, - 1252, 1311, 1268, 1269, 1309, 1261, 1266, 1317, 1313, 1266, - 1320, 2564, 1271, 1268, 1323, 1324, 1281, 1282, 1284, 2564, - 2564, 1276, 1271, 1325, 1274, 1290, 1333, 1275, 1287, 1276, - 1293, 1308, 1339, 2564, 1296, 1289, 1298, 1289, 1300, 2564, - 1345, 1282, 1293, 1308, 1344, 1296, 1307, 1308, 1309, 1306, - 1350, 1313, 1303, 1313, 1319, 1306, 1302, 1362, 1358, 1316, - - 1360, 1368, 1325, 2564, 1326, 1317, 1320, 1329, 1330, 1327, - 1317, 1320, 1320, 1331, 1326, 1381, 1328, 1383, 1326, 1331, - 1386, 1382, 1323, 1339, 1332, 1335, 1348, 1349, 1347, 1396, - 2564, 1349, 2564, 2564, 1355, 1347, 1357, 1342, 1398, 1345, - 1345, 1406, 1407, 1351, 1361, 1410, 2564, 1358, 1359, 1361, - 1414, 1355, 1358, 2564, 1376, 1377, 2564, 1377, 1365, 2564, - 2564, 1378, 1361, 1381, 1382, 1368, 1370, 1429, 1379, 2564, - 1431, 1380, 1374, 1434, 1414, 2564, 1436, 1393, 1438, 1389, - 1436, 2564, 1384, 1443, 1393, 1387, 1384, 1387, 1389, 1406, - 1445, 1398, 1410, 1413, 1401, 1404, 1397, 1404, 1395, 2564, - - 1403, 1418, 1403, 2564, 1405, 1406, 1460, 1422, 1422, 1425, - 1425, 1422, 1466, 1428, 1420, 1421, 2564, 1422, 2564, 1432, - 1424, 2564, 1430, 1435, 1436, 1433, 1477, 1425, 1440, 1441, - 1433, 2564, 1430, 1431, 1431, 1437, 1436, 1434, 1488, 1449, - 2564, 2564, 1490, 1437, 2564, 1438, 1439, 1445, 2564, 1454, - 1448, 1503, 1450, 1443, 1455, 1450, 1460, 1471, 1464, 1470, - 1460, 1515, 1468, 2564, 1477, 2564, 1474, 1519, 2564, 1472, - 1495, 2564, 1522, 2564, 1480, 1465, 1525, 2564, 1526, 1483, - 1488, 1470, 1530, 1526, 1490, 1487, 1483, 1476, 1531, 1489, - 1490, 1480, 1485, 1497, 1542, 1497, 1545, 1541, 1505, 1506, - - 1502, 1546, 1494, 1499, 1497, 1556, 1507, 1513, 1501, 1560, - 1556, 1519, 1563, 1524, 1513, 1507, 1567, 1509, 1510, 1524, - 1527, 1527, 1573, 1515, 1532, 1528, 1526, 1533, 1517, 1575, - 1576, 1577, 1540, 1533, 1532, 1532, 1527, 1545, 2564, 1536, - 1542, 1547, 1534, 1535, 1534, 1536, 1591, 1537, 2564, 1533, - 1551, 1600, 2564, 1558, 1571, 2564, 1603, 1556, 2564, 2564, - 1547, 1558, 1607, 2564, 1553, 1558, 1556, 1606, 1564, 1569, - 1558, 1574, 1563, 1561, 1575, 1562, 2564, 1564, 2564, 1567, - 1576, 1619, 1562, 1567, 1627, 1575, 1585, 1587, 2564, 1632, - 1628, 1586, 1630, 2564, 1581, 1637, 2564, 1580, 1595, 1583, - - 2564, 1593, 1594, 1643, 1601, 1605, 2564, 1641, 1607, 1583, - 1601, 1602, 1611, 1593, 1600, 1612, 1611, 1602, 1652, 1604, - 1600, 1660, 1602, 1603, 1663, 1659, 1665, 1615, 1667, 1620, - 1610, 1626, 1619, 2564, 1672, 1673, 2564, 1622, 1675, 1617, - 2564, 1620, 1630, 1674, 1622, 1637, 1624, 1639, 1625, 1632, - 1632, 1687, 1644, 1645, 1633, 1647, 1633, 1693, 1646, 2564, - 1690, 1641, 1638, 2564, 1640, 1653, 1640, 1661, 2564, 1658, - 1703, 1656, 1653, 1654, 2564, 1707, 1666, 1649, 1651, 1667, - 1660, 1650, 1666, 1667, 1676, 1666, 1718, 1678, 1662, 1671, - 1717, 2564, 1675, 1724, 2564, 1673, 2564, 1667, 2564, 1674, - - 1728, 1729, 1726, 2564, 2564, 1688, 2564, 1728, 1690, 1691, - 1676, 1677, 1685, 1739, 1687, 1736, 1737, 1692, 2564, 1687, - 1705, 1692, 1705, 1700, 2564, 1697, 1702, 1700, 1752, 1709, - 1754, 1702, 1699, 1699, 2564, 1714, 1715, 1716, 2564, 1717, - 1707, 1719, 1764, 1717, 1766, 1708, 1716, 1717, 1730, 2564, - 1731, 1712, 1713, 1720, 1722, 2564, 1736, 1733, 1773, 1734, - 2564, 2564, 1738, 1723, 1723, 1738, 1731, 1730, 1741, 1728, - 2564, 1744, 1732, 1735, 1791, 1731, 1750, 1752, 1745, 1744, - 1753, 1755, 1759, 2564, 1749, 2564, 1753, 1744, 1803, 1746, - 1805, 1806, 1807, 1765, 1809, 2564, 1751, 2564, 1806, 1768, - - 1769, 1756, 1764, 1775, 1762, 1773, 1759, 1757, 1765, 1764, - 1769, 1761, 1826, 1779, 1780, 1770, 1787, 1786, 1827, 1771, - 1790, 1791, 2564, 1796, 1789, 1794, 1781, 1796, 1841, 1798, - 1801, 1800, 1789, 1798, 2564, 1847, 2564, 2564, 2564, 1808, - 2564, 1849, 1791, 1851, 1852, 1795, 1854, 1802, 1851, 1852, - 1814, 1854, 1800, 1804, 1822, 1863, 1822, 2564, 1813, 1803, - 1862, 1828, 1821, 1817, 1871, 1814, 1816, 1815, 1822, 1818, - 1877, 1821, 2564, 1826, 1836, 1839, 1822, 1830, 2564, 1825, - 2564, 1837, 2564, 2564, 1842, 2564, 1843, 1843, 1834, 1890, - 1834, 1844, 1829, 1842, 2564, 1844, 1852, 1897, 1838, 1840, - - 1837, 1861, 2564, 1848, 1855, 1856, 1859, 1848, 2564, 1902, - 1849, 1857, 1851, 1867, 1866, 1869, 1862, 1857, 1857, 1869, - 1864, 2564, 1875, 1863, 1916, 1867, 1879, 1924, 2564, 1870, - 1882, 1927, 1876, 1878, 1876, 1877, 1932, 1885, 1872, 1887, - 1892, 1889, 1938, 1939, 1940, 1897, 1942, 1943, 1887, 1891, - 1887, 1903, 1886, 1898, 1892, 2564, 1908, 1952, 2564, 1909, - 1894, 1912, 1903, 2564, 1904, 1918, 1914, 1907, 1907, 2564, - 2564, 2564, 1962, 2564, 2564, 1905, 1913, 1908, 1961, 1927, - 1924, 1969, 1930, 2564, 1971, 1913, 1973, 1916, 1929, 1928, - 1929, 1919, 1926, 2564, 1921, 1981, 1934, 1943, 1936, 1980, - - 2564, 1927, 2564, 1939, 2564, 1983, 1989, 1931, 1947, 1992, - 1993, 1994, 2564, 1951, 1945, 1938, 1958, 1955, 1947, 1951, - 2564, 1998, 1947, 2564, 2564, 2564, 1947, 1955, 2002, 1962, - 1955, 2010, 1958, 1958, 1954, 1956, 2015, 2016, 1958, 1974, - 1959, 2564, 2020, 1967, 1974, 2023, 2564, 2564, 1976, 2025, - 1973, 2564, 1977, 1976, 2564, 1977, 2564, 1971, 1971, 1988, - 1989, 2034, 1980, 2036, 2037, 2564, 2038, 2564, 2564, 2564, - 2564, 2044, 2047, 2050, 2051, 2053, 2056, 2059, 2062 + 2583, 2584, 34, 2579, 145, 0, 207, 2584, 214, 221, + 13, 228, 2584, 2559, 118, 25, 2, 6, 2584, 2584, + 73, 11, 17, 2584, 2584, 2584, 104, 2567, 2520, 0, + 2557, 108, 2574, 24, 262, 2584, 2516, 67, 2522, 84, + 75, 88, 224, 91, 89, 290, 220, 2514, 206, 285, + 236, 204, 197, 60, 291, 2523, 247, 308, 315, 214, + 286, 2506, 212, 320, 344, 318, 2525, 335, 0, 385, + 401, 415, 422, 427, 2584, 0, 2584, 441, 446, 236, + 314, 238, 326, 353, 309, 2584, 2522, 2563, 2584, 263, + + 2584, 440, 2550, 308, 2519, 364, 10, 329, 359, 384, + 391, 241, 2560, 0, 501, 408, 2502, 2499, 2503, 418, + 2499, 80, 2507, 422, 2493, 2494, 2499, 78, 2509, 2492, + 2501, 2491, 2500, 341, 343, 340, 2493, 2491, 410, 2539, + 2543, 2489, 2482, 2535, 2475, 174, 2496, 2496, 2490, 340, + 2483, 2481, 2482, 2474, 2479, 2473, 429, 2484, 412, 2469, + 2468, 2482, 425, 2468, 422, 447, 2462, 497, 436, 471, + 2483, 2480, 2481, 432, 2479, 2514, 2513, 450, 446, 2460, + 471, 2461, 478, 2453, 2470, 2462, 2464, 0, 477, 483, + 473, 496, 489, 515, 2460, 2584, 2505, 530, 2454, 499, + + 523, 530, 2508, 535, 2507, 532, 2506, 2584, 2584, 578, + 441, 543, 2465, 2457, 2444, 2455, 2459, 2460, 2440, 2451, + 2455, 2452, 2451, 475, 516, 2489, 2453, 2434, 2431, 2439, + 2434, 2448, 2444, 2435, 2431, 2443, 2443, 2431, 2433, 2436, + 2416, 2420, 2433, 2435, 2432, 2424, 2414, 2432, 2584, 2417, + 2426, 523, 2464, 2410, 2419, 2461, 2408, 2418, 2421, 510, + 2417, 2456, 2401, 2403, 2414, 2452, 557, 2397, 2455, 2409, + 2389, 2404, 561, 2394, 2400, 522, 2391, 2389, 2389, 2395, + 2386, 2385, 2392, 2382, 2441, 2397, 2396, 2390, 513, 2397, + 2392, 2384, 2374, 2389, 2388, 2383, 2387, 2368, 2384, 2370, + + 2376, 2383, 2365, 527, 2370, 2367, 2366, 603, 2365, 2360, + 2374, 570, 2373, 2416, 2375, 520, 2366, 2354, 560, 2584, + 2584, 571, 2584, 2584, 2352, 559, 530, 2400, 585, 2410, + 576, 2584, 2409, 2584, 2403, 626, 2584, 2365, 575, 2342, + 2351, 2399, 2359, 2342, 2359, 2395, 2355, 2338, 2344, 2396, + 2351, 2354, 2345, 2348, 2334, 2345, 2389, 2383, 2341, 2338, + 619, 2344, 2384, 2319, 2377, 2330, 2325, 2319, 2321, 2324, + 2371, 2328, 2317, 2333, 2367, 2313, 626, 2327, 2312, 2311, + 2324, 2322, 2320, 2320, 2319, 2314, 2321, 2316, 2312, 593, + 2310, 2313, 2308, 2294, 2306, 2302, 2352, 587, 583, 2346, + + 2584, 2310, 2344, 2294, 2293, 2292, 2285, 2287, 2299, 2290, + 2297, 2278, 2295, 2290, 593, 2337, 2290, 2287, 2290, 2584, + 2289, 604, 2279, 2291, 599, 2266, 2267, 2288, 2279, 2269, + 2320, 2265, 2279, 609, 2265, 2277, 2276, 2275, 2270, 2312, + 2272, 2271, 2270, 2269, 2252, 2260, 2310, 2269, 2249, 2307, + 2584, 2249, 2248, 655, 2261, 2259, 2584, 2584, 2259, 2248, + 2240, 583, 2299, 2298, 2584, 2297, 2584, 633, 681, 2256, + 646, 2295, 2237, 2248, 2287, 2240, 2242, 2244, 2231, 2239, + 2227, 2584, 2232, 2225, 2237, 2240, 2227, 2226, 2584, 651, + 2228, 2225, 619, 2223, 2225, 2584, 2270, 2232, 2229, 2214, + + 2228, 2226, 2226, 2220, 673, 2227, 2215, 2208, 2259, 2584, + 2206, 2222, 2256, 2217, 2215, 2213, 2214, 2198, 2207, 2249, + 2200, 2199, 2194, 2193, 2244, 2188, 620, 2207, 2181, 2188, + 2193, 2203, 2237, 2241, 2584, 2186, 2182, 680, 2180, 2189, + 2188, 2182, 2189, 2173, 2173, 2183, 2171, 2185, 2185, 2173, + 2169, 2167, 2584, 2224, 2584, 2166, 2177, 2216, 2161, 2160, + 2165, 2174, 2168, 2162, 2171, 2213, 2207, 2169, 2153, 2148, + 2168, 2143, 2149, 568, 2163, 2156, 2160, 2143, 2201, 2142, + 2142, 2193, 2138, 2139, 2138, 2136, 2153, 2584, 2149, 2186, + 2584, 2137, 2135, 2584, 2146, 2182, 2181, 2141, 2125, 2142, + + 2182, 2584, 2584, 2584, 656, 658, 2122, 712, 2584, 2132, + 2131, 613, 2138, 2118, 2128, 2170, 2115, 2168, 2113, 2123, + 2165, 2110, 2117, 2110, 2122, 2104, 2104, 2119, 2118, 658, + 2117, 2116, 2116, 2098, 2103, 2144, 2111, 2108, 2102, 2147, + 2091, 2106, 2106, 2104, 2104, 2584, 2089, 2086, 2144, 2099, + 2091, 2097, 2088, 2096, 2081, 2132, 2096, 2078, 2090, 2082, + 639, 2073, 2072, 2066, 2071, 2086, 2083, 2084, 2063, 2073, + 2079, 2122, 2077, 2069, 2060, 2584, 2061, 2063, 2058, 2071, + 2063, 2068, 2107, 2106, 2057, 16, 2066, 2103, 2048, 2101, + 2048, 2051, 2044, 2584, 2058, 2037, 2041, 2055, 2050, 2046, + + 2091, 2043, 2050, 2088, 2584, 2033, 2047, 2046, 2049, 2030, + 2082, 2081, 2028, 2079, 2039, 2023, 2076, 2075, 2584, 2016, + 203, 224, 695, 241, 324, 361, 362, 491, 476, 567, + 567, 609, 643, 637, 2584, 670, 665, 2584, 688, 699, + 673, 670, 670, 679, 691, 685, 674, 670, 684, 685, + 732, 696, 739, 699, 703, 736, 737, 697, 697, 707, + 712, 698, 701, 712, 712, 696, 753, 706, 716, 719, + 757, 720, 713, 717, 714, 716, 763, 764, 728, 772, + 729, 731, 2584, 734, 729, 720, 735, 740, 737, 725, + 741, 740, 728, 742, 740, 748, 784, 746, 791, 792, + + 742, 734, 744, 791, 749, 799, 2584, 800, 753, 755, + 751, 745, 761, 749, 807, 803, 766, 755, 768, 2584, + 758, 769, 758, 771, 761, 774, 818, 819, 762, 773, + 758, 781, 772, 761, 767, 822, 786, 770, 782, 826, + 827, 774, 829, 793, 788, 793, 791, 835, 777, 789, + 792, 796, 788, 785, 2584, 849, 808, 809, 797, 811, + 801, 804, 815, 800, 807, 813, 814, 806, 820, 860, + 836, 810, 824, 829, 826, 808, 815, 829, 874, 831, + 828, 829, 827, 836, 2584, 832, 827, 842, 839, 825, + 827, 846, 843, 831, 838, 839, 848, 852, 888, 851, + + 841, 839, 838, 849, 845, 901, 848, 859, 844, 845, + 851, 867, 863, 858, 905, 2584, 869, 869, 862, 873, + 871, 916, 858, 860, 879, 876, 864, 862, 924, 881, + 867, 873, 871, 2584, 2584, 881, 886, 891, 879, 889, + 891, 2584, 2584, 892, 879, 897, 884, 886, 879, 2584, + 884, 902, 889, 939, 890, 942, 888, 892, 910, 951, + 2584, 2584, 896, 900, 899, 896, 912, 957, 910, 900, + 901, 897, 910, 921, 922, 917, 918, 920, 913, 915, + 911, 917, 917, 919, 934, 917, 976, 933, 938, 915, + 938, 924, 923, 2584, 930, 931, 980, 981, 933, 946, + + 984, 942, 932, 947, 941, 949, 936, 968, 976, 998, + 946, 941, 996, 997, 959, 999, 2584, 1005, 948, 964, + 968, 1009, 959, 958, 953, 954, 966, 961, 957, 960, + 961, 971, 981, 1017, 965, 983, 975, 970, 1028, 985, + 986, 977, 2584, 991, 980, 983, 991, 993, 978, 990, + 995, 992, 990, 1037, 1003, 987, 988, 2584, 1004, 1007, + 990, 1001, 1050, 993, 1012, 2584, 1011, 1014, 1000, 995, + 1013, 1053, 1011, 1007, 1004, 1057, 1058, 1020, 1006, 1024, + 1024, 1024, 1025, 1011, 1026, 1018, 1025, 1015, 1033, 1032, + 1019, 1036, 2584, 1028, 1034, 1037, 1082, 1029, 2584, 1032, + + 1037, 1082, 1033, 1045, 1039, 1040, 1038, 1040, 1050, 1095, + 1039, 1040, 1040, 1099, 1043, 1055, 1048, 2584, 1044, 1052, + 1050, 1101, 1043, 1065, 1051, 1052, 1053, 1054, 1060, 1068, + 1059, 1064, 1074, 1075, 1076, 1081, 1122, 1094, 1099, 2584, + 1081, 1078, 1074, 1088, 1071, 1071, 2584, 1072, 1132, 1075, + 2584, 1086, 1076, 1096, 1095, 1086, 1097, 1140, 1101, 1094, + 1098, 1102, 1085, 1102, 1093, 1148, 1095, 2584, 1145, 1094, + 1097, 1115, 1097, 1098, 1098, 1119, 1116, 1104, 1122, 1110, + 1124, 1110, 1118, 1127, 1107, 1122, 1129, 1171, 1167, 2584, + 1173, 1174, 1116, 1126, 1136, 1120, 1140, 1128, 1124, 1131, + + 1140, 1128, 1135, 1136, 1148, 1189, 1136, 1191, 1135, 1137, + 1154, 1195, 1145, 1144, 1150, 1148, 1146, 1141, 1202, 1153, + 1204, 1200, 1206, 2584, 1147, 1164, 1157, 1148, 1167, 1155, + 1165, 1166, 1162, 1175, 1175, 2584, 1160, 1156, 1162, 2584, + 1163, 1223, 1182, 1163, 1182, 1183, 1185, 1224, 1177, 1231, + 1232, 1185, 1190, 1184, 1182, 1193, 1192, 1176, 1181, 1187, + 1200, 2584, 1222, 1213, 1245, 1185, 1207, 1202, 1202, 1206, + 1251, 2584, 1194, 1194, 1197, 1214, 1209, 1213, 1208, 2584, + 1200, 1217, 1197, 1218, 1208, 1259, 1212, 2584, 1226, 1226, + 1264, 1211, 1220, 1268, 1226, 1231, 1217, 1277, 1220, 1221, + + 1235, 1233, 1225, 1231, 1227, 1245, 1246, 1247, 2584, 1237, + 2584, 1247, 2584, 1232, 1243, 1234, 1253, 1246, 1244, 1237, + 1249, 1293, 1257, 1246, 1253, 1254, 1260, 2584, 1253, 2584, + 1305, 1246, 1307, 2584, 1308, 1250, 1256, 1263, 1307, 1269, + 2584, 1270, 2584, 1257, 2584, 1257, 1260, 1274, 1279, 1262, + 1321, 1278, 1279, 1319, 1271, 1276, 1327, 1323, 1276, 1330, + 2584, 1281, 1278, 1333, 1334, 1291, 1292, 1294, 2584, 2584, + 1286, 1281, 1335, 1284, 1300, 1343, 1285, 1297, 1286, 1303, + 1318, 1349, 2584, 1306, 1299, 1308, 1299, 1310, 2584, 1355, + 1292, 1303, 1318, 1354, 1306, 1317, 1318, 1319, 1316, 1360, + + 1323, 1313, 1323, 1329, 1316, 1312, 1372, 1368, 1326, 1370, + 1378, 1335, 2584, 1321, 1337, 1328, 1331, 1340, 1341, 1338, + 1328, 1331, 1331, 1342, 1337, 1392, 1339, 1394, 1337, 1342, + 1397, 1393, 1335, 1350, 1343, 1346, 1359, 1360, 1358, 1407, + 2584, 1360, 2584, 2584, 1366, 1358, 1368, 1353, 1409, 1356, + 1356, 1417, 1418, 1362, 1372, 1421, 2584, 1369, 1370, 1372, + 1425, 1366, 1369, 2584, 1387, 1388, 2584, 1388, 1376, 2584, + 2584, 1389, 1372, 1392, 1393, 1379, 1381, 1440, 1390, 2584, + 1442, 1391, 1385, 1445, 1425, 2584, 1447, 1404, 1449, 1400, + 1447, 2584, 1395, 1454, 1404, 1398, 1395, 1398, 1400, 1417, + + 1456, 1409, 1421, 1424, 1412, 1415, 1408, 1415, 1406, 2584, + 1414, 1429, 1414, 2584, 1416, 1470, 1418, 1472, 1434, 1434, + 1437, 1437, 1434, 1478, 1440, 1432, 1433, 2584, 1434, 2584, + 1444, 1436, 2584, 1442, 1447, 1448, 1445, 1489, 1437, 1452, + 1453, 1445, 2584, 1442, 1443, 1443, 1449, 1448, 1446, 1500, + 1461, 2584, 2584, 1502, 1449, 2584, 1450, 1451, 1457, 2584, + 1466, 1460, 1515, 1462, 1455, 1467, 1462, 1472, 1483, 1476, + 1482, 1472, 1527, 1480, 2584, 1489, 2584, 1486, 1531, 2584, + 1484, 1507, 2584, 1534, 2584, 1492, 1477, 1537, 2584, 1538, + 1495, 1500, 1482, 1542, 1538, 1502, 1499, 1495, 1488, 1543, + + 1501, 1502, 1492, 1497, 1509, 1554, 1509, 1557, 1507, 1554, + 1519, 1519, 1515, 1559, 1507, 1512, 1510, 1569, 1520, 1526, + 1514, 1573, 1569, 1532, 1576, 1537, 1526, 1520, 1580, 1522, + 1523, 1537, 1540, 1540, 1586, 1528, 1545, 1541, 1539, 1546, + 1530, 1588, 1589, 1590, 1553, 1546, 1545, 1545, 1540, 1558, + 2584, 1549, 1555, 1560, 1547, 1548, 1547, 1549, 1604, 1550, + 2584, 1546, 1564, 1613, 2584, 1571, 1584, 2584, 1616, 1569, + 2584, 2584, 1560, 1571, 1620, 2584, 1566, 1571, 1569, 1619, + 1577, 1582, 1571, 1587, 1576, 1574, 1588, 1575, 2584, 1577, + 2584, 1595, 1581, 1590, 1633, 1576, 1581, 1641, 1589, 1600, + + 1601, 2584, 1646, 1642, 1600, 1644, 2584, 1595, 1651, 2584, + 1594, 1609, 1597, 2584, 1607, 1608, 1657, 1615, 1619, 2584, + 1655, 1621, 1597, 1615, 1616, 1625, 1607, 1614, 1626, 1625, + 1616, 1666, 1618, 1614, 1674, 1616, 1617, 1677, 1673, 1679, + 1629, 1681, 1634, 1624, 1640, 1633, 2584, 1686, 1687, 2584, + 1636, 1689, 1631, 2584, 1634, 1644, 1688, 1636, 1651, 1638, + 1653, 1639, 1646, 1646, 1701, 1658, 1659, 1646, 1648, 1662, + 1648, 1708, 1661, 2584, 1705, 1656, 1653, 2584, 1655, 1668, + 1655, 1676, 2584, 1673, 1718, 1671, 1668, 1669, 2584, 1722, + 1681, 1664, 1666, 1682, 1675, 1665, 1681, 1682, 1691, 1681, + + 1733, 1693, 1677, 1686, 1732, 2584, 1690, 1739, 2584, 1688, + 2584, 1682, 2584, 1689, 1743, 1744, 1741, 2584, 2584, 1703, + 2584, 1743, 1705, 1706, 1691, 1692, 1700, 1754, 1702, 1751, + 1752, 1707, 2584, 1702, 1720, 1702, 1708, 1721, 1716, 2584, + 1713, 1718, 1716, 1768, 1725, 1770, 1718, 1715, 1715, 2584, + 1730, 1731, 1732, 2584, 1733, 1723, 1735, 1780, 1733, 1782, + 1724, 1732, 1733, 1746, 2584, 1747, 1728, 1729, 1736, 1738, + 2584, 1752, 1749, 1789, 1750, 2584, 2584, 1754, 1739, 1739, + 1754, 1747, 1746, 1757, 1744, 2584, 1760, 1748, 1751, 1807, + 1747, 1766, 1805, 1769, 1762, 1761, 1770, 1772, 1776, 2584, + + 1766, 2584, 1770, 1761, 1820, 1763, 1822, 1823, 1824, 1782, + 1826, 2584, 1768, 2584, 1823, 1785, 1786, 1773, 1781, 1792, + 1779, 1790, 1776, 1774, 1782, 1781, 1786, 1778, 1843, 1796, + 1797, 1787, 1804, 1803, 1844, 1788, 1807, 1808, 2584, 1813, + 1806, 1845, 1812, 1799, 1814, 1859, 1816, 1819, 1818, 1807, + 1816, 2584, 1865, 2584, 2584, 2584, 1826, 2584, 1867, 1809, + 1869, 1870, 1813, 1872, 1820, 1869, 1870, 1832, 1872, 1818, + 1822, 1840, 1881, 1840, 2584, 1831, 1821, 1880, 1846, 1839, + 1835, 1889, 1832, 1834, 1833, 1840, 1883, 1837, 1896, 1840, + 2584, 1845, 1855, 1858, 1841, 1849, 2584, 1844, 2584, 1856, + + 2584, 2584, 1861, 2584, 1862, 1862, 1853, 1909, 1853, 1863, + 1848, 1861, 2584, 1863, 1871, 1916, 1857, 1859, 1856, 1880, + 2584, 1867, 1874, 1875, 1878, 1925, 1868, 2584, 1922, 1869, + 1877, 1871, 1887, 1886, 1889, 1882, 1877, 1877, 1889, 1884, + 2584, 1895, 1883, 1936, 1887, 1899, 1944, 2584, 1890, 1902, + 1947, 1896, 1898, 1896, 1897, 1952, 2584, 1905, 1892, 1907, + 1912, 1909, 1958, 1959, 1960, 1917, 1962, 1963, 1907, 1911, + 1907, 1923, 1906, 1918, 1912, 2584, 1928, 1972, 2584, 1929, + 1914, 1932, 1923, 2584, 1924, 1938, 1934, 1927, 1927, 2584, + 2584, 2584, 1982, 2584, 2584, 1925, 1933, 1928, 1981, 1947, + + 1944, 1989, 1950, 2584, 1991, 1933, 1993, 1936, 1949, 1948, + 1949, 1939, 1946, 2584, 1941, 2001, 1954, 1963, 1956, 2000, + 2584, 1947, 2584, 1959, 2584, 2003, 2009, 1951, 1967, 2012, + 2013, 2014, 2584, 1971, 1965, 1958, 1978, 1975, 1967, 1971, + 2584, 2018, 1967, 2584, 2584, 2584, 1967, 1975, 2022, 1982, + 1975, 2030, 1978, 1978, 1974, 1976, 2035, 2036, 1978, 1994, + 1979, 2584, 2040, 1987, 1994, 2043, 2584, 2584, 1996, 2045, + 1993, 2584, 1997, 1996, 2584, 1997, 2584, 1991, 1991, 2008, + 2009, 2054, 2000, 2056, 2057, 2584, 2058, 2584, 2584, 2584, + 2584, 2064, 2067, 2070, 2071, 2073, 2076, 2079, 2082 + } ; -static const flex_int16_t yy_def[2180] = +static const flex_int16_t yy_def[2200] = { 0, - 2172, 2172, 2173, 2173, 2172, 2172, 2172, 2172, 2172, 2172, - 2171, 2171, 2171, 2171, 2171, 2174, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2175, - 2171, 2171, 2171, 2176, 15, 2171, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2177, 45, 45, 45, 45, + 2192, 2192, 2193, 2193, 2192, 2192, 2192, 2192, 2192, 2192, + 2191, 2191, 2191, 2191, 2191, 2194, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2195, + 2191, 2191, 2191, 2196, 15, 2191, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2197, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2174, 2171, - 2171, 2171, 2171, 2171, 2171, 2178, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2175, 2171, 2176, + 45, 45, 45, 45, 45, 45, 45, 45, 2194, 2191, + 2191, 2191, 2191, 2191, 2191, 2198, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2195, 2191, 2196, - 2171, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2179, 45, 2177, 45, 45, 45, 45, 45, + 2191, 2191, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2199, 45, 2197, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2178, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2198, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2179, 2171, 2171, 115, + 45, 45, 45, 45, 45, 45, 2199, 2191, 2191, 115, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1266,222 +1272,225 @@ static const flex_int16_t yy_def[2180] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 45, 45, 45, 45, 45, 45, - 2171, 45, 2171, 45, 115, 2171, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 45, 45, 45, 45, 45, + 45, 2191, 45, 2191, 45, 115, 2191, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 45, 45, 45, 45, 2171, 2171, 2171, 45, 45, 45, - 45, 45, 2171, 45, 2171, 45, 115, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 2191, 2191, 2191, 45, + 45, 45, 45, 45, 2191, 45, 2191, 45, 115, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2191, 45, 45, 45, 45, 45, 45, 2191, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 45, 2171, 45, 45, - 2171, 45, 45, 45, 2171, 45, 45, 45, 2171, 2171, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, + 2191, 45, 45, 2191, 45, 45, 45, 2191, 45, 45, - 2171, 45, 45, 45, 45, 2171, 45, 45, 45, 45, + 45, 2191, 2191, 2191, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 2171, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 2171, 45, - 45, 45, 45, 45, 45, 2171, 2171, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 2171, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2191, 2191, 45, 45, 45, 45, 45, + 45, 2191, 2191, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, + 2191, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 2171, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2171, 45, 45, 45, 45, 45, 45, 2171, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 2171, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2191, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 2171, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 2171, 45, 45, 45, 2171, 45, 45, 45, 45, 45, - 45, 2171, 45, 2171, 45, 2171, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, + 2191, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 2191, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 2191, 45, 2191, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 2171, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 2171, + 2191, 45, 45, 45, 45, 45, 45, 45, 2191, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 2171, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2171, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 2171, 45, 45, 2171, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2171, 45, 2171, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 2171, 45, 45, 2171, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 2171, 45, 45, 2171, 45, - 45, 2171, 45, 2171, 45, 45, 45, 2171, 45, 45, + 2191, 45, 2191, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, + 45, 45, 45, 2191, 45, 45, 2191, 45, 45, 2191, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, + 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2191, 45, 2191, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 45, 2191, 2191, 45, 45, 2191, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 2191, 45, 45, 2191, + 45, 45, 2191, 45, 2191, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 45, 45, 2171, 45, 45, 2171, 45, 45, 2171, 2171, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2171, 45, 2171, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 45, 45, 45, 2171, 45, 45, 2171, 45, 45, 45, - - 2171, 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 2171, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 45, 45, 2171, 45, 45, 45, 45, 2171, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2191, 45, 45, 45, 2191, 45, 45, 2191, 45, 45, + 2191, 2191, 45, 45, 45, 2191, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 2191, 45, 45, 45, 45, 2191, 45, 45, 2191, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 2171, 45, 2171, 45, 2171, 45, - - 45, 45, 45, 2171, 2171, 45, 2171, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2171, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 2171, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2171, - 45, 45, 45, 45, 45, 2171, 45, 45, 45, 45, - 2171, 2171, 45, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 2171, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2171, 45, 2171, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 2191, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 2171, 2171, 2171, 45, - 2171, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2171, 45, 45, + 45, 45, 45, 2191, 45, 45, 45, 2191, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2171, 45, 45, 45, 45, 45, 2171, 45, - 2171, 45, 2171, 2171, 45, 2171, 45, 45, 45, 45, - 45, 45, 45, 45, 2171, 45, 45, 45, 45, 45, - 45, 45, 2171, 45, 45, 45, 45, 45, 2171, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 2191, 45, + 2191, 45, 2191, 45, 45, 45, 45, 2191, 2191, 45, + 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, + 2191, 45, 45, 45, 45, 2191, 2191, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2191, + + 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2191, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 45, 45, 2171, 45, + 45, 2191, 45, 2191, 2191, 2191, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2171, 45, 45, 2171, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 2171, - 2171, 2171, 45, 2171, 2171, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2171, 45, 45, 45, 45, 45, 45, - - 2171, 45, 2171, 45, 2171, 45, 45, 45, 45, 45, - 45, 45, 2171, 45, 45, 45, 45, 45, 45, 45, - 2171, 45, 45, 2171, 2171, 2171, 45, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 2191, 45, 2191, 45, + + 2191, 2191, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 45, 2191, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2191, 45, 45, 45, 45, 45, 45, 2191, 45, 45, + 45, 45, 45, 45, 45, 45, 2191, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 45, 2191, 45, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 2191, + 2191, 2191, 45, 2191, 2191, 45, 45, 45, 45, 45, + + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2191, 45, 45, 45, 45, 45, 45, + 2191, 45, 2191, 45, 2191, 45, 45, 45, 45, 45, + 45, 45, 2191, 45, 45, 45, 45, 45, 45, 45, + 2191, 45, 45, 2191, 2191, 2191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2171, 45, 45, 45, 45, 2171, 2171, 45, 45, - 45, 2171, 45, 45, 2171, 45, 2171, 45, 45, 45, - 45, 45, 45, 45, 45, 2171, 45, 2171, 2171, 2171, - 0, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171 + 45, 2191, 45, 45, 45, 45, 2191, 2191, 45, 45, + 45, 2191, 45, 45, 2191, 45, 2191, 45, 45, 45, + 45, 45, 45, 45, 45, 2191, 45, 2191, 2191, 2191, + 0, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191 + } ; -static const flex_int16_t yy_nxt[2638] = +static const flex_int16_t yy_nxt[2658] = { 0, - 2171, 13, 14, 13, 2171, 15, 16, 2171, 17, 18, + 2191, 13, 14, 13, 2191, 15, 16, 2191, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 85, 815, 37, 14, 37, 86, 25, 26, 38, 101, - 2171, 27, 37, 14, 37, 42, 28, 42, 38, 91, + 85, 820, 37, 14, 37, 86, 25, 26, 38, 101, + 2191, 27, 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, 201, 30, 13, 14, 13, 90, 91, 25, 31, 92, 13, 14, 13, 13, 14, 13, 32, 40, - 816, 13, 14, 13, 33, 40, 102, 91, 92, 201, + 821, 13, 14, 13, 33, 40, 102, 91, 92, 201, 90, 34, 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 90, 39, 104, 25, 26, @@ -1498,14 +1507,14 @@ static const flex_int16_t yy_nxt[2638] = 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 45, 45, 45, 45, 45, 80, 253, + 76, 77, 78, 45, 45, 45, 45, 45, 80, 254, 81, 81, 81, 81, 81, 80, 106, 83, 83, 83, - 83, 83, 254, 82, 84, 84, 84, 84, 84, 80, + 83, 83, 255, 82, 84, 84, 84, 84, 84, 80, 82, 83, 83, 83, 83, 83, 137, 82, 109, 106, - 104, 120, 854, 138, 82, 121, 82, 167, 110, 122, + 104, 120, 853, 138, 82, 121, 82, 167, 110, 122, 136, 168, 123, 82, 158, 124, 189, 206, 101, 125, - 82, 109, 159, 855, 160, 191, 116, 82, 45, 161, - 162, 132, 117, 133, 45, 118, 110, 45, 856, 45, + 82, 109, 159, 854, 160, 191, 116, 82, 45, 161, + 162, 132, 117, 133, 45, 118, 110, 45, 857, 45, 206, 45, 189, 45, 134, 114, 146, 147, 45, 45, 148, 45, 45, 191, 135, 102, 149, 45, 45, 45, @@ -1515,147 +1524,147 @@ static const flex_int16_t yy_nxt[2638] = 45, 108, 142, 111, 190, 165, 191, 198, 45, 143, 131, 144, 45, 150, 45, 115, 189, 151, 176, 177, 155, 152, 156, 112, 157, 169, 183, 202, 109, 170, - 190, 857, 171, 153, 194, 198, 184, 154, 110, 172, - 173, 185, 192, 190, 174, 175, 236, 112, 237, 240, - 858, 178, 203, 179, 200, 202, 180, 187, 84, 84, + 190, 858, 171, 153, 194, 198, 184, 154, 110, 172, + 173, 185, 192, 190, 174, 175, 236, 112, 237, 241, + 238, 178, 203, 179, 200, 202, 180, 187, 84, 84, - 84, 84, 84, 238, 258, 241, 181, 239, 259, 193, + 84, 84, 84, 239, 259, 242, 181, 240, 260, 193, 859, 82, 80, 182, 81, 81, 81, 81, 81, 203, - 200, 204, 269, 88, 205, 88, 860, 82, 89, 89, + 200, 204, 270, 88, 205, 88, 860, 82, 89, 89, 89, 89, 89, 80, 82, 83, 83, 83, 83, 83, - 84, 84, 84, 84, 84, 100, 336, 198, 82, 204, + 84, 84, 84, 84, 84, 100, 337, 198, 82, 204, 82, 205, 100, 82, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 211, 216, 244, 202, 270, 245, - 223, 82, 274, 246, 217, 212, 82, 302, 218, 224, - 225, 279, 100, 203, 280, 281, 100, 275, 276, 277, - 100, 303, 282, 294, 295, 266, 283, 267, 100, 320, - - 337, 861, 100, 308, 100, 100, 209, 285, 204, 309, - 307, 205, 318, 319, 210, 210, 210, 210, 210, 319, - 388, 862, 320, 210, 210, 210, 210, 210, 210, 296, - 451, 318, 350, 297, 328, 351, 311, 298, 313, 319, - 318, 320, 286, 287, 288, 322, 210, 210, 210, 210, - 210, 210, 326, 289, 329, 290, 330, 291, 292, 321, - 293, 332, 328, 334, 323, 326, 352, 408, 379, 422, - 460, 403, 423, 389, 353, 326, 390, 409, 709, 330, - 354, 329, 452, 330, 332, 380, 455, 438, 338, 439, - 334, 335, 335, 335, 335, 335, 332, 455, 550, 460, - - 335, 335, 335, 335, 335, 335, 397, 404, 331, 455, - 464, 462, 458, 443, 557, 460, 863, 464, 598, 332, - 456, 405, 459, 335, 335, 335, 335, 335, 335, 491, - 710, 507, 864, 447, 462, 492, 508, 533, 464, 467, - 467, 467, 467, 467, 469, 535, 598, 534, 467, 467, - 467, 467, 467, 467, 523, 524, 551, 561, 571, 525, - 591, 562, 572, 558, 602, 592, 603, 630, 867, 664, - 741, 467, 467, 467, 467, 467, 467, 742, 642, 665, - 631, 598, 632, 643, 509, 601, 790, 791, 735, 510, - 675, 602, 736, 603, 45, 45, 45, 45, 45, 868, - - 850, 866, 622, 45, 45, 45, 45, 45, 45, 605, - 623, 851, 624, 625, 626, 735, 627, 734, 760, 865, - 736, 761, 738, 869, 866, 870, 45, 45, 45, 45, - 45, 45, 871, 872, 873, 874, 875, 876, 877, 878, - 880, 881, 885, 882, 883, 879, 884, 865, 886, 887, - 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, - 898, 899, 900, 901, 902, 903, 904, 907, 908, 909, - 905, 910, 911, 912, 906, 913, 914, 915, 916, 917, + 89, 89, 89, 89, 211, 216, 245, 202, 271, 246, + 223, 82, 275, 247, 217, 212, 82, 303, 218, 224, + 225, 280, 100, 203, 281, 282, 100, 276, 277, 278, + 100, 304, 283, 295, 296, 267, 284, 268, 100, 321, + + 338, 861, 100, 309, 100, 100, 209, 286, 204, 310, + 308, 205, 319, 320, 210, 210, 210, 210, 210, 320, + 390, 862, 321, 210, 210, 210, 210, 210, 210, 297, + 453, 319, 351, 298, 329, 352, 312, 299, 314, 320, + 319, 321, 287, 288, 289, 323, 210, 210, 210, 210, + 210, 210, 327, 290, 330, 291, 331, 292, 293, 322, + 294, 333, 329, 335, 324, 327, 353, 410, 381, 424, + 462, 405, 425, 391, 354, 327, 392, 411, 713, 331, + 355, 330, 454, 331, 333, 382, 457, 440, 339, 441, + 335, 336, 336, 336, 336, 336, 333, 457, 553, 462, + + 336, 336, 336, 336, 336, 336, 399, 406, 332, 457, + 466, 464, 460, 445, 560, 462, 863, 466, 601, 333, + 458, 407, 461, 336, 336, 336, 336, 336, 336, 493, + 714, 510, 864, 449, 464, 494, 511, 536, 466, 469, + 469, 469, 469, 469, 471, 538, 601, 537, 469, 469, + 469, 469, 469, 469, 526, 527, 554, 564, 574, 528, + 594, 565, 575, 561, 605, 595, 606, 633, 865, 668, + 745, 469, 469, 469, 469, 469, 469, 746, 646, 669, + 634, 601, 635, 647, 512, 604, 795, 796, 739, 513, + 679, 605, 740, 606, 45, 45, 45, 45, 45, 866, + + 855, 867, 625, 45, 45, 45, 45, 45, 45, 608, + 626, 856, 627, 628, 629, 739, 630, 738, 764, 868, + 740, 765, 742, 869, 870, 871, 45, 45, 45, 45, + 45, 45, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, 885, 886, 890, 891, 871, 884, + 887, 888, 870, 889, 892, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 908, 909, 912, 913, 914, 910, 915, 916, 917, 911, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 932, 934, 935, 933, 936, 937, + 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, - 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, + 938, 940, 941, 939, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, - 968, 969, 970, 971, 972, 973, 975, 976, 977, 980, - 981, 982, 974, 985, 983, 978, 986, 987, 988, 979, - 984, 989, 990, 991, 992, 993, 994, 995, 996, 997, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 979, 981, 982, 983, 986, 987, 988, 980, 991, + 989, 984, 992, 993, 994, 985, 990, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1003, 1031, 1032, 1033, 1034, 1035, 1036, + 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1009, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1055, 1056, 1052, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, + 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, + 1057, 1058, 1060, 1061, 1062, 1063, 1059, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - 1077, 1079, 1080, 1081, 1078, 1082, 1083, 1084, 1085, 1086, - 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1086, 1087, + 1088, 1085, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1132, 1155, - 1156, 1131, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, + 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, + 1157, 1158, 1159, 1160, 1161, 1139, 1162, 1163, 1138, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1184, 1185, - 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, - 1206, 1207, 1208, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1209, 1220, 1221, 1222, 1223, 1224, 1225, - 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, - - 1236, 1237, 1238, 1239, 1240, 1183, 1241, 1242, 1243, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, - 1255, 1257, 1256, 1258, 1259, 1260, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1255, 1256, - 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, + 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, + 1216, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 1227, 1217, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, + + 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, + 1246, 1247, 1248, 1191, 1249, 1250, 1251, 1252, 1253, 1254, + 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1265, + 1264, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1263, 1264, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, - 1304, 1306, 1307, 1308, 1303, 1309, 1310, 1311, 1312, 1313, - 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1313, + 1315, 1316, 1317, 1312, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, - 1344, 1345, 1346, 1347, 1305, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 1355, 1356, 1314, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 1393, 1394, 1372, 1395, 1396, 1397, 1398, 1399, 1373, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, + 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1381, 1404, 1405, 1406, 1407, 1408, 1382, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, - 1482, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1475, 1451, 1504, 1505, 1506, 1507, 1508, 1509, 1510, - 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, - 1521, 1522, 1523, 1524, 1483, 1525, 1527, 1528, 1529, 1530, - - 1531, 1532, 1533, 1526, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, - 1551, 1552, 1555, 1553, 1550, 1554, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, - 1571, 1572, 1573, 1574, 1570, 1575, 1576, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, - 1590, 1591, 1592, 1571, 1593, 1594, 1595, 1596, 1597, 1598, - 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, + 1492, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, + 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1485, 1461, 1514, 1515, 1516, 1517, 1518, 1519, 1520, + 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, + + 1531, 1532, 1533, 1534, 1493, 1535, 1536, 1538, 1539, 1540, + 1541, 1542, 1543, 1544, 1537, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, + 1560, 1562, 1563, 1566, 1564, 1561, 1565, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, + 1580, 1582, 1583, 1584, 1585, 1581, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1582, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, - 1629, 1630, 1631, 1632, 1633, 1634, 1638, 1635, 1639, 1640, - 1636, 1641, 1642, 1637, 1643, 1644, 1645, 1646, 1647, 1648, - 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, - 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1668, 1669, - 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1667, 1678, - 1679, 1680, 1681, 1655, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, + 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, + 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1650, 1647, + 1651, 1652, 1648, 1653, 1654, 1649, 1655, 1656, 1657, 1658, + 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, + 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, + 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + 1679, 1690, 1691, 1692, 1693, 1667, 1694, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, - 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1690, - 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, - 1758, 1759, 1760, 1761, 1762, 1736, 1763, 1764, 1765, 1766, - 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, + 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, + 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, + 1759, 1760, 1703, 1761, 1762, 1763, 1764, 1765, 1766, 1767, + 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1749, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, @@ -1665,9 +1674,9 @@ static const flex_int16_t yy_nxt[2638] = 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, - 1857, 1859, 1860, 1861, 1862, 1858, 1863, 1864, 1865, 1866, - 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, - 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, + 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, + 1867, 1868, 1869, 1870, 1871, 1872, 1874, 1875, 1876, 1877, + 1873, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, @@ -1675,9 +1684,9 @@ static const flex_int16_t yy_nxt[2638] = 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, - 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1955, 1956, 1954, + 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, - 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, + 1967, 1968, 1969, 1970, 1972, 1973, 1971, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -1695,87 +1704,89 @@ static const flex_int16_t yy_nxt[2638] = 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, - 2127, 2128, 2129, 2130, 2132, 2131, 2133, 2134, 2135, 2136, + 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, - 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, + 2147, 2148, 2149, 2150, 2152, 2151, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, - 2167, 2168, 2169, 2170, 12, 12, 12, 36, 36, 36, + 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, + 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, + 2187, 2188, 2189, 2190, 12, 12, 12, 36, 36, 36, 79, 98, 79, 100, 100, 100, 113, 113, 113, 188, - 853, 188, 207, 207, 207, 852, 849, 848, 847, 846, - 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, - 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, - 825, 824, 823, 822, 821, 820, 819, 818, 817, 814, - - 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, - 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, - 793, 792, 789, 788, 787, 786, 785, 784, 783, 782, - 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, - 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, - 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, - 749, 748, 747, 746, 745, 744, 743, 740, 739, 737, - 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, - 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, - 714, 713, 712, 711, 708, 707, 706, 705, 704, 703, - - 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - 682, 681, 680, 679, 678, 677, 676, 674, 673, 672, - 671, 670, 669, 668, 667, 666, 663, 662, 661, 660, - 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, - 649, 648, 647, 646, 645, 644, 641, 640, 639, 638, - 637, 636, 635, 634, 633, 629, 628, 621, 620, 619, - 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, - 608, 607, 606, 604, 601, 600, 599, 597, 596, 595, - 594, 593, 590, 589, 588, 587, 586, 585, 584, 583, - - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 570, 569, 568, 567, 566, 565, 564, 563, 560, 559, - 556, 555, 554, 553, 552, 549, 548, 547, 546, 545, - 544, 543, 542, 541, 540, 539, 538, 537, 536, 532, - 531, 530, 529, 528, 527, 526, 522, 521, 520, 519, - 518, 517, 516, 515, 514, 513, 512, 511, 506, 505, - 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, - 494, 493, 490, 489, 488, 487, 486, 485, 484, 483, - 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 468, 466, 465, 463, 461, 457, 454, - - 453, 450, 449, 448, 446, 445, 444, 442, 441, 440, - 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, - 427, 426, 425, 424, 421, 420, 419, 418, 417, 416, - 415, 414, 413, 412, 411, 410, 407, 406, 402, 401, - 400, 399, 398, 396, 395, 394, 393, 392, 391, 387, - 386, 385, 384, 383, 382, 381, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 208, 333, 331, 327, 325, 324, 317, 316, 315, - - 314, 312, 310, 306, 305, 304, 301, 300, 299, 284, - 278, 273, 272, 271, 268, 265, 264, 263, 262, 261, - 260, 257, 256, 255, 252, 251, 250, 249, 248, 247, - 243, 242, 235, 234, 233, 232, 231, 228, 227, 226, + 852, 188, 207, 207, 207, 851, 850, 849, 848, 847, + 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, + + 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, + 826, 825, 824, 823, 822, 819, 818, 817, 816, 815, + 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, + 804, 803, 802, 801, 800, 799, 798, 797, 794, 793, + 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, + 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, + 772, 771, 770, 769, 768, 767, 766, 763, 762, 761, + 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, + 750, 749, 748, 747, 744, 743, 741, 738, 737, 736, + 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, + + 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, + 715, 712, 711, 710, 709, 708, 707, 706, 705, 704, + 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, + 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, + 683, 682, 681, 680, 678, 677, 676, 675, 674, 673, + 672, 671, 670, 667, 666, 665, 664, 663, 662, 661, + 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, + 650, 649, 648, 645, 644, 643, 642, 641, 640, 639, + 638, 637, 636, 632, 631, 624, 623, 622, 621, 620, + 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, + + 609, 607, 604, 603, 602, 600, 599, 598, 597, 596, + 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, + 583, 582, 581, 580, 579, 578, 577, 576, 573, 572, + 571, 570, 569, 568, 567, 566, 563, 562, 559, 558, + 557, 556, 555, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 535, 534, 533, + 532, 531, 530, 529, 525, 524, 523, 522, 521, 520, + 519, 518, 517, 516, 515, 514, 509, 508, 507, 506, + 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, + 495, 492, 491, 490, 489, 488, 487, 486, 485, 484, + + 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, + 473, 472, 470, 468, 467, 465, 463, 459, 456, 455, + 452, 451, 450, 448, 447, 446, 444, 443, 442, 439, + 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 423, 422, 421, 420, 419, 418, 417, + 416, 415, 414, 413, 412, 409, 408, 404, 403, 402, + 401, 400, 398, 397, 396, 395, 394, 393, 389, 388, + 387, 386, 385, 384, 383, 380, 379, 378, 377, 376, + 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, + 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, + + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 208, 334, 332, 328, 326, 325, 318, 317, 316, + 315, 313, 311, 307, 306, 305, 302, 301, 300, 285, + 279, 274, 273, 272, 269, 266, 265, 264, 263, 262, + 261, 258, 257, 256, 253, 252, 251, 250, 249, 248, + 244, 243, 235, 234, 233, 232, 231, 228, 227, 226, 222, 219, 215, 214, 213, 208, 199, 197, 196, 195, 186, 166, 145, 119, 105, 103, 43, 99, 97, 96, - 87, 43, 2171, 11, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171 + 87, 43, 2191, 11, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191 } ; -static const flex_int16_t yy_chk[2638] = +static const flex_int16_t yy_chk[2658] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 682, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 686, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 107, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 682, 8, 8, 8, 1, 8, 44, 27, 28, 107, + 686, 8, 8, 8, 1, 8, 44, 27, 28, 107, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 48, 2, 2, @@ -1796,9 +1807,9 @@ static const flex_int16_t yy_chk[2638] = 17, 17, 17, 17, 17, 19, 62, 19, 19, 19, 19, 19, 146, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 63, 20, 53, 62, - 57, 59, 722, 63, 22, 59, 17, 73, 53, 59, + 57, 59, 721, 63, 22, 59, 17, 73, 53, 59, 62, 73, 59, 19, 70, 59, 90, 112, 100, 59, - 20, 53, 70, 723, 70, 92, 57, 22, 45, 70, + 20, 53, 70, 722, 70, 92, 57, 22, 45, 70, 70, 61, 57, 61, 45, 57, 53, 45, 724, 45, 112, 45, 90, 45, 61, 56, 67, 67, 45, 45, @@ -1811,11 +1822,11 @@ static const flex_int16_t yy_chk[2638] = 69, 68, 69, 78, 69, 74, 76, 108, 75, 74, 91, 725, 74, 68, 95, 104, 76, 68, 75, 74, 74, 76, 93, 94, 74, 74, 134, 78, 134, 136, - 726, 75, 109, 75, 106, 108, 75, 78, 80, 80, + 135, 75, 109, 75, 106, 108, 75, 78, 80, 80, 80, 80, 80, 135, 150, 136, 75, 135, 150, 94, - 727, 80, 81, 75, 81, 81, 81, 81, 81, 109, - 106, 110, 159, 82, 111, 82, 728, 81, 82, 82, + 726, 80, 81, 75, 81, 81, 81, 81, 81, 109, + 106, 110, 159, 82, 111, 82, 727, 81, 82, 82, 82, 82, 82, 83, 80, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 102, 211, 116, 83, 110, 81, 111, 102, 84, 88, 88, 88, 88, 88, 89, @@ -1824,241 +1835,243 @@ static const flex_int16_t yy_chk[2638] = 124, 165, 102, 178, 165, 165, 102, 163, 163, 163, 102, 174, 166, 169, 169, 157, 166, 157, 102, 191, - 211, 729, 102, 179, 102, 102, 115, 168, 181, 179, + 211, 728, 102, 179, 102, 102, 115, 168, 181, 179, 178, 183, 189, 190, 115, 115, 115, 115, 115, 193, - 259, 730, 191, 115, 115, 115, 115, 115, 115, 170, - 315, 192, 224, 170, 200, 224, 181, 170, 183, 190, + 260, 729, 191, 115, 115, 115, 115, 115, 115, 170, + 316, 192, 224, 170, 200, 224, 181, 170, 183, 190, 189, 194, 168, 168, 168, 193, 115, 115, 115, 115, 115, 115, 198, 168, 201, 168, 202, 168, 168, 192, - 168, 204, 200, 206, 194, 212, 225, 275, 251, 288, - 326, 272, 288, 259, 225, 198, 259, 275, 571, 202, - 225, 201, 315, 266, 204, 251, 318, 303, 212, 303, - 206, 210, 210, 210, 210, 210, 311, 321, 413, 326, - - 210, 210, 210, 210, 210, 210, 266, 272, 307, 318, - 330, 328, 325, 307, 420, 338, 732, 397, 460, 311, - 321, 272, 325, 210, 210, 210, 210, 210, 210, 360, - 571, 375, 733, 311, 328, 360, 375, 396, 330, 335, - 335, 335, 335, 335, 338, 397, 460, 396, 335, 335, - 335, 335, 335, 335, 388, 388, 413, 423, 432, 388, - 452, 423, 432, 420, 466, 452, 466, 491, 737, 524, - 609, 335, 335, 335, 335, 335, 335, 609, 502, 524, - 491, 469, 491, 502, 375, 535, 657, 657, 602, 375, - 535, 466, 603, 466, 467, 467, 467, 467, 467, 738, - - 719, 736, 488, 467, 467, 467, 467, 467, 467, 469, - 488, 719, 488, 488, 488, 602, 488, 605, 627, 735, - 603, 627, 605, 739, 736, 740, 467, 467, 467, 467, - 467, 467, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 752, 751, 751, 748, 751, 735, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 771, 775, 776, 777, 771, 779, 780, 781, 782, 783, - 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 799, 800, 798, 801, 803, - - 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, - 814, 816, 817, 818, 819, 820, 821, 822, 823, 824, - 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, - 835, 836, 837, 838, 839, 840, 841, 842, 842, 843, - 844, 845, 840, 847, 846, 842, 848, 849, 851, 842, - 846, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 881, - 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, - 892, 893, 894, 866, 895, 896, 897, 898, 899, 900, - - 901, 902, 903, 904, 905, 906, 907, 908, 909, 911, - 912, 913, 914, 915, 916, 917, 918, 919, 920, 916, - 921, 922, 923, 924, 925, 926, 927, 930, 931, 932, - 933, 934, 935, 938, 939, 940, 941, 942, 943, 945, - 946, 947, 948, 949, 946, 950, 951, 952, 953, 954, - 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 989, 990, 991, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, - - 1008, 1009, 1010, 1012, 1013, 1014, 1015, 1016, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1003, 1027, - 1028, 1002, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, - 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, - 1048, 1049, 1050, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 1084, 1085, 1087, 1088, 1089, 1090, - 1091, 1093, 1094, 1082, 1095, 1096, 1097, 1098, 1099, 1100, - 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, - - 1112, 1113, 1114, 1115, 1116, 1056, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1134, 1132, 1135, 1136, 1137, 1138, 1139, 1141, 1142, - 1143, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1162, 1131, 1132, - 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, - 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1183, - 1184, 1185, 1186, 1187, 1183, 1188, 1189, 1190, 1191, 1192, - 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, - - 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1221, 1222, 1223, - 1224, 1225, 1226, 1227, 1184, 1229, 1230, 1231, 1233, 1234, - 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1255, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1273, 1274, 1275, 1276, 1277, - 1278, 1279, 1255, 1281, 1282, 1283, 1284, 1285, 1256, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1298, 1299, 1301, 1303, 1305, 1306, 1307, 1308, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1320, - - 1322, 1323, 1324, 1326, 1327, 1328, 1329, 1330, 1331, 1333, - 1335, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, - 1346, 1347, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1356, - 1357, 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1372, 1373, 1375, 1376, 1377, 1378, 1379, - 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, - 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1372, 1345, 1402, 1403, 1405, 1406, 1407, 1408, 1409, - 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, - 1420, 1421, 1422, 1423, 1381, 1424, 1425, 1426, 1427, 1428, - - 1429, 1430, 1432, 1424, 1435, 1436, 1437, 1438, 1439, 1440, - 1441, 1442, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, - 1452, 1453, 1456, 1455, 1451, 1455, 1458, 1459, 1462, 1463, - 1464, 1465, 1466, 1467, 1468, 1469, 1471, 1472, 1473, 1474, - 1475, 1477, 1478, 1479, 1474, 1480, 1481, 1483, 1484, 1485, - 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, - 1496, 1497, 1498, 1475, 1499, 1501, 1502, 1503, 1505, 1506, - 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, - 1518, 1520, 1521, 1523, 1524, 1525, 1526, 1527, 1528, 1529, - 1530, 1531, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, - - 1543, 1544, 1546, 1547, 1548, 1550, 1551, 1550, 1552, 1553, - 1550, 1554, 1555, 1550, 1556, 1557, 1558, 1559, 1560, 1561, - 1562, 1563, 1565, 1567, 1568, 1570, 1571, 1573, 1575, 1576, - 1577, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1585, 1596, - 1597, 1598, 1599, 1571, 1600, 1601, 1602, 1603, 1604, 1605, - 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, - 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, - 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - 1635, 1636, 1637, 1638, 1640, 1641, 1642, 1643, 1644, 1645, - - 1646, 1647, 1648, 1650, 1651, 1652, 1654, 1655, 1657, 1658, - 1661, 1662, 1663, 1665, 1666, 1667, 1668, 1669, 1670, 1606, - 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1680, 1681, 1682, - 1683, 1684, 1685, 1686, 1687, 1655, 1688, 1690, 1691, 1692, - 1693, 1695, 1696, 1698, 1699, 1700, 1702, 1703, 1704, 1705, - 1706, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, - 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, - 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1735, 1736, 1738, - 1739, 1740, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, - 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, - - 1761, 1762, 1763, 1765, 1766, 1767, 1768, 1770, 1771, 1772, - 1773, 1774, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, - 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793, 1794, - 1796, 1798, 1800, 1801, 1802, 1796, 1803, 1806, 1808, 1809, - 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1820, - 1821, 1822, 1823, 1824, 1826, 1827, 1828, 1829, 1830, 1831, - 1832, 1833, 1834, 1836, 1837, 1838, 1840, 1841, 1842, 1843, - 1844, 1845, 1846, 1847, 1848, 1849, 1851, 1852, 1853, 1854, - 1855, 1857, 1858, 1859, 1860, 1863, 1864, 1865, 1866, 1867, - 1868, 1869, 1870, 1872, 1873, 1874, 1875, 1876, 1877, 1878, - - 1879, 1880, 1881, 1882, 1883, 1885, 1887, 1888, 1889, 1890, - 1891, 1892, 1893, 1894, 1895, 1897, 1899, 1900, 1901, 1902, - 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1909, - 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, - 1922, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, - 1933, 1934, 1936, 1940, 1942, 1943, 1944, 1945, 1946, 1947, - 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, - 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, - 1969, 1970, 1971, 1972, 1974, 1975, 1976, 1977, 1978, 1980, - 1982, 1985, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, - - 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, - 2007, 2008, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, - 2018, 2019, 2020, 2021, 2023, 2024, 2025, 2026, 2027, 2028, - 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, - 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, - 2050, 2051, 2052, 2053, 2054, 2055, 2057, 2058, 2060, 2061, - 2062, 2063, 2065, 2066, 2067, 2068, 2069, 2073, 2076, 2077, - 2078, 2079, 2080, 2081, 2082, 2083, 2085, 2086, 2087, 2088, - 2089, 2090, 2091, 2092, 2093, 2095, 2096, 2097, 2098, 2099, - 2100, 2102, 2104, 2106, 2107, 2108, 2109, 2110, 2111, 2112, - - 2114, 2115, 2116, 2117, 2118, 2117, 2119, 2120, 2122, 2123, - 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, - 2137, 2138, 2139, 2140, 2141, 2143, 2144, 2145, 2146, 2149, - 2150, 2151, 2153, 2154, 2156, 2158, 2159, 2160, 2161, 2162, - 2163, 2164, 2165, 2167, 2172, 2172, 2172, 2173, 2173, 2173, - 2174, 2175, 2174, 2176, 2176, 2176, 2177, 2177, 2177, 2178, - 721, 2178, 2179, 2179, 2179, 720, 718, 717, 716, 714, - 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, - 703, 702, 700, 699, 698, 697, 696, 695, 694, 693, - 692, 691, 689, 688, 687, 686, 685, 684, 683, 681, - - 680, 679, 678, 677, 676, 675, 674, 673, 671, 670, - 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, - 659, 658, 656, 655, 654, 653, 652, 651, 650, 649, - 648, 647, 646, 645, 644, 643, 641, 640, 639, 638, - 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, + 168, 204, 200, 206, 194, 212, 225, 276, 252, 289, + 327, 273, 289, 260, 225, 198, 260, 276, 574, 202, + 225, 201, 316, 267, 204, 252, 319, 304, 212, 304, + 206, 210, 210, 210, 210, 210, 312, 322, 415, 327, + + 210, 210, 210, 210, 210, 210, 267, 273, 308, 319, + 331, 329, 326, 308, 422, 339, 730, 399, 462, 312, + 322, 273, 326, 210, 210, 210, 210, 210, 210, 361, + 574, 377, 731, 312, 329, 361, 377, 398, 331, 336, + 336, 336, 336, 336, 339, 399, 462, 398, 336, 336, + 336, 336, 336, 336, 390, 390, 415, 425, 434, 390, + 454, 425, 434, 422, 468, 454, 468, 493, 732, 527, + 612, 336, 336, 336, 336, 336, 336, 612, 505, 527, + 493, 471, 493, 505, 377, 538, 661, 661, 605, 377, + 538, 468, 606, 468, 469, 469, 469, 469, 469, 733, + + 723, 734, 490, 469, 469, 469, 469, 469, 469, 471, + 490, 723, 490, 490, 490, 605, 490, 608, 630, 736, + 606, 630, 608, 737, 739, 740, 469, 469, 469, 469, + 469, 469, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 756, 757, 740, 752, + 755, 755, 739, 755, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 775, 776, 777, 778, 775, 779, 780, 781, 775, + 782, 784, 785, 786, 787, 788, 789, 790, 791, 792, + 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, + + 803, 804, 805, 803, 806, 808, 809, 810, 811, 812, + 813, 814, 815, 816, 817, 818, 819, 821, 822, 823, + 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, + 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, + 844, 845, 846, 847, 847, 848, 849, 850, 845, 852, + 851, 847, 853, 854, 856, 847, 851, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, 884, 886, 887, 888, 889, 890, + 891, 892, 893, 894, 895, 896, 897, 898, 899, 871, + + 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 914, 915, 917, 918, 919, 920, + 921, 922, 923, 924, 925, 926, 922, 927, 928, 929, + 930, 931, 932, 933, 936, 937, 938, 939, 940, 941, + 944, 945, 946, 947, 948, 949, 951, 952, 953, 954, + 955, 952, 956, 957, 958, 959, 960, 963, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 995, 996, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, + 1028, 1029, 1030, 1031, 1032, 1009, 1033, 1034, 1008, 1035, + 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1044, 1045, 1046, + 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, + 1057, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1094, 1095, 1096, 1097, 1098, 1100, + 1101, 1089, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, + + 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1119, 1120, + 1121, 1122, 1123, 1063, 1124, 1125, 1126, 1127, 1128, 1129, + 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1141, + 1139, 1142, 1143, 1144, 1145, 1146, 1148, 1149, 1150, 1152, + 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, + 1163, 1164, 1165, 1166, 1167, 1169, 1138, 1139, 1170, 1171, + 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, + 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1191, 1192, + 1193, 1194, 1195, 1191, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + + 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, + 1233, 1234, 1235, 1192, 1237, 1238, 1239, 1241, 1242, 1243, + 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, + 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1263, 1264, + 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 1263, 1289, 1290, 1291, 1292, 1293, 1264, 1294, 1295, + 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1310, 1312, 1314, 1315, 1316, 1317, 1318, + + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1329, + 1331, 1332, 1333, 1335, 1336, 1337, 1338, 1339, 1340, 1342, + 1344, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, + 1355, 1356, 1357, 1358, 1359, 1360, 1362, 1363, 1364, 1365, + 1366, 1367, 1368, 1371, 1372, 1373, 1374, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1384, 1385, 1386, 1387, 1388, + 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, + 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, + 1410, 1381, 1354, 1411, 1412, 1414, 1415, 1416, 1417, 1418, + 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, + + 1429, 1430, 1431, 1432, 1390, 1433, 1434, 1435, 1436, 1437, + 1438, 1439, 1440, 1442, 1434, 1445, 1446, 1447, 1448, 1449, + 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1459, 1460, + 1461, 1462, 1463, 1466, 1465, 1461, 1465, 1468, 1469, 1472, + 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1481, 1482, 1483, + 1484, 1485, 1487, 1488, 1489, 1484, 1490, 1491, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, + 1505, 1506, 1507, 1508, 1485, 1509, 1511, 1512, 1513, 1515, + 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, + 1526, 1527, 1529, 1531, 1532, 1534, 1535, 1536, 1537, 1538, + + 1539, 1540, 1541, 1542, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1554, 1555, 1557, 1558, 1559, 1561, 1562, 1561, + 1563, 1564, 1561, 1565, 1566, 1561, 1567, 1568, 1569, 1570, + 1571, 1572, 1573, 1574, 1576, 1578, 1579, 1581, 1582, 1584, + 1586, 1587, 1588, 1590, 1591, 1592, 1593, 1594, 1595, 1596, + 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + 1596, 1607, 1608, 1609, 1610, 1582, 1611, 1612, 1613, 1614, + 1615, 1616, 1617, 1617, 1618, 1619, 1620, 1621, 1622, 1623, + 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, + 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, + + 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1662, 1663, 1664, 1666, + 1667, 1669, 1670, 1673, 1674, 1675, 1677, 1678, 1679, 1680, + 1681, 1682, 1618, 1683, 1684, 1685, 1686, 1687, 1688, 1690, + 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1667, 1700, + 1701, 1703, 1704, 1705, 1706, 1708, 1709, 1711, 1712, 1713, + 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 1746, 1748, 1749, 1751, 1752, 1753, 1755, 1756, 1757, 1758, + + 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, + 1781, 1782, 1784, 1785, 1786, 1787, 1788, 1790, 1791, 1792, + 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, + 1803, 1804, 1805, 1807, 1808, 1810, 1812, 1814, 1815, 1816, + 1810, 1817, 1820, 1822, 1823, 1824, 1825, 1826, 1827, 1828, + 1829, 1830, 1831, 1832, 1834, 1835, 1836, 1837, 1838, 1839, + 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1851, + 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, + 1863, 1864, 1866, 1867, 1868, 1869, 1870, 1872, 1873, 1874, + + 1875, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1887, + 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, + 1898, 1899, 1901, 1903, 1904, 1905, 1906, 1907, 1908, 1909, + 1910, 1911, 1913, 1915, 1916, 1917, 1918, 1919, 1920, 1921, + 1922, 1923, 1924, 1925, 1926, 1927, 1925, 1928, 1929, 1930, + 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1940, 1941, + 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, + 1953, 1957, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, + 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1976, 1977, + 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, + + 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1996, 1998, 2000, + 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2014, + 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, + 2026, 2027, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, + 2037, 2038, 2039, 2040, 2042, 2043, 2044, 2045, 2046, 2047, + 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2058, 2059, + 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, 2075, 2077, 2078, 2080, 2081, + 2082, 2083, 2085, 2086, 2087, 2088, 2089, 2093, 2096, 2097, + 2098, 2099, 2100, 2101, 2102, 2103, 2105, 2106, 2107, 2108, + + 2109, 2110, 2111, 2112, 2113, 2115, 2116, 2117, 2118, 2119, + 2120, 2122, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, + 2134, 2135, 2136, 2137, 2138, 2137, 2139, 2140, 2142, 2143, + 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, + 2157, 2158, 2159, 2160, 2161, 2163, 2164, 2165, 2166, 2169, + 2170, 2171, 2173, 2174, 2176, 2178, 2179, 2180, 2181, 2182, + 2183, 2184, 2185, 2187, 2192, 2192, 2192, 2193, 2193, 2193, + 2194, 2195, 2194, 2196, 2196, 2196, 2197, 2197, 2197, 2198, + 720, 2198, 2199, 2199, 2199, 718, 717, 716, 715, 714, + 713, 712, 711, 710, 709, 708, 707, 706, 704, 703, + + 702, 701, 700, 699, 698, 697, 696, 695, 693, 692, + 691, 690, 689, 688, 687, 685, 684, 683, 682, 681, + 680, 679, 678, 677, 675, 674, 673, 672, 671, 670, + 669, 668, 667, 666, 665, 664, 663, 662, 660, 659, + 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, + 648, 647, 645, 644, 643, 642, 641, 640, 639, 638, + 637, 636, 635, 634, 633, 632, 631, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, - 616, 615, 614, 613, 612, 611, 610, 608, 607, 604, - 598, 597, 596, 595, 594, 593, 592, 590, 589, 587, - 586, 584, 583, 582, 581, 580, 579, 578, 577, 576, - 575, 574, 573, 572, 570, 569, 568, 567, 566, 565, - - 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, - 554, 553, 551, 549, 548, 547, 546, 545, 544, 543, - 542, 541, 540, 539, 538, 537, 536, 534, 533, 531, - 530, 529, 528, 527, 526, 525, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, - 509, 508, 506, 505, 504, 503, 501, 500, 499, 498, - 497, 496, 495, 493, 492, 490, 489, 486, 485, 484, - 483, 482, 481, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 468, 464, 462, 461, 459, 458, 457, - 454, 453, 451, 450, 448, 447, 446, 445, 444, 443, - - 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, - 431, 430, 429, 428, 427, 426, 425, 424, 422, 421, - 419, 417, 416, 415, 414, 412, 411, 410, 409, 408, - 407, 406, 405, 404, 403, 402, 401, 400, 398, 395, - 394, 393, 392, 391, 390, 389, 387, 386, 385, 384, - 383, 382, 381, 380, 379, 378, 377, 376, 374, 373, + 616, 615, 614, 613, 611, 610, 607, 601, 600, 599, + 598, 597, 596, 595, 593, 592, 590, 589, 587, 586, + + 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, + 575, 573, 572, 571, 570, 569, 568, 567, 566, 565, + 564, 563, 562, 561, 560, 559, 558, 557, 556, 554, + 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, + 542, 541, 540, 539, 537, 536, 534, 533, 532, 531, + 530, 529, 528, 526, 525, 524, 523, 522, 521, 520, + 519, 518, 517, 516, 515, 514, 513, 512, 511, 509, + 508, 507, 506, 504, 503, 502, 501, 500, 499, 498, + 497, 495, 494, 492, 491, 488, 487, 486, 485, 484, + 483, 481, 480, 479, 478, 477, 476, 475, 474, 473, + + 472, 470, 466, 464, 463, 461, 460, 459, 456, 455, + 453, 452, 450, 449, 448, 447, 446, 445, 444, 443, + 442, 441, 440, 439, 438, 437, 436, 435, 433, 432, + 431, 430, 429, 428, 427, 426, 424, 423, 421, 419, + 418, 417, 416, 414, 413, 412, 411, 410, 409, 408, + 407, 406, 405, 404, 403, 402, 400, 397, 396, 395, + 394, 393, 392, 391, 389, 388, 387, 386, 385, 384, + 383, 382, 381, 380, 379, 378, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, - 362, 361, 359, 358, 357, 356, 355, 354, 353, 352, - 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, - 341, 340, 339, 337, 334, 332, 329, 327, 324, 317, + 362, 360, 359, 358, 357, 356, 355, 354, 353, 352, - 316, 314, 313, 312, 310, 309, 308, 306, 305, 304, + 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, + 341, 340, 338, 335, 333, 330, 328, 325, 318, 317, + 315, 314, 313, 311, 310, 309, 307, 306, 305, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, - 292, 291, 290, 289, 287, 286, 285, 284, 283, 282, - 281, 280, 279, 278, 277, 276, 274, 273, 271, 270, - 269, 268, 267, 265, 264, 263, 262, 261, 260, 258, - 257, 256, 255, 254, 253, 252, 250, 249, 247, 246, + 292, 291, 290, 288, 287, 286, 285, 284, 283, 282, + 281, 280, 279, 278, 277, 275, 274, 272, 271, 270, + 269, 268, 266, 265, 264, 263, 262, 261, 259, 258, + 257, 256, 255, 254, 253, 251, 250, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 207, 205, 203, 199, 197, 195, 187, 186, 185, - 184, 182, 180, 177, 176, 175, 173, 172, 171, 167, 164, 162, 161, 160, 158, 156, 155, 154, 153, 152, 151, 149, 148, 147, 145, 144, 143, 142, 141, 140, 138, 137, 133, 132, 131, 130, 129, 127, 126, 125, 123, 121, 119, 118, 117, 113, 105, 103, 98, 97, 77, 72, 66, 58, 49, 47, 43, 41, 39, 38, - 24, 14, 11, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, - 2171, 2171, 2171, 2171, 2171, 2171, 2171 + 24, 14, 11, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, + 2191, 2191, 2191, 2191, 2191, 2191, 2191 } ; static yy_state_type yy_last_accepting_state; @@ -2067,7 +2080,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[222] = +static const flex_int16_t yy_rule_linenum[223] = { 0, 146, 148, 150, 155, 156, 161, 162, 163, 175, 178, 183, 190, 199, 208, 217, 226, 235, 244, 253, 263, @@ -2091,9 +2104,9 @@ static const flex_int16_t yy_rule_linenum[222] = 1867, 1877, 1887, 1897, 1907, 1917, 1927, 1937, 1946, 1955, 1964, 1973, 1984, 1995, 2008, 2021, 2034, 2043, 2052, 2061, - 2070, 2079, 2089, 2190, 2206, 2255, 2263, 2278, 2279, 2280, - 2281, 2282, 2283, 2285, 2303, 2316, 2321, 2325, 2327, 2329, - 2331 + 2070, 2079, 2088, 2098, 2199, 2215, 2264, 2272, 2287, 2288, + 2289, 2290, 2291, 2292, 2294, 2312, 2325, 2330, 2334, 2336, + 2338, 2340 } ; /* The intent behind this definition is that it'll catch @@ -2147,7 +2160,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2150 "dhcp4_lexer.cc" +#line 2163 "dhcp4_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And using yywrap requires linking with -lfl, which provides the default yywrap @@ -2173,8 +2186,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2176 "dhcp4_lexer.cc" -#line 2177 "dhcp4_lexer.cc" +#line 2189 "dhcp4_lexer.cc" +#line 2190 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2502,7 +2515,7 @@ YY_DECL } -#line 2505 "dhcp4_lexer.cc" +#line 2518 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2531,13 +2544,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2172 ) + if ( yy_current_state >= 2192 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2171 ); + while ( yy_current_state != 2191 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2556,13 +2569,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 222 ) + else if ( yy_act < 223 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 222 ) + else if ( yy_act == 223 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 223 ) + else if ( yy_act == 224 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -5137,7 +5150,19 @@ YY_RULE_SETUP YY_BREAK case 203: YY_RULE_SETUP -#line 2089 "dhcp4_lexer.ll" +#line 2088 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::COMPATIBILITY: + return isc::dhcp::Dhcp4Parser::make_EXCLUDE_FIRST_LAST_24(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("exclude-first-last-24", driver.loc_); + } +} + YY_BREAK +case 204: +YY_RULE_SETUP +#line 2098 "dhcp4_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. @@ -5239,10 +5264,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 204: -/* rule 204 can match eol */ +case 205: +/* rule 205 can match eol */ YY_RULE_SETUP -#line 2190 "dhcp4_lexer.ll" +#line 2199 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5259,10 +5284,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 205: -/* rule 205 can match eol */ +case 206: +/* rule 206 can match eol */ YY_RULE_SETUP -#line 2206 "dhcp4_lexer.ll" +#line 2215 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5312,9 +5337,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2255 "dhcp4_lexer.ll" +#line 2264 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5323,9 +5348,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 2263 "dhcp4_lexer.ll" +#line 2272 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5341,39 +5366,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 2278 "dhcp4_lexer.ll" +#line 2287 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2279 "dhcp4_lexer.ll" +#line 2288 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2280 "dhcp4_lexer.ll" +#line 2289 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2281 "dhcp4_lexer.ll" +#line 2290 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2282 "dhcp4_lexer.ll" +#line 2291 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2283 "dhcp4_lexer.ll" +#line 2292 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2285 "dhcp4_lexer.ll" +#line 2294 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5392,9 +5417,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2303 "dhcp4_lexer.ll" +#line 2312 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5408,43 +5433,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2316 "dhcp4_lexer.ll" +#line 2325 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2321 "dhcp4_lexer.ll" +#line 2330 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2325 "dhcp4_lexer.ll" +#line 2334 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2327 "dhcp4_lexer.ll" +#line 2336 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2329 "dhcp4_lexer.ll" +#line 2338 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2331 "dhcp4_lexer.ll" +#line 2340 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2333 "dhcp4_lexer.ll" +#line 2342 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5468,12 +5493,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 2356 "dhcp4_lexer.ll" +#line 2365 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5476 "dhcp4_lexer.cc" +#line 5501 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5792,7 +5817,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2172 ) + if ( yy_current_state >= 2192 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5825,11 +5850,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2172 ) + if ( yy_current_state >= 2192 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2171); + yy_is_jam = (yy_current_state == 2191); return yy_is_jam ? 0 : yy_current_state; } @@ -6578,7 +6603,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2356 "dhcp4_lexer.ll" +#line 2365 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 8a077634a3..17b46ce86c 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -402,79 +402,79 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 408 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 414 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 420 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 426 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 432 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 438 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 444 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 450 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 456 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 462 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 468 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 474 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 480 "dhcp4_parser.cc" break; @@ -755,127 +755,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 303 "dhcp4_parser.yy" +#line 304 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 761 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 304 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 767 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 305 "dhcp4_parser.yy" +#line 306 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 773 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 306 "dhcp4_parser.yy" +#line 307 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 779 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 307 "dhcp4_parser.yy" +#line 308 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 785 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 308 "dhcp4_parser.yy" +#line 309 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 791 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 309 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 797 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 310 "dhcp4_parser.yy" +#line 311 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 803 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 809 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 312 "dhcp4_parser.yy" +#line 313 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 815 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 313 "dhcp4_parser.yy" +#line 314 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 821 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 314 "dhcp4_parser.yy" +#line 315 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 827 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 315 "dhcp4_parser.yy" +#line 316 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 833 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 323 "dhcp4_parser.yy" +#line 324 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 839 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 324 "dhcp4_parser.yy" +#line 325 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 845 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 325 "dhcp4_parser.yy" +#line 326 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 851 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 326 "dhcp4_parser.yy" +#line 327 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 857 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 863 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 328 "dhcp4_parser.yy" +#line 329 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 869 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 329 "dhcp4_parser.yy" +#line 330 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 875 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 332 "dhcp4_parser.yy" +#line 333 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -884,7 +884,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 337 "dhcp4_parser.yy" +#line 338 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -895,7 +895,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 342 "dhcp4_parser.yy" +#line 343 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -905,13 +905,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 348 "dhcp4_parser.yy" +#line 349 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 911 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 355 "dhcp4_parser.yy" +#line 356 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -921,7 +921,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 360 "dhcp4_parser.yy" +#line 361 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -932,7 +932,7 @@ namespace isc { namespace dhcp { break; case 43: // not_empty_map: not_empty_map "," -#line 366 "dhcp4_parser.yy" +#line 367 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -940,7 +940,7 @@ namespace isc { namespace dhcp { break; case 44: // $@15: %empty -#line 371 "dhcp4_parser.yy" +#line 372 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -949,7 +949,7 @@ namespace isc { namespace dhcp { break; case 45: // list_generic: "[" $@15 list_content "]" -#line 374 "dhcp4_parser.yy" +#line 375 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -957,7 +957,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: value -#line 382 "dhcp4_parser.yy" +#line 383 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -966,7 +966,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: not_empty_list "," value -#line 386 "dhcp4_parser.yy" +#line 387 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -975,7 +975,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," -#line 390 "dhcp4_parser.yy" +#line 391 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -983,7 +983,7 @@ namespace isc { namespace dhcp { break; case 51: // $@16: %empty -#line 396 "dhcp4_parser.yy" +#line 397 "dhcp4_parser.yy" { // List parsing about to start } @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 398 "dhcp4_parser.yy" +#line 399 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1000,7 +1000,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 407 "dhcp4_parser.yy" +#line 408 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1009,7 +1009,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 411 "dhcp4_parser.yy" +#line 412 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1018,7 +1018,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 415 "dhcp4_parser.yy" +#line 416 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1026,7 +1026,7 @@ namespace isc { namespace dhcp { break; case 58: // unknown_map_entry: "constant string" ":" -#line 425 "dhcp4_parser.yy" +#line 426 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1037,7 +1037,7 @@ namespace isc { namespace dhcp { break; case 59: // $@17: %empty -#line 434 "dhcp4_parser.yy" +#line 435 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1048,7 +1048,7 @@ namespace isc { namespace dhcp { break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 439 "dhcp4_parser.yy" +#line 440 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1061,7 +1061,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 449 "dhcp4_parser.yy" +#line 450 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1076,7 +1076,7 @@ namespace isc { namespace dhcp { break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 458 "dhcp4_parser.yy" +#line 459 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1086,7 +1086,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object_comma: global_object "," -#line 466 "dhcp4_parser.yy" +#line 467 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1094,7 +1094,7 @@ namespace isc { namespace dhcp { break; case 65: // $@19: %empty -#line 472 "dhcp4_parser.yy" +#line 473 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1104,7 +1104,7 @@ namespace isc { namespace dhcp { break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 476 "dhcp4_parser.yy" +#line 477 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1113,7 +1113,7 @@ namespace isc { namespace dhcp { break; case 69: // global_params: global_params "," -#line 483 "dhcp4_parser.yy" +#line 484 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1121,7 +1121,7 @@ namespace isc { namespace dhcp { break; case 135: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 557 "dhcp4_parser.yy" +#line 558 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1131,7 +1131,7 @@ namespace isc { namespace dhcp { break; case 136: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 563 "dhcp4_parser.yy" +#line 564 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1141,7 +1141,7 @@ namespace isc { namespace dhcp { break; case 137: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 569 "dhcp4_parser.yy" +#line 570 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1151,7 +1151,7 @@ namespace isc { namespace dhcp { break; case 138: // renew_timer: "renew-timer" ":" "integer" -#line 575 "dhcp4_parser.yy" +#line 576 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1161,7 +1161,7 @@ namespace isc { namespace dhcp { break; case 139: // rebind_timer: "rebind-timer" ":" "integer" -#line 581 "dhcp4_parser.yy" +#line 582 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1171,7 +1171,7 @@ namespace isc { namespace dhcp { break; case 140: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 587 "dhcp4_parser.yy" +#line 588 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1181,7 +1181,7 @@ namespace isc { namespace dhcp { break; case 141: // t1_percent: "t1-percent" ":" "floating point" -#line 593 "dhcp4_parser.yy" +#line 594 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1191,7 +1191,7 @@ namespace isc { namespace dhcp { break; case 142: // t2_percent: "t2-percent" ":" "floating point" -#line 599 "dhcp4_parser.yy" +#line 600 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1201,7 +1201,7 @@ namespace isc { namespace dhcp { break; case 143: // cache_threshold: "cache-threshold" ":" "floating point" -#line 605 "dhcp4_parser.yy" +#line 606 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1211,7 +1211,7 @@ namespace isc { namespace dhcp { break; case 144: // cache_max_age: "cache-max-age" ":" "integer" -#line 611 "dhcp4_parser.yy" +#line 612 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1221,7 +1221,7 @@ namespace isc { namespace dhcp { break; case 145: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 617 "dhcp4_parser.yy" +#line 618 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1231,7 +1231,7 @@ namespace isc { namespace dhcp { break; case 146: // $@20: %empty -#line 623 "dhcp4_parser.yy" +#line 624 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1240,7 +1240,7 @@ namespace isc { namespace dhcp { break; case 147: // server_tag: "server-tag" $@20 ":" "constant string" -#line 626 "dhcp4_parser.yy" +#line 627 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1250,7 +1250,7 @@ namespace isc { namespace dhcp { break; case 148: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 632 "dhcp4_parser.yy" +#line 633 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1260,7 +1260,7 @@ namespace isc { namespace dhcp { break; case 149: // $@21: %empty -#line 638 "dhcp4_parser.yy" +#line 639 "dhcp4_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1269,7 +1269,7 @@ namespace isc { namespace dhcp { break; case 150: // allocator: "allocator" $@21 ":" "constant string" -#line 641 "dhcp4_parser.yy" +#line 642 "dhcp4_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); @@ -1279,7 +1279,7 @@ namespace isc { namespace dhcp { break; case 151: // echo_client_id: "echo-client-id" ":" "boolean" -#line 647 "dhcp4_parser.yy" +#line 648 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1289,7 +1289,7 @@ namespace isc { namespace dhcp { break; case 152: // match_client_id: "match-client-id" ":" "boolean" -#line 653 "dhcp4_parser.yy" +#line 654 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1299,7 +1299,7 @@ namespace isc { namespace dhcp { break; case 153: // authoritative: "authoritative" ":" "boolean" -#line 659 "dhcp4_parser.yy" +#line 660 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1309,7 +1309,7 @@ namespace isc { namespace dhcp { break; case 154: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 665 "dhcp4_parser.yy" +#line 666 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1319,7 +1319,7 @@ namespace isc { namespace dhcp { break; case 155: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 671 "dhcp4_parser.yy" +#line 672 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1329,7 +1329,7 @@ namespace isc { namespace dhcp { break; case 156: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 677 "dhcp4_parser.yy" +#line 678 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1339,7 +1339,7 @@ namespace isc { namespace dhcp { break; case 157: // $@22: %empty -#line 683 "dhcp4_parser.yy" +#line 684 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1348,7 +1348,7 @@ namespace isc { namespace dhcp { break; case 158: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 686 "dhcp4_parser.yy" +#line 687 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1357,7 +1357,7 @@ namespace isc { namespace dhcp { break; case 159: // ddns_replace_client_name_value: "when-present" -#line 692 "dhcp4_parser.yy" +#line 693 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } @@ -1365,7 +1365,7 @@ namespace isc { namespace dhcp { break; case 160: // ddns_replace_client_name_value: "never" -#line 695 "dhcp4_parser.yy" +#line 696 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } @@ -1373,7 +1373,7 @@ namespace isc { namespace dhcp { break; case 161: // ddns_replace_client_name_value: "always" -#line 698 "dhcp4_parser.yy" +#line 699 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } @@ -1381,7 +1381,7 @@ namespace isc { namespace dhcp { break; case 162: // ddns_replace_client_name_value: "when-not-present" -#line 701 "dhcp4_parser.yy" +#line 702 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } @@ -1389,7 +1389,7 @@ namespace isc { namespace dhcp { break; case 163: // ddns_replace_client_name_value: "boolean" -#line 704 "dhcp4_parser.yy" +#line 705 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1398,7 +1398,7 @@ namespace isc { namespace dhcp { break; case 164: // $@23: %empty -#line 710 "dhcp4_parser.yy" +#line 711 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1407,7 +1407,7 @@ namespace isc { namespace dhcp { break; case 165: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 713 "dhcp4_parser.yy" +#line 714 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1417,7 +1417,7 @@ namespace isc { namespace dhcp { break; case 166: // $@24: %empty -#line 719 "dhcp4_parser.yy" +#line 720 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1426,7 +1426,7 @@ namespace isc { namespace dhcp { break; case 167: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 722 "dhcp4_parser.yy" +#line 723 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1436,7 +1436,7 @@ namespace isc { namespace dhcp { break; case 168: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 728 "dhcp4_parser.yy" +#line 729 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1446,7 +1446,7 @@ namespace isc { namespace dhcp { break; case 169: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 734 "dhcp4_parser.yy" +#line 735 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1456,7 +1456,7 @@ namespace isc { namespace dhcp { break; case 170: // $@25: %empty -#line 740 "dhcp4_parser.yy" +#line 741 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1465,7 +1465,7 @@ namespace isc { namespace dhcp { break; case 171: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" -#line 743 "dhcp4_parser.yy" +#line 744 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -1475,7 +1475,7 @@ namespace isc { namespace dhcp { break; case 172: // $@26: %empty -#line 749 "dhcp4_parser.yy" +#line 750 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1484,7 +1484,7 @@ namespace isc { namespace dhcp { break; case 173: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" -#line 752 "dhcp4_parser.yy" +#line 753 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -1494,7 +1494,7 @@ namespace isc { namespace dhcp { break; case 174: // store_extended_info: "store-extended-info" ":" "boolean" -#line 758 "dhcp4_parser.yy" +#line 759 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1504,7 +1504,7 @@ namespace isc { namespace dhcp { break; case 175: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 764 "dhcp4_parser.yy" +#line 765 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1514,7 +1514,7 @@ namespace isc { namespace dhcp { break; case 176: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 770 "dhcp4_parser.yy" +#line 771 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1524,7 +1524,7 @@ namespace isc { namespace dhcp { break; case 177: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 776 "dhcp4_parser.yy" +#line 777 "dhcp4_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1534,7 +1534,7 @@ namespace isc { namespace dhcp { break; case 178: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 782 "dhcp4_parser.yy" +#line 783 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1544,7 +1544,7 @@ namespace isc { namespace dhcp { break; case 179: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 788 "dhcp4_parser.yy" +#line 789 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1554,7 +1554,7 @@ namespace isc { namespace dhcp { break; case 180: // $@27: %empty -#line 794 "dhcp4_parser.yy" +#line 795 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1566,7 +1566,7 @@ namespace isc { namespace dhcp { break; case 181: // interfaces_config: "interfaces-config" $@27 ":" "{" interfaces_config_params "}" -#line 800 "dhcp4_parser.yy" +#line 801 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); @@ -1576,7 +1576,7 @@ namespace isc { namespace dhcp { break; case 184: // interfaces_config_params: interfaces_config_params "," -#line 808 "dhcp4_parser.yy" +#line 809 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1584,7 +1584,7 @@ namespace isc { namespace dhcp { break; case 195: // $@28: %empty -#line 825 "dhcp4_parser.yy" +#line 826 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1594,7 +1594,7 @@ namespace isc { namespace dhcp { break; case 196: // sub_interfaces4: "{" $@28 interfaces_config_params "}" -#line 829 "dhcp4_parser.yy" +#line 830 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed @@ -1603,7 +1603,7 @@ namespace isc { namespace dhcp { break; case 197: // $@29: %empty -#line 834 "dhcp4_parser.yy" +#line 835 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1615,7 +1615,7 @@ namespace isc { namespace dhcp { break; case 198: // interfaces_list: "interfaces" $@29 ":" list_strings -#line 840 "dhcp4_parser.yy" +#line 841 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1624,7 +1624,7 @@ namespace isc { namespace dhcp { break; case 199: // $@30: %empty -#line 845 "dhcp4_parser.yy" +#line 846 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); @@ -1633,7 +1633,7 @@ namespace isc { namespace dhcp { break; case 200: // dhcp_socket_type: "dhcp-socket-type" $@30 ":" socket_type -#line 848 "dhcp4_parser.yy" +#line 849 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1642,19 +1642,19 @@ namespace isc { namespace dhcp { break; case 201: // socket_type: "raw" -#line 853 "dhcp4_parser.yy" +#line 854 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1648 "dhcp4_parser.cc" break; case 202: // socket_type: "udp" -#line 854 "dhcp4_parser.yy" +#line 855 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } #line 1654 "dhcp4_parser.cc" break; case 203: // $@31: %empty -#line 857 "dhcp4_parser.yy" +#line 858 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); @@ -1663,7 +1663,7 @@ namespace isc { namespace dhcp { break; case 204: // outbound_interface: "outbound-interface" $@31 ":" outbound_interface_value -#line 860 "dhcp4_parser.yy" +#line 861 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1672,7 +1672,7 @@ namespace isc { namespace dhcp { break; case 205: // outbound_interface_value: "same-as-inbound" -#line 865 "dhcp4_parser.yy" +#line 866 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } @@ -1680,7 +1680,7 @@ namespace isc { namespace dhcp { break; case 206: // outbound_interface_value: "use-routing" -#line 867 "dhcp4_parser.yy" +#line 868 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } @@ -1688,7 +1688,7 @@ namespace isc { namespace dhcp { break; case 207: // re_detect: "re-detect" ":" "boolean" -#line 871 "dhcp4_parser.yy" +#line 872 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1698,7 +1698,7 @@ namespace isc { namespace dhcp { break; case 208: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 877 "dhcp4_parser.yy" +#line 878 "dhcp4_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1708,7 +1708,7 @@ namespace isc { namespace dhcp { break; case 209: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 883 "dhcp4_parser.yy" +#line 884 "dhcp4_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1718,7 +1718,7 @@ namespace isc { namespace dhcp { break; case 210: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 889 "dhcp4_parser.yy" +#line 890 "dhcp4_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1728,7 +1728,7 @@ namespace isc { namespace dhcp { break; case 211: // $@32: %empty -#line 895 "dhcp4_parser.yy" +#line 896 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1740,7 +1740,7 @@ namespace isc { namespace dhcp { break; case 212: // lease_database: "lease-database" $@32 ":" "{" database_map_params "}" -#line 901 "dhcp4_parser.yy" +#line 902 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1751,7 +1751,7 @@ namespace isc { namespace dhcp { break; case 213: // $@33: %empty -#line 908 "dhcp4_parser.yy" +#line 909 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1763,7 +1763,7 @@ namespace isc { namespace dhcp { break; case 214: // sanity_checks: "sanity-checks" $@33 ":" "{" sanity_checks_params "}" -#line 914 "dhcp4_parser.yy" +#line 915 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1772,7 +1772,7 @@ namespace isc { namespace dhcp { break; case 217: // sanity_checks_params: sanity_checks_params "," -#line 921 "dhcp4_parser.yy" +#line 922 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1780,7 +1780,7 @@ namespace isc { namespace dhcp { break; case 220: // $@34: %empty -#line 930 "dhcp4_parser.yy" +#line 931 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1789,7 +1789,7 @@ namespace isc { namespace dhcp { break; case 221: // lease_checks: "lease-checks" $@34 ":" "constant string" -#line 933 "dhcp4_parser.yy" +#line 934 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1809,7 +1809,7 @@ namespace isc { namespace dhcp { break; case 222: // $@35: %empty -#line 949 "dhcp4_parser.yy" +#line 950 "dhcp4_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1818,7 +1818,7 @@ namespace isc { namespace dhcp { break; case 223: // extended_info_checks: "extended-info-checks" $@35 ":" "constant string" -#line 952 "dhcp4_parser.yy" +#line 953 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1837,7 +1837,7 @@ namespace isc { namespace dhcp { break; case 224: // $@36: %empty -#line 967 "dhcp4_parser.yy" +#line 968 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1849,7 +1849,7 @@ namespace isc { namespace dhcp { break; case 225: // hosts_database: "hosts-database" $@36 ":" "{" database_map_params "}" -#line 973 "dhcp4_parser.yy" +#line 974 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1860,7 +1860,7 @@ namespace isc { namespace dhcp { break; case 226: // $@37: %empty -#line 980 "dhcp4_parser.yy" +#line 981 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1872,7 +1872,7 @@ namespace isc { namespace dhcp { break; case 227: // hosts_databases: "hosts-databases" $@37 ":" "[" database_list "]" -#line 986 "dhcp4_parser.yy" +#line 987 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1881,7 +1881,7 @@ namespace isc { namespace dhcp { break; case 232: // not_empty_database_list: not_empty_database_list "," -#line 997 "dhcp4_parser.yy" +#line 998 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1889,7 +1889,7 @@ namespace isc { namespace dhcp { break; case 233: // $@38: %empty -#line 1002 "dhcp4_parser.yy" +#line 1003 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1899,7 +1899,7 @@ namespace isc { namespace dhcp { break; case 234: // database: "{" $@38 database_map_params "}" -#line 1006 "dhcp4_parser.yy" +#line 1007 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1909,7 +1909,7 @@ namespace isc { namespace dhcp { break; case 237: // database_map_params: database_map_params "," -#line 1014 "dhcp4_parser.yy" +#line 1015 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1917,7 +1917,7 @@ namespace isc { namespace dhcp { break; case 260: // $@39: %empty -#line 1043 "dhcp4_parser.yy" +#line 1044 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); @@ -1926,7 +1926,7 @@ namespace isc { namespace dhcp { break; case 261: // database_type: "type" $@39 ":" db_type -#line 1046 "dhcp4_parser.yy" +#line 1047 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1935,25 +1935,25 @@ namespace isc { namespace dhcp { break; case 262: // db_type: "memfile" -#line 1051 "dhcp4_parser.yy" +#line 1052 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1941 "dhcp4_parser.cc" break; case 263: // db_type: "mysql" -#line 1052 "dhcp4_parser.yy" +#line 1053 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1947 "dhcp4_parser.cc" break; case 264: // db_type: "postgresql" -#line 1053 "dhcp4_parser.yy" +#line 1054 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1953 "dhcp4_parser.cc" break; case 265: // $@40: %empty -#line 1056 "dhcp4_parser.yy" +#line 1057 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1962,7 +1962,7 @@ namespace isc { namespace dhcp { break; case 266: // user: "user" $@40 ":" "constant string" -#line 1059 "dhcp4_parser.yy" +#line 1060 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@ -1972,7 +1972,7 @@ namespace isc { namespace dhcp { break; case 267: // $@41: %empty -#line 1065 "dhcp4_parser.yy" +#line 1066 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1981,7 +1981,7 @@ namespace isc { namespace dhcp { break; case 268: // password: "password" $@41 ":" "constant string" -#line 1068 "dhcp4_parser.yy" +#line 1069 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@ -1991,7 +1991,7 @@ namespace isc { namespace dhcp { break; case 269: // $@42: %empty -#line 1074 "dhcp4_parser.yy" +#line 1075 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2000,7 +2000,7 @@ namespace isc { namespace dhcp { break; case 270: // host: "host" $@42 ":" "constant string" -#line 1077 "dhcp4_parser.yy" +#line 1078 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@ -2010,7 +2010,7 @@ namespace isc { namespace dhcp { break; case 271: // port: "port" ":" "integer" -#line 1083 "dhcp4_parser.yy" +#line 1084 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2020,7 +2020,7 @@ namespace isc { namespace dhcp { break; case 272: // $@43: %empty -#line 1089 "dhcp4_parser.yy" +#line 1090 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2029,7 +2029,7 @@ namespace isc { namespace dhcp { break; case 273: // name: "name" $@43 ":" "constant string" -#line 1092 "dhcp4_parser.yy" +#line 1093 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); @@ -2039,7 +2039,7 @@ namespace isc { namespace dhcp { break; case 274: // persist: "persist" ":" "boolean" -#line 1098 "dhcp4_parser.yy" +#line 1099 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2049,7 +2049,7 @@ namespace isc { namespace dhcp { break; case 275: // lfc_interval: "lfc-interval" ":" "integer" -#line 1104 "dhcp4_parser.yy" +#line 1105 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2059,7 +2059,7 @@ namespace isc { namespace dhcp { break; case 276: // readonly: "readonly" ":" "boolean" -#line 1110 "dhcp4_parser.yy" +#line 1111 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2069,7 +2069,7 @@ namespace isc { namespace dhcp { break; case 277: // connect_timeout: "connect-timeout" ":" "integer" -#line 1116 "dhcp4_parser.yy" +#line 1117 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2079,7 +2079,7 @@ namespace isc { namespace dhcp { break; case 278: // read_timeout: "read-timeout" ":" "integer" -#line 1122 "dhcp4_parser.yy" +#line 1123 "dhcp4_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2089,7 +2089,7 @@ namespace isc { namespace dhcp { break; case 279: // write_timeout: "write-timeout" ":" "integer" -#line 1128 "dhcp4_parser.yy" +#line 1129 "dhcp4_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2099,7 +2099,7 @@ namespace isc { namespace dhcp { break; case 280: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1134 "dhcp4_parser.yy" +#line 1135 "dhcp4_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2109,7 +2109,7 @@ namespace isc { namespace dhcp { break; case 281: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1140 "dhcp4_parser.yy" +#line 1141 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2119,7 +2119,7 @@ namespace isc { namespace dhcp { break; case 282: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1146 "dhcp4_parser.yy" +#line 1147 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2129,7 +2129,7 @@ namespace isc { namespace dhcp { break; case 283: // $@44: %empty -#line 1152 "dhcp4_parser.yy" +#line 1153 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); @@ -2138,7 +2138,7 @@ namespace isc { namespace dhcp { break; case 284: // on_fail: "on-fail" $@44 ":" on_fail_mode -#line 1155 "dhcp4_parser.yy" +#line 1156 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2147,25 +2147,25 @@ namespace isc { namespace dhcp { break; case 285: // on_fail_mode: "stop-retry-exit" -#line 1160 "dhcp4_parser.yy" +#line 1161 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } #line 2153 "dhcp4_parser.cc" break; case 286: // on_fail_mode: "serve-retry-exit" -#line 1161 "dhcp4_parser.yy" +#line 1162 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } #line 2159 "dhcp4_parser.cc" break; case 287: // on_fail_mode: "serve-retry-continue" -#line 1162 "dhcp4_parser.yy" +#line 1163 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } #line 2165 "dhcp4_parser.cc" break; case 288: // max_row_errors: "max-row-errors" ":" "integer" -#line 1165 "dhcp4_parser.yy" +#line 1166 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2175,7 +2175,7 @@ namespace isc { namespace dhcp { break; case 289: // $@45: %empty -#line 1171 "dhcp4_parser.yy" +#line 1172 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2184,7 +2184,7 @@ namespace isc { namespace dhcp { break; case 290: // trust_anchor: "trust-anchor" $@45 ":" "constant string" -#line 1174 "dhcp4_parser.yy" +#line 1175 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); @@ -2194,7 +2194,7 @@ namespace isc { namespace dhcp { break; case 291: // $@46: %empty -#line 1180 "dhcp4_parser.yy" +#line 1181 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2203,7 +2203,7 @@ namespace isc { namespace dhcp { break; case 292: // cert_file: "cert-file" $@46 ":" "constant string" -#line 1183 "dhcp4_parser.yy" +#line 1184 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); @@ -2213,7 +2213,7 @@ namespace isc { namespace dhcp { break; case 293: // $@47: %empty -#line 1189 "dhcp4_parser.yy" +#line 1190 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2222,7 +2222,7 @@ namespace isc { namespace dhcp { break; case 294: // key_file: "key-file" $@47 ":" "constant string" -#line 1192 "dhcp4_parser.yy" +#line 1193 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); @@ -2232,7 +2232,7 @@ namespace isc { namespace dhcp { break; case 295: // $@48: %empty -#line 1198 "dhcp4_parser.yy" +#line 1199 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2241,7 +2241,7 @@ namespace isc { namespace dhcp { break; case 296: // cipher_list: "cipher-list" $@48 ":" "constant string" -#line 1201 "dhcp4_parser.yy" +#line 1202 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); @@ -2251,7 +2251,7 @@ namespace isc { namespace dhcp { break; case 297: // $@49: %empty -#line 1207 "dhcp4_parser.yy" +#line 1208 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2263,7 +2263,7 @@ namespace isc { namespace dhcp { break; case 298: // host_reservation_identifiers: "host-reservation-identifiers" $@49 ":" "[" host_reservation_identifiers_list "]" -#line 1213 "dhcp4_parser.yy" +#line 1214 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2272,7 +2272,7 @@ namespace isc { namespace dhcp { break; case 301: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1220 "dhcp4_parser.yy" +#line 1221 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2280,7 +2280,7 @@ namespace isc { namespace dhcp { break; case 307: // duid_id: "duid" -#line 1232 "dhcp4_parser.yy" +#line 1233 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -2289,7 +2289,7 @@ namespace isc { namespace dhcp { break; case 308: // hw_address_id: "hw-address" -#line 1237 "dhcp4_parser.yy" +#line 1238 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@ -2298,7 +2298,7 @@ namespace isc { namespace dhcp { break; case 309: // circuit_id: "circuit-id" -#line 1242 "dhcp4_parser.yy" +#line 1243 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); @@ -2307,7 +2307,7 @@ namespace isc { namespace dhcp { break; case 310: // client_id: "client-id" -#line 1247 "dhcp4_parser.yy" +#line 1248 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); @@ -2316,7 +2316,7 @@ namespace isc { namespace dhcp { break; case 311: // flex_id: "flex-id" -#line 1252 "dhcp4_parser.yy" +#line 1253 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@ -2325,7 +2325,7 @@ namespace isc { namespace dhcp { break; case 312: // $@50: %empty -#line 1259 "dhcp4_parser.yy" +#line 1260 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2337,7 +2337,7 @@ namespace isc { namespace dhcp { break; case 313: // dhcp_multi_threading: "multi-threading" $@50 ":" "{" multi_threading_params "}" -#line 1265 "dhcp4_parser.yy" +#line 1266 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -2348,7 +2348,7 @@ namespace isc { namespace dhcp { break; case 316: // multi_threading_params: multi_threading_params "," -#line 1274 "dhcp4_parser.yy" +#line 1275 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2356,7 +2356,7 @@ namespace isc { namespace dhcp { break; case 323: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1287 "dhcp4_parser.yy" +#line 1288 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2366,7 +2366,7 @@ namespace isc { namespace dhcp { break; case 324: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1293 "dhcp4_parser.yy" +#line 1294 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2376,7 +2376,7 @@ namespace isc { namespace dhcp { break; case 325: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1299 "dhcp4_parser.yy" +#line 1300 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2386,7 +2386,7 @@ namespace isc { namespace dhcp { break; case 326: // $@51: %empty -#line 1305 "dhcp4_parser.yy" +#line 1306 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2398,7 +2398,7 @@ namespace isc { namespace dhcp { break; case 327: // hooks_libraries: "hooks-libraries" $@51 ":" "[" hooks_libraries_list "]" -#line 1311 "dhcp4_parser.yy" +#line 1312 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2407,7 +2407,7 @@ namespace isc { namespace dhcp { break; case 332: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1322 "dhcp4_parser.yy" +#line 1323 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2415,7 +2415,7 @@ namespace isc { namespace dhcp { break; case 333: // $@52: %empty -#line 1327 "dhcp4_parser.yy" +#line 1328 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2425,7 +2425,7 @@ namespace isc { namespace dhcp { break; case 334: // hooks_library: "{" $@52 hooks_params "}" -#line 1331 "dhcp4_parser.yy" +#line 1332 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2435,7 +2435,7 @@ namespace isc { namespace dhcp { break; case 335: // $@53: %empty -#line 1337 "dhcp4_parser.yy" +#line 1338 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2445,7 +2445,7 @@ namespace isc { namespace dhcp { break; case 336: // sub_hooks_library: "{" $@53 hooks_params "}" -#line 1341 "dhcp4_parser.yy" +#line 1342 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2455,7 +2455,7 @@ namespace isc { namespace dhcp { break; case 339: // hooks_params: hooks_params "," -#line 1349 "dhcp4_parser.yy" +#line 1350 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2463,7 +2463,7 @@ namespace isc { namespace dhcp { break; case 343: // $@54: %empty -#line 1359 "dhcp4_parser.yy" +#line 1360 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2472,7 +2472,7 @@ namespace isc { namespace dhcp { break; case 344: // library: "library" $@54 ":" "constant string" -#line 1362 "dhcp4_parser.yy" +#line 1363 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); @@ -2482,7 +2482,7 @@ namespace isc { namespace dhcp { break; case 345: // $@55: %empty -#line 1368 "dhcp4_parser.yy" +#line 1369 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2491,7 +2491,7 @@ namespace isc { namespace dhcp { break; case 346: // parameters: "parameters" $@55 ":" map_value -#line 1371 "dhcp4_parser.yy" +#line 1372 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2500,7 +2500,7 @@ namespace isc { namespace dhcp { break; case 347: // $@56: %empty -#line 1377 "dhcp4_parser.yy" +#line 1378 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2512,7 +2512,7 @@ namespace isc { namespace dhcp { break; case 348: // expired_leases_processing: "expired-leases-processing" $@56 ":" "{" expired_leases_params "}" -#line 1383 "dhcp4_parser.yy" +#line 1384 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); @@ -2522,7 +2522,7 @@ namespace isc { namespace dhcp { break; case 351: // expired_leases_params: expired_leases_params "," -#line 1391 "dhcp4_parser.yy" +#line 1392 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2530,7 +2530,7 @@ namespace isc { namespace dhcp { break; case 358: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1404 "dhcp4_parser.yy" +#line 1405 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2540,7 +2540,7 @@ namespace isc { namespace dhcp { break; case 359: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1410 "dhcp4_parser.yy" +#line 1411 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2550,7 +2550,7 @@ namespace isc { namespace dhcp { break; case 360: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1416 "dhcp4_parser.yy" +#line 1417 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2560,7 +2560,7 @@ namespace isc { namespace dhcp { break; case 361: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1422 "dhcp4_parser.yy" +#line 1423 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2570,7 +2570,7 @@ namespace isc { namespace dhcp { break; case 362: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1428 "dhcp4_parser.yy" +#line 1429 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2580,7 +2580,7 @@ namespace isc { namespace dhcp { break; case 363: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1434 "dhcp4_parser.yy" +#line 1435 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2590,7 +2590,7 @@ namespace isc { namespace dhcp { break; case 364: // $@57: %empty -#line 1443 "dhcp4_parser.yy" +#line 1444 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2602,7 +2602,7 @@ namespace isc { namespace dhcp { break; case 365: // subnet4_list: "subnet4" $@57 ":" "[" subnet4_list_content "]" -#line 1449 "dhcp4_parser.yy" +#line 1450 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2611,7 +2611,7 @@ namespace isc { namespace dhcp { break; case 370: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1463 "dhcp4_parser.yy" +#line 1464 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2619,7 +2619,7 @@ namespace isc { namespace dhcp { break; case 371: // $@58: %empty -#line 1472 "dhcp4_parser.yy" +#line 1473 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2629,7 +2629,7 @@ namespace isc { namespace dhcp { break; case 372: // subnet4: "{" $@58 subnet4_params "}" -#line 1476 "dhcp4_parser.yy" +#line 1477 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2655,7 +2655,7 @@ namespace isc { namespace dhcp { break; case 373: // $@59: %empty -#line 1498 "dhcp4_parser.yy" +#line 1499 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2665,7 +2665,7 @@ namespace isc { namespace dhcp { break; case 374: // sub_subnet4: "{" $@59 subnet4_params "}" -#line 1502 "dhcp4_parser.yy" +#line 1503 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2675,7 +2675,7 @@ namespace isc { namespace dhcp { break; case 377: // subnet4_params: subnet4_params "," -#line 1511 "dhcp4_parser.yy" +#line 1512 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2683,7 +2683,7 @@ namespace isc { namespace dhcp { break; case 424: // $@60: %empty -#line 1565 "dhcp4_parser.yy" +#line 1566 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2692,7 +2692,7 @@ namespace isc { namespace dhcp { break; case 425: // subnet: "subnet" $@60 ":" "constant string" -#line 1568 "dhcp4_parser.yy" +#line 1569 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@ -2702,7 +2702,7 @@ namespace isc { namespace dhcp { break; case 426: // $@61: %empty -#line 1574 "dhcp4_parser.yy" +#line 1575 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2711,7 +2711,7 @@ namespace isc { namespace dhcp { break; case 427: // subnet_4o6_interface: "4o6-interface" $@61 ":" "constant string" -#line 1577 "dhcp4_parser.yy" +#line 1578 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); @@ -2721,7 +2721,7 @@ namespace isc { namespace dhcp { break; case 428: // $@62: %empty -#line 1583 "dhcp4_parser.yy" +#line 1584 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2730,7 +2730,7 @@ namespace isc { namespace dhcp { break; case 429: // subnet_4o6_interface_id: "4o6-interface-id" $@62 ":" "constant string" -#line 1586 "dhcp4_parser.yy" +#line 1587 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); @@ -2740,7 +2740,7 @@ namespace isc { namespace dhcp { break; case 430: // $@63: %empty -#line 1592 "dhcp4_parser.yy" +#line 1593 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2749,7 +2749,7 @@ namespace isc { namespace dhcp { break; case 431: // subnet_4o6_subnet: "4o6-subnet" $@63 ":" "constant string" -#line 1595 "dhcp4_parser.yy" +#line 1596 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); @@ -2759,7 +2759,7 @@ namespace isc { namespace dhcp { break; case 432: // $@64: %empty -#line 1601 "dhcp4_parser.yy" +#line 1602 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2768,7 +2768,7 @@ namespace isc { namespace dhcp { break; case 433: // interface: "interface" $@64 ":" "constant string" -#line 1604 "dhcp4_parser.yy" +#line 1605 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@ -2778,7 +2778,7 @@ namespace isc { namespace dhcp { break; case 434: // $@65: %empty -#line 1610 "dhcp4_parser.yy" +#line 1611 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2787,7 +2787,7 @@ namespace isc { namespace dhcp { break; case 435: // client_class: "client-class" $@65 ":" "constant string" -#line 1613 "dhcp4_parser.yy" +#line 1614 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@ -2797,7 +2797,7 @@ namespace isc { namespace dhcp { break; case 436: // $@66: %empty -#line 1619 "dhcp4_parser.yy" +#line 1620 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2809,7 +2809,7 @@ namespace isc { namespace dhcp { break; case 437: // require_client_classes: "require-client-classes" $@66 ":" list_strings -#line 1625 "dhcp4_parser.yy" +#line 1626 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2818,7 +2818,7 @@ namespace isc { namespace dhcp { break; case 438: // reservations_global: "reservations-global" ":" "boolean" -#line 1630 "dhcp4_parser.yy" +#line 1631 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2828,7 +2828,7 @@ namespace isc { namespace dhcp { break; case 439: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1636 "dhcp4_parser.yy" +#line 1637 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2838,7 +2838,7 @@ namespace isc { namespace dhcp { break; case 440: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1642 "dhcp4_parser.yy" +#line 1643 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2848,7 +2848,7 @@ namespace isc { namespace dhcp { break; case 441: // $@67: %empty -#line 1648 "dhcp4_parser.yy" +#line 1649 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); @@ -2857,7 +2857,7 @@ namespace isc { namespace dhcp { break; case 442: // reservation_mode: "reservation-mode" $@67 ":" hr_mode -#line 1651 "dhcp4_parser.yy" +#line 1652 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2866,31 +2866,31 @@ namespace isc { namespace dhcp { break; case 443: // hr_mode: "disabled" -#line 1656 "dhcp4_parser.yy" +#line 1657 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } #line 2872 "dhcp4_parser.cc" break; case 444: // hr_mode: "out-of-pool" -#line 1657 "dhcp4_parser.yy" +#line 1658 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } #line 2878 "dhcp4_parser.cc" break; case 445: // hr_mode: "global" -#line 1658 "dhcp4_parser.yy" +#line 1659 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } #line 2884 "dhcp4_parser.cc" break; case 446: // hr_mode: "all" -#line 1659 "dhcp4_parser.yy" +#line 1660 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } #line 2890 "dhcp4_parser.cc" break; case 447: // id: "id" ":" "integer" -#line 1662 "dhcp4_parser.yy" +#line 1663 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2900,7 +2900,7 @@ namespace isc { namespace dhcp { break; case 448: // $@68: %empty -#line 1670 "dhcp4_parser.yy" +#line 1671 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2912,7 +2912,7 @@ namespace isc { namespace dhcp { break; case 449: // shared_networks: "shared-networks" $@68 ":" "[" shared_networks_content "]" -#line 1676 "dhcp4_parser.yy" +#line 1677 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2921,7 +2921,7 @@ namespace isc { namespace dhcp { break; case 454: // shared_networks_list: shared_networks_list "," -#line 1689 "dhcp4_parser.yy" +#line 1690 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2929,7 +2929,7 @@ namespace isc { namespace dhcp { break; case 455: // $@69: %empty -#line 1694 "dhcp4_parser.yy" +#line 1695 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2939,7 +2939,7 @@ namespace isc { namespace dhcp { break; case 456: // shared_network: "{" $@69 shared_network_params "}" -#line 1698 "dhcp4_parser.yy" +#line 1699 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -2947,7 +2947,7 @@ namespace isc { namespace dhcp { break; case 459: // shared_network_params: shared_network_params "," -#line 1704 "dhcp4_parser.yy" +#line 1705 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2955,7 +2955,7 @@ namespace isc { namespace dhcp { break; case 501: // $@70: %empty -#line 1756 "dhcp4_parser.yy" +#line 1757 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2967,7 +2967,7 @@ namespace isc { namespace dhcp { break; case 502: // option_def_list: "option-def" $@70 ":" "[" option_def_list_content "]" -#line 1762 "dhcp4_parser.yy" +#line 1763 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2976,7 +2976,7 @@ namespace isc { namespace dhcp { break; case 503: // $@71: %empty -#line 1770 "dhcp4_parser.yy" +#line 1771 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); @@ -2985,7 +2985,7 @@ namespace isc { namespace dhcp { break; case 504: // sub_option_def_list: "{" $@71 option_def_list "}" -#line 1773 "dhcp4_parser.yy" +#line 1774 "dhcp4_parser.yy" { // parsing completed } @@ -2993,7 +2993,7 @@ namespace isc { namespace dhcp { break; case 509: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1785 "dhcp4_parser.yy" +#line 1786 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3001,7 +3001,7 @@ namespace isc { namespace dhcp { break; case 510: // $@72: %empty -#line 1792 "dhcp4_parser.yy" +#line 1793 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3011,7 +3011,7 @@ namespace isc { namespace dhcp { break; case 511: // option_def_entry: "{" $@72 option_def_params "}" -#line 1796 "dhcp4_parser.yy" +#line 1797 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3023,7 +3023,7 @@ namespace isc { namespace dhcp { break; case 512: // $@73: %empty -#line 1807 "dhcp4_parser.yy" +#line 1808 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3033,7 +3033,7 @@ namespace isc { namespace dhcp { break; case 513: // sub_option_def: "{" $@73 option_def_params "}" -#line 1811 "dhcp4_parser.yy" +#line 1812 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3045,7 +3045,7 @@ namespace isc { namespace dhcp { break; case 518: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1827 "dhcp4_parser.yy" +#line 1828 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3053,7 +3053,7 @@ namespace isc { namespace dhcp { break; case 530: // code: "code" ":" "integer" -#line 1846 "dhcp4_parser.yy" +#line 1847 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -3063,7 +3063,7 @@ namespace isc { namespace dhcp { break; case 532: // $@74: %empty -#line 1854 "dhcp4_parser.yy" +#line 1855 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3072,7 +3072,7 @@ namespace isc { namespace dhcp { break; case 533: // option_def_type: "type" $@74 ":" "constant string" -#line 1857 "dhcp4_parser.yy" +#line 1858 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); @@ -3082,7 +3082,7 @@ namespace isc { namespace dhcp { break; case 534: // $@75: %empty -#line 1863 "dhcp4_parser.yy" +#line 1864 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3091,7 +3091,7 @@ namespace isc { namespace dhcp { break; case 535: // option_def_record_types: "record-types" $@75 ":" "constant string" -#line 1866 "dhcp4_parser.yy" +#line 1867 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); @@ -3101,7 +3101,7 @@ namespace isc { namespace dhcp { break; case 536: // $@76: %empty -#line 1872 "dhcp4_parser.yy" +#line 1873 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3110,7 +3110,7 @@ namespace isc { namespace dhcp { break; case 537: // space: "space" $@76 ":" "constant string" -#line 1875 "dhcp4_parser.yy" +#line 1876 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); @@ -3120,7 +3120,7 @@ namespace isc { namespace dhcp { break; case 539: // $@77: %empty -#line 1883 "dhcp4_parser.yy" +#line 1884 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3129,7 +3129,7 @@ namespace isc { namespace dhcp { break; case 540: // option_def_encapsulate: "encapsulate" $@77 ":" "constant string" -#line 1886 "dhcp4_parser.yy" +#line 1887 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); @@ -3139,7 +3139,7 @@ namespace isc { namespace dhcp { break; case 541: // option_def_array: "array" ":" "boolean" -#line 1892 "dhcp4_parser.yy" +#line 1893 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3149,7 +3149,7 @@ namespace isc { namespace dhcp { break; case 542: // $@78: %empty -#line 1902 "dhcp4_parser.yy" +#line 1903 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3161,7 +3161,7 @@ namespace isc { namespace dhcp { break; case 543: // option_data_list: "option-data" $@78 ":" "[" option_data_list_content "]" -#line 1908 "dhcp4_parser.yy" +#line 1909 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3170,7 +3170,7 @@ namespace isc { namespace dhcp { break; case 548: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1923 "dhcp4_parser.yy" +#line 1924 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3178,7 +3178,7 @@ namespace isc { namespace dhcp { break; case 549: // $@79: %empty -#line 1930 "dhcp4_parser.yy" +#line 1931 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3188,7 +3188,7 @@ namespace isc { namespace dhcp { break; case 550: // option_data_entry: "{" $@79 option_data_params "}" -#line 1934 "dhcp4_parser.yy" +#line 1935 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); @@ -3197,7 +3197,7 @@ namespace isc { namespace dhcp { break; case 551: // $@80: %empty -#line 1942 "dhcp4_parser.yy" +#line 1943 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3207,7 +3207,7 @@ namespace isc { namespace dhcp { break; case 552: // sub_option_data: "{" $@80 option_data_params "}" -#line 1946 "dhcp4_parser.yy" +#line 1947 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed @@ -3216,7 +3216,7 @@ namespace isc { namespace dhcp { break; case 557: // not_empty_option_data_params: not_empty_option_data_params "," -#line 1962 "dhcp4_parser.yy" +#line 1963 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3224,7 +3224,7 @@ namespace isc { namespace dhcp { break; case 569: // $@81: %empty -#line 1983 "dhcp4_parser.yy" +#line 1984 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3233,7 +3233,7 @@ namespace isc { namespace dhcp { break; case 570: // option_data_data: "data" $@81 ":" "constant string" -#line 1986 "dhcp4_parser.yy" +#line 1987 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); @@ -3243,7 +3243,7 @@ namespace isc { namespace dhcp { break; case 573: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1996 "dhcp4_parser.yy" +#line 1997 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3253,7 +3253,7 @@ namespace isc { namespace dhcp { break; case 574: // option_data_always_send: "always-send" ":" "boolean" -#line 2002 "dhcp4_parser.yy" +#line 2003 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3263,7 +3263,7 @@ namespace isc { namespace dhcp { break; case 575: // option_data_never_send: "never-send" ":" "boolean" -#line 2008 "dhcp4_parser.yy" +#line 2009 "dhcp4_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3273,7 +3273,7 @@ namespace isc { namespace dhcp { break; case 576: // $@82: %empty -#line 2017 "dhcp4_parser.yy" +#line 2018 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3285,7 +3285,7 @@ namespace isc { namespace dhcp { break; case 577: // pools_list: "pools" $@82 ":" "[" pools_list_content "]" -#line 2023 "dhcp4_parser.yy" +#line 2024 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3294,7 +3294,7 @@ namespace isc { namespace dhcp { break; case 582: // not_empty_pools_list: not_empty_pools_list "," -#line 2036 "dhcp4_parser.yy" +#line 2037 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3302,7 +3302,7 @@ namespace isc { namespace dhcp { break; case 583: // $@83: %empty -#line 2041 "dhcp4_parser.yy" +#line 2042 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3312,7 +3312,7 @@ namespace isc { namespace dhcp { break; case 584: // pool_list_entry: "{" $@83 pool_params "}" -#line 2045 "dhcp4_parser.yy" +#line 2046 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3322,7 +3322,7 @@ namespace isc { namespace dhcp { break; case 585: // $@84: %empty -#line 2051 "dhcp4_parser.yy" +#line 2052 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3332,7 +3332,7 @@ namespace isc { namespace dhcp { break; case 586: // sub_pool4: "{" $@84 pool_params "}" -#line 2055 "dhcp4_parser.yy" +#line 2056 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3342,7 +3342,7 @@ namespace isc { namespace dhcp { break; case 589: // pool_params: pool_params "," -#line 2063 "dhcp4_parser.yy" +#line 2064 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3350,7 +3350,7 @@ namespace isc { namespace dhcp { break; case 597: // $@85: %empty -#line 2077 "dhcp4_parser.yy" +#line 2078 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3359,7 +3359,7 @@ namespace isc { namespace dhcp { break; case 598: // pool_entry: "pool" $@85 ":" "constant string" -#line 2080 "dhcp4_parser.yy" +#line 2081 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); @@ -3369,7 +3369,7 @@ namespace isc { namespace dhcp { break; case 599: // $@86: %empty -#line 2086 "dhcp4_parser.yy" +#line 2087 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3377,7 +3377,7 @@ namespace isc { namespace dhcp { break; case 600: // user_context: "user-context" $@86 ":" map_value -#line 2088 "dhcp4_parser.yy" +#line 2089 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3404,7 +3404,7 @@ namespace isc { namespace dhcp { break; case 601: // $@87: %empty -#line 2111 "dhcp4_parser.yy" +#line 2112 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3412,7 +3412,7 @@ namespace isc { namespace dhcp { break; case 602: // comment: "comment" $@87 ":" "constant string" -#line 2113 "dhcp4_parser.yy" +#line 2114 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3441,7 +3441,7 @@ namespace isc { namespace dhcp { break; case 603: // $@88: %empty -#line 2141 "dhcp4_parser.yy" +#line 2142 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3453,7 +3453,7 @@ namespace isc { namespace dhcp { break; case 604: // reservations: "reservations" $@88 ":" "[" reservations_list "]" -#line 2147 "dhcp4_parser.yy" +#line 2148 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3462,7 +3462,7 @@ namespace isc { namespace dhcp { break; case 609: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2158 "dhcp4_parser.yy" +#line 2159 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3470,7 +3470,7 @@ namespace isc { namespace dhcp { break; case 610: // $@89: %empty -#line 2163 "dhcp4_parser.yy" +#line 2164 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3480,7 +3480,7 @@ namespace isc { namespace dhcp { break; case 611: // reservation: "{" $@89 reservation_params "}" -#line 2167 "dhcp4_parser.yy" +#line 2168 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); @@ -3489,7 +3489,7 @@ namespace isc { namespace dhcp { break; case 612: // $@90: %empty -#line 2172 "dhcp4_parser.yy" +#line 2173 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3499,7 +3499,7 @@ namespace isc { namespace dhcp { break; case 613: // sub_reservation: "{" $@90 reservation_params "}" -#line 2176 "dhcp4_parser.yy" +#line 2177 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed @@ -3508,7 +3508,7 @@ namespace isc { namespace dhcp { break; case 618: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2187 "dhcp4_parser.yy" +#line 2188 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3516,7 +3516,7 @@ namespace isc { namespace dhcp { break; case 634: // $@91: %empty -#line 2210 "dhcp4_parser.yy" +#line 2211 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3525,7 +3525,7 @@ namespace isc { namespace dhcp { break; case 635: // next_server: "next-server" $@91 ":" "constant string" -#line 2213 "dhcp4_parser.yy" +#line 2214 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); @@ -3535,7 +3535,7 @@ namespace isc { namespace dhcp { break; case 636: // $@92: %empty -#line 2219 "dhcp4_parser.yy" +#line 2220 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3544,7 +3544,7 @@ namespace isc { namespace dhcp { break; case 637: // server_hostname: "server-hostname" $@92 ":" "constant string" -#line 2222 "dhcp4_parser.yy" +#line 2223 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); @@ -3554,7 +3554,7 @@ namespace isc { namespace dhcp { break; case 638: // $@93: %empty -#line 2228 "dhcp4_parser.yy" +#line 2229 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3563,7 +3563,7 @@ namespace isc { namespace dhcp { break; case 639: // boot_file_name: "boot-file-name" $@93 ":" "constant string" -#line 2231 "dhcp4_parser.yy" +#line 2232 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); @@ -3573,7 +3573,7 @@ namespace isc { namespace dhcp { break; case 640: // $@94: %empty -#line 2237 "dhcp4_parser.yy" +#line 2238 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3582,7 +3582,7 @@ namespace isc { namespace dhcp { break; case 641: // ip_address: "ip-address" $@94 ":" "constant string" -#line 2240 "dhcp4_parser.yy" +#line 2241 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); @@ -3592,7 +3592,7 @@ namespace isc { namespace dhcp { break; case 642: // $@95: %empty -#line 2246 "dhcp4_parser.yy" +#line 2247 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3604,7 +3604,7 @@ namespace isc { namespace dhcp { break; case 643: // ip_addresses: "ip-addresses" $@95 ":" list_strings -#line 2252 "dhcp4_parser.yy" +#line 2253 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3613,7 +3613,7 @@ namespace isc { namespace dhcp { break; case 644: // $@96: %empty -#line 2257 "dhcp4_parser.yy" +#line 2258 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3622,7 +3622,7 @@ namespace isc { namespace dhcp { break; case 645: // duid: "duid" $@96 ":" "constant string" -#line 2260 "dhcp4_parser.yy" +#line 2261 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); @@ -3632,7 +3632,7 @@ namespace isc { namespace dhcp { break; case 646: // $@97: %empty -#line 2266 "dhcp4_parser.yy" +#line 2267 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3641,7 +3641,7 @@ namespace isc { namespace dhcp { break; case 647: // hw_address: "hw-address" $@97 ":" "constant string" -#line 2269 "dhcp4_parser.yy" +#line 2270 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); @@ -3651,7 +3651,7 @@ namespace isc { namespace dhcp { break; case 648: // $@98: %empty -#line 2275 "dhcp4_parser.yy" +#line 2276 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3660,7 +3660,7 @@ namespace isc { namespace dhcp { break; case 649: // client_id_value: "client-id" $@98 ":" "constant string" -#line 2278 "dhcp4_parser.yy" +#line 2279 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); @@ -3670,7 +3670,7 @@ namespace isc { namespace dhcp { break; case 650: // $@99: %empty -#line 2284 "dhcp4_parser.yy" +#line 2285 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3679,7 +3679,7 @@ namespace isc { namespace dhcp { break; case 651: // circuit_id_value: "circuit-id" $@99 ":" "constant string" -#line 2287 "dhcp4_parser.yy" +#line 2288 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); @@ -3689,7 +3689,7 @@ namespace isc { namespace dhcp { break; case 652: // $@100: %empty -#line 2293 "dhcp4_parser.yy" +#line 2294 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3698,7 +3698,7 @@ namespace isc { namespace dhcp { break; case 653: // flex_id_value: "flex-id" $@100 ":" "constant string" -#line 2296 "dhcp4_parser.yy" +#line 2297 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); @@ -3708,7 +3708,7 @@ namespace isc { namespace dhcp { break; case 654: // $@101: %empty -#line 2302 "dhcp4_parser.yy" +#line 2303 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3717,7 +3717,7 @@ namespace isc { namespace dhcp { break; case 655: // hostname: "hostname" $@101 ":" "constant string" -#line 2305 "dhcp4_parser.yy" +#line 2306 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); @@ -3727,7 +3727,7 @@ namespace isc { namespace dhcp { break; case 656: // $@102: %empty -#line 2311 "dhcp4_parser.yy" +#line 2312 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3739,7 +3739,7 @@ namespace isc { namespace dhcp { break; case 657: // reservation_client_classes: "client-classes" $@102 ":" list_strings -#line 2317 "dhcp4_parser.yy" +#line 2318 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3748,7 +3748,7 @@ namespace isc { namespace dhcp { break; case 658: // $@103: %empty -#line 2325 "dhcp4_parser.yy" +#line 2326 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3760,7 +3760,7 @@ namespace isc { namespace dhcp { break; case 659: // relay: "relay" $@103 ":" "{" relay_map "}" -#line 2331 "dhcp4_parser.yy" +#line 2332 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3769,7 +3769,7 @@ namespace isc { namespace dhcp { break; case 662: // $@104: %empty -#line 2343 "dhcp4_parser.yy" +#line 2344 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3781,7 +3781,7 @@ namespace isc { namespace dhcp { break; case 663: // client_classes: "client-classes" $@104 ":" "[" client_classes_list "]" -#line 2349 "dhcp4_parser.yy" +#line 2350 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3790,7 +3790,7 @@ namespace isc { namespace dhcp { break; case 666: // client_classes_list: client_classes_list "," -#line 2356 "dhcp4_parser.yy" +#line 2357 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3798,7 +3798,7 @@ namespace isc { namespace dhcp { break; case 667: // $@105: %empty -#line 2361 "dhcp4_parser.yy" +#line 2362 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3808,7 +3808,7 @@ namespace isc { namespace dhcp { break; case 668: // client_class_entry: "{" $@105 client_class_params "}" -#line 2365 "dhcp4_parser.yy" +#line 2366 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3818,7 +3818,7 @@ namespace isc { namespace dhcp { break; case 673: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2377 "dhcp4_parser.yy" +#line 2378 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3826,7 +3826,7 @@ namespace isc { namespace dhcp { break; case 690: // $@106: %empty -#line 2401 "dhcp4_parser.yy" +#line 2402 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3835,7 +3835,7 @@ namespace isc { namespace dhcp { break; case 691: // client_class_test: "test" $@106 ":" "constant string" -#line 2404 "dhcp4_parser.yy" +#line 2405 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); @@ -3845,7 +3845,7 @@ namespace isc { namespace dhcp { break; case 692: // $@107: %empty -#line 2410 "dhcp4_parser.yy" +#line 2411 "dhcp4_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3854,7 +3854,7 @@ namespace isc { namespace dhcp { break; case 693: // client_class_template_test: "template-test" $@107 ":" "constant string" -#line 2413 "dhcp4_parser.yy" +#line 2414 "dhcp4_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); @@ -3864,7 +3864,7 @@ namespace isc { namespace dhcp { break; case 694: // only_if_required: "only-if-required" ":" "boolean" -#line 2419 "dhcp4_parser.yy" +#line 2420 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3874,7 +3874,7 @@ namespace isc { namespace dhcp { break; case 695: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2427 "dhcp4_parser.yy" +#line 2428 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -3884,7 +3884,7 @@ namespace isc { namespace dhcp { break; case 696: // $@108: %empty -#line 2435 "dhcp4_parser.yy" +#line 2436 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3896,7 +3896,7 @@ namespace isc { namespace dhcp { break; case 697: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" -#line 2441 "dhcp4_parser.yy" +#line 2442 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3905,7 +3905,7 @@ namespace isc { namespace dhcp { break; case 700: // control_socket_params: control_socket_params "," -#line 2448 "dhcp4_parser.yy" +#line 2449 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3913,7 +3913,7 @@ namespace isc { namespace dhcp { break; case 706: // $@109: %empty -#line 2460 "dhcp4_parser.yy" +#line 2461 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3922,7 +3922,7 @@ namespace isc { namespace dhcp { break; case 707: // control_socket_type: "socket-type" $@109 ":" "constant string" -#line 2463 "dhcp4_parser.yy" +#line 2464 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); @@ -3932,7 +3932,7 @@ namespace isc { namespace dhcp { break; case 708: // $@110: %empty -#line 2469 "dhcp4_parser.yy" +#line 2470 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3941,7 +3941,7 @@ namespace isc { namespace dhcp { break; case 709: // control_socket_name: "socket-name" $@110 ":" "constant string" -#line 2472 "dhcp4_parser.yy" +#line 2473 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); @@ -3951,7 +3951,7 @@ namespace isc { namespace dhcp { break; case 710: // $@111: %empty -#line 2481 "dhcp4_parser.yy" +#line 2482 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3963,7 +3963,7 @@ namespace isc { namespace dhcp { break; case 711: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" -#line 2487 "dhcp4_parser.yy" +#line 2488 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -3974,7 +3974,7 @@ namespace isc { namespace dhcp { break; case 714: // queue_control_params: queue_control_params "," -#line 2496 "dhcp4_parser.yy" +#line 2497 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3982,7 +3982,7 @@ namespace isc { namespace dhcp { break; case 721: // enable_queue: "enable-queue" ":" "boolean" -#line 2509 "dhcp4_parser.yy" +#line 2510 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3992,7 +3992,7 @@ namespace isc { namespace dhcp { break; case 722: // $@112: %empty -#line 2515 "dhcp4_parser.yy" +#line 2516 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4001,7 +4001,7 @@ namespace isc { namespace dhcp { break; case 723: // queue_type: "queue-type" $@112 ":" "constant string" -#line 2518 "dhcp4_parser.yy" +#line 2519 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); @@ -4011,7 +4011,7 @@ namespace isc { namespace dhcp { break; case 724: // capacity: "capacity" ":" "integer" -#line 2524 "dhcp4_parser.yy" +#line 2525 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4021,7 +4021,7 @@ namespace isc { namespace dhcp { break; case 725: // $@113: %empty -#line 2530 "dhcp4_parser.yy" +#line 2531 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4030,7 +4030,7 @@ namespace isc { namespace dhcp { break; case 726: // arbitrary_map_entry: "constant string" $@113 ":" value -#line 2533 "dhcp4_parser.yy" +#line 2534 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4039,7 +4039,7 @@ namespace isc { namespace dhcp { break; case 727: // $@114: %empty -#line 2540 "dhcp4_parser.yy" +#line 2541 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4051,7 +4051,7 @@ namespace isc { namespace dhcp { break; case 728: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" -#line 2546 "dhcp4_parser.yy" +#line 2547 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -4062,7 +4062,7 @@ namespace isc { namespace dhcp { break; case 729: // $@115: %empty -#line 2553 "dhcp4_parser.yy" +#line 2554 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4072,7 +4072,7 @@ namespace isc { namespace dhcp { break; case 730: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" -#line 2557 "dhcp4_parser.yy" +#line 2558 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -4082,7 +4082,7 @@ namespace isc { namespace dhcp { break; case 733: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2565 "dhcp4_parser.yy" +#line 2566 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4090,7 +4090,7 @@ namespace isc { namespace dhcp { break; case 752: // enable_updates: "enable-updates" ":" "boolean" -#line 2590 "dhcp4_parser.yy" +#line 2591 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4100,7 +4100,7 @@ namespace isc { namespace dhcp { break; case 753: // $@116: %empty -#line 2596 "dhcp4_parser.yy" +#line 2597 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4109,7 +4109,7 @@ namespace isc { namespace dhcp { break; case 754: // server_ip: "server-ip" $@116 ":" "constant string" -#line 2599 "dhcp4_parser.yy" +#line 2600 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); @@ -4119,7 +4119,7 @@ namespace isc { namespace dhcp { break; case 755: // server_port: "server-port" ":" "integer" -#line 2605 "dhcp4_parser.yy" +#line 2606 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4129,7 +4129,7 @@ namespace isc { namespace dhcp { break; case 756: // $@117: %empty -#line 2611 "dhcp4_parser.yy" +#line 2612 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4138,7 +4138,7 @@ namespace isc { namespace dhcp { break; case 757: // sender_ip: "sender-ip" $@117 ":" "constant string" -#line 2614 "dhcp4_parser.yy" +#line 2615 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); @@ -4148,7 +4148,7 @@ namespace isc { namespace dhcp { break; case 758: // sender_port: "sender-port" ":" "integer" -#line 2620 "dhcp4_parser.yy" +#line 2621 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4158,7 +4158,7 @@ namespace isc { namespace dhcp { break; case 759: // max_queue_size: "max-queue-size" ":" "integer" -#line 2626 "dhcp4_parser.yy" +#line 2627 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4168,7 +4168,7 @@ namespace isc { namespace dhcp { break; case 760: // $@118: %empty -#line 2632 "dhcp4_parser.yy" +#line 2633 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); @@ -4177,7 +4177,7 @@ namespace isc { namespace dhcp { break; case 761: // ncr_protocol: "ncr-protocol" $@118 ":" ncr_protocol_value -#line 2635 "dhcp4_parser.yy" +#line 2636 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4186,19 +4186,19 @@ namespace isc { namespace dhcp { break; case 762: // ncr_protocol_value: "udp" -#line 2641 "dhcp4_parser.yy" +#line 2642 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } #line 4192 "dhcp4_parser.cc" break; case 763: // ncr_protocol_value: "tcp" -#line 2642 "dhcp4_parser.yy" +#line 2643 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } #line 4198 "dhcp4_parser.cc" break; case 764: // $@119: %empty -#line 2645 "dhcp4_parser.yy" +#line 2646 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); @@ -4207,7 +4207,7 @@ namespace isc { namespace dhcp { break; case 765: // ncr_format: "ncr-format" $@119 ":" "JSON" -#line 2648 "dhcp4_parser.yy" +#line 2649 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); @@ -4217,7 +4217,7 @@ namespace isc { namespace dhcp { break; case 766: // $@120: %empty -#line 2655 "dhcp4_parser.yy" +#line 2656 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4226,7 +4226,7 @@ namespace isc { namespace dhcp { break; case 767: // dep_qualifying_suffix: "qualifying-suffix" $@120 ":" "constant string" -#line 2658 "dhcp4_parser.yy" +#line 2659 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); @@ -4236,7 +4236,7 @@ namespace isc { namespace dhcp { break; case 768: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2665 "dhcp4_parser.yy" +#line 2666 "dhcp4_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4246,7 +4246,7 @@ namespace isc { namespace dhcp { break; case 769: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2672 "dhcp4_parser.yy" +#line 2673 "dhcp4_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4256,7 +4256,7 @@ namespace isc { namespace dhcp { break; case 770: // $@121: %empty -#line 2679 "dhcp4_parser.yy" +#line 2680 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); @@ -4265,7 +4265,7 @@ namespace isc { namespace dhcp { break; case 771: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value -#line 2682 "dhcp4_parser.yy" +#line 2683 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4274,7 +4274,7 @@ namespace isc { namespace dhcp { break; case 772: // $@122: %empty -#line 2688 "dhcp4_parser.yy" +#line 2689 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4283,7 +4283,7 @@ namespace isc { namespace dhcp { break; case 773: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" -#line 2691 "dhcp4_parser.yy" +#line 2692 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); @@ -4293,7 +4293,7 @@ namespace isc { namespace dhcp { break; case 774: // $@123: %empty -#line 2698 "dhcp4_parser.yy" +#line 2699 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4302,7 +4302,7 @@ namespace isc { namespace dhcp { break; case 775: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" -#line 2701 "dhcp4_parser.yy" +#line 2702 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -4312,7 +4312,7 @@ namespace isc { namespace dhcp { break; case 776: // $@124: %empty -#line 2708 "dhcp4_parser.yy" +#line 2709 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4321,7 +4321,7 @@ namespace isc { namespace dhcp { break; case 777: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" -#line 2711 "dhcp4_parser.yy" +#line 2712 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -4331,7 +4331,7 @@ namespace isc { namespace dhcp { break; case 778: // $@125: %empty -#line 2720 "dhcp4_parser.yy" +#line 2721 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4343,7 +4343,7 @@ namespace isc { namespace dhcp { break; case 779: // config_control: "config-control" $@125 ":" "{" config_control_params "}" -#line 2726 "dhcp4_parser.yy" +#line 2727 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); @@ -4353,7 +4353,7 @@ namespace isc { namespace dhcp { break; case 780: // $@126: %empty -#line 2732 "dhcp4_parser.yy" +#line 2733 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4363,7 +4363,7 @@ namespace isc { namespace dhcp { break; case 781: // sub_config_control: "{" $@126 config_control_params "}" -#line 2736 "dhcp4_parser.yy" +#line 2737 "dhcp4_parser.yy" { // No config_control params are required // parsing completed @@ -4372,7 +4372,7 @@ namespace isc { namespace dhcp { break; case 784: // config_control_params: config_control_params "," -#line 2744 "dhcp4_parser.yy" +#line 2745 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4380,7 +4380,7 @@ namespace isc { namespace dhcp { break; case 787: // $@127: %empty -#line 2754 "dhcp4_parser.yy" +#line 2755 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4392,7 +4392,7 @@ namespace isc { namespace dhcp { break; case 788: // config_databases: "config-databases" $@127 ":" "[" database_list "]" -#line 2760 "dhcp4_parser.yy" +#line 2761 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4401,7 +4401,7 @@ namespace isc { namespace dhcp { break; case 789: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2765 "dhcp4_parser.yy" +#line 2766 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4411,7 +4411,7 @@ namespace isc { namespace dhcp { break; case 790: // $@128: %empty -#line 2773 "dhcp4_parser.yy" +#line 2774 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4423,7 +4423,7 @@ namespace isc { namespace dhcp { break; case 791: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" -#line 2779 "dhcp4_parser.yy" +#line 2780 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4432,7 +4432,7 @@ namespace isc { namespace dhcp { break; case 794: // loggers_entries: loggers_entries "," -#line 2788 "dhcp4_parser.yy" +#line 2789 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4440,7 +4440,7 @@ namespace isc { namespace dhcp { break; case 795: // $@129: %empty -#line 2794 "dhcp4_parser.yy" +#line 2795 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); @@ -4450,7 +4450,7 @@ namespace isc { namespace dhcp { break; case 796: // logger_entry: "{" $@129 logger_params "}" -#line 2798 "dhcp4_parser.yy" +#line 2799 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -4458,7 +4458,7 @@ namespace isc { namespace dhcp { break; case 799: // logger_params: logger_params "," -#line 2804 "dhcp4_parser.yy" +#line 2805 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4466,7 +4466,7 @@ namespace isc { namespace dhcp { break; case 807: // debuglevel: "debuglevel" ":" "integer" -#line 2818 "dhcp4_parser.yy" +#line 2819 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4476,7 +4476,7 @@ namespace isc { namespace dhcp { break; case 808: // $@130: %empty -#line 2824 "dhcp4_parser.yy" +#line 2825 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4485,7 +4485,7 @@ namespace isc { namespace dhcp { break; case 809: // severity: "severity" $@130 ":" "constant string" -#line 2827 "dhcp4_parser.yy" +#line 2828 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); @@ -4495,7 +4495,7 @@ namespace isc { namespace dhcp { break; case 810: // $@131: %empty -#line 2833 "dhcp4_parser.yy" +#line 2834 "dhcp4_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4507,7 +4507,7 @@ namespace isc { namespace dhcp { break; case 811: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" -#line 2839 "dhcp4_parser.yy" +#line 2840 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4516,7 +4516,7 @@ namespace isc { namespace dhcp { break; case 814: // output_options_list_content: output_options_list_content "," -#line 2846 "dhcp4_parser.yy" +#line 2847 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4524,7 +4524,7 @@ namespace isc { namespace dhcp { break; case 815: // $@132: %empty -#line 2851 "dhcp4_parser.yy" +#line 2852 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -4534,7 +4534,7 @@ namespace isc { namespace dhcp { break; case 816: // output_entry: "{" $@132 output_params_list "}" -#line 2855 "dhcp4_parser.yy" +#line 2856 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -4542,7 +4542,7 @@ namespace isc { namespace dhcp { break; case 819: // output_params_list: output_params_list "," -#line 2861 "dhcp4_parser.yy" +#line 2862 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4550,7 +4550,7 @@ namespace isc { namespace dhcp { break; case 825: // $@133: %empty -#line 2873 "dhcp4_parser.yy" +#line 2874 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4559,7 +4559,7 @@ namespace isc { namespace dhcp { break; case 826: // output: "output" $@133 ":" "constant string" -#line 2876 "dhcp4_parser.yy" +#line 2877 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); @@ -4569,7 +4569,7 @@ namespace isc { namespace dhcp { break; case 827: // flush: "flush" ":" "boolean" -#line 2882 "dhcp4_parser.yy" +#line 2883 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4579,7 +4579,7 @@ namespace isc { namespace dhcp { break; case 828: // maxsize: "maxsize" ":" "integer" -#line 2888 "dhcp4_parser.yy" +#line 2889 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4589,7 +4589,7 @@ namespace isc { namespace dhcp { break; case 829: // maxver: "maxver" ":" "integer" -#line 2894 "dhcp4_parser.yy" +#line 2895 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4599,7 +4599,7 @@ namespace isc { namespace dhcp { break; case 830: // $@134: %empty -#line 2900 "dhcp4_parser.yy" +#line 2901 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4608,7 +4608,7 @@ namespace isc { namespace dhcp { break; case 831: // pattern: "pattern" $@134 ":" "constant string" -#line 2903 "dhcp4_parser.yy" +#line 2904 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); @@ -4618,7 +4618,7 @@ namespace isc { namespace dhcp { break; case 832: // $@135: %empty -#line 2909 "dhcp4_parser.yy" +#line 2910 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4630,7 +4630,7 @@ namespace isc { namespace dhcp { break; case 833: // compatibility: "compatibility" $@135 ":" "{" compatibility_params "}" -#line 2915 "dhcp4_parser.yy" +#line 2916 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4639,15 +4639,15 @@ namespace isc { namespace dhcp { break; case 836: // compatibility_params: compatibility_params "," -#line 2922 "dhcp4_parser.yy" +#line 2923 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 4647 "dhcp4_parser.cc" break; - case 840: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 2932 "dhcp4_parser.yy" + case 841: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 2934 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4656,8 +4656,8 @@ namespace isc { namespace dhcp { #line 4657 "dhcp4_parser.cc" break; - case 841: // ignore-rai-link-selection: "ignore-rai-link-selection" ":" "boolean" -#line 2938 "dhcp4_parser.yy" + case 842: // ignore-rai-link-selection: "ignore-rai-link-selection" ":" "boolean" +#line 2940 "dhcp4_parser.yy" { ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4666,8 +4666,18 @@ namespace isc { namespace dhcp { #line 4667 "dhcp4_parser.cc" break; + case 843: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" +#line 2946 "dhcp4_parser.yy" + { + ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location)); + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("exclude-first-last-24", b); +} +#line 4677 "dhcp4_parser.cc" + break; -#line 4671 "dhcp4_parser.cc" + +#line 4681 "dhcp4_parser.cc" default: break; @@ -5019,143 +5029,143 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -993; + const short Dhcp4Parser::yypact_ninf_ = -992; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 409, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, 22, 39, 23, 29, 34, 46, - 59, 62, 84, 88, 124, 144, 197, 209, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, 39, -172, 101, 189, 36, 642, - 224, 272, -41, 85, 319, -68, 424, 44, -993, 109, - 150, 223, 229, 276, -993, 71, -993, -993, -993, -993, - 241, 281, 299, -993, -993, -993, -993, -993, -993, 308, - 321, 335, 342, 358, 364, 380, 384, 385, 386, 387, - -993, 388, 389, 391, 392, 393, -993, -993, -993, 394, - 396, 403, -993, -993, -993, 405, -993, -993, -993, -993, - -993, 406, 407, 415, -993, -993, -993, -993, -993, 416, - -993, -993, -993, -993, -993, -993, 418, 421, 422, -993, - -993, 425, -993, 77, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, 427, 428, 429, 431, -993, 102, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, 432, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, 105, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, 117, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 315, 434, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, 430, -993, -993, 436, -993, -993, -993, 437, - -993, -993, 435, 439, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, 440, 442, 443, - -993, -993, -993, -993, 441, 445, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, 118, - -993, -993, -993, 446, -993, -993, 448, -993, 449, 451, - -993, -993, 452, 453, -993, -993, -993, -993, -993, -993, - -993, 125, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, 454, - 140, -993, -993, -993, -993, 39, 39, -993, 249, 456, - -993, -993, 460, 463, 464, 257, 258, 259, 470, 473, - 479, 480, 485, 486, 282, 284, 287, 288, 291, 292, - 295, 296, 297, 300, 302, 500, 303, 305, 304, 306, - 307, 514, 517, 526, 324, 327, 331, 527, 530, 535, - 336, 542, 545, 546, 548, 550, 343, 344, 354, 555, - 556, 560, 565, 566, 361, 570, 571, 573, 578, 594, - 595, 390, 408, 410, 596, 597, -993, 189, -993, 598, - 615, 616, 411, 412, 417, 419, 36, -993, 618, 622, - 623, 625, 627, 628, 426, 629, 631, 632, 642, -993, - 634, 224, -993, 635, 636, 637, 639, 641, 643, 644, - 646, -993, 272, -993, 647, 648, 444, 649, 650, 652, - 433, -993, 85, 653, 447, 450, 455, -993, 319, 654, - 655, 108, -993, 457, 657, 658, 458, 660, 466, 467, - 661, 663, 468, 471, 667, 679, 681, 683, 424, -993, - 684, 478, 44, -993, -993, -993, 686, 685, 687, 688, - 689, -993, -993, -993, 481, 483, 487, 691, 692, 695, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, 506, -993, -993, -993, -993, -993, -95, 507, 508, - -993, -993, -993, 714, 724, 728, -993, 525, 731, 730, - 528, 75, -993, -993, -993, 734, 739, 740, 742, 749, - -993, 750, 751, 752, 756, 539, 554, -993, -993, -993, - 761, 760, -993, 763, 159, 279, -993, -993, -993, -993, - -993, 561, 562, 563, 769, 568, 569, -993, 763, 572, - 768, -993, 574, -993, 763, 575, 576, 577, 579, 580, - 581, 582, -993, 583, 584, -993, 585, 586, 587, -993, - -993, 588, -993, -993, -993, -993, 589, 730, -993, -993, - 590, 591, -993, 592, -993, -993, 14, 601, -993, -993, - -95, 593, 599, 600, -993, 775, -993, -993, 39, 189, - 44, 36, 348, -993, -993, -993, 112, 112, 774, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 776, 781, - 797, -993, 798, -993, -993, -993, -993, -993, -993, -993, - -993, 157, 799, 800, 801, 64, -11, -8, 74, 424, - -993, -993, 804, -103, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, 805, -993, -993, -993, -993, - 242, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, 774, - -993, 176, 274, 275, -993, -993, 293, -993, -993, -993, - -993, -993, -993, -993, 809, 810, 811, 812, 813, 814, - 815, 816, 817, 820, -993, 821, -993, -993, -993, -993, - -993, 310, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, 312, -993, 822, 823, -993, -993, - 824, 826, -993, -993, 825, 829, -993, -993, 827, 831, - -993, -993, 830, 832, -993, -993, -993, -993, -993, -993, - 146, -993, -993, -993, -993, -993, -993, -993, 195, -993, - -993, 833, 834, -993, -993, 835, 837, -993, 838, 839, - 840, 841, 842, 843, 316, -993, -993, -993, -993, -993, - -993, -993, 844, 845, 846, -993, 318, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 326, -993, - -993, -993, 847, -993, 849, -993, -993, -993, 332, -993, - -993, -993, -993, -993, 333, -993, 211, -993, 850, 851, - -993, 345, -993, -993, -993, 617, -993, 852, 853, -993, - -993, -993, -993, 854, 855, -993, -993, -993, 856, 859, - 348, -993, 860, 861, 862, 863, 659, 656, 662, 664, - 665, 668, 669, 670, 671, 672, 864, 673, 867, 868, - 870, 871, 112, -993, -993, 112, -993, 774, 642, -993, - 776, 85, -993, 781, 319, -993, 797, 1263, -993, 798, - 157, -993, 104, 799, -993, 272, -993, 800, -68, -993, - 801, 674, 675, 676, 677, 678, 680, 64, -993, 682, - 690, 693, -11, -993, 874, 886, -8, -993, 694, 888, - 697, 889, 74, -993, -993, 235, 804, -993, 696, 698, - -103, -993, -993, 890, 891, 224, -993, 805, 893, -993, - -993, 700, 702, -993, 346, 703, 704, 705, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 31, -993, - 706, 707, 708, 709, -993, 347, -993, 349, -993, 892, - -993, 894, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, 351, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - 895, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, 897, 900, -993, -993, -993, -993, -993, - -993, 898, -993, 353, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, 710, 711, -993, -993, - 712, -993, 39, -993, -993, 919, -993, -993, -993, -993, - -993, 355, -993, -993, -993, -993, -993, -993, -993, -993, - -993, 715, 357, -993, 763, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, 1263, -993, 920, 922, - 716, -993, 104, -993, -993, -993, -993, -993, -993, 923, - 717, 926, 235, -993, -993, -993, -993, -993, 722, 723, - -993, -993, 930, -993, 726, -993, -993, -993, 932, -993, - -993, 233, -993, 51, 932, -993, -993, 943, 950, 954, - -993, 374, -993, -993, -993, -993, -993, -993, -993, 957, - 766, 783, 785, 970, 51, -993, 789, -993, -993, -993, - 807, -993, -993, -993 + 219, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, 36, 42, 43, 64, 130, 133, + 136, 143, 156, 162, 178, 204, 245, 255, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, 42, -177, 35, 122, 149, 257, + 191, 490, -43, 172, 300, -108, 648, 102, -992, 56, + 61, 54, 77, 72, -992, 34, -992, -992, -992, -992, + 92, 100, 265, -992, -992, -992, -992, -992, -992, 291, + 313, 315, 330, 340, 346, 354, 358, 367, 374, 387, + -992, 399, 400, 406, 407, 409, -992, -992, -992, 429, + 430, 437, -992, -992, -992, 438, -992, -992, -992, -992, + -992, 439, 440, 441, -992, -992, -992, -992, -992, 442, + -992, -992, -992, -992, -992, -992, 446, 448, 449, -992, + -992, 451, -992, 71, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, 454, 455, 456, 458, -992, 74, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, 459, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, 78, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, 80, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, 139, 290, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, 382, -992, -992, 462, -992, -992, -992, 463, + -992, -992, 428, 379, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, 466, 467, 469, + -992, -992, -992, -992, 470, 471, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, 89, + -992, -992, -992, 473, -992, -992, 476, -992, 478, 481, + -992, -992, 482, 485, -992, -992, -992, -992, -992, -992, + -992, 91, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, 488, + 97, -992, -992, -992, -992, 42, 42, -992, -138, 492, + -992, -992, 494, 496, 500, 295, 299, 301, 501, 503, + 512, 516, 522, 523, 318, 319, 320, 321, 325, 327, + 322, 329, 331, 333, 336, 539, 337, 341, 338, 342, + 343, 556, 557, 559, 350, 357, 364, 564, 575, 581, + 377, 582, 586, 588, 589, 591, 388, 389, 390, 592, + 596, 597, 601, 602, 395, 604, 605, 606, 607, 609, + 610, 401, 402, 403, 614, 621, -992, 122, -992, 623, + 624, 625, 416, 417, 420, 421, 149, -992, 630, 631, + 632, 633, 634, 635, 431, 636, 637, 641, 257, -992, + 643, 191, -992, 644, 645, 646, 647, 649, 650, 652, + 653, -992, 490, -992, 654, 655, 434, 656, 657, 659, + 450, -992, 172, 661, 452, 453, 457, -992, 300, 664, + 665, 27, -992, 464, 666, 673, 472, 679, 475, 477, + 681, 684, 479, 480, 686, 687, 688, 691, 648, -992, + 692, 491, 102, -992, -992, -992, 698, 697, 723, 724, + 725, -992, -992, -992, 525, 526, 527, 726, 732, 700, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, 529, -992, -992, -992, -992, -992, -124, 530, 531, + -992, -992, -992, 739, 740, 742, -992, 532, 743, 745, + 538, 67, -992, -992, -992, 749, 753, 754, 758, 757, + -992, 759, 760, 761, 763, 560, 561, -992, -992, -992, + 768, 767, -992, 770, 231, 311, -992, -992, -992, -992, + -992, 567, 568, 583, 790, 585, 593, -992, 770, 594, + 795, -992, 595, -992, 770, 613, 615, 616, 619, 622, + 626, 627, -992, 628, 629, -992, 638, 639, 640, -992, + -992, 651, -992, -992, -992, -992, 658, 745, -992, -992, + 660, 662, -992, 663, -992, -992, 38, 667, -992, -992, + -124, 668, 669, 670, -992, 798, -992, -992, 42, 122, + 102, 149, 218, -992, -992, -992, 738, 738, 800, -992, + -992, -992, -992, -992, -992, -992, -992, -992, 801, 818, + 825, -992, 827, -992, -992, -992, -992, -992, -992, -992, + -992, 86, 828, 829, 834, 166, 10, 68, 21, 648, + -992, -992, 836, -127, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, 837, -992, -992, -992, -992, + 140, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, 800, + -992, 104, 138, 141, -992, -992, 167, -992, -992, -992, + -992, -992, -992, -992, 841, 842, 843, 844, 848, 850, + 851, 852, 853, 854, -992, 856, -992, -992, -992, -992, + -992, 216, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, 225, -992, 855, 860, -992, -992, + 858, 862, -992, -992, 861, 863, -992, -992, 864, 865, + -992, -992, 866, 872, -992, -992, -992, -992, -992, -992, + 57, -992, -992, -992, -992, -992, -992, -992, 105, -992, + -992, 870, 874, -992, -992, 876, 875, -992, 879, 880, + 881, 882, 883, 884, 226, -992, -992, -992, -992, -992, + -992, -992, 885, 886, 887, -992, 256, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, 258, -992, + -992, -992, 888, -992, 889, -992, -992, -992, 289, -992, + -992, -992, -992, -992, 293, -992, 119, -992, 890, 891, + 892, -992, 312, -992, -992, -992, -992, 689, -992, 893, + 894, -992, -992, -992, -992, 895, 896, -992, -992, -992, + 897, 900, 218, -992, 901, 902, 903, 904, 699, 695, + 701, 696, 702, 703, 704, 705, 706, 707, 908, 708, + 917, 918, 919, 920, 738, -992, -992, 738, -992, 800, + 257, -992, 801, 172, -992, 818, 300, -992, 825, 642, + -992, 827, 86, -992, 323, 828, -992, 490, -992, 829, + -108, -992, 834, 713, 714, 715, 716, 717, 718, 166, + -992, 720, 719, 728, 10, -992, 928, 931, 68, -992, + 727, 933, 744, 934, 21, -992, -992, 386, 836, -992, + 748, 764, 769, -127, -992, -992, 953, 960, 191, -992, + 837, 968, -992, -992, 766, 771, -992, 197, 783, 789, + 804, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, 228, -992, 808, 812, 815, 819, -992, 356, -992, + 371, -992, 966, -992, 973, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + 378, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, 1041, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, 1069, 1077, -992, -992, + -992, -992, -992, -992, 1073, -992, 397, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, 873, + 877, -992, -992, 878, -992, 42, -992, -992, 1082, -992, + -992, -992, -992, -992, 398, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, 898, 404, -992, 770, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + 642, -992, 1083, 1086, 899, -992, 323, -992, -992, -992, + -992, -992, -992, 1087, 905, 1088, 386, -992, -992, -992, + -992, -992, 907, 909, -992, -992, 1089, -992, 910, -992, + -992, -992, 1090, -992, -992, 120, -992, 161, 1090, -992, + -992, 1091, 1092, 1094, -992, 432, -992, -992, -992, -992, + -992, -992, -992, 1095, 911, 912, 914, 1096, 161, -992, + 916, -992, -992, -992, 922, -992, -992, -992 }; const short @@ -5256,90 +5266,90 @@ namespace isc { namespace dhcp { 319, 320, 321, 706, 708, 705, 703, 704, 0, 698, 701, 702, 0, 722, 0, 725, 718, 719, 0, 712, 715, 716, 717, 720, 0, 795, 0, 792, 0, 0, - 839, 0, 834, 837, 838, 53, 583, 0, 579, 580, - 642, 660, 661, 0, 0, 62, 779, 181, 0, 0, - 217, 214, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 840, 0, 834, 837, 838, 839, 53, 583, 0, + 579, 580, 642, 660, 661, 0, 0, 62, 779, 181, + 0, 0, 217, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 237, 212, 225, 0, 227, 232, 0, 365, - 370, 514, 502, 509, 553, 543, 548, 0, 449, 454, - 301, 298, 669, 666, 663, 614, 604, 609, 0, 327, - 332, 0, 0, 0, 0, 0, 0, 351, 348, 0, - 0, 0, 316, 313, 0, 0, 700, 697, 0, 0, - 0, 0, 714, 711, 728, 0, 794, 791, 0, 0, - 836, 833, 55, 0, 54, 0, 577, 582, 0, 659, - 788, 0, 0, 216, 0, 0, 0, 0, 271, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 0, 288, - 0, 0, 0, 0, 236, 0, 231, 0, 369, 0, - 508, 0, 547, 500, 478, 479, 480, 463, 464, 483, - 484, 485, 486, 487, 499, 466, 467, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 460, 461, - 462, 476, 477, 473, 474, 475, 472, 0, 457, 465, - 481, 482, 468, 469, 470, 471, 453, 300, 690, 692, - 0, 685, 686, 687, 688, 689, 678, 679, 683, 684, - 680, 681, 682, 0, 670, 671, 674, 675, 676, 677, - 665, 0, 608, 0, 331, 358, 359, 360, 361, 362, - 363, 350, 323, 324, 325, 315, 0, 0, 699, 721, - 0, 724, 0, 713, 810, 0, 808, 806, 800, 804, - 805, 0, 797, 802, 803, 801, 793, 840, 841, 835, - 52, 57, 0, 581, 0, 221, 223, 262, 263, 264, - 261, 266, 268, 270, 285, 286, 287, 284, 290, 292, - 294, 296, 234, 372, 511, 550, 459, 456, 0, 0, - 0, 668, 673, 611, 334, 707, 709, 723, 726, 0, - 0, 0, 799, 796, 56, 584, 643, 458, 0, 0, - 694, 672, 0, 807, 0, 798, 691, 693, 0, 809, - 815, 0, 812, 0, 814, 811, 825, 0, 0, 0, - 830, 0, 817, 820, 821, 822, 823, 824, 813, 0, - 0, 0, 0, 0, 819, 816, 0, 827, 828, 829, - 0, 818, 826, 831 + 0, 0, 0, 0, 237, 212, 225, 0, 227, 232, + 0, 365, 370, 514, 502, 509, 553, 543, 548, 0, + 449, 454, 301, 298, 669, 666, 663, 614, 604, 609, + 0, 327, 332, 0, 0, 0, 0, 0, 0, 351, + 348, 0, 0, 0, 316, 313, 0, 0, 700, 697, + 0, 0, 0, 0, 714, 711, 728, 0, 794, 791, + 0, 0, 0, 836, 833, 55, 0, 54, 0, 577, + 582, 0, 659, 788, 0, 0, 216, 0, 0, 0, + 0, 271, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 0, 288, 0, 0, 0, 0, 236, 0, 231, + 0, 369, 0, 508, 0, 547, 500, 478, 479, 480, + 463, 464, 483, 484, 485, 486, 487, 499, 466, 467, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 460, 461, 462, 476, 477, 473, 474, 475, 472, + 0, 457, 465, 481, 482, 468, 469, 470, 471, 453, + 300, 690, 692, 0, 685, 686, 687, 688, 689, 678, + 679, 683, 684, 680, 681, 682, 0, 670, 671, 674, + 675, 676, 677, 665, 0, 608, 0, 331, 358, 359, + 360, 361, 362, 363, 350, 323, 324, 325, 315, 0, + 0, 699, 721, 0, 724, 0, 713, 810, 0, 808, + 806, 800, 804, 805, 0, 797, 802, 803, 801, 793, + 841, 842, 843, 835, 52, 57, 0, 581, 0, 221, + 223, 262, 263, 264, 261, 266, 268, 270, 285, 286, + 287, 284, 290, 292, 294, 296, 234, 372, 511, 550, + 459, 456, 0, 0, 0, 668, 673, 611, 334, 707, + 709, 723, 726, 0, 0, 0, 799, 796, 56, 584, + 643, 458, 0, 0, 694, 672, 0, 807, 0, 798, + 691, 693, 0, 809, 815, 0, 812, 0, 814, 811, + 825, 0, 0, 0, 830, 0, 817, 820, 821, 822, + 823, 824, 813, 0, 0, 0, 0, 0, 819, 816, + 0, 827, 828, 829, 0, 818, 826, 831 }; const short Dhcp4Parser::yypgoto_[] = { - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -59, -993, -584, -993, 151, - -993, -993, -993, -993, -993, -993, -624, -993, -993, -993, - -67, -993, -993, -993, -993, -993, -993, -993, 148, 362, - -55, 7, 17, -32, -30, -27, 4, 9, 25, 27, - -993, -993, -993, -993, 30, -993, -993, 33, 35, 37, - 40, 43, 45, -993, 198, 47, -993, 48, -993, 50, - 53, 55, -993, 58, -993, 60, -993, -993, -993, -993, - -993, -993, -993, 309, 502, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, 52, -993, -993, -993, -993, -993, - -993, -993, -993, 267, -993, 72, -993, -705, 79, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -63, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, 67, -993, -993, -993, -993, - -993, -993, -993, -993, 42, -993, -993, -993, -993, -993, - -993, -993, 56, -993, -993, -993, 68, 529, -993, -993, - -993, -993, -993, -993, -993, 54, -993, -993, -993, -993, - -993, -993, -992, -993, -993, -993, 78, -993, -993, -993, - 81, 564, -993, -993, -993, -993, -993, -993, -993, -993, - -991, -993, -43, -993, 20, -993, 61, 63, 65, 66, - -993, -993, -993, -993, -993, -993, -993, 76, -993, -993, - -143, -39, -993, -993, -993, -993, -993, 86, -993, -993, - -993, 83, -993, 549, -993, -54, -993, -993, -993, -993, - -993, -20, -993, -993, -993, -993, -993, -52, -993, -993, - -993, 82, -993, -993, -993, 89, -993, 544, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - 38, -993, -993, -993, 32, 603, -993, -993, -45, -993, - -6, -993, -56, -993, -993, -993, 73, -993, -993, -993, - 87, -993, 567, -26, -993, -22, -993, 6, -993, 328, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -986, -993, -993, - -993, -993, -993, 90, -993, -993, -993, -138, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 69, -993, - -993, -993, -993, -993, -993, -993, 70, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, 352, 532, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - -993, -993, -993, -993, -993, -993, -993, -993, 397, 524, - -993, -993, -993, -993, -993, -993, 80, -993, -993, -145, - -993, -993, -993, -993, -993, -993, -160, -993, -993, -178, - -993, -993, -993, -993, -993, -993, -993, -993, -993, -993, - 91, -993, -993 + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -53, -992, -586, -992, -35, + -992, -992, -992, -992, -992, -992, -641, -992, -992, -992, + -67, -992, -992, -992, -992, -992, -992, -992, 189, 608, + -8, 11, 29, -54, -34, -12, -10, 3, 33, 37, + -992, -992, -992, -992, 40, -992, -992, 41, 44, 47, + 48, 51, 52, -992, 393, 55, -992, 58, -992, 59, + 62, 63, -992, 65, -992, 66, -992, -992, -992, -992, + -992, -992, -992, 391, 598, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, 129, -992, -992, -992, -992, -992, + -992, -992, -992, 304, -992, 107, -992, -703, 113, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -45, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, 96, -992, -992, -992, -992, + -992, -992, -992, -992, 81, -992, -992, -992, -992, -992, + -992, -992, 88, -992, -992, -992, 94, 565, -992, -992, + -992, -992, -992, -992, -992, 82, -992, -992, -992, -992, + -992, -992, -991, -992, -992, -992, 110, -992, -992, -992, + 123, 611, -992, -992, -992, -992, -992, -992, -992, -992, + -983, -992, -65, -992, 25, -992, 69, 70, 73, 76, + -992, -992, -992, -992, -992, -992, -992, 108, -992, -992, + -102, -62, -992, -992, -992, -992, -992, 117, -992, -992, + -992, 127, -992, 599, -992, -61, -992, -992, -992, -992, + -992, -58, -992, -992, -992, -992, -992, -4, -992, -992, + -992, 126, -992, -992, -992, 125, -992, 587, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + 79, -992, -992, -992, 84, 617, -992, -992, -49, -992, + -30, -992, -57, -992, -992, -992, 118, -992, -992, -992, + 128, -992, 612, 7, -992, 18, -992, 22, -992, 366, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -979, -992, -992, + -992, -992, -992, 131, -992, -992, -992, -96, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, 109, -992, + -992, -992, -992, -992, -992, -992, 99, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, 405, 580, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + -992, -992, -992, -992, -992, -992, -992, -992, 443, 577, + -992, -992, -992, -992, -992, -992, 103, -992, -992, -94, + -992, -992, -992, -992, -992, -992, -118, -992, -992, -133, + -992, -992, -992, -992, -992, -992, -992, -992, -992, -992, + 106, -992, -992, -992 }; const short @@ -5347,7 +5357,7 @@ namespace isc { namespace dhcp { { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 36, 37, 38, 65, 734, - 82, 83, 39, 64, 79, 80, 755, 955, 1053, 1054, + 82, 83, 39, 64, 79, 80, 755, 957, 1056, 1057, 830, 41, 66, 85, 429, 86, 43, 67, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 455, 167, 168, 471, 169, 170, 171, 172, @@ -5355,571 +5365,537 @@ namespace isc { namespace dhcp { 179, 180, 489, 181, 490, 182, 183, 184, 185, 186, 187, 188, 433, 227, 228, 45, 68, 229, 499, 230, 500, 758, 231, 501, 761, 232, 233, 234, 235, 189, - 441, 190, 434, 806, 807, 808, 968, 809, 969, 191, - 442, 192, 443, 856, 857, 858, 995, 831, 832, 833, - 972, 1210, 834, 973, 835, 974, 836, 975, 837, 838, + 441, 190, 434, 806, 807, 808, 970, 809, 971, 191, + 442, 192, 443, 856, 857, 858, 997, 831, 832, 833, + 974, 1214, 834, 975, 835, 976, 836, 977, 837, 838, 535, 839, 840, 841, 842, 843, 844, 845, 846, 847, - 848, 986, 1217, 849, 850, 988, 851, 989, 852, 990, - 853, 991, 193, 479, 880, 881, 882, 883, 884, 885, + 848, 988, 1221, 849, 850, 990, 851, 991, 852, 992, + 853, 993, 193, 479, 880, 881, 882, 883, 884, 885, 886, 194, 485, 916, 917, 918, 919, 920, 195, 482, - 895, 896, 897, 1018, 59, 75, 379, 380, 381, 549, + 895, 896, 897, 1020, 59, 75, 379, 380, 381, 549, 382, 550, 196, 483, 904, 905, 906, 907, 908, 909, - 910, 911, 197, 467, 860, 861, 862, 998, 47, 69, + 910, 911, 197, 467, 860, 861, 862, 1000, 47, 69, 273, 274, 275, 512, 276, 508, 277, 509, 278, 510, 279, 513, 280, 516, 281, 515, 198, 199, 200, 201, - 475, 740, 286, 202, 472, 872, 873, 874, 1007, 1127, - 1128, 203, 468, 53, 72, 864, 865, 866, 1001, 55, + 475, 740, 286, 202, 472, 872, 873, 874, 1009, 1130, + 1131, 203, 468, 53, 72, 864, 865, 866, 1003, 55, 73, 342, 343, 344, 345, 346, 347, 348, 534, 349, 538, 350, 537, 351, 352, 539, 353, 204, 469, 868, - 869, 870, 1004, 57, 74, 364, 365, 366, 367, 368, - 543, 369, 370, 371, 372, 373, 288, 511, 957, 958, - 959, 1055, 49, 70, 301, 302, 303, 520, 205, 473, - 206, 474, 207, 481, 891, 892, 893, 1015, 51, 71, + 869, 870, 1006, 57, 74, 364, 365, 366, 367, 368, + 543, 369, 370, 371, 372, 373, 288, 511, 959, 960, + 961, 1058, 49, 70, 301, 302, 303, 520, 205, 473, + 206, 474, 207, 481, 891, 892, 893, 1017, 51, 71, 318, 319, 320, 208, 438, 209, 439, 210, 440, 324, - 530, 962, 1058, 325, 524, 326, 525, 327, 527, 328, - 526, 329, 529, 330, 528, 331, 523, 295, 517, 963, - 211, 480, 888, 889, 1012, 1153, 1154, 1155, 1156, 1157, - 1228, 1158, 1229, 1159, 212, 213, 486, 928, 929, 930, - 1034, 931, 1035, 214, 487, 938, 939, 940, 941, 1039, - 942, 943, 1041, 215, 488, 61, 76, 401, 402, 403, + 530, 964, 1061, 325, 524, 326, 525, 327, 527, 328, + 526, 329, 529, 330, 528, 331, 523, 295, 517, 965, + 211, 480, 888, 889, 1014, 1156, 1157, 1158, 1159, 1160, + 1232, 1161, 1233, 1162, 212, 213, 486, 928, 929, 930, + 1036, 931, 1037, 214, 487, 938, 939, 940, 941, 1041, + 942, 943, 1043, 215, 488, 61, 76, 401, 402, 403, 404, 555, 405, 406, 557, 407, 408, 409, 560, 793, 410, 561, 411, 554, 412, 413, 414, 564, 415, 565, 416, 566, 417, 567, 216, 432, 63, 77, 420, 421, - 422, 570, 423, 217, 494, 946, 947, 1045, 1191, 1192, - 1193, 1194, 1241, 1195, 1239, 1261, 1262, 1263, 1271, 1272, - 1273, 1279, 1274, 1275, 1276, 1277, 1283, 218, 495, 951, - 952, 953, 954 + 422, 570, 423, 217, 494, 946, 947, 1047, 1194, 1195, + 1196, 1197, 1245, 1198, 1243, 1265, 1266, 1267, 1275, 1276, + 1277, 1283, 1278, 1279, 1280, 1281, 1287, 218, 495, 952, + 953, 954, 955, 956 }; const short Dhcp4Parser::yytable_[] = { - 152, 226, 248, 297, 314, 78, 340, 360, 378, 398, - 341, 361, 854, 291, 249, 1119, 1120, 287, 300, 315, - 362, 1135, 28, 236, 289, 304, 316, 298, 354, 374, - 40, 399, 791, 332, 768, 733, 42, 252, 81, 253, - 772, 44, 254, 292, 29, 321, 30, 293, 31, 322, - 123, 219, 220, 46, 363, 221, 418, 419, 222, 223, - 224, 225, 237, 290, 305, 317, 48, 355, 375, 50, - 400, 376, 377, 255, 430, 294, 250, 323, 256, 431, - 497, 720, 721, 722, 723, 498, 251, 1214, 1215, 1216, - 299, 52, 948, 949, 257, 54, 258, 128, 129, 259, - 128, 129, 260, 733, 261, 506, 262, 151, 518, 263, - 507, 84, 264, 519, 265, 424, 266, 267, 724, 268, - 521, 551, 269, 333, 270, 522, 552, 271, 568, 272, - 282, 56, 283, 569, 284, 285, 93, 94, 95, 912, - 913, 914, 151, 572, 128, 129, 923, 924, 573, 1010, - 810, 58, 1011, 425, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 823, 824, 99, 100, - 101, 825, 826, 827, 828, 829, 756, 757, 334, 497, - 335, 336, 128, 129, 965, 337, 338, 339, 792, 736, - 737, 738, 739, 128, 129, 123, 124, 334, 1013, 151, - 87, 1014, 151, 88, 60, 334, 898, 899, 900, 901, - 902, 903, 128, 129, 1046, 89, 62, 1047, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 426, 1138, 1139, - 1140, 932, 933, 934, 1119, 1120, 1264, 427, 1266, 1265, - 1135, 1267, 1268, 1269, 1270, 435, 151, 376, 377, 32, - 33, 34, 35, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 572, 506, 428, - 123, 124, 966, 967, 935, 436, 875, 876, 877, 878, - 1085, 879, 125, 126, 127, 151, 970, 128, 129, 759, - 760, 971, 130, 437, 93, 94, 95, 131, 132, 133, - 134, 135, 444, 992, 151, 992, 124, 136, 993, 1027, - 994, 1032, 151, 531, 1028, 445, 1033, 137, 334, 1036, - 138, 296, 128, 129, 1037, 1042, 568, 139, 140, 446, - 1043, 1044, 141, 128, 129, 142, 447, 245, 1050, 143, - 992, 246, 518, 1051, 1226, 1222, 551, 1223, 1242, 1227, - 521, 1234, 448, 1243, 124, 1245, 574, 575, 449, 144, - 145, 146, 147, 148, 149, 804, 805, 1284, 313, 960, - 128, 129, 1285, 150, 450, 1207, 1208, 1209, 451, 452, - 453, 454, 456, 457, 306, 458, 459, 460, 464, 151, - 465, 307, 308, 309, 310, 311, 312, 466, 313, 470, - 476, 477, 334, 356, 335, 336, 357, 358, 359, 478, - 484, 1184, 491, 1185, 1186, 492, 493, 128, 129, 496, - 152, 502, 503, 504, 151, 505, 514, 532, 533, 226, - 536, 540, 542, 541, 544, 151, 545, 546, 548, 547, - 553, 248, 556, 558, 297, 559, 562, 563, 571, 576, - 577, 236, 291, 249, 578, 314, 287, 579, 580, 300, - 581, 582, 583, 289, 584, 340, 304, 585, 298, 341, - 315, 360, 151, 586, 587, 361, 252, 316, 253, 588, - 589, 254, 292, 590, 362, 591, 293, 354, 592, 593, - 237, 398, 594, 374, 601, 595, 321, 596, 597, 598, - 322, 599, 290, 600, 602, 305, 603, 604, 607, 605, - 606, 608, 255, 399, 294, 250, 317, 256, 363, 151, - 609, 613, 128, 129, 614, 251, 355, 610, 323, 615, - 611, 299, 375, 257, 612, 258, 617, 616, 259, 618, - 619, 260, 620, 261, 621, 262, 622, 623, 263, 625, - 626, 264, 400, 265, 627, 266, 267, 624, 268, 628, - 629, 269, 630, 270, 631, 632, 271, 633, 272, 282, - 1246, 283, 634, 284, 285, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 635, 636, - 640, 641, 643, 637, 396, 397, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 644, - 645, 638, 651, 639, 646, 647, 652, 653, 648, 654, - 649, 655, 656, 658, 151, 659, 660, 657, 662, 664, - 665, 666, 152, 667, 226, 668, 679, 669, 670, 800, - 671, 673, 674, 676, 677, 675, 678, 681, 686, 687, - 682, 690, 691, 683, 693, 696, 236, 697, 684, 692, - 689, 700, 91, 92, 93, 94, 95, 694, 695, 915, - 925, 698, 398, 701, 699, 702, 950, 703, 705, 706, - 708, 713, 709, 714, 710, 711, 712, 715, 716, 717, - 718, 921, 926, 936, 399, 237, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 719, 726, 727, 728, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 729, - 238, 239, 240, 730, 124, 731, 732, 30, 735, 741, - 922, 927, 937, 400, 742, 743, 126, 744, 241, 750, - 128, 129, 242, 243, 244, 130, 745, 746, 747, 748, - 131, 132, 133, 749, 751, 245, 752, 753, 754, 246, - 136, 762, 763, 764, 765, 770, 794, 247, 766, 767, - 799, 855, 769, 859, 771, 773, 774, 775, 863, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 788, 789, 790, 796, 867, 871, 887, 890, 894, 797, - 798, 945, 956, 976, 977, 978, 979, 980, 981, 982, - 983, 984, 144, 145, 985, 987, 997, 1052, 996, 1000, - 999, 1002, 1003, 1005, 1006, 1009, 1008, 1017, 787, 1016, - 1020, 1019, 1021, 1022, 1023, 1024, 1025, 1026, 1029, 1030, - 1031, 1038, 151, 1040, 1048, 1049, 1057, 801, 1056, 642, - 1061, 1060, 1059, 1062, 1064, 1065, 1066, 1067, 1078, 1069, - 1068, 1080, 1081, 1070, 1082, 1083, 1072, 1071, 1176, 1073, - 1074, 1075, 1076, 1077, 1079, 1165, 1166, 1167, 1168, 1169, - 1177, 1170, 1180, 1182, 1201, 1172, 1200, 1204, 795, 1230, - 1224, 1173, 1225, 1232, 1174, 1231, 1233, 1179, 1181, 1197, - 1205, 1198, 1206, 1211, 1212, 1213, 1218, 1219, 1220, 1221, - 1235, 1236, 1237, 1240, 1248, 1244, 1249, 1252, 1253, 1250, - 1254, 248, 1256, 1257, 340, 1258, 1259, 360, 341, 1260, - 1093, 361, 291, 249, 1118, 1141, 287, 1280, 314, 1145, - 362, 378, 1094, 289, 1281, 1129, 354, 1142, 1282, 374, - 1147, 1286, 1130, 315, 1121, 915, 252, 1148, 253, 925, - 316, 254, 292, 1146, 1290, 1097, 293, 1098, 1187, 1287, - 1099, 1132, 1188, 950, 363, 1133, 1150, 921, 297, 321, - 1151, 926, 290, 322, 1288, 355, 1289, 936, 375, 1292, - 1189, 1131, 255, 300, 294, 250, 1149, 256, 650, 317, - 304, 1100, 298, 1134, 1095, 251, 1101, 1293, 1152, 1143, - 803, 323, 1063, 257, 1096, 258, 922, 1122, 259, 1144, - 927, 260, 1102, 261, 1103, 262, 937, 1104, 263, 1190, - 1105, 264, 1106, 265, 1107, 266, 267, 1108, 268, 305, - 1109, 269, 1110, 270, 1111, 1112, 271, 1113, 272, 282, - 1114, 283, 1115, 284, 285, 1116, 964, 1117, 1123, 1086, - 1124, 1084, 1125, 1126, 1175, 299, 1164, 1137, 1088, 1087, - 688, 1171, 661, 1247, 1089, 1136, 1163, 1202, 1092, 1090, - 1162, 680, 685, 1091, 1251, 1203, 707, 1255, 961, 672, - 704, 944, 1161, 1160, 1278, 1178, 1291, 802, 0, 0, - 0, 0, 1183, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1238, 663, 0, 1196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1093, - 0, 0, 0, 1118, 0, 1141, 0, 0, 0, 1145, - 0, 1094, 0, 0, 1129, 1187, 0, 1142, 0, 1188, - 1147, 1130, 0, 1121, 0, 0, 0, 1148, 0, 0, - 0, 0, 0, 1146, 1097, 0, 1098, 1189, 0, 1099, - 1132, 0, 0, 0, 1133, 0, 1150, 0, 0, 0, - 1151, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1131, 0, 0, 0, 0, 0, 1149, 0, 0, 0, - 1100, 0, 1134, 1095, 0, 1101, 1190, 0, 1152, 1143, - 0, 0, 0, 1096, 0, 0, 1122, 0, 0, 1144, - 0, 1102, 0, 1103, 0, 0, 1104, 0, 0, 1105, - 0, 1106, 0, 1107, 0, 0, 1108, 0, 0, 1109, - 0, 1110, 0, 1111, 1112, 0, 1113, 0, 0, 1114, - 0, 1115, 0, 0, 1116, 0, 1117, 1123, 0, 1124, - 0, 1125, 1126, 91, 92, 93, 94, 95, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 0, 0, 0, 0, 124, 334, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 128, 129, 0, 243, 0, 130, 0, 0, 0, - 0, 131, 132, 133, 0, 0, 245, 0, 0, 0, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 151 + 152, 226, 248, 297, 314, 298, 340, 360, 378, 398, + 332, 78, 291, 362, 854, 252, 363, 768, 1122, 236, + 289, 304, 316, 772, 354, 374, 1123, 399, 341, 361, + 1138, 376, 377, 733, 81, 253, 28, 430, 237, 290, + 305, 317, 431, 355, 375, 84, 400, 29, 123, 30, + 40, 31, 720, 721, 722, 723, 791, 254, 426, 255, + 1012, 249, 424, 1013, 425, 287, 300, 315, 948, 949, + 950, 42, 256, 576, 497, 428, 292, 506, 321, 498, + 250, 518, 507, 521, 151, 427, 519, 293, 522, 322, + 724, 294, 551, 323, 568, 299, 435, 552, 251, 569, + 572, 733, 257, 151, 436, 573, 258, 497, 1015, 259, + 260, 1016, 967, 261, 418, 419, 262, 263, 128, 129, + 264, 265, 1048, 1268, 266, 1049, 1269, 267, 268, 128, + 129, 269, 270, 87, 271, 272, 88, 44, 282, 283, + 46, 572, 284, 48, 506, 285, 968, 531, 89, 969, + 50, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 912, 913, 914, 52, 219, 220, 376, 377, 221, 54, + 972, 222, 223, 224, 225, 973, 128, 129, 932, 933, + 934, 736, 737, 738, 739, 56, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 333, 58, 792, 123, 124, 875, 876, 877, 878, 994, + 879, 151, 923, 924, 995, 125, 126, 127, 994, 1029, + 128, 129, 935, 996, 1030, 130, 1211, 1212, 1213, 1122, + 131, 132, 133, 134, 135, 804, 805, 1123, 756, 757, + 136, 1138, 60, 32, 33, 34, 35, 128, 129, 1034, + 137, 1038, 62, 138, 1035, 334, 1039, 335, 336, 437, + 139, 140, 337, 338, 339, 141, 313, 962, 142, 151, + 128, 129, 143, 124, 1218, 1219, 1220, 91, 92, 93, + 94, 95, 1044, 532, 1088, 444, 568, 1045, 296, 128, + 129, 1046, 144, 145, 146, 147, 148, 149, 898, 899, + 900, 901, 902, 903, 245, 1053, 150, 445, 246, 446, + 1054, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 759, 760, 151, 447, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 448, 238, 239, 240, 1270, 124, + 449, 1271, 1272, 1273, 1274, 93, 94, 95, 450, 994, + 151, 126, 451, 241, 1226, 128, 129, 242, 243, 244, + 130, 452, 574, 575, 518, 131, 132, 133, 453, 1227, + 245, 1230, 542, 151, 246, 136, 1231, 99, 100, 101, + 533, 454, 247, 334, 356, 335, 336, 357, 358, 359, + 551, 1246, 151, 456, 457, 1238, 1247, 521, 128, 129, + 458, 459, 1249, 460, 123, 124, 334, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 152, 128, 129, 464, 465, 1288, 541, 144, 145, 226, + 1289, 466, 470, 476, 477, 478, 484, 1141, 1142, 1143, + 491, 248, 492, 493, 297, 496, 298, 236, 502, 503, + 504, 291, 505, 514, 252, 314, 536, 540, 151, 289, + 544, 545, 304, 546, 548, 340, 237, 553, 547, 334, + 556, 360, 558, 316, 253, 559, 562, 362, 290, 563, + 363, 305, 571, 354, 128, 129, 577, 341, 578, 374, + 579, 398, 317, 361, 580, 584, 254, 585, 255, 581, + 249, 151, 355, 582, 287, 583, 586, 300, 375, 399, + 587, 256, 93, 94, 95, 292, 588, 589, 315, 250, + 590, 591, 592, 593, 151, 596, 293, 594, 400, 321, + 294, 595, 597, 601, 598, 599, 299, 251, 600, 602, + 322, 257, 604, 603, 323, 258, 605, 606, 259, 260, + 607, 608, 261, 609, 610, 262, 263, 1250, 613, 264, + 265, 611, 1187, 266, 1188, 1189, 267, 268, 612, 614, + 269, 270, 124, 271, 272, 615, 617, 282, 283, 616, + 618, 284, 619, 620, 285, 621, 625, 151, 128, 129, + 626, 627, 622, 623, 624, 628, 629, 630, 631, 632, + 633, 634, 306, 635, 636, 637, 638, 639, 640, 307, + 308, 309, 310, 311, 312, 641, 313, 643, 644, 645, + 646, 647, 648, 649, 651, 652, 653, 654, 655, 656, + 658, 659, 152, 657, 226, 660, 675, 662, 664, 665, + 666, 667, 787, 668, 669, 800, 670, 671, 673, 674, + 676, 677, 236, 678, 679, 681, 682, 683, 686, 687, + 690, 684, 91, 92, 93, 94, 95, 691, 689, 915, + 925, 237, 398, 693, 692, 696, 951, 694, 697, 695, + 700, 701, 702, 698, 699, 703, 705, 921, 926, 936, + 399, 151, 708, 706, 709, 718, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 922, 927, 937, 400, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 710, 711, 712, 716, 124, 334, 713, 714, 715, 717, + 719, 726, 727, 731, 728, 729, 126, 730, 732, 735, + 128, 129, 30, 243, 741, 130, 128, 129, 742, 743, + 131, 132, 133, 744, 745, 245, 746, 747, 748, 246, + 749, 750, 751, 752, 753, 754, 810, 247, 762, 763, + 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, + 821, 822, 823, 824, 764, 765, 766, 825, 826, 827, + 828, 829, 770, 799, 767, 769, 771, 855, 859, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 144, 145, 773, 863, 774, 775, 396, 397, + 776, 334, 867, 777, 871, 887, 890, 778, 779, 780, + 781, 894, 794, 945, 958, 978, 979, 980, 981, 782, + 783, 784, 982, 151, 983, 984, 985, 986, 987, 151, + 989, 998, 785, 999, 1001, 1002, 1005, 1004, 1008, 786, + 1007, 788, 1010, 789, 790, 1011, 1018, 1019, 1022, 796, + 797, 798, 1021, 1023, 1024, 1025, 1026, 1027, 1028, 1031, + 1032, 1033, 1040, 1042, 1050, 1051, 1052, 1060, 801, 1059, + 1055, 1064, 1063, 1062, 1065, 1067, 1068, 1069, 1070, 1072, + 1074, 1071, 1081, 1073, 1075, 1076, 1077, 1078, 1079, 1080, + 1082, 1083, 1084, 1085, 1086, 1168, 1169, 1170, 1171, 1172, + 1173, 1176, 1179, 248, 1175, 1180, 340, 1183, 1185, 360, + 1177, 1182, 1096, 291, 1124, 362, 252, 1144, 363, 151, + 314, 289, 1149, 378, 354, 1100, 1184, 374, 341, 1204, + 1133, 361, 1200, 1205, 1121, 1151, 253, 915, 316, 1148, + 290, 925, 1208, 355, 1228, 1101, 375, 1209, 1201, 1134, + 1190, 1229, 1210, 1202, 1152, 921, 951, 317, 254, 926, + 255, 297, 249, 298, 1215, 936, 287, 1102, 1192, 1103, + 1216, 1097, 1191, 256, 922, 1132, 1145, 292, 927, 304, + 1150, 250, 1104, 315, 937, 1217, 1135, 1193, 293, 1222, + 1098, 1153, 294, 1223, 321, 1146, 1224, 1136, 305, 251, + 1225, 1137, 1154, 257, 1125, 322, 1155, 258, 1099, 323, + 259, 260, 1105, 1147, 261, 1234, 1106, 262, 263, 1107, + 1108, 264, 265, 1109, 300, 266, 1110, 1111, 267, 268, + 1112, 1113, 269, 270, 1114, 271, 272, 1115, 1116, 282, + 283, 1117, 1118, 284, 1119, 1120, 285, 1235, 1126, 1127, + 1236, 1237, 1128, 299, 1239, 1129, 1244, 1252, 1240, 1241, + 1253, 1256, 1258, 795, 1262, 1284, 1285, 1264, 1286, 1290, + 1294, 1066, 803, 966, 650, 642, 1089, 1087, 1140, 1248, + 1167, 1174, 1091, 1254, 1166, 1178, 688, 1257, 1260, 1139, + 1261, 1263, 1093, 1090, 1292, 1291, 1293, 1296, 1251, 661, + 1092, 1094, 1242, 1297, 1095, 685, 963, 1165, 663, 1207, + 1255, 680, 1206, 1186, 672, 1164, 1163, 1181, 704, 707, + 1282, 1199, 1259, 802, 944, 1295, 0, 0, 0, 1203, + 0, 0, 0, 1096, 0, 1124, 0, 0, 0, 1144, + 0, 0, 0, 0, 1149, 0, 1100, 0, 0, 1190, + 0, 1133, 0, 0, 0, 1121, 0, 1151, 0, 0, + 0, 1148, 0, 0, 0, 0, 1101, 1192, 0, 0, + 1134, 1191, 0, 0, 0, 0, 1152, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1193, 0, 1102, 0, + 1103, 0, 1097, 0, 0, 0, 1132, 0, 1145, 0, + 0, 0, 1150, 1104, 0, 0, 0, 1135, 0, 0, + 0, 1098, 0, 1153, 0, 0, 0, 1146, 1136, 0, + 0, 0, 1137, 0, 1154, 1125, 0, 0, 1155, 1099, + 0, 0, 0, 1105, 0, 1147, 0, 1106, 0, 0, + 1107, 1108, 0, 0, 1109, 0, 0, 1110, 1111, 0, + 0, 1112, 1113, 0, 0, 1114, 0, 0, 1115, 1116, + 0, 0, 1117, 1118, 0, 1119, 1120, 0, 0, 1126, + 1127, 0, 0, 1128, 0, 0, 1129 }; const short Dhcp4Parser::yycheck_[] = { - 67, 68, 69, 70, 71, 64, 73, 74, 75, 76, - 73, 74, 717, 69, 69, 1007, 1007, 69, 70, 71, - 74, 1007, 0, 68, 69, 70, 71, 70, 73, 74, - 7, 76, 18, 72, 658, 619, 7, 69, 210, 69, - 664, 7, 69, 69, 5, 71, 7, 69, 9, 71, - 91, 15, 16, 7, 74, 19, 12, 13, 22, 23, - 24, 25, 68, 69, 70, 71, 7, 73, 74, 7, - 76, 139, 140, 69, 3, 69, 69, 71, 69, 8, - 3, 176, 177, 178, 179, 8, 69, 56, 57, 58, - 70, 7, 195, 196, 69, 7, 69, 108, 109, 69, - 108, 109, 69, 687, 69, 3, 69, 210, 3, 69, - 8, 10, 69, 8, 69, 6, 69, 69, 213, 69, - 3, 3, 69, 38, 69, 8, 8, 69, 3, 69, - 69, 7, 69, 8, 69, 69, 32, 33, 34, 150, - 151, 152, 210, 3, 108, 109, 154, 155, 8, 3, - 38, 7, 6, 3, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 64, 65, - 66, 59, 60, 61, 62, 63, 17, 18, 93, 3, - 95, 96, 108, 109, 8, 100, 101, 102, 174, 114, - 115, 116, 117, 108, 109, 91, 92, 93, 3, 210, - 11, 6, 210, 14, 7, 93, 142, 143, 144, 145, - 146, 147, 108, 109, 3, 26, 7, 6, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 4, 124, 125, - 126, 157, 158, 159, 1226, 1226, 3, 8, 187, 6, - 1226, 190, 191, 192, 193, 4, 210, 139, 140, 210, - 211, 212, 213, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 3, 3, 3, - 91, 92, 8, 8, 210, 4, 129, 130, 131, 132, - 995, 134, 103, 104, 105, 210, 3, 108, 109, 20, - 21, 8, 113, 4, 32, 33, 34, 118, 119, 120, - 121, 122, 4, 3, 210, 3, 92, 128, 8, 3, - 8, 3, 210, 8, 8, 4, 8, 138, 93, 3, - 141, 107, 108, 109, 8, 3, 3, 148, 149, 4, - 8, 8, 153, 108, 109, 156, 4, 123, 3, 160, - 3, 127, 3, 8, 3, 8, 3, 8, 3, 8, - 3, 8, 4, 8, 92, 8, 425, 426, 4, 180, - 181, 182, 183, 184, 185, 27, 28, 3, 136, 137, - 108, 109, 8, 194, 4, 39, 40, 41, 4, 4, - 4, 4, 4, 4, 122, 4, 4, 4, 4, 210, - 4, 129, 130, 131, 132, 133, 134, 4, 136, 4, - 4, 4, 93, 94, 95, 96, 97, 98, 99, 4, - 4, 186, 4, 188, 189, 4, 4, 108, 109, 4, - 497, 4, 4, 4, 210, 4, 4, 3, 8, 506, - 4, 4, 3, 8, 4, 210, 4, 4, 3, 8, - 4, 518, 4, 4, 521, 4, 4, 4, 4, 210, - 4, 506, 518, 518, 4, 532, 518, 4, 4, 521, - 213, 213, 213, 518, 4, 542, 521, 4, 521, 542, - 532, 548, 210, 4, 4, 548, 518, 532, 518, 4, - 4, 518, 518, 211, 548, 211, 518, 542, 211, 211, - 506, 568, 211, 548, 4, 213, 532, 212, 212, 212, - 532, 211, 518, 211, 211, 521, 211, 213, 4, 213, - 213, 4, 518, 568, 518, 518, 532, 518, 548, 210, - 4, 4, 108, 109, 4, 518, 542, 213, 532, 4, - 213, 521, 548, 518, 213, 518, 4, 211, 518, 4, - 4, 518, 4, 518, 4, 518, 213, 213, 518, 4, - 4, 518, 568, 518, 4, 518, 518, 213, 518, 4, - 4, 518, 211, 518, 4, 4, 518, 4, 518, 518, - 1204, 518, 4, 518, 518, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 4, 4, - 4, 4, 4, 213, 180, 181, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 4, - 4, 213, 4, 213, 213, 213, 4, 4, 211, 4, - 211, 4, 4, 4, 210, 4, 4, 211, 4, 4, - 4, 4, 709, 4, 711, 4, 213, 4, 4, 708, - 4, 4, 4, 4, 4, 211, 4, 4, 4, 4, - 213, 4, 4, 213, 4, 4, 711, 4, 213, 211, - 213, 4, 30, 31, 32, 33, 34, 211, 211, 746, - 747, 213, 749, 4, 213, 4, 753, 4, 4, 211, - 4, 210, 7, 210, 7, 7, 7, 210, 7, 7, - 5, 746, 747, 748, 749, 711, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 210, 210, 210, 5, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 5, - 88, 89, 90, 5, 92, 210, 5, 7, 210, 5, - 746, 747, 748, 749, 5, 5, 104, 5, 106, 210, - 108, 109, 110, 111, 112, 113, 7, 7, 7, 7, - 118, 119, 120, 7, 210, 123, 5, 7, 5, 127, - 128, 210, 210, 210, 5, 7, 175, 135, 210, 210, - 5, 7, 210, 7, 210, 210, 210, 210, 7, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 7, 7, 7, 7, 7, 210, - 210, 7, 7, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 180, 181, 4, 4, 3, 210, 6, 3, - 6, 6, 3, 6, 3, 3, 6, 3, 687, 6, - 3, 6, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 210, 4, 4, 4, 3, 709, 6, 497, - 4, 6, 8, 4, 4, 4, 4, 4, 4, 213, - 211, 4, 4, 211, 4, 4, 211, 213, 4, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 4, 211, 4, 4, 3, 213, 6, 4, 700, 4, - 8, 211, 8, 3, 211, 8, 8, 213, 211, 213, - 210, 213, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 4, 4, 210, 4, 4, 211, 213, - 4, 998, 210, 210, 1001, 5, 210, 1004, 1001, 7, - 1007, 1004, 998, 998, 1007, 1012, 998, 4, 1015, 1012, - 1004, 1018, 1007, 998, 4, 1007, 1001, 1012, 4, 1004, - 1012, 4, 1007, 1015, 1007, 1032, 998, 1012, 998, 1036, - 1015, 998, 998, 1012, 4, 1007, 998, 1007, 1045, 213, - 1007, 1007, 1045, 1050, 1004, 1007, 1012, 1032, 1055, 1015, - 1012, 1036, 998, 1015, 211, 1001, 211, 1042, 1004, 210, - 1045, 1007, 998, 1055, 998, 998, 1012, 998, 506, 1015, - 1055, 1007, 1055, 1007, 1007, 998, 1007, 210, 1012, 1012, - 711, 1015, 970, 998, 1007, 998, 1032, 1007, 998, 1012, - 1036, 998, 1007, 998, 1007, 998, 1042, 1007, 998, 1045, - 1007, 998, 1007, 998, 1007, 998, 998, 1007, 998, 1055, - 1007, 998, 1007, 998, 1007, 1007, 998, 1007, 998, 998, - 1007, 998, 1007, 998, 998, 1007, 799, 1007, 1007, 997, - 1007, 992, 1007, 1007, 1032, 1055, 1020, 1010, 1000, 998, - 551, 1027, 518, 1226, 1001, 1009, 1018, 1055, 1006, 1003, - 1017, 542, 548, 1004, 1232, 1057, 572, 1242, 770, 532, - 568, 749, 1015, 1013, 1264, 1036, 1284, 710, -1, -1, - -1, -1, 1042, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1182, 521, -1, 1046, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1050, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1226, - -1, -1, -1, 1226, -1, 1232, -1, -1, -1, 1232, - -1, 1226, -1, -1, 1226, 1242, -1, 1232, -1, 1242, - 1232, 1226, -1, 1226, -1, -1, -1, 1232, -1, -1, - -1, -1, -1, 1232, 1226, -1, 1226, 1242, -1, 1226, - 1226, -1, -1, -1, 1226, -1, 1232, -1, -1, -1, - 1232, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1226, -1, -1, -1, -1, -1, 1232, -1, -1, -1, - 1226, -1, 1226, 1226, -1, 1226, 1242, -1, 1232, 1232, - -1, -1, -1, 1226, -1, -1, 1226, -1, -1, 1232, - -1, 1226, -1, 1226, -1, -1, 1226, -1, -1, 1226, - -1, 1226, -1, 1226, -1, -1, 1226, -1, -1, 1226, - -1, 1226, -1, 1226, 1226, -1, 1226, -1, -1, 1226, - -1, 1226, -1, -1, 1226, -1, 1226, 1226, -1, 1226, - -1, 1226, 1226, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, -1, -1, - -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, -1, -1, -1, -1, 92, 93, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, - -1, 108, 109, -1, 111, -1, 113, -1, -1, -1, - -1, 118, 119, 120, -1, -1, 123, -1, -1, -1, - 127, -1, -1, -1, -1, -1, -1, -1, 135, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 180, 181, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 210 + 67, 68, 69, 70, 71, 70, 73, 74, 75, 76, + 72, 64, 69, 74, 717, 69, 74, 658, 1009, 68, + 69, 70, 71, 664, 73, 74, 1009, 76, 73, 74, + 1009, 139, 140, 619, 211, 69, 0, 3, 68, 69, + 70, 71, 8, 73, 74, 10, 76, 5, 91, 7, + 7, 9, 176, 177, 178, 179, 18, 69, 4, 69, + 3, 69, 6, 6, 3, 69, 70, 71, 195, 196, + 197, 7, 69, 211, 3, 3, 69, 3, 71, 8, + 69, 3, 8, 3, 211, 8, 8, 69, 8, 71, + 214, 69, 3, 71, 3, 70, 4, 8, 69, 8, + 3, 687, 69, 211, 4, 8, 69, 3, 3, 69, + 69, 6, 8, 69, 12, 13, 69, 69, 108, 109, + 69, 69, 3, 3, 69, 6, 6, 69, 69, 108, + 109, 69, 69, 11, 69, 69, 14, 7, 69, 69, + 7, 3, 69, 7, 3, 69, 8, 8, 26, 8, + 7, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 150, 151, 152, 7, 15, 16, 139, 140, 19, 7, + 3, 22, 23, 24, 25, 8, 108, 109, 157, 158, + 159, 114, 115, 116, 117, 7, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 38, 7, 174, 91, 92, 129, 130, 131, 132, 3, + 134, 211, 154, 155, 8, 103, 104, 105, 3, 3, + 108, 109, 211, 8, 8, 113, 39, 40, 41, 1230, + 118, 119, 120, 121, 122, 27, 28, 1230, 17, 18, + 128, 1230, 7, 211, 212, 213, 214, 108, 109, 3, + 138, 3, 7, 141, 8, 93, 8, 95, 96, 4, + 148, 149, 100, 101, 102, 153, 136, 137, 156, 211, + 108, 109, 160, 92, 56, 57, 58, 30, 31, 32, + 33, 34, 3, 3, 997, 4, 3, 8, 107, 108, + 109, 8, 180, 181, 182, 183, 184, 185, 142, 143, + 144, 145, 146, 147, 123, 3, 194, 4, 127, 4, + 8, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 20, 21, 211, 4, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 4, 88, 89, 90, 187, 92, + 4, 190, 191, 192, 193, 32, 33, 34, 4, 3, + 211, 104, 4, 106, 8, 108, 109, 110, 111, 112, + 113, 4, 425, 426, 3, 118, 119, 120, 4, 8, + 123, 3, 3, 211, 127, 128, 8, 64, 65, 66, + 8, 4, 135, 93, 94, 95, 96, 97, 98, 99, + 3, 3, 211, 4, 4, 8, 8, 3, 108, 109, + 4, 4, 8, 4, 91, 92, 93, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 497, 108, 109, 4, 4, 3, 8, 180, 181, 506, + 8, 4, 4, 4, 4, 4, 4, 124, 125, 126, + 4, 518, 4, 4, 521, 4, 521, 506, 4, 4, + 4, 518, 4, 4, 518, 532, 4, 4, 211, 518, + 4, 4, 521, 4, 3, 542, 506, 4, 8, 93, + 4, 548, 4, 532, 518, 4, 4, 548, 518, 4, + 548, 521, 4, 542, 108, 109, 4, 542, 4, 548, + 4, 568, 532, 548, 4, 4, 518, 4, 518, 214, + 518, 211, 542, 214, 518, 214, 4, 521, 548, 568, + 4, 518, 32, 33, 34, 518, 4, 4, 532, 518, + 212, 212, 212, 212, 211, 213, 518, 212, 568, 532, + 518, 214, 213, 4, 213, 212, 521, 518, 212, 212, + 532, 518, 214, 212, 532, 518, 214, 214, 518, 518, + 4, 4, 518, 4, 214, 518, 518, 1208, 4, 518, + 518, 214, 186, 518, 188, 189, 518, 518, 214, 4, + 518, 518, 92, 518, 518, 4, 4, 518, 518, 212, + 4, 518, 4, 4, 518, 4, 4, 211, 108, 109, + 4, 4, 214, 214, 214, 4, 4, 212, 4, 4, + 4, 4, 122, 4, 4, 214, 214, 214, 4, 129, + 130, 131, 132, 133, 134, 4, 136, 4, 4, 4, + 214, 214, 212, 212, 4, 4, 4, 4, 4, 4, + 4, 4, 709, 212, 711, 4, 212, 4, 4, 4, + 4, 4, 687, 4, 4, 708, 4, 4, 4, 4, + 4, 4, 711, 4, 214, 4, 214, 214, 4, 4, + 4, 214, 30, 31, 32, 33, 34, 4, 214, 746, + 747, 711, 749, 4, 212, 4, 753, 212, 4, 212, + 4, 4, 4, 214, 214, 4, 4, 746, 747, 748, + 749, 211, 4, 212, 7, 5, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 746, 747, 748, 749, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 7, 7, 7, 7, 92, 93, 211, 211, 211, 7, + 211, 211, 211, 211, 5, 5, 104, 5, 5, 211, + 108, 109, 7, 111, 5, 113, 108, 109, 5, 5, + 118, 119, 120, 5, 7, 123, 7, 7, 7, 127, + 7, 211, 211, 5, 7, 5, 38, 135, 211, 211, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 211, 5, 211, 59, 60, 61, + 62, 63, 7, 5, 211, 211, 211, 7, 7, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 180, 181, 211, 7, 211, 211, 180, 181, + 211, 93, 7, 211, 7, 7, 7, 211, 211, 211, + 211, 7, 175, 7, 7, 4, 4, 4, 4, 211, + 211, 211, 4, 211, 4, 4, 4, 4, 4, 211, + 4, 6, 211, 3, 6, 3, 3, 6, 3, 211, + 6, 211, 6, 211, 211, 3, 6, 3, 3, 211, + 211, 211, 6, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 3, 709, 6, + 211, 4, 6, 8, 4, 4, 4, 4, 4, 214, + 214, 212, 4, 212, 212, 212, 212, 212, 212, 212, + 212, 4, 4, 4, 4, 212, 212, 212, 212, 212, + 212, 212, 4, 1000, 214, 4, 1003, 4, 4, 1006, + 212, 214, 1009, 1000, 1009, 1006, 1000, 1014, 1006, 211, + 1017, 1000, 1014, 1020, 1003, 1009, 212, 1006, 1003, 6, + 1009, 1006, 214, 3, 1009, 1014, 1000, 1034, 1017, 1014, + 1000, 1038, 4, 1003, 8, 1009, 1006, 211, 214, 1009, + 1047, 8, 211, 214, 1014, 1034, 1053, 1017, 1000, 1038, + 1000, 1058, 1000, 1058, 211, 1044, 1000, 1009, 1047, 1009, + 211, 1009, 1047, 1000, 1034, 1009, 1014, 1000, 1038, 1058, + 1014, 1000, 1009, 1017, 1044, 211, 1009, 1047, 1000, 211, + 1009, 1014, 1000, 211, 1017, 1014, 211, 1009, 1058, 1000, + 211, 1009, 1014, 1000, 1009, 1017, 1014, 1000, 1009, 1017, + 1000, 1000, 1009, 1014, 1000, 4, 1009, 1000, 1000, 1009, + 1009, 1000, 1000, 1009, 1058, 1000, 1009, 1009, 1000, 1000, + 1009, 1009, 1000, 1000, 1009, 1000, 1000, 1009, 1009, 1000, + 1000, 1009, 1009, 1000, 1009, 1009, 1000, 8, 1009, 1009, + 3, 8, 1009, 1058, 211, 1009, 4, 4, 211, 211, + 4, 4, 4, 700, 5, 4, 4, 7, 4, 4, + 4, 972, 711, 799, 506, 497, 999, 994, 1012, 211, + 1022, 1029, 1002, 214, 1020, 1034, 551, 212, 211, 1011, + 211, 211, 1005, 1000, 212, 214, 212, 211, 1230, 518, + 1003, 1006, 1185, 211, 1008, 548, 770, 1019, 521, 1060, + 1236, 542, 1058, 1044, 532, 1017, 1015, 1038, 568, 572, + 1268, 1048, 1246, 710, 749, 1288, -1, -1, -1, 1053, + -1, -1, -1, 1230, -1, 1230, -1, -1, -1, 1236, + -1, -1, -1, -1, 1236, -1, 1230, -1, -1, 1246, + -1, 1230, -1, -1, -1, 1230, -1, 1236, -1, -1, + -1, 1236, -1, -1, -1, -1, 1230, 1246, -1, -1, + 1230, 1246, -1, -1, -1, -1, 1236, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1246, -1, 1230, -1, + 1230, -1, 1230, -1, -1, -1, 1230, -1, 1236, -1, + -1, -1, 1236, 1230, -1, -1, -1, 1230, -1, -1, + -1, 1230, -1, 1236, -1, -1, -1, 1236, 1230, -1, + -1, -1, 1230, -1, 1236, 1230, -1, -1, 1236, 1230, + -1, -1, -1, 1230, -1, 1236, -1, 1230, -1, -1, + 1230, 1230, -1, -1, 1230, -1, -1, 1230, 1230, -1, + -1, 1230, 1230, -1, -1, 1230, -1, -1, 1230, 1230, + -1, -1, 1230, 1230, -1, 1230, 1230, -1, -1, 1230, + 1230, -1, -1, 1230, -1, -1, 1230 }; const short Dhcp4Parser::yystos_[] = { - 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 0, 5, - 7, 9, 210, 211, 212, 213, 229, 230, 231, 236, - 7, 245, 7, 250, 7, 299, 7, 412, 7, 496, - 7, 512, 7, 447, 7, 453, 7, 477, 7, 388, - 7, 579, 7, 610, 237, 232, 246, 251, 300, 413, - 497, 513, 448, 454, 478, 389, 580, 611, 229, 238, - 239, 210, 234, 235, 10, 247, 249, 11, 14, 26, + 0, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 0, 5, + 7, 9, 211, 212, 213, 214, 230, 231, 232, 237, + 7, 246, 7, 251, 7, 300, 7, 413, 7, 497, + 7, 513, 7, 448, 7, 454, 7, 478, 7, 389, + 7, 580, 7, 611, 238, 233, 247, 252, 301, 414, + 498, 514, 449, 455, 479, 390, 581, 612, 230, 239, + 240, 211, 235, 236, 10, 248, 250, 11, 14, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 103, 104, 105, 108, 109, 113, 118, 119, 120, 121, 122, 128, 138, 141, 148, 149, 153, 156, 160, 180, 181, 182, 183, 184, 185, - 194, 210, 244, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 267, 268, 270, - 271, 272, 273, 274, 275, 276, 279, 281, 283, 284, - 285, 287, 289, 290, 291, 292, 293, 294, 295, 313, - 315, 323, 325, 366, 375, 382, 396, 406, 430, 431, - 432, 433, 437, 445, 471, 502, 504, 506, 517, 519, - 521, 544, 558, 559, 567, 577, 608, 617, 641, 15, - 16, 19, 22, 23, 24, 25, 244, 297, 298, 301, - 303, 306, 309, 310, 311, 312, 502, 504, 88, 89, - 90, 106, 110, 111, 112, 123, 127, 135, 244, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 268, - 271, 272, 273, 274, 275, 276, 279, 281, 283, 284, - 285, 287, 289, 414, 415, 416, 418, 420, 422, 424, - 426, 428, 430, 431, 432, 433, 436, 471, 490, 502, - 504, 506, 517, 519, 521, 541, 107, 244, 426, 428, - 471, 498, 499, 500, 502, 504, 122, 129, 130, 131, - 132, 133, 134, 136, 244, 471, 502, 504, 514, 515, - 516, 517, 519, 521, 523, 527, 529, 531, 533, 535, - 537, 539, 445, 38, 93, 95, 96, 100, 101, 102, - 244, 343, 455, 456, 457, 458, 459, 460, 461, 463, - 465, 467, 468, 470, 502, 504, 94, 97, 98, 99, - 244, 343, 459, 465, 479, 480, 481, 482, 483, 485, - 486, 487, 488, 489, 502, 504, 139, 140, 244, 390, - 391, 392, 394, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 180, 181, 244, 502, - 504, 581, 582, 583, 584, 586, 587, 589, 590, 591, - 594, 596, 598, 599, 600, 602, 604, 606, 12, 13, - 612, 613, 614, 616, 6, 3, 4, 8, 3, 248, - 3, 8, 609, 296, 316, 4, 4, 4, 518, 520, - 522, 314, 324, 326, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 266, 4, 4, 4, 4, - 4, 277, 280, 282, 4, 4, 4, 407, 446, 472, - 4, 269, 438, 503, 505, 434, 4, 4, 4, 367, - 545, 507, 383, 397, 4, 376, 560, 568, 578, 286, - 288, 4, 4, 4, 618, 642, 4, 3, 8, 302, - 304, 307, 4, 4, 4, 4, 3, 8, 419, 421, - 423, 491, 417, 425, 4, 429, 427, 542, 3, 8, - 501, 3, 8, 540, 528, 530, 534, 532, 538, 536, - 524, 8, 3, 8, 462, 344, 4, 466, 464, 469, - 4, 8, 3, 484, 4, 4, 4, 8, 3, 393, - 395, 3, 8, 4, 597, 585, 4, 588, 4, 4, - 592, 595, 4, 4, 601, 603, 605, 607, 3, 8, - 615, 4, 3, 8, 229, 229, 210, 4, 4, 4, - 4, 213, 213, 213, 4, 4, 4, 4, 4, 4, - 211, 211, 211, 211, 211, 213, 212, 212, 212, 211, - 211, 4, 211, 211, 213, 213, 213, 4, 4, 4, - 213, 213, 213, 4, 4, 4, 211, 4, 4, 4, - 4, 4, 213, 213, 213, 4, 4, 4, 4, 4, - 211, 4, 4, 4, 4, 4, 4, 213, 213, 213, - 4, 4, 253, 4, 4, 4, 213, 213, 211, 211, - 298, 4, 4, 4, 4, 4, 4, 211, 4, 4, - 4, 415, 4, 499, 4, 4, 4, 4, 4, 4, - 4, 4, 516, 4, 4, 211, 4, 4, 4, 213, - 457, 4, 213, 213, 213, 481, 4, 4, 391, 213, - 4, 4, 211, 4, 211, 211, 4, 4, 213, 213, - 4, 4, 4, 4, 582, 4, 211, 613, 4, 7, - 7, 7, 7, 210, 210, 210, 7, 7, 5, 210, - 176, 177, 178, 179, 213, 278, 210, 210, 5, 5, - 5, 210, 5, 231, 233, 210, 114, 115, 116, 117, - 435, 5, 5, 5, 5, 7, 7, 7, 7, 7, - 210, 210, 5, 7, 5, 240, 17, 18, 305, 20, - 21, 308, 210, 210, 210, 5, 210, 210, 240, 210, - 7, 210, 240, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 233, 210, 210, - 210, 18, 174, 593, 175, 278, 210, 210, 210, 5, - 229, 252, 612, 297, 27, 28, 317, 318, 319, 321, + 194, 211, 245, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 268, 269, 271, + 272, 273, 274, 275, 276, 277, 280, 282, 284, 285, + 286, 288, 290, 291, 292, 293, 294, 295, 296, 314, + 316, 324, 326, 367, 376, 383, 397, 407, 431, 432, + 433, 434, 438, 446, 472, 503, 505, 507, 518, 520, + 522, 545, 559, 560, 568, 578, 609, 618, 642, 15, + 16, 19, 22, 23, 24, 25, 245, 298, 299, 302, + 304, 307, 310, 311, 312, 313, 503, 505, 88, 89, + 90, 106, 110, 111, 112, 123, 127, 135, 245, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 269, + 272, 273, 274, 275, 276, 277, 280, 282, 284, 285, + 286, 288, 290, 415, 416, 417, 419, 421, 423, 425, + 427, 429, 431, 432, 433, 434, 437, 472, 491, 503, + 505, 507, 518, 520, 522, 542, 107, 245, 427, 429, + 472, 499, 500, 501, 503, 505, 122, 129, 130, 131, + 132, 133, 134, 136, 245, 472, 503, 505, 515, 516, + 517, 518, 520, 522, 524, 528, 530, 532, 534, 536, + 538, 540, 446, 38, 93, 95, 96, 100, 101, 102, + 245, 344, 456, 457, 458, 459, 460, 461, 462, 464, + 466, 468, 469, 471, 503, 505, 94, 97, 98, 99, + 245, 344, 460, 466, 480, 481, 482, 483, 484, 486, + 487, 488, 489, 490, 503, 505, 139, 140, 245, 391, + 392, 393, 395, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 180, 181, 245, 503, + 505, 582, 583, 584, 585, 587, 588, 590, 591, 592, + 595, 597, 599, 600, 601, 603, 605, 607, 12, 13, + 613, 614, 615, 617, 6, 3, 4, 8, 3, 249, + 3, 8, 610, 297, 317, 4, 4, 4, 519, 521, + 523, 315, 325, 327, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 267, 4, 4, 4, 4, + 4, 278, 281, 283, 4, 4, 4, 408, 447, 473, + 4, 270, 439, 504, 506, 435, 4, 4, 4, 368, + 546, 508, 384, 398, 4, 377, 561, 569, 579, 287, + 289, 4, 4, 4, 619, 643, 4, 3, 8, 303, + 305, 308, 4, 4, 4, 4, 3, 8, 420, 422, + 424, 492, 418, 426, 4, 430, 428, 543, 3, 8, + 502, 3, 8, 541, 529, 531, 535, 533, 539, 537, + 525, 8, 3, 8, 463, 345, 4, 467, 465, 470, + 4, 8, 3, 485, 4, 4, 4, 8, 3, 394, + 396, 3, 8, 4, 598, 586, 4, 589, 4, 4, + 593, 596, 4, 4, 602, 604, 606, 608, 3, 8, + 616, 4, 3, 8, 230, 230, 211, 4, 4, 4, + 4, 214, 214, 214, 4, 4, 4, 4, 4, 4, + 212, 212, 212, 212, 212, 214, 213, 213, 213, 212, + 212, 4, 212, 212, 214, 214, 214, 4, 4, 4, + 214, 214, 214, 4, 4, 4, 212, 4, 4, 4, + 4, 4, 214, 214, 214, 4, 4, 4, 4, 4, + 212, 4, 4, 4, 4, 4, 4, 214, 214, 214, + 4, 4, 254, 4, 4, 4, 214, 214, 212, 212, + 299, 4, 4, 4, 4, 4, 4, 212, 4, 4, + 4, 416, 4, 500, 4, 4, 4, 4, 4, 4, + 4, 4, 517, 4, 4, 212, 4, 4, 4, 214, + 458, 4, 214, 214, 214, 482, 4, 4, 392, 214, + 4, 4, 212, 4, 212, 212, 4, 4, 214, 214, + 4, 4, 4, 4, 583, 4, 212, 614, 4, 7, + 7, 7, 7, 211, 211, 211, 7, 7, 5, 211, + 176, 177, 178, 179, 214, 279, 211, 211, 5, 5, + 5, 211, 5, 232, 234, 211, 114, 115, 116, 117, + 436, 5, 5, 5, 5, 7, 7, 7, 7, 7, + 211, 211, 5, 7, 5, 241, 17, 18, 306, 20, + 21, 309, 211, 211, 211, 5, 211, 211, 241, 211, + 7, 211, 241, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 234, 211, 211, + 211, 18, 174, 594, 175, 279, 211, 211, 211, 5, + 230, 253, 613, 298, 27, 28, 318, 319, 320, 322, 38, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 61, 62, 63, - 244, 331, 332, 333, 336, 338, 340, 342, 343, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 357, - 358, 360, 362, 364, 331, 7, 327, 328, 329, 7, - 408, 409, 410, 7, 449, 450, 451, 7, 473, 474, - 475, 7, 439, 440, 441, 129, 130, 131, 132, 134, - 368, 369, 370, 371, 372, 373, 374, 7, 546, 547, - 7, 508, 509, 510, 7, 384, 385, 386, 142, 143, - 144, 145, 146, 147, 398, 399, 400, 401, 402, 403, - 404, 405, 150, 151, 152, 244, 377, 378, 379, 380, - 381, 502, 504, 154, 155, 244, 502, 504, 561, 562, - 563, 565, 157, 158, 159, 210, 502, 504, 569, 570, - 571, 572, 574, 575, 581, 7, 619, 620, 195, 196, - 244, 643, 644, 645, 646, 241, 7, 492, 493, 494, - 137, 523, 525, 543, 327, 8, 8, 8, 320, 322, - 3, 8, 334, 337, 339, 341, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 355, 4, 359, 361, - 363, 365, 3, 8, 8, 330, 6, 3, 411, 6, - 3, 452, 6, 3, 476, 6, 3, 442, 6, 3, - 3, 6, 548, 3, 6, 511, 6, 3, 387, 6, - 3, 4, 4, 4, 4, 4, 4, 3, 8, 4, - 4, 4, 3, 8, 564, 566, 3, 8, 4, 573, - 4, 576, 3, 8, 8, 621, 3, 6, 4, 4, - 3, 8, 210, 242, 243, 495, 6, 3, 526, 8, - 6, 4, 4, 318, 4, 4, 4, 4, 211, 213, - 211, 213, 211, 211, 211, 211, 211, 211, 4, 211, - 4, 4, 4, 4, 332, 331, 329, 414, 410, 455, - 451, 479, 475, 244, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 268, 271, 272, 273, 274, 275, - 276, 279, 281, 283, 284, 285, 287, 289, 343, 406, - 424, 426, 428, 430, 431, 432, 433, 443, 444, 471, - 502, 504, 517, 519, 521, 541, 441, 369, 124, 125, - 126, 244, 254, 255, 256, 343, 445, 471, 502, 504, - 517, 519, 521, 549, 550, 551, 552, 553, 555, 557, - 547, 514, 510, 390, 386, 211, 211, 211, 211, 211, - 211, 399, 213, 211, 211, 378, 4, 4, 562, 213, - 4, 211, 4, 570, 186, 188, 189, 244, 343, 502, - 504, 622, 623, 624, 625, 627, 620, 213, 213, 644, - 6, 3, 498, 494, 4, 210, 210, 39, 40, 41, - 335, 210, 210, 210, 56, 57, 58, 356, 210, 210, - 210, 210, 8, 8, 8, 8, 3, 8, 554, 556, - 4, 8, 3, 8, 8, 210, 210, 210, 229, 628, - 4, 626, 3, 8, 210, 8, 240, 444, 4, 4, - 213, 551, 4, 211, 4, 623, 210, 210, 5, 210, - 7, 629, 630, 631, 3, 6, 187, 190, 191, 192, - 193, 632, 633, 634, 636, 637, 638, 639, 630, 635, - 4, 4, 4, 640, 3, 8, 4, 213, 211, 211, - 4, 633, 210, 210 + 245, 332, 333, 334, 337, 339, 341, 343, 344, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 358, + 359, 361, 363, 365, 332, 7, 328, 329, 330, 7, + 409, 410, 411, 7, 450, 451, 452, 7, 474, 475, + 476, 7, 440, 441, 442, 129, 130, 131, 132, 134, + 369, 370, 371, 372, 373, 374, 375, 7, 547, 548, + 7, 509, 510, 511, 7, 385, 386, 387, 142, 143, + 144, 145, 146, 147, 399, 400, 401, 402, 403, 404, + 405, 406, 150, 151, 152, 245, 378, 379, 380, 381, + 382, 503, 505, 154, 155, 245, 503, 505, 562, 563, + 564, 566, 157, 158, 159, 211, 503, 505, 570, 571, + 572, 573, 575, 576, 582, 7, 620, 621, 195, 196, + 197, 245, 644, 645, 646, 647, 648, 242, 7, 493, + 494, 495, 137, 524, 526, 544, 328, 8, 8, 8, + 321, 323, 3, 8, 335, 338, 340, 342, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 356, 4, + 360, 362, 364, 366, 3, 8, 8, 331, 6, 3, + 412, 6, 3, 453, 6, 3, 477, 6, 3, 443, + 6, 3, 3, 6, 549, 3, 6, 512, 6, 3, + 388, 6, 3, 4, 4, 4, 4, 4, 4, 3, + 8, 4, 4, 4, 3, 8, 565, 567, 3, 8, + 4, 574, 4, 577, 3, 8, 8, 622, 3, 6, + 4, 4, 4, 3, 8, 211, 243, 244, 496, 6, + 3, 527, 8, 6, 4, 4, 319, 4, 4, 4, + 4, 212, 214, 212, 214, 212, 212, 212, 212, 212, + 212, 4, 212, 4, 4, 4, 4, 333, 332, 330, + 415, 411, 456, 452, 480, 476, 245, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 269, 272, 273, + 274, 275, 276, 277, 280, 282, 284, 285, 286, 288, + 290, 344, 407, 425, 427, 429, 431, 432, 433, 434, + 444, 445, 472, 503, 505, 518, 520, 522, 542, 442, + 370, 124, 125, 126, 245, 255, 256, 257, 344, 446, + 472, 503, 505, 518, 520, 522, 550, 551, 552, 553, + 554, 556, 558, 548, 515, 511, 391, 387, 212, 212, + 212, 212, 212, 212, 400, 214, 212, 212, 379, 4, + 4, 563, 214, 4, 212, 4, 571, 186, 188, 189, + 245, 344, 503, 505, 623, 624, 625, 626, 628, 621, + 214, 214, 214, 645, 6, 3, 499, 495, 4, 211, + 211, 39, 40, 41, 336, 211, 211, 211, 56, 57, + 58, 357, 211, 211, 211, 211, 8, 8, 8, 8, + 3, 8, 555, 557, 4, 8, 3, 8, 8, 211, + 211, 211, 230, 629, 4, 627, 3, 8, 211, 8, + 241, 445, 4, 4, 214, 552, 4, 212, 4, 624, + 211, 211, 5, 211, 7, 630, 631, 632, 3, 6, + 187, 190, 191, 192, 193, 633, 634, 635, 637, 638, + 639, 640, 631, 636, 4, 4, 4, 641, 3, 8, + 4, 214, 212, 212, 4, 634, 211, 211 }; const short Dhcp4Parser::yyr1_[] = { - 0, 214, 216, 215, 217, 215, 218, 215, 219, 215, - 220, 215, 221, 215, 222, 215, 223, 215, 224, 215, - 225, 215, 226, 215, 227, 215, 228, 215, 229, 229, - 229, 229, 229, 229, 229, 230, 232, 231, 233, 234, - 234, 235, 235, 235, 237, 236, 238, 238, 239, 239, - 239, 241, 240, 242, 242, 243, 243, 243, 244, 246, - 245, 248, 247, 247, 249, 251, 250, 252, 252, 252, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 266, 265, 267, 269, - 268, 270, 271, 272, 273, 274, 275, 277, 276, 278, - 278, 278, 278, 278, 280, 279, 282, 281, 283, 284, - 286, 285, 288, 287, 289, 290, 291, 292, 293, 294, - 296, 295, 297, 297, 297, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 300, 299, 302, 301, 304, - 303, 305, 305, 307, 306, 308, 308, 309, 310, 311, - 312, 314, 313, 316, 315, 317, 317, 317, 318, 318, - 320, 319, 322, 321, 324, 323, 326, 325, 327, 327, - 328, 328, 328, 330, 329, 331, 331, 331, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 334, 333, 335, 335, 335, 337, 336, 339, 338, 341, - 340, 342, 344, 343, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 355, 354, 356, 356, 356, 357, 359, - 358, 361, 360, 363, 362, 365, 364, 367, 366, 368, - 368, 368, 369, 369, 369, 369, 369, 370, 371, 372, - 373, 374, 376, 375, 377, 377, 377, 378, 378, 378, - 378, 378, 378, 379, 380, 381, 383, 382, 384, 384, - 385, 385, 385, 387, 386, 389, 388, 390, 390, 390, - 390, 391, 391, 393, 392, 395, 394, 397, 396, 398, - 398, 398, 399, 399, 399, 399, 399, 399, 400, 401, - 402, 403, 404, 405, 407, 406, 408, 408, 409, 409, - 409, 411, 410, 413, 412, 414, 414, 414, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 415, 415, 417, 416, 419, 418, 421, 420, - 423, 422, 425, 424, 427, 426, 429, 428, 430, 431, - 432, 434, 433, 435, 435, 435, 435, 436, 438, 437, - 439, 439, 440, 440, 440, 442, 441, 443, 443, 443, - 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 446, 445, 448, 447, 449, 449, 450, 450, 450, - 452, 451, 454, 453, 455, 455, 456, 456, 456, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 458, - 459, 460, 462, 461, 464, 463, 466, 465, 467, 469, - 468, 470, 472, 471, 473, 473, 474, 474, 474, 476, - 475, 478, 477, 479, 479, 480, 480, 480, 481, 481, - 481, 481, 481, 481, 481, 481, 481, 481, 482, 484, - 483, 485, 486, 487, 488, 489, 491, 490, 492, 492, - 493, 493, 493, 495, 494, 497, 496, 498, 498, 498, - 499, 499, 499, 499, 499, 499, 499, 501, 500, 503, - 502, 505, 504, 507, 506, 508, 508, 509, 509, 509, - 511, 510, 513, 512, 514, 514, 515, 515, 515, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 516, 516, 518, 517, 520, 519, 522, 521, - 524, 523, 526, 525, 528, 527, 530, 529, 532, 531, - 534, 533, 536, 535, 538, 537, 540, 539, 542, 541, - 543, 543, 545, 544, 546, 546, 546, 548, 547, 549, - 549, 550, 550, 550, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 552, - 554, 553, 556, 555, 557, 558, 560, 559, 561, 561, - 561, 562, 562, 562, 562, 562, 564, 563, 566, 565, - 568, 567, 569, 569, 569, 570, 570, 570, 570, 570, - 570, 571, 573, 572, 574, 576, 575, 578, 577, 580, - 579, 581, 581, 581, 582, 582, 582, 582, 582, 582, - 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, - 582, 582, 583, 585, 584, 586, 588, 587, 589, 590, - 592, 591, 593, 593, 595, 594, 597, 596, 598, 599, - 601, 600, 603, 602, 605, 604, 607, 606, 609, 608, - 611, 610, 612, 612, 612, 613, 613, 615, 614, 616, - 618, 617, 619, 619, 619, 621, 620, 622, 622, 622, - 623, 623, 623, 623, 623, 623, 623, 624, 626, 625, - 628, 627, 629, 629, 629, 631, 630, 632, 632, 632, - 633, 633, 633, 633, 633, 635, 634, 636, 637, 638, - 640, 639, 642, 641, 643, 643, 643, 644, 644, 644, - 645, 646 + 0, 215, 217, 216, 218, 216, 219, 216, 220, 216, + 221, 216, 222, 216, 223, 216, 224, 216, 225, 216, + 226, 216, 227, 216, 228, 216, 229, 216, 230, 230, + 230, 230, 230, 230, 230, 231, 233, 232, 234, 235, + 235, 236, 236, 236, 238, 237, 239, 239, 240, 240, + 240, 242, 241, 243, 243, 244, 244, 244, 245, 247, + 246, 249, 248, 248, 250, 252, 251, 253, 253, 253, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 267, 266, 268, 270, + 269, 271, 272, 273, 274, 275, 276, 278, 277, 279, + 279, 279, 279, 279, 281, 280, 283, 282, 284, 285, + 287, 286, 289, 288, 290, 291, 292, 293, 294, 295, + 297, 296, 298, 298, 298, 299, 299, 299, 299, 299, + 299, 299, 299, 299, 299, 301, 300, 303, 302, 305, + 304, 306, 306, 308, 307, 309, 309, 310, 311, 312, + 313, 315, 314, 317, 316, 318, 318, 318, 319, 319, + 321, 320, 323, 322, 325, 324, 327, 326, 328, 328, + 329, 329, 329, 331, 330, 332, 332, 332, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 335, 334, 336, 336, 336, 338, 337, 340, 339, 342, + 341, 343, 345, 344, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 356, 355, 357, 357, 357, 358, 360, + 359, 362, 361, 364, 363, 366, 365, 368, 367, 369, + 369, 369, 370, 370, 370, 370, 370, 371, 372, 373, + 374, 375, 377, 376, 378, 378, 378, 379, 379, 379, + 379, 379, 379, 380, 381, 382, 384, 383, 385, 385, + 386, 386, 386, 388, 387, 390, 389, 391, 391, 391, + 391, 392, 392, 394, 393, 396, 395, 398, 397, 399, + 399, 399, 400, 400, 400, 400, 400, 400, 401, 402, + 403, 404, 405, 406, 408, 407, 409, 409, 410, 410, + 410, 412, 411, 414, 413, 415, 415, 415, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 418, 417, 420, 419, 422, 421, + 424, 423, 426, 425, 428, 427, 430, 429, 431, 432, + 433, 435, 434, 436, 436, 436, 436, 437, 439, 438, + 440, 440, 441, 441, 441, 443, 442, 444, 444, 444, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 447, 446, 449, 448, 450, 450, 451, 451, 451, + 453, 452, 455, 454, 456, 456, 457, 457, 457, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 459, + 460, 461, 463, 462, 465, 464, 467, 466, 468, 470, + 469, 471, 473, 472, 474, 474, 475, 475, 475, 477, + 476, 479, 478, 480, 480, 481, 481, 481, 482, 482, + 482, 482, 482, 482, 482, 482, 482, 482, 483, 485, + 484, 486, 487, 488, 489, 490, 492, 491, 493, 493, + 494, 494, 494, 496, 495, 498, 497, 499, 499, 499, + 500, 500, 500, 500, 500, 500, 500, 502, 501, 504, + 503, 506, 505, 508, 507, 509, 509, 510, 510, 510, + 512, 511, 514, 513, 515, 515, 516, 516, 516, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 519, 518, 521, 520, 523, 522, + 525, 524, 527, 526, 529, 528, 531, 530, 533, 532, + 535, 534, 537, 536, 539, 538, 541, 540, 543, 542, + 544, 544, 546, 545, 547, 547, 547, 549, 548, 550, + 550, 551, 551, 551, 552, 552, 552, 552, 552, 552, + 552, 552, 552, 552, 552, 552, 552, 552, 552, 553, + 555, 554, 557, 556, 558, 559, 561, 560, 562, 562, + 562, 563, 563, 563, 563, 563, 565, 564, 567, 566, + 569, 568, 570, 570, 570, 571, 571, 571, 571, 571, + 571, 572, 574, 573, 575, 577, 576, 579, 578, 581, + 580, 582, 582, 582, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 584, 586, 585, 587, 589, 588, 590, 591, + 593, 592, 594, 594, 596, 595, 598, 597, 599, 600, + 602, 601, 604, 603, 606, 605, 608, 607, 610, 609, + 612, 611, 613, 613, 613, 614, 614, 616, 615, 617, + 619, 618, 620, 620, 620, 622, 621, 623, 623, 623, + 624, 624, 624, 624, 624, 624, 624, 625, 627, 626, + 629, 628, 630, 630, 630, 632, 631, 633, 633, 633, + 634, 634, 634, 634, 634, 636, 635, 637, 638, 639, + 641, 640, 643, 642, 644, 644, 644, 645, 645, 645, + 645, 646, 647, 648 }; const signed char @@ -6009,7 +5985,7 @@ namespace isc { namespace dhcp { 0, 6, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 3, 3 + 1, 3, 3, 3 }; @@ -6083,14 +6059,15 @@ namespace isc { namespace dhcp { "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"compatibility\"", "\"lenient-option-parsing\"", "\"ignore-rai-link-selection\"", - "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", "SUB_DHCP4", "SUB_INTERFACES4", - "SUB_SUBNET4", "SUB_POOL4", "SUB_RESERVATION", "SUB_OPTION_DEFS", - "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", - "SUB_DHCP_DDNS", "SUB_CONFIG_CONTROL", "\"constant string\"", - "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", - "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", - "$@11", "$@12", "$@13", "value", "sub_json", "map2", "$@14", "map_value", - "map_content", "not_empty_map", "list_generic", "$@15", "list_content", + "\"exclude-first-last-24\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", + "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", "SUB_POOL4", + "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", + "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", + "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", + "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", + "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", + "$@13", "value", "sub_json", "map2", "$@14", "map_value", "map_content", + "not_empty_map", "list_generic", "$@15", "list_content", "not_empty_list", "list_strings", "$@16", "list_strings_content", "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@17", "global_object", "$@18", "global_object_comma", "sub_dhcp4", "$@19", @@ -6196,7 +6173,7 @@ namespace isc { namespace dhcp { "output_params_list", "output_params", "output", "$@133", "flush", "maxsize", "maxver", "pattern", "$@134", "compatibility", "$@135", "compatibility_params", "compatibility_param", "lenient_option_parsing", - "ignore-rai-link-selection", YY_NULLPTR + "ignore-rai-link-selection", "exclude_first_last_24", YY_NULLPTR }; #endif @@ -6205,91 +6182,91 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 303, 303, 303, 304, 304, 305, 305, 306, 306, - 307, 307, 308, 308, 309, 309, 310, 310, 311, 311, - 312, 312, 313, 313, 314, 314, 315, 315, 323, 324, - 325, 326, 327, 328, 329, 332, 337, 337, 348, 351, - 352, 355, 360, 366, 371, 371, 378, 379, 382, 386, - 390, 396, 396, 403, 404, 407, 411, 415, 425, 434, - 434, 449, 449, 463, 466, 472, 472, 481, 482, 483, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 557, 563, 569, 575, 581, - 587, 593, 599, 605, 611, 617, 623, 623, 632, 638, - 638, 647, 653, 659, 665, 671, 677, 683, 683, 692, - 695, 698, 701, 704, 710, 710, 719, 719, 728, 734, - 740, 740, 749, 749, 758, 764, 770, 776, 782, 788, - 794, 794, 806, 807, 808, 813, 814, 815, 816, 817, - 818, 819, 820, 821, 822, 825, 825, 834, 834, 845, - 845, 853, 854, 857, 857, 865, 867, 871, 877, 883, - 889, 895, 895, 908, 908, 919, 920, 921, 926, 927, - 930, 930, 949, 949, 967, 967, 980, 980, 991, 992, - 995, 996, 997, 1002, 1002, 1012, 1013, 1014, 1019, 1020, - 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - 1043, 1043, 1051, 1052, 1053, 1056, 1056, 1065, 1065, 1074, - 1074, 1083, 1089, 1089, 1098, 1104, 1110, 1116, 1122, 1128, - 1134, 1140, 1146, 1152, 1152, 1160, 1161, 1162, 1165, 1171, - 1171, 1180, 1180, 1189, 1189, 1198, 1198, 1207, 1207, 1218, - 1219, 1220, 1225, 1226, 1227, 1228, 1229, 1232, 1237, 1242, - 1247, 1252, 1259, 1259, 1272, 1273, 1274, 1279, 1280, 1281, - 1282, 1283, 1284, 1287, 1293, 1299, 1305, 1305, 1316, 1317, - 1320, 1321, 1322, 1327, 1327, 1337, 1337, 1347, 1348, 1349, - 1352, 1355, 1356, 1359, 1359, 1368, 1368, 1377, 1377, 1389, - 1390, 1391, 1396, 1397, 1398, 1399, 1400, 1401, 1404, 1410, - 1416, 1422, 1428, 1434, 1443, 1443, 1457, 1458, 1461, 1462, - 1463, 1472, 1472, 1498, 1498, 1509, 1510, 1511, 1517, 1518, - 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, - 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, - 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, - 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, - 1559, 1560, 1561, 1562, 1565, 1565, 1574, 1574, 1583, 1583, - 1592, 1592, 1601, 1601, 1610, 1610, 1619, 1619, 1630, 1636, - 1642, 1648, 1648, 1656, 1657, 1658, 1659, 1662, 1670, 1670, - 1682, 1683, 1687, 1688, 1689, 1694, 1694, 1702, 1703, 1704, - 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, - 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, - 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, - 1749, 1756, 1756, 1770, 1770, 1779, 1780, 1783, 1784, 1785, - 1792, 1792, 1807, 1807, 1821, 1822, 1825, 1826, 1827, 1832, - 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1844, - 1846, 1852, 1854, 1854, 1863, 1863, 1872, 1872, 1881, 1883, - 1883, 1892, 1902, 1902, 1915, 1916, 1921, 1922, 1923, 1930, - 1930, 1942, 1942, 1954, 1955, 1960, 1961, 1962, 1969, 1970, - 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1981, 1983, - 1983, 1992, 1994, 1996, 2002, 2008, 2017, 2017, 2030, 2031, - 2034, 2035, 2036, 2041, 2041, 2051, 2051, 2061, 2062, 2063, - 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2077, 2077, 2086, - 2086, 2111, 2111, 2141, 2141, 2152, 2153, 2156, 2157, 2158, - 2163, 2163, 2172, 2172, 2181, 2182, 2185, 2186, 2187, 2193, - 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, - 2204, 2205, 2206, 2207, 2210, 2210, 2219, 2219, 2228, 2228, - 2237, 2237, 2246, 2246, 2257, 2257, 2266, 2266, 2275, 2275, - 2284, 2284, 2293, 2293, 2302, 2302, 2311, 2311, 2325, 2325, - 2336, 2337, 2343, 2343, 2354, 2355, 2356, 2361, 2361, 2371, - 2372, 2375, 2376, 2377, 2382, 2383, 2384, 2385, 2386, 2387, - 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2399, - 2401, 2401, 2410, 2410, 2419, 2427, 2435, 2435, 2446, 2447, - 2448, 2453, 2454, 2455, 2456, 2457, 2460, 2460, 2469, 2469, - 2481, 2481, 2494, 2495, 2496, 2501, 2502, 2503, 2504, 2505, - 2506, 2509, 2515, 2515, 2524, 2530, 2530, 2540, 2540, 2553, - 2553, 2563, 2564, 2565, 2570, 2571, 2572, 2573, 2574, 2575, - 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, - 2586, 2587, 2590, 2596, 2596, 2605, 2611, 2611, 2620, 2626, - 2632, 2632, 2641, 2642, 2645, 2645, 2655, 2655, 2665, 2672, - 2679, 2679, 2688, 2688, 2698, 2698, 2708, 2708, 2720, 2720, - 2732, 2732, 2742, 2743, 2744, 2750, 2751, 2754, 2754, 2765, - 2773, 2773, 2786, 2787, 2788, 2794, 2794, 2802, 2803, 2804, - 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2818, 2824, 2824, - 2833, 2833, 2844, 2845, 2846, 2851, 2851, 2859, 2860, 2861, - 2866, 2867, 2868, 2869, 2870, 2873, 2873, 2882, 2888, 2894, - 2900, 2900, 2909, 2909, 2920, 2921, 2922, 2927, 2928, 2929, - 2932, 2938 + 0, 304, 304, 304, 305, 305, 306, 306, 307, 307, + 308, 308, 309, 309, 310, 310, 311, 311, 312, 312, + 313, 313, 314, 314, 315, 315, 316, 316, 324, 325, + 326, 327, 328, 329, 330, 333, 338, 338, 349, 352, + 353, 356, 361, 367, 372, 372, 379, 380, 383, 387, + 391, 397, 397, 404, 405, 408, 412, 416, 426, 435, + 435, 450, 450, 464, 467, 473, 473, 482, 483, 484, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 558, 564, 570, 576, 582, + 588, 594, 600, 606, 612, 618, 624, 624, 633, 639, + 639, 648, 654, 660, 666, 672, 678, 684, 684, 693, + 696, 699, 702, 705, 711, 711, 720, 720, 729, 735, + 741, 741, 750, 750, 759, 765, 771, 777, 783, 789, + 795, 795, 807, 808, 809, 814, 815, 816, 817, 818, + 819, 820, 821, 822, 823, 826, 826, 835, 835, 846, + 846, 854, 855, 858, 858, 866, 868, 872, 878, 884, + 890, 896, 896, 909, 909, 920, 921, 922, 927, 928, + 931, 931, 950, 950, 968, 968, 981, 981, 992, 993, + 996, 997, 998, 1003, 1003, 1013, 1014, 1015, 1020, 1021, + 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 1044, 1044, 1052, 1053, 1054, 1057, 1057, 1066, 1066, 1075, + 1075, 1084, 1090, 1090, 1099, 1105, 1111, 1117, 1123, 1129, + 1135, 1141, 1147, 1153, 1153, 1161, 1162, 1163, 1166, 1172, + 1172, 1181, 1181, 1190, 1190, 1199, 1199, 1208, 1208, 1219, + 1220, 1221, 1226, 1227, 1228, 1229, 1230, 1233, 1238, 1243, + 1248, 1253, 1260, 1260, 1273, 1274, 1275, 1280, 1281, 1282, + 1283, 1284, 1285, 1288, 1294, 1300, 1306, 1306, 1317, 1318, + 1321, 1322, 1323, 1328, 1328, 1338, 1338, 1348, 1349, 1350, + 1353, 1356, 1357, 1360, 1360, 1369, 1369, 1378, 1378, 1390, + 1391, 1392, 1397, 1398, 1399, 1400, 1401, 1402, 1405, 1411, + 1417, 1423, 1429, 1435, 1444, 1444, 1458, 1459, 1462, 1463, + 1464, 1473, 1473, 1499, 1499, 1510, 1511, 1512, 1518, 1519, + 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, + 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, + 1560, 1561, 1562, 1563, 1566, 1566, 1575, 1575, 1584, 1584, + 1593, 1593, 1602, 1602, 1611, 1611, 1620, 1620, 1631, 1637, + 1643, 1649, 1649, 1657, 1658, 1659, 1660, 1663, 1671, 1671, + 1683, 1684, 1688, 1689, 1690, 1695, 1695, 1703, 1704, 1705, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1757, 1757, 1771, 1771, 1780, 1781, 1784, 1785, 1786, + 1793, 1793, 1808, 1808, 1822, 1823, 1826, 1827, 1828, 1833, + 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1845, + 1847, 1853, 1855, 1855, 1864, 1864, 1873, 1873, 1882, 1884, + 1884, 1893, 1903, 1903, 1916, 1917, 1922, 1923, 1924, 1931, + 1931, 1943, 1943, 1955, 1956, 1961, 1962, 1963, 1970, 1971, + 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1982, 1984, + 1984, 1993, 1995, 1997, 2003, 2009, 2018, 2018, 2031, 2032, + 2035, 2036, 2037, 2042, 2042, 2052, 2052, 2062, 2063, 2064, + 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2078, 2078, 2087, + 2087, 2112, 2112, 2142, 2142, 2153, 2154, 2157, 2158, 2159, + 2164, 2164, 2173, 2173, 2182, 2183, 2186, 2187, 2188, 2194, + 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, + 2205, 2206, 2207, 2208, 2211, 2211, 2220, 2220, 2229, 2229, + 2238, 2238, 2247, 2247, 2258, 2258, 2267, 2267, 2276, 2276, + 2285, 2285, 2294, 2294, 2303, 2303, 2312, 2312, 2326, 2326, + 2337, 2338, 2344, 2344, 2355, 2356, 2357, 2362, 2362, 2372, + 2373, 2376, 2377, 2378, 2383, 2384, 2385, 2386, 2387, 2388, + 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2400, + 2402, 2402, 2411, 2411, 2420, 2428, 2436, 2436, 2447, 2448, + 2449, 2454, 2455, 2456, 2457, 2458, 2461, 2461, 2470, 2470, + 2482, 2482, 2495, 2496, 2497, 2502, 2503, 2504, 2505, 2506, + 2507, 2510, 2516, 2516, 2525, 2531, 2531, 2541, 2541, 2554, + 2554, 2564, 2565, 2566, 2571, 2572, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, + 2587, 2588, 2591, 2597, 2597, 2606, 2612, 2612, 2621, 2627, + 2633, 2633, 2642, 2643, 2646, 2646, 2656, 2656, 2666, 2673, + 2680, 2680, 2689, 2689, 2699, 2699, 2709, 2709, 2721, 2721, + 2733, 2733, 2743, 2744, 2745, 2751, 2752, 2755, 2755, 2766, + 2774, 2774, 2787, 2788, 2789, 2795, 2795, 2803, 2804, 2805, + 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2819, 2825, 2825, + 2834, 2834, 2845, 2846, 2847, 2852, 2852, 2860, 2861, 2862, + 2867, 2868, 2869, 2870, 2871, 2874, 2874, 2883, 2889, 2895, + 2901, 2901, 2910, 2910, 2921, 2922, 2923, 2928, 2929, 2930, + 2931, 2934, 2940, 2946 }; void @@ -6322,9 +6299,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6326 "dhcp4_parser.cc" +#line 6303 "dhcp4_parser.cc" -#line 2944 "dhcp4_parser.yy" +#line 2952 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index 2dd4497ce5..bcad63c0c5 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -693,23 +693,24 @@ namespace isc { namespace dhcp { TOKEN_COMPATIBILITY = 449, // "compatibility" TOKEN_LENIENT_OPTION_PARSING = 450, // "lenient-option-parsing" TOKEN_IGNORE_RAI_LINK_SEL = 451, // "ignore-rai-link-selection" - TOKEN_TOPLEVEL_JSON = 452, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 453, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 454, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 455, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 456, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 457, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 458, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 459, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 460, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 461, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 462, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 463, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 464, // SUB_CONFIG_CONTROL - TOKEN_STRING = 465, // "constant string" - TOKEN_INTEGER = 466, // "integer" - TOKEN_FLOAT = 467, // "floating point" - TOKEN_BOOLEAN = 468 // "boolean" + TOKEN_EXCLUDE_FIRST_LAST_24 = 452, // "exclude-first-last-24" + TOKEN_TOPLEVEL_JSON = 453, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 454, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 455, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 456, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 457, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 458, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 459, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 460, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 461, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 462, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 463, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 464, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 465, // SUB_CONFIG_CONTROL + TOKEN_STRING = 466, // "constant string" + TOKEN_INTEGER = 467, // "integer" + TOKEN_FLOAT = 468, // "floating point" + TOKEN_BOOLEAN = 469 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -726,7 +727,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 214, ///< Number of tokens. + YYNTOKENS = 215, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -925,456 +926,458 @@ namespace isc { namespace dhcp { S_COMPATIBILITY = 194, // "compatibility" S_LENIENT_OPTION_PARSING = 195, // "lenient-option-parsing" S_IGNORE_RAI_LINK_SEL = 196, // "ignore-rai-link-selection" - S_TOPLEVEL_JSON = 197, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 198, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 199, // SUB_DHCP4 - S_SUB_INTERFACES4 = 200, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 201, // SUB_SUBNET4 - S_SUB_POOL4 = 202, // SUB_POOL4 - S_SUB_RESERVATION = 203, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 204, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 205, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 206, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 207, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 208, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 209, // SUB_CONFIG_CONTROL - S_STRING = 210, // "constant string" - S_INTEGER = 211, // "integer" - S_FLOAT = 212, // "floating point" - S_BOOLEAN = 213, // "boolean" - S_YYACCEPT = 214, // $accept - S_start = 215, // start - S_216_1 = 216, // $@1 - S_217_2 = 217, // $@2 - S_218_3 = 218, // $@3 - S_219_4 = 219, // $@4 - S_220_5 = 220, // $@5 - S_221_6 = 221, // $@6 - S_222_7 = 222, // $@7 - S_223_8 = 223, // $@8 - S_224_9 = 224, // $@9 - S_225_10 = 225, // $@10 - S_226_11 = 226, // $@11 - S_227_12 = 227, // $@12 - S_228_13 = 228, // $@13 - S_value = 229, // value - S_sub_json = 230, // sub_json - S_map2 = 231, // map2 - S_232_14 = 232, // $@14 - S_map_value = 233, // map_value - S_map_content = 234, // map_content - S_not_empty_map = 235, // not_empty_map - S_list_generic = 236, // list_generic - S_237_15 = 237, // $@15 - S_list_content = 238, // list_content - S_not_empty_list = 239, // not_empty_list - S_list_strings = 240, // list_strings - S_241_16 = 241, // $@16 - S_list_strings_content = 242, // list_strings_content - S_not_empty_list_strings = 243, // not_empty_list_strings - S_unknown_map_entry = 244, // unknown_map_entry - S_syntax_map = 245, // syntax_map - S_246_17 = 246, // $@17 - S_global_object = 247, // global_object - S_248_18 = 248, // $@18 - S_global_object_comma = 249, // global_object_comma - S_sub_dhcp4 = 250, // sub_dhcp4 - S_251_19 = 251, // $@19 - S_global_params = 252, // global_params - S_global_param = 253, // global_param - S_valid_lifetime = 254, // valid_lifetime - S_min_valid_lifetime = 255, // min_valid_lifetime - S_max_valid_lifetime = 256, // max_valid_lifetime - S_renew_timer = 257, // renew_timer - S_rebind_timer = 258, // rebind_timer - S_calculate_tee_times = 259, // calculate_tee_times - S_t1_percent = 260, // t1_percent - S_t2_percent = 261, // t2_percent - S_cache_threshold = 262, // cache_threshold - S_cache_max_age = 263, // cache_max_age - S_decline_probation_period = 264, // decline_probation_period - S_server_tag = 265, // server_tag - S_266_20 = 266, // $@20 - S_parked_packet_limit = 267, // parked_packet_limit - S_allocator = 268, // allocator - S_269_21 = 269, // $@21 - S_echo_client_id = 270, // echo_client_id - S_match_client_id = 271, // match_client_id - S_authoritative = 272, // authoritative - S_ddns_send_updates = 273, // ddns_send_updates - S_ddns_override_no_update = 274, // ddns_override_no_update - S_ddns_override_client_update = 275, // ddns_override_client_update - S_ddns_replace_client_name = 276, // ddns_replace_client_name - S_277_22 = 277, // $@22 - S_ddns_replace_client_name_value = 278, // ddns_replace_client_name_value - S_ddns_generated_prefix = 279, // ddns_generated_prefix - S_280_23 = 280, // $@23 - S_ddns_qualifying_suffix = 281, // ddns_qualifying_suffix - S_282_24 = 282, // $@24 - S_ddns_update_on_renew = 283, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 284, // ddns_use_conflict_resolution - S_hostname_char_set = 285, // hostname_char_set - S_286_25 = 286, // $@25 - S_hostname_char_replacement = 287, // hostname_char_replacement - S_288_26 = 288, // $@26 - S_store_extended_info = 289, // store_extended_info - S_statistic_default_sample_count = 290, // statistic_default_sample_count - S_statistic_default_sample_age = 291, // statistic_default_sample_age - S_early_global_reservations_lookup = 292, // early_global_reservations_lookup - S_ip_reservations_unique = 293, // ip_reservations_unique - S_reservations_lookup_first = 294, // reservations_lookup_first - S_interfaces_config = 295, // interfaces_config - S_296_27 = 296, // $@27 - S_interfaces_config_params = 297, // interfaces_config_params - S_interfaces_config_param = 298, // interfaces_config_param - S_sub_interfaces4 = 299, // sub_interfaces4 - S_300_28 = 300, // $@28 - S_interfaces_list = 301, // interfaces_list - S_302_29 = 302, // $@29 - S_dhcp_socket_type = 303, // dhcp_socket_type - S_304_30 = 304, // $@30 - S_socket_type = 305, // socket_type - S_outbound_interface = 306, // outbound_interface - S_307_31 = 307, // $@31 - S_outbound_interface_value = 308, // outbound_interface_value - S_re_detect = 309, // re_detect - S_service_sockets_require_all = 310, // service_sockets_require_all - S_service_sockets_retry_wait_time = 311, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 312, // service_sockets_max_retries - S_lease_database = 313, // lease_database - S_314_32 = 314, // $@32 - S_sanity_checks = 315, // sanity_checks - S_316_33 = 316, // $@33 - S_sanity_checks_params = 317, // sanity_checks_params - S_sanity_checks_param = 318, // sanity_checks_param - S_lease_checks = 319, // lease_checks - S_320_34 = 320, // $@34 - S_extended_info_checks = 321, // extended_info_checks - S_322_35 = 322, // $@35 - S_hosts_database = 323, // hosts_database - S_324_36 = 324, // $@36 - S_hosts_databases = 325, // hosts_databases - S_326_37 = 326, // $@37 - S_database_list = 327, // database_list - S_not_empty_database_list = 328, // not_empty_database_list - S_database = 329, // database - S_330_38 = 330, // $@38 - S_database_map_params = 331, // database_map_params - S_database_map_param = 332, // database_map_param - S_database_type = 333, // database_type - S_334_39 = 334, // $@39 - S_db_type = 335, // db_type - S_user = 336, // user - S_337_40 = 337, // $@40 - S_password = 338, // password - S_339_41 = 339, // $@41 - S_host = 340, // host - S_341_42 = 341, // $@42 - S_port = 342, // port - S_name = 343, // name - S_344_43 = 344, // $@43 - S_persist = 345, // persist - S_lfc_interval = 346, // lfc_interval - S_readonly = 347, // readonly - S_connect_timeout = 348, // connect_timeout - S_read_timeout = 349, // read_timeout - S_write_timeout = 350, // write_timeout - S_tcp_user_timeout = 351, // tcp_user_timeout - S_max_reconnect_tries = 352, // max_reconnect_tries - S_reconnect_wait_time = 353, // reconnect_wait_time - S_on_fail = 354, // on_fail - S_355_44 = 355, // $@44 - S_on_fail_mode = 356, // on_fail_mode - S_max_row_errors = 357, // max_row_errors - S_trust_anchor = 358, // trust_anchor - S_359_45 = 359, // $@45 - S_cert_file = 360, // cert_file - S_361_46 = 361, // $@46 - S_key_file = 362, // key_file - S_363_47 = 363, // $@47 - S_cipher_list = 364, // cipher_list - S_365_48 = 365, // $@48 - S_host_reservation_identifiers = 366, // host_reservation_identifiers - S_367_49 = 367, // $@49 - S_host_reservation_identifiers_list = 368, // host_reservation_identifiers_list - S_host_reservation_identifier = 369, // host_reservation_identifier - S_duid_id = 370, // duid_id - S_hw_address_id = 371, // hw_address_id - S_circuit_id = 372, // circuit_id - S_client_id = 373, // client_id - S_flex_id = 374, // flex_id - S_dhcp_multi_threading = 375, // dhcp_multi_threading - S_376_50 = 376, // $@50 - S_multi_threading_params = 377, // multi_threading_params - S_multi_threading_param = 378, // multi_threading_param - S_enable_multi_threading = 379, // enable_multi_threading - S_thread_pool_size = 380, // thread_pool_size - S_packet_queue_size = 381, // packet_queue_size - S_hooks_libraries = 382, // hooks_libraries - S_383_51 = 383, // $@51 - S_hooks_libraries_list = 384, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 385, // not_empty_hooks_libraries_list - S_hooks_library = 386, // hooks_library - S_387_52 = 387, // $@52 - S_sub_hooks_library = 388, // sub_hooks_library - S_389_53 = 389, // $@53 - S_hooks_params = 390, // hooks_params - S_hooks_param = 391, // hooks_param - S_library = 392, // library - S_393_54 = 393, // $@54 - S_parameters = 394, // parameters - S_395_55 = 395, // $@55 - S_expired_leases_processing = 396, // expired_leases_processing - S_397_56 = 397, // $@56 - S_expired_leases_params = 398, // expired_leases_params - S_expired_leases_param = 399, // expired_leases_param - S_reclaim_timer_wait_time = 400, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 401, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 402, // hold_reclaimed_time - S_max_reclaim_leases = 403, // max_reclaim_leases - S_max_reclaim_time = 404, // max_reclaim_time - S_unwarned_reclaim_cycles = 405, // unwarned_reclaim_cycles - S_subnet4_list = 406, // subnet4_list - S_407_57 = 407, // $@57 - S_subnet4_list_content = 408, // subnet4_list_content - S_not_empty_subnet4_list = 409, // not_empty_subnet4_list - S_subnet4 = 410, // subnet4 - S_411_58 = 411, // $@58 - S_sub_subnet4 = 412, // sub_subnet4 - S_413_59 = 413, // $@59 - S_subnet4_params = 414, // subnet4_params - S_subnet4_param = 415, // subnet4_param - S_subnet = 416, // subnet - S_417_60 = 417, // $@60 - S_subnet_4o6_interface = 418, // subnet_4o6_interface - S_419_61 = 419, // $@61 - S_subnet_4o6_interface_id = 420, // subnet_4o6_interface_id - S_421_62 = 421, // $@62 - S_subnet_4o6_subnet = 422, // subnet_4o6_subnet - S_423_63 = 423, // $@63 - S_interface = 424, // interface - S_425_64 = 425, // $@64 - S_client_class = 426, // client_class - S_427_65 = 427, // $@65 - S_require_client_classes = 428, // require_client_classes - S_429_66 = 429, // $@66 - S_reservations_global = 430, // reservations_global - S_reservations_in_subnet = 431, // reservations_in_subnet - S_reservations_out_of_pool = 432, // reservations_out_of_pool - S_reservation_mode = 433, // reservation_mode - S_434_67 = 434, // $@67 - S_hr_mode = 435, // hr_mode - S_id = 436, // id - S_shared_networks = 437, // shared_networks - S_438_68 = 438, // $@68 - S_shared_networks_content = 439, // shared_networks_content - S_shared_networks_list = 440, // shared_networks_list - S_shared_network = 441, // shared_network - S_442_69 = 442, // $@69 - S_shared_network_params = 443, // shared_network_params - S_shared_network_param = 444, // shared_network_param - S_option_def_list = 445, // option_def_list - S_446_70 = 446, // $@70 - S_sub_option_def_list = 447, // sub_option_def_list - S_448_71 = 448, // $@71 - S_option_def_list_content = 449, // option_def_list_content - S_not_empty_option_def_list = 450, // not_empty_option_def_list - S_option_def_entry = 451, // option_def_entry - S_452_72 = 452, // $@72 - S_sub_option_def = 453, // sub_option_def - S_454_73 = 454, // $@73 - S_option_def_params = 455, // option_def_params - S_not_empty_option_def_params = 456, // not_empty_option_def_params - S_option_def_param = 457, // option_def_param - S_option_def_name = 458, // option_def_name - S_code = 459, // code - S_option_def_code = 460, // option_def_code - S_option_def_type = 461, // option_def_type - S_462_74 = 462, // $@74 - S_option_def_record_types = 463, // option_def_record_types - S_464_75 = 464, // $@75 - S_space = 465, // space - S_466_76 = 466, // $@76 - S_option_def_space = 467, // option_def_space - S_option_def_encapsulate = 468, // option_def_encapsulate - S_469_77 = 469, // $@77 - S_option_def_array = 470, // option_def_array - S_option_data_list = 471, // option_data_list - S_472_78 = 472, // $@78 - S_option_data_list_content = 473, // option_data_list_content - S_not_empty_option_data_list = 474, // not_empty_option_data_list - S_option_data_entry = 475, // option_data_entry - S_476_79 = 476, // $@79 - S_sub_option_data = 477, // sub_option_data - S_478_80 = 478, // $@80 - S_option_data_params = 479, // option_data_params - S_not_empty_option_data_params = 480, // not_empty_option_data_params - S_option_data_param = 481, // option_data_param - S_option_data_name = 482, // option_data_name - S_option_data_data = 483, // option_data_data - S_484_81 = 484, // $@81 - S_option_data_code = 485, // option_data_code - S_option_data_space = 486, // option_data_space - S_option_data_csv_format = 487, // option_data_csv_format - S_option_data_always_send = 488, // option_data_always_send - S_option_data_never_send = 489, // option_data_never_send - S_pools_list = 490, // pools_list - S_491_82 = 491, // $@82 - S_pools_list_content = 492, // pools_list_content - S_not_empty_pools_list = 493, // not_empty_pools_list - S_pool_list_entry = 494, // pool_list_entry - S_495_83 = 495, // $@83 - S_sub_pool4 = 496, // sub_pool4 - S_497_84 = 497, // $@84 - S_pool_params = 498, // pool_params - S_pool_param = 499, // pool_param - S_pool_entry = 500, // pool_entry - S_501_85 = 501, // $@85 - S_user_context = 502, // user_context - S_503_86 = 503, // $@86 - S_comment = 504, // comment - S_505_87 = 505, // $@87 - S_reservations = 506, // reservations - S_507_88 = 507, // $@88 - S_reservations_list = 508, // reservations_list - S_not_empty_reservations_list = 509, // not_empty_reservations_list - S_reservation = 510, // reservation - S_511_89 = 511, // $@89 - S_sub_reservation = 512, // sub_reservation - S_513_90 = 513, // $@90 - S_reservation_params = 514, // reservation_params - S_not_empty_reservation_params = 515, // not_empty_reservation_params - S_reservation_param = 516, // reservation_param - S_next_server = 517, // next_server - S_518_91 = 518, // $@91 - S_server_hostname = 519, // server_hostname - S_520_92 = 520, // $@92 - S_boot_file_name = 521, // boot_file_name - S_522_93 = 522, // $@93 - S_ip_address = 523, // ip_address - S_524_94 = 524, // $@94 - S_ip_addresses = 525, // ip_addresses - S_526_95 = 526, // $@95 - S_duid = 527, // duid - S_528_96 = 528, // $@96 - S_hw_address = 529, // hw_address - S_530_97 = 530, // $@97 - S_client_id_value = 531, // client_id_value - S_532_98 = 532, // $@98 - S_circuit_id_value = 533, // circuit_id_value - S_534_99 = 534, // $@99 - S_flex_id_value = 535, // flex_id_value - S_536_100 = 536, // $@100 - S_hostname = 537, // hostname - S_538_101 = 538, // $@101 - S_reservation_client_classes = 539, // reservation_client_classes - S_540_102 = 540, // $@102 - S_relay = 541, // relay - S_542_103 = 542, // $@103 - S_relay_map = 543, // relay_map - S_client_classes = 544, // client_classes - S_545_104 = 545, // $@104 - S_client_classes_list = 546, // client_classes_list - S_client_class_entry = 547, // client_class_entry - S_548_105 = 548, // $@105 - S_client_class_params = 549, // client_class_params - S_not_empty_client_class_params = 550, // not_empty_client_class_params - S_client_class_param = 551, // client_class_param - S_client_class_name = 552, // client_class_name - S_client_class_test = 553, // client_class_test - S_554_106 = 554, // $@106 - S_client_class_template_test = 555, // client_class_template_test - S_556_107 = 556, // $@107 - S_only_if_required = 557, // only_if_required - S_dhcp4o6_port = 558, // dhcp4o6_port - S_control_socket = 559, // control_socket - S_560_108 = 560, // $@108 - S_control_socket_params = 561, // control_socket_params - S_control_socket_param = 562, // control_socket_param - S_control_socket_type = 563, // control_socket_type - S_564_109 = 564, // $@109 - S_control_socket_name = 565, // control_socket_name - S_566_110 = 566, // $@110 - S_dhcp_queue_control = 567, // dhcp_queue_control - S_568_111 = 568, // $@111 - S_queue_control_params = 569, // queue_control_params - S_queue_control_param = 570, // queue_control_param - S_enable_queue = 571, // enable_queue - S_queue_type = 572, // queue_type - S_573_112 = 573, // $@112 - S_capacity = 574, // capacity - S_arbitrary_map_entry = 575, // arbitrary_map_entry - S_576_113 = 576, // $@113 - S_dhcp_ddns = 577, // dhcp_ddns - S_578_114 = 578, // $@114 - S_sub_dhcp_ddns = 579, // sub_dhcp_ddns - S_580_115 = 580, // $@115 - S_dhcp_ddns_params = 581, // dhcp_ddns_params - S_dhcp_ddns_param = 582, // dhcp_ddns_param - S_enable_updates = 583, // enable_updates - S_server_ip = 584, // server_ip - S_585_116 = 585, // $@116 - S_server_port = 586, // server_port - S_sender_ip = 587, // sender_ip - S_588_117 = 588, // $@117 - S_sender_port = 589, // sender_port - S_max_queue_size = 590, // max_queue_size - S_ncr_protocol = 591, // ncr_protocol - S_592_118 = 592, // $@118 - S_ncr_protocol_value = 593, // ncr_protocol_value - S_ncr_format = 594, // ncr_format - S_595_119 = 595, // $@119 - S_dep_qualifying_suffix = 596, // dep_qualifying_suffix - S_597_120 = 597, // $@120 - S_dep_override_no_update = 598, // dep_override_no_update - S_dep_override_client_update = 599, // dep_override_client_update - S_dep_replace_client_name = 600, // dep_replace_client_name - S_601_121 = 601, // $@121 - S_dep_generated_prefix = 602, // dep_generated_prefix - S_603_122 = 603, // $@122 - S_dep_hostname_char_set = 604, // dep_hostname_char_set - S_605_123 = 605, // $@123 - S_dep_hostname_char_replacement = 606, // dep_hostname_char_replacement - S_607_124 = 607, // $@124 - S_config_control = 608, // config_control - S_609_125 = 609, // $@125 - S_sub_config_control = 610, // sub_config_control - S_611_126 = 611, // $@126 - S_config_control_params = 612, // config_control_params - S_config_control_param = 613, // config_control_param - S_config_databases = 614, // config_databases - S_615_127 = 615, // $@127 - S_config_fetch_wait_time = 616, // config_fetch_wait_time - S_loggers = 617, // loggers - S_618_128 = 618, // $@128 - S_loggers_entries = 619, // loggers_entries - S_logger_entry = 620, // logger_entry - S_621_129 = 621, // $@129 - S_logger_params = 622, // logger_params - S_logger_param = 623, // logger_param - S_debuglevel = 624, // debuglevel - S_severity = 625, // severity - S_626_130 = 626, // $@130 - S_output_options_list = 627, // output_options_list - S_628_131 = 628, // $@131 - S_output_options_list_content = 629, // output_options_list_content - S_output_entry = 630, // output_entry - S_631_132 = 631, // $@132 - S_output_params_list = 632, // output_params_list - S_output_params = 633, // output_params - S_output = 634, // output - S_635_133 = 635, // $@133 - S_flush = 636, // flush - S_maxsize = 637, // maxsize - S_maxver = 638, // maxver - S_pattern = 639, // pattern - S_640_134 = 640, // $@134 - S_compatibility = 641, // compatibility - S_642_135 = 642, // $@135 - S_compatibility_params = 643, // compatibility_params - S_compatibility_param = 644, // compatibility_param - S_lenient_option_parsing = 645, // lenient_option_parsing - S_646_ignore_rai_link_selection = 646 // ignore-rai-link-selection + S_EXCLUDE_FIRST_LAST_24 = 197, // "exclude-first-last-24" + S_TOPLEVEL_JSON = 198, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 199, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 200, // SUB_DHCP4 + S_SUB_INTERFACES4 = 201, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 202, // SUB_SUBNET4 + S_SUB_POOL4 = 203, // SUB_POOL4 + S_SUB_RESERVATION = 204, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 205, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 206, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 207, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 208, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 209, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 210, // SUB_CONFIG_CONTROL + S_STRING = 211, // "constant string" + S_INTEGER = 212, // "integer" + S_FLOAT = 213, // "floating point" + S_BOOLEAN = 214, // "boolean" + S_YYACCEPT = 215, // $accept + S_start = 216, // start + S_217_1 = 217, // $@1 + S_218_2 = 218, // $@2 + S_219_3 = 219, // $@3 + S_220_4 = 220, // $@4 + S_221_5 = 221, // $@5 + S_222_6 = 222, // $@6 + S_223_7 = 223, // $@7 + S_224_8 = 224, // $@8 + S_225_9 = 225, // $@9 + S_226_10 = 226, // $@10 + S_227_11 = 227, // $@11 + S_228_12 = 228, // $@12 + S_229_13 = 229, // $@13 + S_value = 230, // value + S_sub_json = 231, // sub_json + S_map2 = 232, // map2 + S_233_14 = 233, // $@14 + S_map_value = 234, // map_value + S_map_content = 235, // map_content + S_not_empty_map = 236, // not_empty_map + S_list_generic = 237, // list_generic + S_238_15 = 238, // $@15 + S_list_content = 239, // list_content + S_not_empty_list = 240, // not_empty_list + S_list_strings = 241, // list_strings + S_242_16 = 242, // $@16 + S_list_strings_content = 243, // list_strings_content + S_not_empty_list_strings = 244, // not_empty_list_strings + S_unknown_map_entry = 245, // unknown_map_entry + S_syntax_map = 246, // syntax_map + S_247_17 = 247, // $@17 + S_global_object = 248, // global_object + S_249_18 = 249, // $@18 + S_global_object_comma = 250, // global_object_comma + S_sub_dhcp4 = 251, // sub_dhcp4 + S_252_19 = 252, // $@19 + S_global_params = 253, // global_params + S_global_param = 254, // global_param + S_valid_lifetime = 255, // valid_lifetime + S_min_valid_lifetime = 256, // min_valid_lifetime + S_max_valid_lifetime = 257, // max_valid_lifetime + S_renew_timer = 258, // renew_timer + S_rebind_timer = 259, // rebind_timer + S_calculate_tee_times = 260, // calculate_tee_times + S_t1_percent = 261, // t1_percent + S_t2_percent = 262, // t2_percent + S_cache_threshold = 263, // cache_threshold + S_cache_max_age = 264, // cache_max_age + S_decline_probation_period = 265, // decline_probation_period + S_server_tag = 266, // server_tag + S_267_20 = 267, // $@20 + S_parked_packet_limit = 268, // parked_packet_limit + S_allocator = 269, // allocator + S_270_21 = 270, // $@21 + S_echo_client_id = 271, // echo_client_id + S_match_client_id = 272, // match_client_id + S_authoritative = 273, // authoritative + S_ddns_send_updates = 274, // ddns_send_updates + S_ddns_override_no_update = 275, // ddns_override_no_update + S_ddns_override_client_update = 276, // ddns_override_client_update + S_ddns_replace_client_name = 277, // ddns_replace_client_name + S_278_22 = 278, // $@22 + S_ddns_replace_client_name_value = 279, // ddns_replace_client_name_value + S_ddns_generated_prefix = 280, // ddns_generated_prefix + S_281_23 = 281, // $@23 + S_ddns_qualifying_suffix = 282, // ddns_qualifying_suffix + S_283_24 = 283, // $@24 + S_ddns_update_on_renew = 284, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 285, // ddns_use_conflict_resolution + S_hostname_char_set = 286, // hostname_char_set + S_287_25 = 287, // $@25 + S_hostname_char_replacement = 288, // hostname_char_replacement + S_289_26 = 289, // $@26 + S_store_extended_info = 290, // store_extended_info + S_statistic_default_sample_count = 291, // statistic_default_sample_count + S_statistic_default_sample_age = 292, // statistic_default_sample_age + S_early_global_reservations_lookup = 293, // early_global_reservations_lookup + S_ip_reservations_unique = 294, // ip_reservations_unique + S_reservations_lookup_first = 295, // reservations_lookup_first + S_interfaces_config = 296, // interfaces_config + S_297_27 = 297, // $@27 + S_interfaces_config_params = 298, // interfaces_config_params + S_interfaces_config_param = 299, // interfaces_config_param + S_sub_interfaces4 = 300, // sub_interfaces4 + S_301_28 = 301, // $@28 + S_interfaces_list = 302, // interfaces_list + S_303_29 = 303, // $@29 + S_dhcp_socket_type = 304, // dhcp_socket_type + S_305_30 = 305, // $@30 + S_socket_type = 306, // socket_type + S_outbound_interface = 307, // outbound_interface + S_308_31 = 308, // $@31 + S_outbound_interface_value = 309, // outbound_interface_value + S_re_detect = 310, // re_detect + S_service_sockets_require_all = 311, // service_sockets_require_all + S_service_sockets_retry_wait_time = 312, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 313, // service_sockets_max_retries + S_lease_database = 314, // lease_database + S_315_32 = 315, // $@32 + S_sanity_checks = 316, // sanity_checks + S_317_33 = 317, // $@33 + S_sanity_checks_params = 318, // sanity_checks_params + S_sanity_checks_param = 319, // sanity_checks_param + S_lease_checks = 320, // lease_checks + S_321_34 = 321, // $@34 + S_extended_info_checks = 322, // extended_info_checks + S_323_35 = 323, // $@35 + S_hosts_database = 324, // hosts_database + S_325_36 = 325, // $@36 + S_hosts_databases = 326, // hosts_databases + S_327_37 = 327, // $@37 + S_database_list = 328, // database_list + S_not_empty_database_list = 329, // not_empty_database_list + S_database = 330, // database + S_331_38 = 331, // $@38 + S_database_map_params = 332, // database_map_params + S_database_map_param = 333, // database_map_param + S_database_type = 334, // database_type + S_335_39 = 335, // $@39 + S_db_type = 336, // db_type + S_user = 337, // user + S_338_40 = 338, // $@40 + S_password = 339, // password + S_340_41 = 340, // $@41 + S_host = 341, // host + S_342_42 = 342, // $@42 + S_port = 343, // port + S_name = 344, // name + S_345_43 = 345, // $@43 + S_persist = 346, // persist + S_lfc_interval = 347, // lfc_interval + S_readonly = 348, // readonly + S_connect_timeout = 349, // connect_timeout + S_read_timeout = 350, // read_timeout + S_write_timeout = 351, // write_timeout + S_tcp_user_timeout = 352, // tcp_user_timeout + S_max_reconnect_tries = 353, // max_reconnect_tries + S_reconnect_wait_time = 354, // reconnect_wait_time + S_on_fail = 355, // on_fail + S_356_44 = 356, // $@44 + S_on_fail_mode = 357, // on_fail_mode + S_max_row_errors = 358, // max_row_errors + S_trust_anchor = 359, // trust_anchor + S_360_45 = 360, // $@45 + S_cert_file = 361, // cert_file + S_362_46 = 362, // $@46 + S_key_file = 363, // key_file + S_364_47 = 364, // $@47 + S_cipher_list = 365, // cipher_list + S_366_48 = 366, // $@48 + S_host_reservation_identifiers = 367, // host_reservation_identifiers + S_368_49 = 368, // $@49 + S_host_reservation_identifiers_list = 369, // host_reservation_identifiers_list + S_host_reservation_identifier = 370, // host_reservation_identifier + S_duid_id = 371, // duid_id + S_hw_address_id = 372, // hw_address_id + S_circuit_id = 373, // circuit_id + S_client_id = 374, // client_id + S_flex_id = 375, // flex_id + S_dhcp_multi_threading = 376, // dhcp_multi_threading + S_377_50 = 377, // $@50 + S_multi_threading_params = 378, // multi_threading_params + S_multi_threading_param = 379, // multi_threading_param + S_enable_multi_threading = 380, // enable_multi_threading + S_thread_pool_size = 381, // thread_pool_size + S_packet_queue_size = 382, // packet_queue_size + S_hooks_libraries = 383, // hooks_libraries + S_384_51 = 384, // $@51 + S_hooks_libraries_list = 385, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 386, // not_empty_hooks_libraries_list + S_hooks_library = 387, // hooks_library + S_388_52 = 388, // $@52 + S_sub_hooks_library = 389, // sub_hooks_library + S_390_53 = 390, // $@53 + S_hooks_params = 391, // hooks_params + S_hooks_param = 392, // hooks_param + S_library = 393, // library + S_394_54 = 394, // $@54 + S_parameters = 395, // parameters + S_396_55 = 396, // $@55 + S_expired_leases_processing = 397, // expired_leases_processing + S_398_56 = 398, // $@56 + S_expired_leases_params = 399, // expired_leases_params + S_expired_leases_param = 400, // expired_leases_param + S_reclaim_timer_wait_time = 401, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 402, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 403, // hold_reclaimed_time + S_max_reclaim_leases = 404, // max_reclaim_leases + S_max_reclaim_time = 405, // max_reclaim_time + S_unwarned_reclaim_cycles = 406, // unwarned_reclaim_cycles + S_subnet4_list = 407, // subnet4_list + S_408_57 = 408, // $@57 + S_subnet4_list_content = 409, // subnet4_list_content + S_not_empty_subnet4_list = 410, // not_empty_subnet4_list + S_subnet4 = 411, // subnet4 + S_412_58 = 412, // $@58 + S_sub_subnet4 = 413, // sub_subnet4 + S_414_59 = 414, // $@59 + S_subnet4_params = 415, // subnet4_params + S_subnet4_param = 416, // subnet4_param + S_subnet = 417, // subnet + S_418_60 = 418, // $@60 + S_subnet_4o6_interface = 419, // subnet_4o6_interface + S_420_61 = 420, // $@61 + S_subnet_4o6_interface_id = 421, // subnet_4o6_interface_id + S_422_62 = 422, // $@62 + S_subnet_4o6_subnet = 423, // subnet_4o6_subnet + S_424_63 = 424, // $@63 + S_interface = 425, // interface + S_426_64 = 426, // $@64 + S_client_class = 427, // client_class + S_428_65 = 428, // $@65 + S_require_client_classes = 429, // require_client_classes + S_430_66 = 430, // $@66 + S_reservations_global = 431, // reservations_global + S_reservations_in_subnet = 432, // reservations_in_subnet + S_reservations_out_of_pool = 433, // reservations_out_of_pool + S_reservation_mode = 434, // reservation_mode + S_435_67 = 435, // $@67 + S_hr_mode = 436, // hr_mode + S_id = 437, // id + S_shared_networks = 438, // shared_networks + S_439_68 = 439, // $@68 + S_shared_networks_content = 440, // shared_networks_content + S_shared_networks_list = 441, // shared_networks_list + S_shared_network = 442, // shared_network + S_443_69 = 443, // $@69 + S_shared_network_params = 444, // shared_network_params + S_shared_network_param = 445, // shared_network_param + S_option_def_list = 446, // option_def_list + S_447_70 = 447, // $@70 + S_sub_option_def_list = 448, // sub_option_def_list + S_449_71 = 449, // $@71 + S_option_def_list_content = 450, // option_def_list_content + S_not_empty_option_def_list = 451, // not_empty_option_def_list + S_option_def_entry = 452, // option_def_entry + S_453_72 = 453, // $@72 + S_sub_option_def = 454, // sub_option_def + S_455_73 = 455, // $@73 + S_option_def_params = 456, // option_def_params + S_not_empty_option_def_params = 457, // not_empty_option_def_params + S_option_def_param = 458, // option_def_param + S_option_def_name = 459, // option_def_name + S_code = 460, // code + S_option_def_code = 461, // option_def_code + S_option_def_type = 462, // option_def_type + S_463_74 = 463, // $@74 + S_option_def_record_types = 464, // option_def_record_types + S_465_75 = 465, // $@75 + S_space = 466, // space + S_467_76 = 467, // $@76 + S_option_def_space = 468, // option_def_space + S_option_def_encapsulate = 469, // option_def_encapsulate + S_470_77 = 470, // $@77 + S_option_def_array = 471, // option_def_array + S_option_data_list = 472, // option_data_list + S_473_78 = 473, // $@78 + S_option_data_list_content = 474, // option_data_list_content + S_not_empty_option_data_list = 475, // not_empty_option_data_list + S_option_data_entry = 476, // option_data_entry + S_477_79 = 477, // $@79 + S_sub_option_data = 478, // sub_option_data + S_479_80 = 479, // $@80 + S_option_data_params = 480, // option_data_params + S_not_empty_option_data_params = 481, // not_empty_option_data_params + S_option_data_param = 482, // option_data_param + S_option_data_name = 483, // option_data_name + S_option_data_data = 484, // option_data_data + S_485_81 = 485, // $@81 + S_option_data_code = 486, // option_data_code + S_option_data_space = 487, // option_data_space + S_option_data_csv_format = 488, // option_data_csv_format + S_option_data_always_send = 489, // option_data_always_send + S_option_data_never_send = 490, // option_data_never_send + S_pools_list = 491, // pools_list + S_492_82 = 492, // $@82 + S_pools_list_content = 493, // pools_list_content + S_not_empty_pools_list = 494, // not_empty_pools_list + S_pool_list_entry = 495, // pool_list_entry + S_496_83 = 496, // $@83 + S_sub_pool4 = 497, // sub_pool4 + S_498_84 = 498, // $@84 + S_pool_params = 499, // pool_params + S_pool_param = 500, // pool_param + S_pool_entry = 501, // pool_entry + S_502_85 = 502, // $@85 + S_user_context = 503, // user_context + S_504_86 = 504, // $@86 + S_comment = 505, // comment + S_506_87 = 506, // $@87 + S_reservations = 507, // reservations + S_508_88 = 508, // $@88 + S_reservations_list = 509, // reservations_list + S_not_empty_reservations_list = 510, // not_empty_reservations_list + S_reservation = 511, // reservation + S_512_89 = 512, // $@89 + S_sub_reservation = 513, // sub_reservation + S_514_90 = 514, // $@90 + S_reservation_params = 515, // reservation_params + S_not_empty_reservation_params = 516, // not_empty_reservation_params + S_reservation_param = 517, // reservation_param + S_next_server = 518, // next_server + S_519_91 = 519, // $@91 + S_server_hostname = 520, // server_hostname + S_521_92 = 521, // $@92 + S_boot_file_name = 522, // boot_file_name + S_523_93 = 523, // $@93 + S_ip_address = 524, // ip_address + S_525_94 = 525, // $@94 + S_ip_addresses = 526, // ip_addresses + S_527_95 = 527, // $@95 + S_duid = 528, // duid + S_529_96 = 529, // $@96 + S_hw_address = 530, // hw_address + S_531_97 = 531, // $@97 + S_client_id_value = 532, // client_id_value + S_533_98 = 533, // $@98 + S_circuit_id_value = 534, // circuit_id_value + S_535_99 = 535, // $@99 + S_flex_id_value = 536, // flex_id_value + S_537_100 = 537, // $@100 + S_hostname = 538, // hostname + S_539_101 = 539, // $@101 + S_reservation_client_classes = 540, // reservation_client_classes + S_541_102 = 541, // $@102 + S_relay = 542, // relay + S_543_103 = 543, // $@103 + S_relay_map = 544, // relay_map + S_client_classes = 545, // client_classes + S_546_104 = 546, // $@104 + S_client_classes_list = 547, // client_classes_list + S_client_class_entry = 548, // client_class_entry + S_549_105 = 549, // $@105 + S_client_class_params = 550, // client_class_params + S_not_empty_client_class_params = 551, // not_empty_client_class_params + S_client_class_param = 552, // client_class_param + S_client_class_name = 553, // client_class_name + S_client_class_test = 554, // client_class_test + S_555_106 = 555, // $@106 + S_client_class_template_test = 556, // client_class_template_test + S_557_107 = 557, // $@107 + S_only_if_required = 558, // only_if_required + S_dhcp4o6_port = 559, // dhcp4o6_port + S_control_socket = 560, // control_socket + S_561_108 = 561, // $@108 + S_control_socket_params = 562, // control_socket_params + S_control_socket_param = 563, // control_socket_param + S_control_socket_type = 564, // control_socket_type + S_565_109 = 565, // $@109 + S_control_socket_name = 566, // control_socket_name + S_567_110 = 567, // $@110 + S_dhcp_queue_control = 568, // dhcp_queue_control + S_569_111 = 569, // $@111 + S_queue_control_params = 570, // queue_control_params + S_queue_control_param = 571, // queue_control_param + S_enable_queue = 572, // enable_queue + S_queue_type = 573, // queue_type + S_574_112 = 574, // $@112 + S_capacity = 575, // capacity + S_arbitrary_map_entry = 576, // arbitrary_map_entry + S_577_113 = 577, // $@113 + S_dhcp_ddns = 578, // dhcp_ddns + S_579_114 = 579, // $@114 + S_sub_dhcp_ddns = 580, // sub_dhcp_ddns + S_581_115 = 581, // $@115 + S_dhcp_ddns_params = 582, // dhcp_ddns_params + S_dhcp_ddns_param = 583, // dhcp_ddns_param + S_enable_updates = 584, // enable_updates + S_server_ip = 585, // server_ip + S_586_116 = 586, // $@116 + S_server_port = 587, // server_port + S_sender_ip = 588, // sender_ip + S_589_117 = 589, // $@117 + S_sender_port = 590, // sender_port + S_max_queue_size = 591, // max_queue_size + S_ncr_protocol = 592, // ncr_protocol + S_593_118 = 593, // $@118 + S_ncr_protocol_value = 594, // ncr_protocol_value + S_ncr_format = 595, // ncr_format + S_596_119 = 596, // $@119 + S_dep_qualifying_suffix = 597, // dep_qualifying_suffix + S_598_120 = 598, // $@120 + S_dep_override_no_update = 599, // dep_override_no_update + S_dep_override_client_update = 600, // dep_override_client_update + S_dep_replace_client_name = 601, // dep_replace_client_name + S_602_121 = 602, // $@121 + S_dep_generated_prefix = 603, // dep_generated_prefix + S_604_122 = 604, // $@122 + S_dep_hostname_char_set = 605, // dep_hostname_char_set + S_606_123 = 606, // $@123 + S_dep_hostname_char_replacement = 607, // dep_hostname_char_replacement + S_608_124 = 608, // $@124 + S_config_control = 609, // config_control + S_610_125 = 610, // $@125 + S_sub_config_control = 611, // sub_config_control + S_612_126 = 612, // $@126 + S_config_control_params = 613, // config_control_params + S_config_control_param = 614, // config_control_param + S_config_databases = 615, // config_databases + S_616_127 = 616, // $@127 + S_config_fetch_wait_time = 617, // config_fetch_wait_time + S_loggers = 618, // loggers + S_619_128 = 619, // $@128 + S_loggers_entries = 620, // loggers_entries + S_logger_entry = 621, // logger_entry + S_622_129 = 622, // $@129 + S_logger_params = 623, // logger_params + S_logger_param = 624, // logger_param + S_debuglevel = 625, // debuglevel + S_severity = 626, // severity + S_627_130 = 627, // $@130 + S_output_options_list = 628, // output_options_list + S_629_131 = 629, // $@131 + S_output_options_list_content = 630, // output_options_list_content + S_output_entry = 631, // output_entry + S_632_132 = 632, // $@132 + S_output_params_list = 633, // output_params_list + S_output_params = 634, // output_params + S_output = 635, // output + S_636_133 = 636, // $@133 + S_flush = 637, // flush + S_maxsize = 638, // maxsize + S_maxver = 639, // maxver + S_pattern = 640, // pattern + S_641_134 = 641, // $@134 + S_compatibility = 642, // compatibility + S_643_135 = 643, // $@135 + S_compatibility_params = 644, // compatibility_params + S_compatibility_param = 645, // compatibility_param + S_lenient_option_parsing = 646, // lenient_option_parsing + S_647_ignore_rai_link_selection = 647, // ignore-rai-link-selection + S_exclude_first_last_24 = 648 // exclude_first_last_24 }; }; @@ -4736,6 +4739,21 @@ switch (yykind) return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_EXCLUDE_FIRST_LAST_24 (location_type l) + { + return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l)); + } +#else + static + symbol_type + make_EXCLUDE_FIRST_LAST_24 (const location_type& l) + { + return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5321,8 +5339,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1473, ///< Last index in yytable_. - yynnts_ = 433, ///< Number of nonterminal symbols. + yylast_ = 1306, ///< Last index in yytable_. + yynnts_ = 434, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5388,10 +5406,10 @@ switch (yykind) 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213 + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214 }; // Last valid token kind. - const int code_max = 468; + const int code_max = 469; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5564,7 +5582,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5568 "dhcp4_parser.h" +#line 5586 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 4c71c8d1fc..ff19102db9 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 202303061636 +// Generated 202303131406 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 960bb92dd5..2b2df149d8 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,4 +1,4 @@ -// Generated 202303061636 +// Generated 202303131406 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++