diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 1da6ba65f2..02dc3a4b0c 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 203 -#define YY_END_OF_BUFFER 204 +#define YY_NUM_RULES 204 +#define YY_END_OF_BUFFER 205 /* 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[1888] = +static const flex_int16_t yy_accept[1898] = { 0, - 196, 196, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 202, 10, 11, 202, 1, 196, 193, 196, 196, - 202, 195, 194, 202, 202, 202, 202, 202, 189, 190, - 202, 202, 202, 191, 192, 5, 5, 5, 202, 202, - 202, 10, 11, 0, 0, 184, 0, 0, 0, 0, + 197, 197, 0, 0, 0, 0, 0, 0, 0, 0, + 205, 203, 10, 11, 203, 1, 197, 194, 197, 197, + 203, 196, 195, 203, 203, 203, 203, 203, 190, 191, + 203, 203, 203, 192, 193, 5, 5, 5, 203, 203, + 203, 10, 11, 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, 1, 196, 196, - 0, 195, 196, 3, 2, 6, 0, 196, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 185, + 0, 0, 0, 0, 0, 0, 0, 1, 197, 197, + 0, 196, 197, 3, 2, 6, 0, 197, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,10 +724,10 @@ static const flex_int16_t yy_accept[1888] = 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 188, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -735,180 +735,182 @@ static const flex_int16_t yy_accept[1888] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 199, 0, 198, 197, 0, 0, - 0, 0, 0, 0, 0, 166, 0, 165, 0, 0, - 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, + 0, 0, 0, 202, 200, 0, 199, 198, 0, 0, + 0, 0, 0, 0, 0, 0, 168, 0, 167, 0, + 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 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, 200, 197, 0, - 0, 0, 0, 0, 0, 167, 0, 169, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, - 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 18, 0, 0, 0, 0, 201, 198, + 0, 0, 0, 0, 0, 0, 0, 169, 0, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 0, 0, 0, 0, 0, 75, + 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 39, 0, 0, 0, 0, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 78, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 110, 0, 31, - 0, 0, 36, 0, 0, 0, 0, 0, 0, 12, - 171, 170, 0, 0, 0, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, + 0, 31, 0, 0, 36, 0, 0, 0, 0, 0, + 0, 0, 12, 173, 172, 0, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 124, 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, 7, 0, - 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 7, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 129, 98, 0, 0, - 0, 0, 0, 0, 103, 32, 0, 0, 0, 0, + 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 100, 0, + 0, 0, 0, 0, 0, 105, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 107, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, + 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 43, 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, 30, 0, 0, 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, 108, 0, 0, 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, 0, 0, 0, 0, 149, 0, + 117, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 120, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 22, 0, 125, 0, + 0, 0, 0, 116, 22, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 0, 0, 0, 0, 73, 0, 0, - 0, 0, 0, 0, 128, 34, 0, 147, 0, 0, + 160, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 130, 34, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 59, 0, 0, 0, 0, 0, 94, - 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 59, 0, 0, 0, 0, 0, 96, 97, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 180, 0, 74, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, 155, 0, 0, 153, - 0, 144, 143, 0, 0, 0, 49, 0, 0, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, - 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 15, 0, 41, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, - 0, 0, 0, 0, 57, 0, 0, 121, 0, 0, - 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 0, 174, 0, 0, 179, 0, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, 48, 0, 0, 0, 0, 0, 182, - 0, 0, 107, 27, 0, 0, 0, 50, 142, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 0, 150, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 0, 0, 0, 24, 0, 156, 0, 0, - 0, 52, 0, 0, 0, 0, 0, 99, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 0, 0, 96, - 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 0, 0, 0, 26, 0, 0, 178, 0, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 47, 0, 0, 20, 0, 181, 72, - 0, 0, 0, 0, 175, 173, 0, 28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, - 0, 135, 0, 0, 0, 111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 0, 0, 140, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 182, 0, 73, 90, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 155, 0, 146, 145, + 0, 0, 0, 49, 0, 0, 21, 0, 0, 0, + 0, 170, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 139, 0, 0, 148, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, + 15, 0, 41, 0, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, - 0, 0, 0, 0, 0, 0, 0, 134, 0, 55, - 54, 19, 0, 159, 0, 0, 0, 0, 45, 0, - 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 0, 0, 51, - 0, 0, 46, 161, 0, 0, 71, 0, 0, 0, - 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, + 57, 0, 0, 123, 0, 0, 0, 0, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 176, 0, 0, 181, 0, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 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, 48, 0, 0, 0, 0, 0, 184, 0, + 0, 109, 27, 0, 0, 0, 50, 144, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, + 152, 0, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 24, 0, 158, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, + 98, 0, 0, 0, 42, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 129, 0, 0, 0, 26, 0, 0, 180, 0, 0, + 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 0, 0, 0, 0, 0, 20, + 0, 183, 71, 0, 0, 0, 0, 177, 175, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 0, 137, 0, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, + 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 165, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 153, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, + 0, 0, 0, 136, 0, 55, 54, 19, 0, 161, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 0, 0, 0, 51, 0, 0, + 46, 163, 0, 86, 0, 0, 0, 70, 0, 0, + 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 67, 0, 0, 0, 139, 0, 0, 0, 0, 183, - 160, 0, 108, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 131, 0, 136, 0, 65, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 130, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 0, 0, 0, 0, 0, 69, 0, 92, 61, - 0, 0, 0, 0, 60, 132, 0 + 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 29, 0, 0, 67, 0, 0, 141, 0, 0, 0, + 0, 185, 162, 0, 110, 85, 0, 0, 0, 0, + 63, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 138, 0, 65, 58, 0, 0, 0, 0, 84, 0, + 0, 132, 0, 0, 166, 0, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, 0, 0, 94, 61, + 0, 0, 0, 0, 60, 134, 0 + } ; static const YY_CHAR yy_ec[256] = @@ -945,257 +947,258 @@ static const YY_CHAR yy_ec[256] = static const YY_CHAR yy_meta[74] = { 0, - 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, + 3, 3, 3, 5, 5, 5, 5, 5, 3, 3, + 3, 3, 5, 5, 5, 5, 5, 5, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, + 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3 } ; -static const flex_int16_t yy_base[1896] = +static const flex_int16_t yy_base[1910] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2274, 2275, 34, 2270, 145, 0, 207, 2275, 214, 221, - 13, 228, 2275, 2250, 118, 25, 2, 6, 2275, 2275, - 73, 11, 17, 2275, 2275, 2275, 104, 2258, 2211, 0, - 2248, 108, 2265, 24, 262, 2275, 2207, 67, 2213, 84, - 75, 88, 224, 91, 89, 290, 220, 2205, 206, 285, - 206, 204, 212, 60, 232, 2214, 247, 294, 315, 307, - 286, 2197, 230, 325, 354, 328, 2216, 0, 366, 382, - 397, 411, 404, 2275, 0, 2275, 419, 425, 216, 225, - 229, 227, 319, 329, 2275, 2213, 2254, 2275, 300, 2275, + 2298, 2299, 34, 2294, 145, 0, 207, 2299, 214, 221, + 13, 228, 2299, 2274, 118, 25, 2, 6, 2299, 2299, + 73, 11, 17, 2299, 2299, 2299, 104, 2282, 2235, 0, + 2272, 108, 2289, 24, 262, 2299, 2231, 67, 2237, 84, + 75, 88, 224, 91, 89, 290, 220, 2229, 206, 285, + 206, 204, 212, 60, 232, 2238, 247, 294, 315, 307, + 286, 2221, 230, 325, 354, 328, 2240, 0, 366, 382, + 397, 411, 404, 2299, 0, 2299, 419, 425, 216, 225, + 229, 227, 319, 329, 2299, 2237, 2278, 2299, 300, 2299, - 438, 2241, 390, 2210, 331, 10, 406, 311, 408, 414, - 420, 2251, 0, 499, 409, 2193, 2190, 2194, 402, 2190, - 2198, 406, 2194, 2183, 2184, 2189, 78, 2199, 2182, 2191, - 2191, 95, 2182, 239, 2183, 2181, 396, 2229, 2233, 2173, - 2226, 2166, 2189, 2186, 2186, 2180, 336, 2173, 2171, 2172, - 2164, 2169, 2163, 413, 2174, 2167, 2158, 2157, 2171, 423, - 2157, 430, 422, 2151, 472, 420, 432, 2172, 2169, 2170, - 416, 2168, 2203, 2202, 423, 2148, 2148, 2149, 435, 2141, - 2158, 2150, 0, 464, 475, 471, 466, 478, 510, 2149, - 2275, 2194, 515, 2143, 475, 508, 514, 2197, 515, 2196, + 438, 2265, 390, 2234, 331, 10, 406, 311, 408, 414, + 420, 2275, 0, 491, 409, 2217, 2214, 2218, 402, 2214, + 2222, 406, 2218, 2207, 2208, 2213, 78, 2223, 2206, 2215, + 2215, 95, 2206, 239, 2207, 2205, 396, 2253, 2257, 2197, + 2250, 2190, 2213, 2210, 2210, 2204, 336, 2197, 2195, 2196, + 2188, 2193, 2187, 413, 2198, 2191, 2182, 2181, 2195, 423, + 2181, 430, 422, 2175, 465, 420, 432, 2196, 2193, 2194, + 423, 2192, 2227, 2226, 423, 2172, 2172, 2173, 462, 2165, + 2182, 2174, 0, 456, 471, 471, 489, 479, 504, 2173, + 2299, 0, 2218, 509, 2167, 494, 501, 507, 2221, 516, - 511, 2195, 2275, 2275, 557, 2194, 530, 2153, 2145, 2132, - 2143, 2147, 2148, 2145, 2142, 2141, 2132, 493, 2183, 2177, - 2141, 2122, 2119, 2127, 2122, 2136, 2132, 2120, 2132, 2132, - 2123, 2107, 2111, 2124, 2126, 2123, 2115, 2105, 2123, 2275, - 2118, 505, 2103, 2102, 2154, 2101, 2111, 2114, 499, 2110, - 2149, 2094, 2096, 2107, 2145, 2090, 2148, 2083, 2098, 548, - 2088, 2094, 2103, 2084, 2082, 2082, 2088, 2079, 2078, 2085, - 2075, 2134, 2090, 2089, 2083, 529, 2090, 2085, 2077, 2067, - 2082, 2081, 2076, 2080, 166, 2078, 2064, 2070, 2077, 2059, - 2060, 2063, 2060, 2059, 341, 2054, 2068, 2067, 2110, 2069, + 2220, 503, 2219, 2299, 553, 2218, 526, 2177, 2169, 2156, + 2167, 2171, 2172, 2169, 2166, 2165, 2156, 500, 2207, 2201, + 2165, 2146, 2143, 2151, 2146, 2160, 2156, 2144, 2156, 2156, + 2147, 2131, 2135, 2148, 2150, 2147, 2139, 2129, 2147, 2299, + 2142, 498, 2127, 2126, 2178, 2125, 2135, 2138, 541, 2134, + 2173, 2118, 2120, 2131, 2169, 2114, 2172, 2107, 2122, 535, + 2112, 2118, 2127, 2108, 2106, 2106, 2112, 2103, 2102, 2109, + 2099, 2158, 2114, 2113, 2107, 488, 2114, 2109, 2101, 2091, + 2106, 2105, 2100, 2104, 166, 2102, 2088, 2094, 2101, 2083, + 2084, 2087, 2084, 2083, 341, 2078, 2092, 2091, 2134, 2093, - 551, 2060, 527, 2275, 2275, 528, 2275, 2275, 2047, 515, - 546, 2095, 561, 2105, 555, 2275, 2104, 2275, 2098, 605, - 2275, 555, 2038, 2047, 2095, 2055, 2038, 2055, 2036, 2042, - 2094, 2049, 2044, 2047, 2042, 547, 2275, 2044, 2088, 2082, - 2040, 2037, 580, 2043, 2083, 2077, 2030, 2025, 2022, 2073, - 2030, 2019, 2035, 2069, 2015, 606, 2029, 2014, 2027, 2025, - 2013, 2023, 2018, 2025, 2020, 2016, 445, 2014, 2017, 2012, - 1998, 2010, 2006, 2056, 541, 2050, 2275, 2049, 1999, 1998, - 1997, 1990, 1992, 2004, 1995, 1984, 2001, 1996, 593, 2043, - 1996, 1993, 1996, 2275, 1995, 1984, 1984, 1996, 535, 1971, + 399, 2084, 523, 2299, 2299, 536, 2299, 2299, 2071, 0, + 520, 515, 2119, 548, 2129, 548, 2299, 2128, 2299, 2122, + 598, 2299, 547, 2062, 2071, 2119, 2079, 2062, 2079, 2060, + 2066, 2118, 2073, 2068, 2071, 2066, 543, 2299, 2068, 2112, + 2106, 2064, 2061, 576, 2067, 2107, 2101, 2054, 2049, 2046, + 2097, 2054, 2043, 2059, 2093, 2039, 621, 2053, 2038, 2051, + 2049, 2037, 2047, 2042, 2049, 2044, 2040, 528, 2038, 2041, + 2036, 2022, 2034, 2030, 2080, 546, 2074, 2299, 2073, 2023, + 2022, 2021, 2014, 2016, 2028, 2019, 2008, 2025, 2020, 586, + 2067, 2020, 2017, 2020, 2299, 2019, 2008, 2008, 2020, 570, - 1972, 1993, 584, 1975, 2026, 1971, 1985, 1988, 1983, 1969, - 1981, 1980, 1979, 1974, 1977, 1976, 1975, 1974, 568, 2017, - 1976, 2015, 2275, 1957, 1956, 629, 1969, 2275, 2275, 1968, - 1957, 1949, 577, 2008, 2007, 2275, 2006, 2275, 605, 657, - 579, 2005, 1947, 1958, 1997, 1950, 1952, 1951, 1939, 2275, - 1944, 1950, 1953, 1936, 1951, 1938, 1937, 2275, 584, 1939, - 1936, 596, 1934, 1936, 2275, 1944, 1941, 1926, 1939, 1934, - 656, 1941, 1929, 1922, 1973, 2275, 1920, 1936, 1970, 1931, - 1928, 1929, 1913, 1930, 1964, 1915, 1910, 1909, 1960, 1904, - 599, 1923, 1897, 1904, 1909, 1919, 1953, 1957, 2275, 1902, + 1995, 1996, 2017, 580, 1999, 2050, 1995, 2009, 2012, 2007, + 1993, 2005, 2004, 2003, 1998, 2001, 2000, 1999, 1998, 572, + 2041, 2000, 2039, 2299, 1981, 1980, 629, 1993, 2299, 2299, + 1992, 0, 1981, 1973, 573, 2032, 2031, 2299, 2030, 2299, + 604, 672, 603, 2029, 1971, 1982, 2021, 1974, 1976, 1975, + 1963, 2299, 1968, 1974, 1977, 1960, 1975, 1962, 1961, 2299, + 591, 1963, 1960, 607, 1958, 1960, 2299, 1968, 1965, 1950, + 1963, 1958, 653, 1965, 1953, 1946, 1997, 2299, 1944, 1960, + 1994, 1955, 1952, 1953, 1937, 1954, 1988, 1939, 1934, 1933, + 1984, 1928, 560, 1947, 1921, 1928, 1933, 1943, 1977, 1981, - 1898, 1896, 1905, 1899, 1906, 1890, 1890, 1900, 1888, 1902, - 1891, 1887, 1885, 2275, 1942, 2275, 1884, 1895, 1934, 1879, - 1884, 1893, 1887, 1881, 1890, 1932, 1926, 1888, 1871, 1871, - 1866, 1886, 1861, 1867, 1872, 1865, 1873, 1877, 1860, 1918, - 1859, 1911, 1856, 1857, 1856, 1868, 1857, 2275, 1867, 2275, - 1856, 1854, 2275, 1865, 1901, 1861, 1845, 1862, 1902, 2275, - 2275, 2275, 609, 626, 657, 2275, 1853, 1852, 345, 1859, - 1839, 1838, 1891, 1836, 1889, 1834, 1833, 1832, 1839, 1832, - 1844, 1826, 1826, 1841, 1840, 615, 1839, 1838, 1838, 1820, - 1825, 1866, 1833, 1825, 1870, 1814, 1830, 1829, 2275, 1814, + 2299, 1926, 1922, 1920, 1929, 1923, 1930, 1914, 1914, 1924, + 1912, 1926, 1915, 1911, 1909, 2299, 1966, 2299, 1908, 1919, + 1958, 1903, 1908, 1917, 1911, 1905, 1914, 1956, 1950, 1912, + 1895, 1895, 1890, 1910, 1885, 1891, 1896, 1889, 1897, 1901, + 1884, 1942, 1883, 1935, 1880, 1881, 1880, 1892, 1881, 2299, + 1891, 2299, 1880, 1878, 2299, 1889, 1925, 1885, 0, 1869, + 1886, 1926, 2299, 2299, 2299, 608, 607, 655, 2299, 1877, + 1876, 614, 1883, 1863, 1862, 1915, 1860, 1913, 1858, 1857, + 1856, 1863, 1856, 1868, 1850, 1850, 1865, 1864, 1852, 1862, + 1861, 1861, 1843, 1848, 1889, 1856, 1848, 1893, 1837, 1853, - 1811, 1869, 1824, 1816, 1822, 1813, 1821, 1806, 1822, 1804, - 1816, 1817, 552, 1799, 1793, 1798, 1813, 1810, 1811, 1790, - 1800, 1806, 1849, 1804, 1796, 1787, 2275, 1788, 1790, 1799, - 1797, 1836, 1835, 1786, 16, 1795, 1832, 1777, 1778, 1781, - 1774, 2275, 1788, 1767, 1771, 1785, 1777, 1822, 1774, 1781, - 1819, 2275, 1764, 1778, 1762, 1776, 1779, 1760, 1812, 1811, - 1810, 1809, 1754, 1807, 1806, 2275, 1751, 1765, 671, 1766, - 1765, 1762, 1762, 1799, 1759, 1742, 1747, 1749, 2275, 1755, - 1745, 2275, 649, 651, 1739, 1737, 1744, 1754, 1746, 1733, - 1727, 1785, 639, 1789, 643, 1783, 1743, 1781, 1780, 1732, + 1852, 2299, 1837, 1834, 1892, 1847, 1839, 1845, 1836, 1844, + 1829, 1845, 1827, 1839, 1840, 570, 1822, 1816, 1821, 1836, + 1833, 1834, 1813, 1823, 1829, 1872, 1827, 1819, 1810, 2299, + 1811, 1813, 1822, 1820, 1859, 1858, 1809, 16, 1818, 1855, + 1800, 1801, 1804, 1797, 2299, 1811, 1790, 1794, 1808, 1800, + 1845, 1797, 1804, 1842, 2299, 1787, 1801, 1785, 1799, 1802, + 1783, 1835, 1834, 1833, 1832, 1777, 1830, 1829, 2299, 1774, + 1788, 656, 1789, 1788, 1785, 1785, 1822, 1782, 1765, 1770, + 1772, 2299, 1778, 1768, 2299, 637, 625, 1762, 1760, 1767, + 1777, 1769, 1756, 1750, 1808, 628, 1812, 643, 1806, 1766, - 1730, 1738, 1741, 1725, 1726, 1735, 1733, 1715, 1770, 1721, - 1729, 1730, 1766, 1723, 199, 651, 217, 293, 351, 309, - 417, 2275, 444, 502, 562, 640, 649, 646, 649, 648, - 636, 650, 649, 664, 661, 706, 709, 659, 652, 662, - 709, 667, 717, 2275, 718, 671, 673, 669, 663, 666, - 719, 682, 671, 684, 2275, 674, 685, 674, 687, 689, - 733, 734, 677, 688, 673, 696, 675, 681, 736, 700, - 684, 696, 740, 741, 742, 689, 744, 708, 703, 710, - 706, 691, 703, 704, 711, 697, 2275, 762, 720, 722, - 712, 724, 714, 727, 712, 719, 725, 717, 731, 771, + 1804, 1803, 1755, 1753, 1761, 1764, 1748, 1749, 1758, 1739, + 1794, 1745, 1753, 1754, 1790, 1751, 199, 643, 217, 293, + 351, 309, 353, 2299, 419, 446, 483, 544, 612, 610, + 629, 628, 618, 633, 631, 647, 653, 698, 700, 650, + 642, 653, 700, 658, 708, 2299, 709, 662, 664, 666, + 660, 663, 716, 679, 668, 681, 2299, 671, 682, 671, + 684, 686, 730, 731, 674, 685, 670, 693, 672, 678, + 733, 697, 681, 693, 737, 738, 739, 686, 741, 705, + 700, 707, 703, 688, 700, 701, 708, 694, 2299, 759, + 717, 719, 709, 721, 711, 724, 709, 716, 722, 714, - 747, 734, 739, 736, 718, 725, 739, 784, 737, 735, - 744, 2275, 734, 749, 746, 732, 739, 738, 736, 755, - 752, 740, 747, 748, 757, 761, 797, 759, 749, 748, - 747, 758, 754, 810, 767, 752, 753, 759, 775, 765, - 2275, 775, 775, 768, 779, 777, 822, 764, 766, 781, - 768, 767, 829, 786, 772, 775, 2275, 2275, 785, 790, - 795, 783, 793, 795, 2275, 2275, 796, 783, 801, 788, - 782, 787, 805, 792, 842, 793, 845, 791, 795, 853, - 2275, 2275, 798, 802, 801, 798, 858, 811, 801, 802, - 798, 811, 822, 806, 824, 819, 820, 822, 815, 817, + 728, 768, 744, 731, 736, 733, 715, 722, 736, 781, + 734, 732, 741, 2299, 731, 746, 743, 729, 736, 735, + 733, 752, 749, 737, 744, 745, 754, 758, 755, 745, + 743, 743, 754, 750, 806, 763, 748, 749, 755, 771, + 761, 2299, 771, 771, 764, 775, 773, 818, 760, 762, + 777, 764, 763, 825, 782, 768, 771, 2299, 2299, 781, + 786, 791, 779, 789, 791, 2299, 2299, 792, 779, 797, + 784, 778, 783, 801, 788, 838, 789, 841, 787, 791, + 849, 2299, 2299, 794, 798, 797, 794, 854, 807, 797, + 798, 794, 807, 818, 802, 820, 815, 816, 818, 811, - 818, 819, 819, 821, 836, 877, 834, 839, 816, 839, - 823, 2275, 830, 831, 845, 835, 833, 883, 841, 831, - 846, 847, 834, 866, 874, 843, 838, 893, 894, 856, - 896, 2275, 859, 863, 904, 852, 847, 848, 860, 867, - 856, 857, 853, 856, 857, 867, 876, 912, 860, 878, - 871, 866, 924, 881, 882, 873, 2275, 875, 878, 886, - 888, 873, 889, 883, 930, 896, 880, 881, 2275, 897, - 900, 883, 942, 885, 904, 2275, 903, 906, 886, 904, - 944, 902, 898, 895, 948, 949, 911, 897, 915, 914, - 915, 901, 916, 908, 915, 905, 923, 922, 909, 2275, + 813, 814, 815, 815, 817, 832, 873, 830, 835, 812, + 835, 819, 2299, 826, 827, 841, 831, 829, 879, 837, + 827, 842, 843, 830, 862, 870, 839, 834, 889, 890, + 852, 892, 2299, 855, 859, 900, 848, 843, 844, 856, + 863, 852, 853, 849, 852, 853, 863, 872, 908, 856, + 865, 861, 919, 876, 877, 868, 2299, 870, 873, 881, + 883, 868, 884, 878, 925, 891, 875, 876, 2299, 892, + 895, 878, 937, 880, 899, 2299, 898, 901, 881, 899, + 939, 897, 893, 890, 943, 944, 906, 892, 910, 909, + 910, 896, 911, 903, 910, 900, 918, 917, 904, 2299, - 917, 923, 926, 971, 2275, 920, 925, 969, 920, 933, - 927, 931, 929, 927, 929, 939, 984, 928, 933, 929, - 988, 932, 944, 2275, 932, 940, 938, 989, 951, 937, - 938, 947, 959, 947, 945, 950, 960, 961, 966, 1007, - 979, 984, 966, 963, 959, 973, 956, 956, 1016, 959, - 2275, 959, 979, 978, 969, 958, 975, 982, 1025, 986, - 979, 983, 987, 970, 987, 978, 1033, 980, 2275, 1030, - 979, 982, 981, 982, 982, 1003, 1000, 1005, 1006, 992, - 1000, 1009, 989, 1004, 1011, 1053, 2275, 1054, 1055, 997, - 1007, 1017, 1020, 1008, 1004, 1011, 1020, 1008, 1015, 1016, + 912, 918, 921, 966, 2299, 915, 920, 964, 915, 928, + 922, 926, 924, 922, 924, 934, 979, 923, 928, 924, + 983, 927, 939, 2299, 927, 935, 933, 984, 946, 932, + 933, 942, 954, 942, 940, 945, 955, 956, 961, 1002, + 974, 979, 961, 958, 954, 968, 951, 951, 1011, 954, + 2299, 954, 974, 973, 964, 953, 970, 977, 1020, 981, + 974, 978, 982, 965, 982, 1027, 974, 2299, 1024, 971, + 976, 975, 976, 976, 997, 994, 999, 1000, 986, 994, + 1003, 983, 998, 1005, 1047, 2299, 1048, 1049, 991, 1001, + 1011, 1014, 1002, 998, 1005, 1014, 1002, 1009, 1010, 1022, - 1028, 1069, 1016, 1014, 1016, 1033, 1074, 1024, 1023, 1029, - 1027, 1025, 1020, 1081, 1082, 1078, 1084, 2275, 1041, 1034, - 1025, 1044, 1032, 1042, 1039, 1044, 1040, 1053, 1053, 2275, - 1037, 1039, 1039, 2275, 1041, 1101, 1040, 1059, 1060, 1062, - 1053, 1107, 1108, 1061, 1046, 1060, 1068, 1067, 1051, 1056, - 1074, 2275, 1096, 1087, 1119, 1059, 1081, 1076, 1076, 1080, - 2275, 1067, 1069, 1086, 1081, 1085, 1130, 1078, 1082, 2275, - 1074, 1091, 1071, 1092, 1082, 1133, 1086, 2275, 1100, 1100, - 1138, 1085, 1140, 1099, 1104, 1090, 1150, 1093, 1104, 1096, - 1102, 1098, 1116, 1117, 1118, 2275, 2275, 1117, 2275, 1102, + 1063, 1010, 1008, 1010, 1027, 1068, 1018, 1017, 1023, 1021, + 1019, 1014, 1075, 1076, 1072, 1078, 2299, 1035, 1028, 1019, + 1038, 1026, 1036, 1033, 1038, 1034, 1047, 1047, 2299, 1031, + 1033, 1033, 2299, 1035, 1095, 1034, 1053, 1054, 1056, 1047, + 1101, 1102, 1055, 1040, 1054, 1062, 1061, 1045, 1050, 1068, + 2299, 1090, 1081, 1113, 1053, 1075, 1070, 1070, 1074, 2299, + 1061, 1063, 1080, 1075, 1079, 1124, 1072, 1076, 2299, 1068, + 1085, 1065, 1086, 1076, 1127, 2299, 1092, 1093, 1131, 1078, + 1133, 1091, 1097, 1083, 1143, 1086, 1097, 1089, 1095, 1091, + 1109, 1110, 1111, 2299, 2299, 1110, 2299, 1095, 1106, 1097, - 1113, 1104, 1123, 1113, 1106, 1118, 1162, 1126, 1115, 1122, - 1123, 1129, 2275, 1122, 1174, 1115, 1176, 2275, 1177, 1119, - 1125, 1132, 1176, 1138, 2275, 2275, 1125, 2275, 1127, 1141, - 1146, 1129, 1188, 1145, 1146, 1147, 1187, 1139, 1144, 1195, - 1148, 1144, 1198, 2275, 1145, 1200, 1201, 1158, 1160, 2275, - 2275, 1143, 1205, 1201, 1165, 1208, 1150, 1162, 1167, 1182, - 1213, 2275, 1170, 1163, 1172, 1163, 1174, 1219, 1166, 1181, - 1217, 1169, 2275, 1165, 1181, 1182, 1183, 1180, 1224, 1187, - 1177, 1187, 1193, 1180, 1176, 1236, 1189, 1233, 1239, 1197, - 2275, 1198, 1191, 1200, 1202, 1199, 1189, 1192, 1192, 1197, + 1116, 1106, 1099, 1111, 1155, 1119, 1108, 1115, 1116, 1122, + 2299, 1115, 1167, 1108, 1169, 2299, 1170, 1112, 1118, 1125, + 1169, 1131, 2299, 2299, 1118, 2299, 1120, 1134, 1139, 1122, + 1181, 1138, 1139, 1140, 1180, 1132, 1137, 1188, 1141, 1137, + 1191, 2299, 1138, 1193, 1194, 1151, 1153, 2299, 2299, 1136, + 1198, 1194, 1158, 1201, 1143, 1155, 1160, 1175, 1206, 2299, + 1163, 1156, 1165, 1156, 1167, 1212, 1159, 1174, 1210, 1162, + 2299, 1158, 1174, 1175, 1176, 1173, 1217, 1180, 1170, 1185, + 1172, 1168, 1228, 1181, 1225, 1231, 1188, 2299, 1190, 1183, + 1192, 1193, 1191, 1181, 1184, 1184, 1189, 1244, 1191, 1246, - 1252, 1199, 1254, 1197, 1256, 1252, 1193, 1208, 1201, 1204, - 1217, 1219, 1217, 1266, 2275, 1220, 2275, 2275, 1225, 1217, - 1227, 1212, 1268, 1214, 1275, 1219, 1229, 1278, 2275, 1226, - 1226, 1228, 1230, 1283, 1224, 1227, 2275, 1228, 1247, 2275, - 1231, 2275, 2275, 1244, 1246, 1247, 2275, 1234, 1242, 2275, - 1294, 1243, 1296, 1276, 2275, 1298, 1255, 1300, 1251, 1298, - 2275, 1246, 1254, 1248, 1245, 1248, 1251, 1251, 1268, 1307, - 1260, 1272, 1275, 1263, 1266, 1259, 1266, 1257, 2275, 1279, - 1264, 2275, 1266, 1267, 1282, 1282, 1285, 1285, 1282, 1326, - 1288, 1280, 2275, 1281, 2275, 1291, 2275, 1288, 1293, 1294, + 1189, 1248, 1244, 1185, 1200, 1193, 1196, 1209, 1210, 1209, + 1258, 2299, 1212, 2299, 2299, 1217, 1209, 1219, 1204, 1260, + 1206, 1267, 1211, 1221, 1270, 2299, 1218, 1218, 1220, 1222, + 1275, 1216, 1219, 2299, 1220, 1239, 2299, 1224, 2299, 2299, + 1237, 1239, 1240, 2299, 1227, 1235, 2299, 1287, 1236, 1289, + 1269, 2299, 1291, 1248, 1293, 1244, 1291, 2299, 1239, 1247, + 1241, 1238, 1241, 1244, 1244, 1261, 1300, 1253, 1265, 1268, + 1256, 1251, 1258, 1248, 2299, 1271, 1256, 2299, 1258, 1259, + 1274, 1274, 1277, 1277, 1274, 1318, 1280, 1272, 2299, 1273, + 2299, 1283, 2299, 1280, 1285, 1286, 1283, 1327, 1275, 1290, - 1291, 1335, 1283, 1298, 1299, 1291, 2275, 1288, 1289, 1289, - 1295, 1294, 1292, 1306, 2275, 1347, 1294, 2275, 1295, 1295, - 1297, 1303, 2275, 1305, 1359, 1301, 1309, 1312, 1323, 1321, - 1365, 1318, 1327, 2275, 1324, 2275, 1321, 1344, 2275, 1371, - 2275, 1329, 1314, 1374, 1375, 1332, 1337, 1319, 1379, 1380, - 1376, 1340, 1337, 1333, 1326, 1381, 1339, 1340, 1330, 1335, - 1391, 1345, 1394, 1390, 1353, 1350, 1394, 1342, 1347, 1345, - 1404, 1360, 1348, 1407, 1365, 1409, 1370, 1359, 1353, 1413, - 1355, 1356, 1370, 1373, 1373, 1419, 1361, 1378, 1374, 1378, - 1362, 1420, 1421, 1368, 1423, 1386, 1387, 2275, 1387, 1388, + 1291, 1283, 2299, 1280, 1281, 1281, 1287, 1286, 1284, 1298, + 2299, 1339, 1286, 2299, 1287, 1287, 1289, 1295, 2299, 1304, + 1298, 1353, 1295, 1303, 1306, 1317, 1316, 1360, 1313, 1322, + 2299, 1319, 2299, 1316, 1339, 2299, 1366, 2299, 1324, 1309, + 1369, 1370, 1327, 1332, 1314, 1374, 1375, 1371, 1335, 1332, + 1328, 1321, 1376, 1334, 1324, 1329, 1385, 1339, 1387, 1384, + 1347, 1343, 1388, 1336, 1341, 1339, 1398, 1354, 1342, 1401, + 1359, 1403, 1364, 1353, 1347, 1407, 1349, 1350, 1364, 1367, + 1367, 1413, 1355, 1372, 1368, 1372, 1356, 1414, 1415, 1362, + 1417, 1380, 1373, 1372, 1366, 1384, 2299, 1384, 1385, 1372, - 1375, 1374, 1430, 2275, 1371, 1389, 1438, 1396, 1409, 2275, - 1441, 1394, 2275, 2275, 1385, 1396, 1445, 2275, 2275, 1391, - 1396, 1394, 1444, 1402, 1407, 1395, 1411, 1400, 1398, 1412, - 2275, 1400, 2275, 1403, 1454, 1397, 1402, 1463, 1411, 1421, - 1422, 2275, 1467, 1421, 1465, 2275, 1471, 2275, 1414, 1429, - 1417, 2275, 1427, 1428, 1477, 1435, 1439, 2275, 1475, 1441, - 1417, 1435, 1444, 1426, 1433, 1487, 1446, 1445, 1490, 1438, - 1492, 1493, 1443, 1447, 1452, 1445, 2275, 1498, 1499, 2275, - 1448, 1501, 1443, 2275, 1446, 1456, 1500, 1448, 1463, 1450, - 1465, 1451, 1458, 1458, 1513, 1470, 1458, 1457, 1517, 1470, + 1371, 1427, 2299, 1368, 1386, 1435, 1393, 1406, 2299, 1438, + 1391, 2299, 2299, 1382, 1393, 1442, 2299, 2299, 1388, 1393, + 1391, 1441, 1399, 1404, 1392, 1396, 1394, 1408, 2299, 1396, + 2299, 1399, 1450, 1394, 1399, 1459, 1407, 1417, 1418, 2299, + 1463, 1416, 1461, 2299, 1467, 2299, 1410, 1425, 1413, 2299, + 1423, 1424, 1473, 1431, 1435, 2299, 1471, 1437, 1413, 1431, + 1440, 1422, 1429, 1483, 1442, 1441, 1432, 1482, 1429, 1489, + 1437, 1491, 1492, 1442, 1446, 1451, 1444, 2299, 1497, 1498, + 2299, 1447, 1500, 1442, 2299, 1445, 1455, 1499, 1447, 1462, + 1449, 1464, 1456, 1456, 1511, 1468, 1456, 1455, 1515, 1468, - 2275, 1514, 1465, 1462, 2275, 1476, 1463, 2275, 1480, 1525, - 1478, 1475, 1476, 2275, 1529, 1488, 1471, 1473, 1489, 1471, - 1487, 1488, 1497, 2275, 1487, 1539, 2275, 1498, 2275, 2275, - 1482, 1489, 1543, 1539, 2275, 2275, 1501, 2275, 1541, 1503, - 1504, 1489, 1490, 1498, 1552, 1500, 1549, 1550, 1505, 2275, - 1517, 1504, 1511, 2275, 1508, 1513, 1511, 1563, 1564, 1512, - 1508, 2275, 1523, 1524, 1525, 2275, 1526, 1516, 1528, 1573, - 1574, 1516, 1524, 1525, 1538, 2275, 1515, 1575, 1536, 2275, - 1540, 1525, 1525, 1540, 1533, 1532, 1543, 1530, 2275, 1546, - 1534, 1537, 1593, 1551, 1553, 1544, 1553, 1555, 1559, 2275, + 2299, 1512, 1463, 1460, 2299, 1474, 1461, 2299, 1478, 1523, + 1476, 1473, 1474, 2299, 1527, 1486, 1469, 1471, 1487, 1469, + 1485, 1486, 1495, 2299, 1485, 1537, 1497, 1481, 1535, 2299, + 1499, 2299, 2299, 1483, 1490, 1544, 1540, 2299, 2299, 1502, + 2299, 1542, 1504, 1505, 1490, 1491, 1499, 1553, 1501, 1550, + 1505, 2299, 1517, 1504, 1511, 2299, 1508, 1513, 1511, 1563, + 1564, 1512, 1508, 2299, 1523, 1524, 1525, 2299, 1526, 1516, + 1528, 1573, 1574, 1516, 1524, 1525, 1538, 2299, 1539, 1520, + 1527, 1518, 1578, 1539, 2299, 1543, 1528, 1528, 1543, 1536, + 1535, 1546, 1533, 2299, 1549, 1539, 1595, 1553, 1555, 1546, - 2275, 1552, 1601, 1544, 1603, 1604, 1605, 1563, 1607, 2275, - 2275, 1603, 1565, 1566, 1553, 1612, 1555, 1560, 1551, 1616, - 1569, 1570, 1560, 1577, 1576, 1617, 1561, 1580, 1581, 2275, - 1578, 1583, 1584, 1629, 1586, 1589, 1576, 2275, 1633, 2275, - 2275, 2275, 1594, 2275, 1576, 1636, 1637, 1580, 2275, 1599, - 1640, 1599, 2275, 1590, 1580, 1639, 1605, 1598, 1594, 1648, - 1591, 1593, 1598, 1594, 1596, 2275, 1601, 1611, 1596, 2275, - 1598, 1610, 2275, 2275, 1615, 1608, 2275, 1610, 1618, 1663, - 1604, 1606, 1603, 1627, 2275, 1614, 1621, 1624, 1613, 1667, - 1614, 1622, 1631, 1632, 1625, 1620, 1624, 1636, 1681, 2275, + 1555, 1557, 1561, 2299, 2299, 1554, 1603, 1546, 1605, 1606, + 1607, 1565, 1609, 2299, 2299, 1605, 1567, 1568, 1555, 1563, + 1574, 1571, 1617, 1560, 1565, 1556, 1621, 1574, 1575, 1565, + 1582, 1581, 1622, 1566, 1585, 2299, 1582, 1587, 1588, 1633, + 1590, 1593, 1580, 2299, 1637, 2299, 2299, 2299, 1598, 2299, + 1580, 1640, 1641, 1584, 1643, 1591, 1640, 2299, 1606, 1647, + 1606, 2299, 1597, 1587, 1646, 1612, 1605, 1601, 1655, 1599, + 1604, 1600, 1602, 2299, 1607, 1617, 1602, 2299, 1604, 1616, + 2299, 2299, 1621, 2299, 1622, 1612, 1616, 2299, 1618, 1626, + 1671, 1612, 1614, 1611, 1635, 2299, 1628, 1631, 1620, 1674, - 1627, 1639, 1684, 1633, 1635, 1633, 1688, 1641, 1628, 1643, - 1648, 1693, 1694, 1651, 1696, 1646, 1640, 2275, 1656, 1700, - 2275, 1657, 1642, 1660, 2275, 1651, 1665, 1661, 1654, 2275, - 2275, 1708, 2275, 1665, 1710, 1671, 2275, 1712, 1654, 1714, - 1669, 1668, 1669, 1659, 2275, 1714, 2275, 1661, 2275, 1673, - 2275, 1722, 1664, 1680, 1725, 1686, 1683, 1675, 2275, 1725, - 1674, 2275, 1686, 1679, 1734, 1682, 1677, 1679, 1694, 1679, - 2275, 1740, 1693, 1742, 1743, 1691, 2275, 1693, 2275, 2275, - 1687, 1703, 1748, 1749, 2275, 2275, 2275, 1755, 1758, 1761, - 1762, 1764, 1767, 1770, 1773 + 1621, 1629, 1638, 1639, 1632, 1627, 1627, 1633, 1633, 1645, + 1690, 2299, 1636, 1648, 1693, 1642, 1641, 1696, 1649, 1636, + 1651, 1656, 1701, 1702, 1659, 1704, 1705, 1652, 1656, 1650, + 2299, 1666, 1710, 2299, 1667, 1669, 2299, 1660, 1674, 1670, + 1663, 2299, 2299, 1717, 2299, 2299, 1667, 1675, 1720, 1681, + 2299, 1722, 1723, 1678, 1677, 1678, 1668, 2299, 1728, 1724, + 2299, 1671, 2299, 2299, 1731, 1673, 1689, 1734, 2299, 1695, + 1692, 2299, 1733, 1682, 2299, 1694, 1687, 1742, 1684, 1686, + 1701, 1686, 2299, 1699, 1748, 1749, 1697, 1699, 2299, 2299, + 1693, 1709, 1754, 1755, 2299, 2299, 2299, 1761, 1766, 1771, + 1776, 1781, 1786, 1791, 1794, 1768, 1773, 1775, 1788 } ; -static const flex_int16_t yy_def[1896] = +static const flex_int16_t yy_def[1910] = { 0, - 1888, 1888, 1889, 1889, 1888, 1888, 1888, 1888, 1888, 1888, - 1887, 1887, 1887, 1887, 1887, 1890, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1891, - 1887, 1887, 1887, 1892, 15, 1887, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1893, 45, 45, 45, 45, + 1898, 1898, 1899, 1899, 1898, 1898, 1898, 1898, 1898, 1898, + 1897, 1897, 1897, 1897, 1897, 1900, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1901, + 1897, 1897, 1897, 1902, 15, 1897, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1903, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1890, 1887, 1887, - 1887, 1887, 1887, 1887, 1894, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1891, 1887, 1892, 1887, + 45, 45, 45, 45, 45, 45, 45, 1900, 1897, 1897, + 1897, 1897, 1897, 1897, 1904, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1901, 1897, 1902, 1897, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1895, 45, 1893, 45, 45, 45, 45, 45, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1905, 45, 1903, 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, 1894, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1904, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1906, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1895, 1887, 1887, 114, 45, 45, 45, 45, 45, + 45, 45, 1905, 1897, 1903, 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, 1887, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, 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, @@ -1203,193 +1206,194 @@ static const flex_int16_t yy_def[1896] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 45, - 45, 45, 45, 45, 45, 1887, 45, 1887, 45, 114, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 45, + 45, 45, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1907, + 45, 45, 45, 45, 45, 45, 1897, 45, 1897, 45, + 1903, 1897, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 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, 1887, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1897, 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, 1887, 45, 45, 45, 45, 1887, 1887, 1887, - 45, 45, 45, 45, 45, 1887, 45, 1887, 45, 114, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 45, 45, 45, 45, 45, 45, 45, 1887, 45, 45, - 45, 45, 45, 45, 1887, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1887, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 45, 1897, 1897, + 1897, 1908, 45, 45, 45, 45, 45, 1897, 45, 1897, + 45, 1903, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 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, 1887, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 1887, 45, 45, 45, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1897, 45, 1897, 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, 1887, 45, 1887, - 45, 45, 1887, 45, 45, 1887, 45, 45, 45, 1887, - 1887, 1887, 45, 45, 45, 1887, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 1897, 45, 45, 1897, 45, 45, 1897, 1909, 45, + 45, 45, 1897, 1897, 1897, 45, 45, 45, 1897, 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, 1887, 45, + 45, 1897, 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, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 45, + 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1887, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 45, 45, 1897, 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, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1887, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1897, 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, 1887, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 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, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 1887, 45, 45, - 45, 45, 45, 45, 1887, 1887, 45, 45, 45, 45, + 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 1897, 45, + 45, 45, 45, 45, 45, 1897, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 1897, 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, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 45, 45, 45, 45, 1887, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, - 45, 45, 45, 45, 1887, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 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, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 45, + 45, 45, 45, 45, 45, 1897, 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, 1887, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 45, 45, 45, 45, 45, 45, 45, 1887, 45, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1887, 1887, 45, 1887, 45, + 45, 45, 45, 1897, 1897, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1887, 45, 45, 45, 45, 1887, 45, 45, - 45, 45, 45, 45, 1887, 1887, 45, 1887, 45, 45, + 1897, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 1897, 1897, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 1887, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1887, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 45, 45, 45, 45, 45, 1897, 1897, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1887, 45, 1887, 1887, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 1887, - 45, 1887, 1887, 45, 45, 45, 1887, 45, 45, 1887, - 45, 45, 45, 45, 1887, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1887, 45, 1887, 45, 1887, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 45, - 45, 45, 45, 45, 1887, 45, 45, 1887, 45, 45, - 45, 45, 1887, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 1887, 45, 45, 1887, 45, - 1887, 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, 1887, 45, 45, - - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 1887, - 45, 45, 1887, 1887, 45, 45, 45, 1887, 1887, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 1887, 45, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 1887, 45, 1887, 45, 45, - 45, 1887, 45, 45, 45, 45, 45, 1887, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1887, 45, 45, 1887, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 1887, 45, 45, 1887, 45, 45, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1887, 45, 45, 1887, 45, 1887, 1887, - 45, 45, 45, 45, 1887, 1887, 45, 1887, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 45, 45, 45, 1887, 45, 45, 45, 45, 45, 45, - 45, 1887, 45, 45, 45, 1887, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1887, 45, 45, 45, 1887, - 45, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 45, 1897, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 1897, 45, 1897, 1897, + 45, 45, 45, 1897, 45, 45, 1897, 45, 45, 45, + 45, 1897, 45, 45, 45, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1897, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 1897, 45, 1897, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 1887, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, - 45, 45, 45, 45, 45, 45, 45, 1887, 45, 1887, - 1887, 1887, 45, 1887, 45, 45, 45, 45, 1887, 45, - 45, 45, 1887, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1887, 45, 45, 45, 1887, - 45, 45, 1887, 1887, 45, 45, 1887, 45, 45, 45, - 45, 45, 45, 45, 1887, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1887, + 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, + 1897, 45, 45, 1897, 45, 45, 45, 45, 1897, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1897, 45, 1897, 45, 45, 1897, 45, 1897, 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, 1897, 45, 45, 45, + + 45, 45, 1897, 45, 45, 45, 45, 45, 1897, 45, + 45, 1897, 1897, 45, 45, 45, 1897, 1897, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 1897, 45, 1897, 45, 45, 45, 1897, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 1897, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 1897, 45, 45, 45, 1897, 45, 45, 1897, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 45, 45, 1897, + 45, 1897, 1897, 45, 45, 45, 45, 1897, 1897, 45, + 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1897, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 1897, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 1897, 1897, 1897, 45, 1897, + 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1897, 45, 45, 45, 1897, 45, 45, + 1897, 1897, 45, 1897, 45, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1887, 45, 45, - 1887, 45, 45, 45, 1887, 45, 45, 45, 45, 1887, - 1887, 45, 1887, 45, 45, 45, 1887, 45, 45, 45, - 45, 45, 45, 45, 1887, 45, 1887, 45, 1887, 45, - 1887, 45, 45, 45, 45, 45, 45, 45, 1887, 45, - 45, 1887, 45, 45, 45, 45, 45, 45, 45, 45, - 1887, 45, 45, 45, 45, 45, 1887, 45, 1887, 1887, - 45, 45, 45, 45, 1887, 1887, 0, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887 + 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1897, 45, 45, 1897, 45, 45, 1897, 45, 45, 45, + 45, 1897, 1897, 45, 1897, 1897, 45, 45, 45, 45, + 1897, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 1897, 45, 1897, 1897, 45, 45, 45, 45, 1897, 45, + 45, 1897, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 1897, 45, 45, 45, 45, 45, 1897, 1897, + 45, 45, 45, 45, 1897, 1897, 0, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897 } ; -static const flex_int16_t yy_nxt[2349] = +static const flex_int16_t yy_nxt[2373] = { 0, - 1887, 13, 14, 13, 1887, 15, 16, 1887, 17, 18, + 1897, 13, 14, 13, 1897, 15, 16, 1897, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 755, 37, 14, 37, 85, 25, 26, 38, 100, - 1887, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 196, 30, 13, 14, 13, 89, 90, 25, + 84, 757, 37, 14, 37, 85, 25, 26, 38, 100, + 1897, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 197, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 756, 13, 14, 13, 33, 40, 101, 90, 91, 196, + 758, 13, 14, 13, 33, 40, 101, 90, 91, 197, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 103, 25, 26, @@ -1406,252 +1410,255 @@ static const flex_int16_t yy_nxt[2349] = 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 55, 45, 45, 45, 45, 45, 79, 408, + 76, 77, 55, 45, 45, 45, 45, 45, 79, 409, 80, 80, 80, 80, 80, 79, 105, 82, 82, 82, - 82, 82, 409, 81, 83, 83, 83, 83, 83, 79, + 82, 82, 410, 81, 83, 83, 83, 83, 83, 79, 81, 82, 82, 82, 82, 82, 184, 81, 108, 105, - 103, 119, 835, 131, 81, 185, 81, 184, 109, 120, + 103, 119, 836, 131, 81, 185, 81, 184, 109, 120, 134, 135, 121, 81, 132, 122, 186, 123, 136, 124, - 81, 108, 184, 839, 133, 164, 115, 81, 45, 165, + 81, 108, 184, 840, 133, 164, 115, 81, 45, 165, 139, 185, 116, 187, 45, 117, 109, 45, 232, 45, 140, 45, 141, 45, 186, 113, 143, 144, 45, 45, - 145, 45, 45, 840, 233, 100, 146, 45, 45, 45, + 145, 45, 45, 841, 233, 100, 146, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 125, 160, 45, 126, 127, 161, 45, 128, 129, 147, - 45, 107, 101, 148, 198, 162, 316, 149, 45, 185, - 130, 419, 45, 110, 45, 114, 841, 155, 842, 150, - 152, 195, 153, 151, 154, 156, 186, 157, 173, 174, - 166, 198, 158, 159, 167, 188, 179, 168, 108, 83, - 83, 83, 83, 83, 169, 170, 180, 195, 109, 171, + 45, 107, 101, 148, 199, 162, 317, 149, 45, 185, + 130, 420, 45, 110, 45, 114, 842, 155, 843, 150, + 152, 196, 153, 151, 154, 156, 186, 157, 173, 174, + 166, 199, 158, 159, 167, 188, 179, 168, 108, 83, + 83, 83, 83, 83, 169, 170, 180, 196, 109, 171, 172, 181, 81, 79, 189, 80, 80, 80, 80, 80, - 248, 175, 688, 176, 249, 87, 177, 87, 81, 689, + 248, 175, 844, 176, 249, 87, 177, 87, 81, 426, 88, 88, 88, 88, 88, 81, 109, 83, 83, 83, - 83, 83, 79, 178, 82, 82, 82, 82, 82, 193, + 83, 83, 79, 178, 82, 82, 82, 82, 82, 194, 81, 81, 88, 88, 88, 88, 88, 81, 88, 88, - 88, 88, 88, 99, 197, 199, 201, 200, 193, 211, - 99, 197, 236, 81, 216, 237, 198, 193, 212, 238, - 81, 290, 213, 217, 218, 206, 843, 270, 200, 201, - 262, 271, 197, 199, 200, 291, 207, 282, 283, 197, - 99, 256, 273, 295, 99, 263, 264, 265, 99, 267, - 284, 844, 268, 269, 285, 299, 99, 305, 286, 303, + 88, 88, 88, 99, 198, 200, 202, 201, 194, 211, + 99, 198, 236, 81, 216, 237, 199, 194, 212, 238, + 81, 427, 213, 217, 218, 206, 845, 270, 290, 202, + 262, 271, 198, 200, 201, 273, 207, 282, 283, 198, + 99, 256, 291, 295, 99, 263, 264, 265, 99, 267, + 284, 303, 268, 269, 285, 201, 99, 305, 286, 846, - 99, 303, 99, 99, 204, 304, 490, 491, 304, 367, - 313, 492, 205, 205, 205, 205, 205, 274, 275, 276, - 305, 205, 205, 205, 205, 205, 205, 303, 277, 306, - 278, 304, 279, 280, 307, 281, 305, 311, 313, 314, - 315, 317, 319, 333, 205, 205, 205, 205, 205, 205, - 359, 334, 311, 428, 428, 845, 335, 336, 380, 308, - 311, 425, 368, 315, 317, 369, 314, 360, 431, 319, - 320, 320, 320, 320, 320, 322, 428, 429, 432, 320, - 320, 320, 320, 320, 320, 398, 433, 435, 399, 437, - 462, 500, 455, 524, 381, 433, 463, 525, 514, 733, + 99, 304, 99, 192, 205, 205, 205, 205, 205, 304, + 274, 275, 276, 205, 205, 205, 205, 205, 205, 303, + 305, 277, 299, 278, 303, 279, 280, 304, 281, 314, + 305, 312, 315, 316, 320, 307, 205, 205, 205, 205, + 205, 205, 318, 360, 399, 381, 847, 400, 312, 429, + 334, 368, 306, 308, 312, 435, 316, 314, 335, 315, + 361, 320, 429, 336, 337, 318, 321, 321, 321, 321, + 321, 323, 429, 433, 437, 321, 321, 321, 321, 321, + 321, 382, 439, 434, 435, 430, 464, 435, 457, 492, + 493, 516, 465, 848, 494, 383, 502, 437, 321, 321, - 734, 501, 320, 320, 320, 320, 320, 320, 382, 456, - 435, 476, 559, 426, 559, 433, 477, 437, 440, 440, - 440, 440, 440, 546, 441, 846, 547, 440, 440, 440, - 440, 440, 440, 529, 553, 581, 563, 530, 564, 554, - 559, 683, 565, 582, 589, 583, 584, 585, 619, 586, - 440, 440, 440, 440, 440, 440, 515, 590, 620, 591, - 684, 599, 682, 563, 478, 564, 600, 685, 683, 479, - 45, 45, 45, 45, 45, 706, 787, 801, 707, 45, - 45, 45, 45, 45, 45, 800, 810, 788, 684, 847, - 813, 814, 811, 815, 848, 849, 850, 851, 852, 853, + 321, 321, 321, 321, 369, 458, 503, 370, 562, 622, + 439, 442, 442, 442, 442, 442, 443, 735, 736, 623, + 442, 442, 442, 442, 442, 442, 478, 548, 526, 531, + 549, 479, 527, 532, 555, 566, 562, 567, 562, 556, + 686, 687, 584, 442, 442, 442, 442, 442, 442, 517, + 585, 803, 586, 587, 588, 592, 589, 849, 602, 850, + 685, 789, 566, 603, 567, 688, 568, 686, 593, 687, + 594, 691, 790, 802, 803, 812, 851, 852, 692, 480, + 853, 813, 854, 855, 481, 45, 45, 45, 45, 45, + 815, 816, 856, 817, 45, 45, 45, 45, 45, 45, - 801, 854, 45, 45, 45, 45, 45, 45, 836, 855, - 856, 857, 837, 800, 858, 859, 838, 860, 861, 863, - 864, 862, 865, 866, 867, 868, 869, 870, 871, 872, - 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, - 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, - 893, 894, 895, 896, 897, 898, 899, 901, 902, 903, - 906, 907, 908, 900, 910, 911, 904, 912, 909, 913, - 905, 914, 915, 916, 917, 918, 919, 920, 921, 922, - 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, - 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, + 837, 802, 857, 858, 838, 859, 860, 861, 839, 862, + 864, 865, 863, 866, 867, 868, 869, 45, 45, 45, + 45, 45, 45, 870, 871, 872, 873, 874, 875, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, + 897, 898, 899, 900, 902, 903, 904, 907, 908, 909, + 901, 911, 912, 905, 913, 910, 914, 906, 915, 916, + 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, + 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, + 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, - 925, 953, 954, 955, 956, 957, 958, 959, 960, 961, - 962, 963, 964, 965, 966, 967, 968, 969, 971, 972, - 973, 974, 970, 975, 976, 977, 978, 979, 980, 981, - 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, - 992, 994, 995, 996, 993, 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, 1031, - 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 947, 948, 949, 950, 951, 952, 953, 926, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 971, 972, 973, 974, 970, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 994, 995, 996, + 993, 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, 1031, 1032, 1033, 1034, 1035, + 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, - 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, - 1062, 1063, 1064, 1042, 1065, 1066, 1041, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1089, 1090, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, - 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, - 1111, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, - 1122, 1112, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, + 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, + 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1042, + 1065, 1066, 1041, 1067, 1068, 1069, 1070, 1071, 1072, 1073, + 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, + 1084, 1085, 1086, 1088, 1089, 1090, 1091, 1092, 1093, 1094, + 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, + 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1111, 1122, 1123, 1124, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, + 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - 1141, 1142, 1143, 1144, 1145, 1088, 1146, 1147, 1148, 1149, - 1150, 1151, 1152, 1153, 1155, 1154, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, - 1180, 1153, 1154, 1181, 1182, 1183, 1184, 1185, 1186, 1187, - 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, - 1199, 1201, 1202, 1203, 1198, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1087, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154, + 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, + 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, + 1174, 1175, 1176, 1177, 1178, 1179, 1152, 1153, 1180, 1181, + 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1197, 1199, 1200, 1201, 1196, 1202, + 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, + 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1198, 1241, - 1239, 1240, 1241, 1242, 1200, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 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, 1260, 1283, 1284, 1285, 1286, - 1287, 1261, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, - 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, - 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1258, + 1281, 1282, 1283, 1284, 1285, 1259, 1286, 1287, 1288, 1289, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, + 1330, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, - 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, - 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, - 1357, 1358, 1359, 1360, 1361, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, - 1378, 1379, 1380, 1381, 1382, 1354, 1383, 1384, 1385, 1386, - 1334, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, - 1396, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1362, 1405, - 1406, 1407, 1401, 1408, 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, + 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, + 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1360, 1361, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1351, 1380, + 1381, 1382, 1383, 1331, 1384, 1385, 1386, 1387, 1388, 1389, + 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1398, 1399, 1400, + 1401, 1359, 1402, 1403, 1397, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, + 1419, 1421, 1422, 1423, 1424, 1420, 1425, 1426, 1427, 1428, + 1429, 1430, 1431, 1432, 1433, 1435, 1436, 1437, 1438, 1434, - 1435, 1436, 1438, 1439, 1440, 1441, 1437, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, - 1455, 1456, 1457, 1458, 1459, 1438, 1460, 1461, 1462, 1463, - 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1523, 1524, - 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1522, 1533, + 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, + 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1435, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1493, 1496, 1494, 1497, 1498, + 1499, 1500, 1501, 1495, 1502, 1503, 1504, 1505, 1506, 1507, + 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1518, 1519, 1520, 1522, 1523, 1524, 1525, 1526, 1527, 1528, + 1529, 1530, 1531, 1521, 1532, 1533, 1534, 1508, 1535, 1536, - 1534, 1535, 1509, 1536, 1537, 1538, 1539, 1540, 1541, 1542, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, - 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, - 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, - 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, - 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1543, 1601, 1602, - 1603, 1604, 1605, 1579, 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, + 1537, 1538, 1539, 1540, 1542, 1543, 1544, 1545, 1546, 1547, + 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, + 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, + 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, + 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, + 1598, 1541, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + 1580, 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, - 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, - 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, - 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, - 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, - 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, - 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, - 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, - 1702, 1703, 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, + 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, + 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, + 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, + 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, + 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, + 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 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, - 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, - 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, - 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, - 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, - 1772, 1773, 1774, 1775, 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, 1807, 1808, 1809, 1810, 1811, - 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, - 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, + 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, + 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, + 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, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, + 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, + 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, - 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, 1858, 1859, 1860, 1861, - 1862, 1863, 1865, 1864, 1866, 1867, 1868, 1869, 1870, 1871, - 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, - 1882, 1883, 1884, 1885, 1886, 12, 12, 12, 36, 36, - 36, 78, 97, 78, 99, 99, 99, 112, 112, 112, - 183, 834, 183, 202, 202, 202, 833, 832, 831, 830, - 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, - 819, 818, 817, 816, 812, 809, 808, 807, 806, 805, + 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, + 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, + 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, + 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, + 1876, 1878, 1877, 1879, 1880, 1881, 1882, 1883, 1884, 1885, + 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, + 1896, 12, 12, 12, 12, 12, 36, 36, 36, 36, + 36, 78, 310, 78, 78, 78, 97, 432, 97, 559, + 97, 99, 99, 99, 99, 99, 112, 112, 112, 112, + 112, 183, 99, 183, 183, 183, 203, 203, 203, 835, - 804, 803, 802, 799, 798, 797, 796, 795, 794, 793, - 792, 791, 790, 789, 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, 761, - 760, 759, 758, 757, 754, 753, 752, 751, 750, 749, - 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, - 738, 737, 736, 735, 732, 731, 730, 729, 728, 727, - 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, - 716, 715, 714, 713, 712, 711, 710, 709, 708, 705, - 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, + 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, + 824, 823, 822, 821, 820, 819, 818, 814, 811, 810, + 809, 808, 807, 806, 805, 804, 801, 800, 799, 798, + 797, 796, 795, 794, 793, 792, 791, 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, 761, 760, 759, 756, 755, 754, + 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, + 743, 742, 741, 740, 739, 738, 737, 734, 733, 732, + 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, - 694, 693, 692, 691, 690, 687, 686, 682, 681, 680, - 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, - 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, - 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, - 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, - 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, - 629, 628, 627, 626, 625, 624, 623, 622, 621, 618, - 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, - 607, 606, 605, 604, 603, 602, 601, 598, 597, 596, - 595, 594, 593, 592, 588, 587, 580, 579, 578, 577, + 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, + 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, + 701, 700, 699, 698, 697, 696, 695, 694, 693, 690, + 689, 685, 684, 683, 682, 681, 680, 679, 678, 677, + 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, + 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, + 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, + 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, + 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, + 626, 625, 624, 621, 620, 619, 618, 617, 616, 615, - 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, - 566, 562, 561, 560, 558, 557, 556, 555, 552, 551, - 550, 549, 548, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 528, 527, - 526, 523, 522, 521, 520, 519, 518, 517, 516, 513, - 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, - 502, 499, 498, 497, 496, 495, 494, 493, 489, 488, - 487, 486, 485, 484, 483, 482, 481, 480, 475, 474, - 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, - 461, 460, 459, 458, 457, 454, 453, 452, 451, 450, + 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, + 604, 601, 600, 599, 598, 597, 596, 595, 591, 590, + 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, + 573, 572, 571, 570, 569, 565, 564, 563, 561, 560, + 558, 557, 554, 553, 552, 551, 550, 547, 546, 545, + 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, + 534, 533, 530, 529, 528, 525, 524, 523, 522, 521, + 520, 519, 518, 515, 514, 513, 512, 511, 510, 509, + 508, 507, 506, 505, 504, 501, 500, 499, 498, 497, + 496, 495, 491, 490, 489, 488, 487, 486, 485, 484, - 449, 448, 447, 446, 445, 444, 443, 442, 439, 438, - 436, 434, 430, 427, 424, 423, 422, 421, 420, 418, - 417, 416, 415, 414, 413, 412, 411, 410, 407, 406, - 405, 404, 403, 402, 401, 400, 397, 396, 395, 394, - 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, - 383, 379, 378, 377, 376, 375, 374, 373, 372, 371, - 370, 366, 365, 364, 363, 362, 361, 358, 357, 356, - 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 337, 332, - 331, 330, 329, 328, 327, 326, 325, 324, 323, 321, + 483, 482, 477, 476, 475, 474, 473, 472, 471, 470, + 469, 468, 467, 466, 463, 462, 461, 460, 459, 456, + 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, + 445, 444, 441, 440, 438, 436, 431, 428, 425, 424, + 423, 422, 421, 419, 418, 417, 416, 415, 414, 413, + 412, 411, 408, 407, 406, 405, 404, 403, 402, 401, + 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, + 388, 387, 386, 385, 384, 380, 379, 378, 377, 376, + 375, 374, 373, 372, 371, 367, 366, 365, 364, 363, + 362, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 203, 318, 316, 312, 310, 309, 302, 301, 300, 298, - 297, 296, 294, 293, 292, 289, 288, 287, 272, 266, - 261, 260, 259, 258, 257, 255, 254, 253, 252, 251, - 250, 247, 246, 245, 244, 243, 242, 241, 240, 239, - 235, 234, 231, 228, 227, 226, 225, 222, 221, 220, - 219, 215, 214, 210, 209, 208, 203, 194, 192, 191, - 190, 182, 163, 142, 118, 104, 102, 43, 98, 96, - 95, 86, 43, 1887, 11, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 339, 338, 333, 332, 331, 330, 329, 328, 327, + 326, 325, 324, 322, 204, 319, 317, 313, 311, 309, + 302, 301, 300, 298, 297, 296, 294, 293, 292, 289, + 288, 287, 272, 266, 261, 260, 259, 258, 257, 255, + 254, 253, 252, 251, 250, 247, 246, 245, 244, 243, + 242, 241, 240, 239, 235, 234, 231, 228, 227, 226, + 225, 222, 221, 220, 219, 215, 214, 210, 209, 208, + 204, 195, 193, 191, 190, 182, 163, 142, 118, 104, + 102, 43, 98, 96, 95, 86, 43, 1897, 11, 1897, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887 + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897 } ; -static const flex_int16_t yy_chk[2349] = +static const flex_int16_t yy_chk[2373] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 635, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 638, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 635, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 638, 8, 8, 8, 1, 8, 44, 27, 28, 106, 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, @@ -1672,237 +1679,240 @@ static const flex_int16_t yy_chk[2349] = 17, 17, 17, 17, 17, 19, 62, 19, 19, 19, 19, 19, 285, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 89, 20, 53, 62, - 57, 59, 715, 61, 22, 90, 17, 92, 53, 59, + 57, 59, 717, 61, 22, 90, 17, 92, 53, 59, 62, 63, 59, 19, 61, 59, 91, 59, 63, 59, - 20, 53, 89, 717, 61, 73, 57, 22, 45, 73, + 20, 53, 89, 719, 61, 73, 57, 22, 45, 73, 65, 90, 57, 92, 45, 57, 53, 45, 134, 45, 65, 45, 65, 45, 91, 56, 67, 67, 45, 45, - 67, 45, 56, 718, 134, 99, 67, 45, 45, 45, + 67, 45, 56, 720, 134, 99, 67, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 71, 56, 60, 60, 71, 56, 60, 60, 68, 56, 69, 99, 68, 108, 71, 295, 68, 56, 93, - 60, 295, 56, 76, 56, 56, 719, 70, 720, 68, + 60, 295, 56, 76, 56, 56, 721, 70, 722, 68, 69, 105, 69, 68, 69, 70, 94, 70, 75, 75, 74, 108, 70, 70, 74, 93, 76, 74, 75, 79, 79, 79, 79, 79, 74, 74, 76, 105, 75, 74, 74, 76, 79, 80, 94, 80, 80, 80, 80, 80, - 147, 75, 569, 75, 147, 81, 75, 81, 80, 569, + 147, 75, 723, 75, 147, 81, 75, 81, 80, 301, 81, 81, 81, 81, 81, 79, 75, 83, 83, 83, 83, 83, 82, 75, 82, 82, 82, 82, 82, 103, 83, 80, 87, 87, 87, 87, 87, 82, 88, 88, 88, 88, 88, 101, 107, 109, 111, 110, 115, 119, 101, 154, 137, 83, 122, 137, 175, 103, 119, 137, - 82, 171, 119, 122, 122, 115, 721, 163, 179, 111, - 160, 163, 107, 109, 110, 171, 115, 166, 166, 154, - 101, 154, 165, 175, 101, 160, 160, 160, 101, 162, - 167, 723, 162, 162, 167, 179, 101, 186, 167, 184, + 82, 301, 119, 122, 122, 115, 725, 163, 171, 111, + 160, 163, 107, 109, 110, 165, 115, 166, 166, 154, + 101, 154, 171, 175, 101, 160, 160, 160, 101, 162, + 167, 184, 162, 162, 167, 179, 101, 186, 167, 726, - 101, 187, 101, 101, 114, 185, 367, 367, 188, 249, - 195, 367, 114, 114, 114, 114, 114, 165, 165, 165, - 186, 114, 114, 114, 114, 114, 114, 184, 165, 187, - 165, 185, 165, 165, 188, 165, 189, 193, 195, 196, - 197, 199, 201, 218, 114, 114, 114, 114, 114, 114, - 242, 218, 207, 303, 306, 724, 218, 218, 260, 189, - 193, 301, 249, 197, 199, 249, 196, 242, 310, 201, - 205, 205, 205, 205, 205, 207, 303, 306, 310, 205, - 205, 205, 205, 205, 205, 276, 311, 313, 276, 315, - 343, 375, 336, 399, 260, 322, 343, 399, 389, 613, + 101, 185, 101, 101, 114, 114, 114, 114, 114, 188, + 165, 165, 165, 114, 114, 114, 114, 114, 114, 184, + 186, 165, 179, 165, 187, 165, 165, 185, 165, 196, + 189, 194, 197, 198, 202, 188, 114, 114, 114, 114, + 114, 114, 200, 242, 276, 260, 727, 276, 207, 303, + 218, 249, 187, 189, 194, 312, 198, 196, 218, 197, + 242, 202, 306, 218, 218, 200, 205, 205, 205, 205, + 205, 207, 303, 311, 314, 205, 205, 205, 205, 205, + 205, 260, 316, 311, 312, 306, 344, 323, 337, 368, + 368, 390, 344, 728, 368, 260, 376, 314, 205, 205, - 613, 375, 205, 205, 205, 205, 205, 205, 260, 336, - 313, 356, 433, 301, 441, 311, 356, 315, 320, 320, - 320, 320, 320, 419, 322, 725, 419, 320, 320, 320, - 320, 320, 320, 403, 426, 459, 439, 403, 439, 426, - 433, 563, 441, 459, 462, 459, 459, 459, 491, 459, - 320, 320, 320, 320, 320, 320, 389, 462, 491, 462, - 564, 471, 565, 439, 356, 439, 471, 565, 563, 356, - 440, 440, 440, 440, 440, 586, 669, 684, 586, 440, - 440, 440, 440, 440, 440, 683, 693, 669, 564, 726, - 695, 695, 693, 695, 727, 728, 729, 730, 731, 732, + 205, 205, 205, 205, 249, 337, 376, 249, 435, 493, + 316, 321, 321, 321, 321, 321, 323, 616, 616, 493, + 321, 321, 321, 321, 321, 321, 357, 420, 400, 404, + 420, 357, 400, 404, 427, 441, 435, 441, 443, 427, + 566, 567, 461, 321, 321, 321, 321, 321, 321, 390, + 461, 687, 461, 461, 461, 464, 461, 729, 473, 730, + 568, 672, 441, 473, 441, 568, 443, 566, 464, 567, + 464, 572, 672, 686, 687, 696, 731, 732, 572, 357, + 733, 696, 734, 735, 357, 442, 442, 442, 442, 442, + 698, 698, 736, 698, 442, 442, 442, 442, 442, 442, - 684, 733, 440, 440, 440, 440, 440, 440, 716, 734, - 735, 736, 716, 683, 737, 738, 716, 739, 740, 741, - 742, 740, 743, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 776, 777, 778, 779, 780, 781, 781, - 782, 783, 784, 779, 785, 786, 781, 788, 784, 789, - 781, 790, 791, 792, 793, 794, 795, 796, 797, 798, - 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, - 809, 810, 811, 813, 814, 815, 816, 817, 818, 819, + 718, 686, 737, 738, 718, 739, 740, 741, 718, 742, + 743, 744, 742, 745, 747, 748, 749, 442, 442, 442, + 442, 442, 442, 750, 751, 752, 753, 754, 755, 756, + 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, + 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 783, 784, 785, 786, + 781, 787, 788, 783, 790, 786, 791, 783, 792, 793, + 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, + 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 801, 830, 831, 832, 833, 834, 835, 836, 837, 838, - 839, 840, 842, 843, 844, 845, 846, 847, 848, 849, - 850, 851, 847, 852, 853, 854, 855, 856, 859, 860, - 861, 862, 863, 864, 867, 868, 869, 870, 871, 872, - 873, 874, 875, 876, 873, 877, 878, 879, 880, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, - 904, 905, 906, 907, 908, 909, 910, 911, 913, 914, - 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, + 825, 826, 827, 828, 829, 830, 831, 803, 832, 833, + 834, 835, 836, 837, 838, 839, 840, 841, 843, 844, + 845, 846, 847, 848, 849, 850, 851, 852, 848, 853, + 854, 855, 856, 857, 860, 861, 862, 863, 864, 865, + 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, + 874, 878, 879, 880, 881, 884, 885, 886, 887, 888, + 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, + 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, + 909, 910, 911, 912, 914, 915, 916, 917, 918, 919, + 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, - 925, 926, 927, 928, 929, 930, 931, 933, 934, 935, - 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, - 946, 947, 948, 925, 949, 950, 924, 951, 952, 953, - 954, 955, 956, 958, 959, 960, 961, 962, 963, 964, - 965, 966, 967, 968, 970, 971, 972, 973, 974, 975, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 999, 1001, 1002, 1003, 1004, 1006, 1007, 1008, - 1009, 997, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028, + 930, 931, 932, 934, 935, 936, 937, 938, 939, 940, + 941, 942, 943, 944, 945, 946, 947, 948, 949, 926, + 950, 951, 925, 952, 953, 954, 955, 956, 958, 959, + 960, 961, 962, 963, 964, 965, 966, 967, 968, 970, + 971, 972, 973, 974, 975, 977, 978, 979, 980, 981, + 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, + 992, 993, 994, 995, 996, 997, 998, 999, 1001, 1002, + 1003, 1004, 1006, 1007, 1008, 1009, 997, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, + 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1029, 1030, 1031, 1032, 1033, 973, 1034, 1035, 1036, 1037, - 1038, 1039, 1040, 1041, 1043, 1042, 1044, 1045, 1046, 1047, - 1048, 1049, 1050, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1070, 1041, 1042, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1088, - 1089, 1090, 1091, 1092, 1088, 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, - 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, + 973, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1043, + 1042, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, + 1064, 1065, 1066, 1067, 1069, 1070, 1041, 1042, 1071, 1072, + 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1087, 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, 1118, 1119, 1120, 1121, 1122, 1123, + 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1132, 1088, 1134, - 1129, 1131, 1132, 1133, 1089, 1135, 1136, 1137, 1138, 1139, - 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, - 1150, 1151, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, - 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1171, 1172, - 1173, 1174, 1175, 1176, 1177, 1153, 1179, 1180, 1181, 1182, - 1183, 1154, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1198, 1200, 1201, 1202, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, - 1216, 1217, 1219, 1220, 1221, 1222, 1223, 1224, 1227, 1229, - 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, + 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, + 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155, + 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, + 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1152, + 1178, 1179, 1180, 1181, 1182, 1153, 1183, 1184, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1196, 1198, 1199, + 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, + 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1221, + 1222, 1225, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, + 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1245, - 1240, 1241, 1242, 1243, 1245, 1246, 1247, 1248, 1249, 1252, - 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, - 1285, 1286, 1287, 1288, 1289, 1260, 1290, 1292, 1293, 1294, - 1237, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1268, 1312, - 1313, 1314, 1308, 1316, 1319, 1320, 1321, 1322, 1323, 1324, - 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, - 1336, 1338, 1339, 1341, 1344, 1345, 1346, 1348, 1349, 1351, + 1246, 1247, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, + 1269, 1270, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1258, 1289, + 1290, 1291, 1292, 1235, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1266, 1310, 1311, 1305, 1313, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1329, 1330, + 1331, 1332, 1333, 1335, 1336, 1331, 1338, 1341, 1342, 1343, + 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1350, - 1352, 1353, 1354, 1356, 1357, 1358, 1353, 1359, 1360, 1362, - 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, - 1373, 1374, 1375, 1376, 1377, 1354, 1378, 1380, 1381, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1394, - 1396, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, - 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416, 1417, 1419, - 1420, 1421, 1422, 1424, 1425, 1426, 1427, 1428, 1429, 1430, - 1431, 1432, 1433, 1435, 1437, 1438, 1440, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, - 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1452, 1463, + 1356, 1357, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, + 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1351, 1376, + 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1390, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1412, + 1413, 1415, 1416, 1417, 1418, 1420, 1421, 1420, 1422, 1423, + 1424, 1425, 1426, 1420, 1427, 1428, 1429, 1430, 1432, 1434, + 1435, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, + 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, + 1457, 1458, 1459, 1449, 1460, 1461, 1462, 1435, 1463, 1464, - 1464, 1465, 1438, 1466, 1467, 1468, 1469, 1470, 1470, 1471, - 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, - 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, - 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1500, 1501, 1502, - 1503, 1505, 1506, 1507, 1508, 1509, 1511, 1512, 1515, 1516, - 1517, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, - 1529, 1530, 1532, 1534, 1535, 1536, 1537, 1471, 1538, 1539, - 1540, 1541, 1543, 1509, 1544, 1545, 1547, 1549, 1550, 1551, - 1553, 1554, 1555, 1556, 1557, 1559, 1560, 1561, 1562, 1563, - 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, + 1465, 1466, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, + 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, + 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1504, 1505, + 1506, 1507, 1508, 1510, 1511, 1514, 1515, 1516, 1519, 1520, + 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1530, 1532, + 1533, 1467, 1534, 1535, 1536, 1537, 1538, 1539, 1541, 1542, + 1508, 1543, 1545, 1547, 1548, 1549, 1551, 1552, 1553, 1554, + 1555, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, + 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, - 1574, 1575, 1576, 1578, 1579, 1581, 1582, 1583, 1585, 1586, - 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - 1597, 1598, 1599, 1600, 1602, 1603, 1604, 1606, 1607, 1609, - 1610, 1611, 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, - 1621, 1622, 1623, 1625, 1626, 1628, 1631, 1632, 1633, 1634, - 1637, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 1651, 1652, 1653, 1655, 1656, 1657, 1658, 1659, - 1660, 1661, 1663, 1664, 1665, 1667, 1668, 1669, 1670, 1671, - 1672, 1673, 1674, 1675, 1677, 1678, 1679, 1681, 1682, 1683, - 1684, 1685, 1686, 1687, 1688, 1690, 1691, 1692, 1693, 1694, + 1576, 1577, 1579, 1580, 1582, 1583, 1584, 1586, 1587, 1588, + 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, + 1599, 1600, 1602, 1603, 1604, 1606, 1607, 1609, 1610, 1611, + 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, + 1623, 1625, 1626, 1627, 1628, 1629, 1631, 1634, 1635, 1636, + 1637, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1651, 1653, 1654, 1655, 1657, 1658, 1659, 1660, 1661, + 1662, 1663, 1665, 1666, 1667, 1669, 1670, 1671, 1672, 1673, + 1674, 1675, 1676, 1677, 1679, 1680, 1681, 1682, 1683, 1684, + 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1695, 1696, - 1695, 1696, 1697, 1698, 1699, 1702, 1703, 1704, 1705, 1706, - 1707, 1708, 1709, 1712, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, - 1729, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1739, 1743, - 1745, 1746, 1747, 1748, 1750, 1751, 1752, 1754, 1755, 1756, - 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1767, - 1768, 1769, 1771, 1772, 1775, 1776, 1778, 1779, 1780, 1781, - 1782, 1783, 1784, 1786, 1787, 1788, 1789, 1790, 1791, 1792, - 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801, 1802, 1803, - 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, + 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 1713, 1716, 1717, 1718, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, + 1731, 1732, 1733, 1734, 1735, 1737, 1738, 1739, 1740, 1741, + 1742, 1743, 1745, 1749, 1751, 1752, 1753, 1754, 1755, 1756, + 1757, 1759, 1760, 1761, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, + 1783, 1785, 1786, 1787, 1789, 1790, 1791, 1792, 1793, 1794, + 1795, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, + 1806, 1807, 1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816, - 1814, 1815, 1816, 1817, 1819, 1820, 1822, 1823, 1824, 1826, - 1827, 1828, 1829, 1832, 1834, 1835, 1836, 1838, 1839, 1840, - 1841, 1842, 1843, 1844, 1846, 1848, 1850, 1852, 1853, 1854, - 1855, 1856, 1857, 1856, 1858, 1860, 1861, 1863, 1864, 1865, - 1866, 1867, 1868, 1869, 1870, 1872, 1873, 1874, 1875, 1876, - 1878, 1881, 1882, 1883, 1884, 1888, 1888, 1888, 1889, 1889, - 1889, 1890, 1891, 1890, 1892, 1892, 1892, 1893, 1893, 1893, - 1894, 714, 1894, 1895, 1895, 1895, 713, 712, 711, 710, - 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, - 699, 698, 697, 696, 694, 692, 691, 690, 689, 688, + 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, + 1827, 1828, 1829, 1830, 1832, 1833, 1835, 1836, 1838, 1839, + 1840, 1841, 1844, 1847, 1848, 1849, 1850, 1852, 1853, 1854, + 1855, 1856, 1857, 1859, 1860, 1862, 1865, 1866, 1867, 1868, + 1870, 1871, 1870, 1873, 1874, 1876, 1877, 1878, 1879, 1880, + 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1891, 1892, 1893, + 1894, 1898, 1898, 1898, 1898, 1898, 1899, 1899, 1899, 1899, + 1899, 1900, 1906, 1900, 1900, 1900, 1901, 1907, 1901, 1908, + 1901, 1902, 1902, 1902, 1902, 1902, 1903, 1903, 1903, 1903, + 1903, 1904, 1909, 1904, 1904, 1904, 1905, 1905, 1905, 716, - 687, 686, 685, 681, 680, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 668, 667, 665, 664, 663, 662, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 651, - 650, 649, 648, 647, 646, 645, 644, 643, 641, 640, - 639, 638, 637, 636, 634, 633, 632, 631, 630, 629, - 628, 626, 625, 624, 623, 622, 621, 620, 619, 618, - 617, 616, 615, 614, 612, 611, 610, 609, 608, 607, - 606, 605, 604, 603, 602, 601, 600, 598, 597, 596, - 595, 594, 593, 592, 591, 590, 589, 588, 587, 585, - 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, + 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 697, 695, 694, + 693, 692, 691, 690, 689, 688, 684, 683, 681, 680, + 679, 678, 677, 676, 675, 674, 673, 671, 670, 668, + 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 657, 656, 654, 653, 652, 651, 650, 649, 648, 647, + 646, 644, 643, 642, 641, 640, 639, 637, 636, 635, + 634, 633, 632, 631, 629, 628, 627, 626, 625, 624, + 623, 622, 621, 620, 619, 618, 617, 615, 614, 613, + 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - 574, 573, 572, 571, 570, 568, 567, 559, 558, 557, - 556, 555, 554, 552, 551, 549, 547, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, - 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, - 523, 522, 521, 520, 519, 518, 517, 515, 513, 512, - 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, - 501, 500, 498, 497, 496, 495, 494, 493, 492, 490, - 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 475, 474, 473, 472, 470, 469, 468, - 467, 466, 464, 463, 461, 460, 457, 456, 455, 454, + 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, + 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, + 581, 580, 579, 578, 577, 576, 575, 574, 573, 571, + 570, 562, 561, 560, 558, 557, 556, 554, 553, 551, + 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, + 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, + 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, + 519, 517, 515, 514, 513, 512, 511, 510, 509, 508, + 507, 506, 505, 504, 503, 502, 500, 499, 498, 497, + 496, 495, 494, 492, 491, 490, 489, 488, 487, 486, - 453, 452, 451, 449, 448, 447, 446, 445, 444, 443, - 442, 437, 435, 434, 432, 431, 430, 427, 425, 424, - 422, 421, 420, 418, 417, 416, 415, 414, 413, 412, - 411, 410, 409, 408, 407, 406, 405, 404, 402, 401, - 400, 398, 397, 396, 395, 393, 392, 391, 390, 388, - 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, - 376, 374, 373, 372, 371, 370, 369, 368, 366, 365, - 364, 363, 362, 361, 360, 359, 358, 357, 355, 354, - 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, - 342, 341, 340, 339, 338, 335, 334, 333, 332, 331, + 485, 484, 483, 482, 481, 480, 479, 477, 476, 475, + 474, 472, 471, 470, 469, 468, 466, 465, 463, 462, + 459, 458, 457, 456, 455, 454, 453, 451, 450, 449, + 448, 447, 446, 445, 444, 439, 437, 436, 434, 433, + 431, 428, 426, 425, 423, 422, 421, 419, 418, 417, + 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, + 406, 405, 403, 402, 401, 399, 398, 397, 396, 394, + 393, 392, 391, 389, 388, 387, 386, 385, 384, 383, + 382, 381, 380, 379, 377, 375, 374, 373, 372, 371, + 370, 369, 367, 366, 365, 364, 363, 362, 361, 360, - 330, 329, 328, 327, 326, 325, 324, 323, 319, 317, - 314, 312, 309, 302, 300, 299, 298, 297, 296, 294, - 293, 292, 291, 290, 289, 288, 287, 286, 284, 283, - 282, 281, 280, 279, 278, 277, 275, 274, 273, 272, - 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, - 261, 259, 258, 257, 256, 255, 254, 253, 252, 251, - 250, 248, 247, 246, 245, 244, 243, 241, 239, 238, - 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, - 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, - 216, 215, 214, 213, 212, 211, 210, 209, 208, 206, + 359, 358, 356, 355, 354, 353, 352, 351, 350, 349, + 348, 347, 346, 345, 343, 342, 341, 340, 339, 336, + 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, + 325, 324, 320, 318, 315, 313, 309, 302, 300, 299, + 298, 297, 296, 294, 293, 292, 291, 290, 289, 288, + 287, 286, 284, 283, 282, 281, 280, 279, 278, 277, + 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, + 265, 264, 263, 262, 261, 259, 258, 257, 256, 255, + 254, 253, 252, 251, 250, 248, 247, 246, 245, 244, + 243, 241, 239, 238, 237, 236, 235, 234, 233, 232, - 202, 200, 198, 194, 192, 190, 182, 181, 180, 178, - 177, 176, 174, 173, 172, 170, 169, 168, 164, 161, - 159, 158, 157, 156, 155, 153, 152, 151, 150, 149, - 148, 146, 145, 144, 143, 142, 141, 140, 139, 138, - 136, 135, 133, 131, 130, 129, 128, 126, 125, 124, - 123, 121, 120, 118, 117, 116, 112, 104, 102, 97, - 96, 77, 72, 66, 58, 49, 47, 43, 41, 39, - 38, 24, 14, 11, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, + 221, 220, 219, 217, 216, 215, 214, 213, 212, 211, + 210, 209, 208, 206, 203, 201, 199, 195, 193, 190, + 182, 181, 180, 178, 177, 176, 174, 173, 172, 170, + 169, 168, 164, 161, 159, 158, 157, 156, 155, 153, + 152, 151, 150, 149, 148, 146, 145, 144, 143, 142, + 141, 140, 139, 138, 136, 135, 133, 131, 130, 129, + 128, 126, 125, 124, 123, 121, 120, 118, 117, 116, + 112, 104, 102, 97, 96, 77, 72, 66, 58, 49, + 47, 43, 41, 39, 38, 24, 14, 11, 1897, 1897, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887 + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897 } ; static yy_state_type yy_last_accepting_state; @@ -1911,31 +1921,31 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[203] = +static const flex_int16_t yy_rule_linenum[204] = { 0, - 146, 148, 150, 155, 156, 161, 162, 163, 175, 178, - 183, 190, 199, 208, 217, 226, 235, 244, 254, 263, - 272, 281, 290, 299, 308, 317, 326, 335, 344, 353, - 362, 374, 383, 392, 401, 410, 421, 432, 443, 454, - 465, 476, 487, 498, 509, 520, 531, 542, 553, 564, - 575, 586, 595, 606, 617, 628, 639, 650, 659, 668, - 677, 686, 697, 708, 719, 730, 741, 752, 763, 774, - 784, 795, 804, 814, 828, 844, 853, 862, 871, 880, - 902, 924, 933, 943, 952, 963, 972, 981, 990, 999, - 1008, 1018, 1027, 1038, 1049, 1060, 1071, 1083, 1092, 1101, + 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, + 182, 189, 198, 207, 216, 225, 234, 243, 253, 262, + 271, 280, 289, 298, 307, 316, 325, 334, 343, 352, + 361, 373, 382, 391, 400, 409, 420, 431, 442, 453, + 464, 475, 486, 497, 508, 519, 530, 541, 552, 563, + 574, 585, 594, 605, 616, 627, 638, 649, 658, 667, + 676, 685, 696, 707, 718, 729, 740, 751, 762, 772, + 783, 792, 802, 816, 832, 841, 850, 859, 868, 890, + 912, 921, 931, 940, 951, 962, 973, 984, 993, 1002, + 1011, 1020, 1029, 1039, 1048, 1059, 1070, 1081, 1092, 1104, - 1110, 1119, 1128, 1137, 1146, 1155, 1164, 1174, 1185, 1197, - 1206, 1215, 1225, 1235, 1245, 1255, 1265, 1275, 1284, 1294, - 1303, 1312, 1321, 1330, 1340, 1350, 1359, 1369, 1378, 1387, - 1396, 1405, 1414, 1423, 1432, 1441, 1450, 1459, 1468, 1477, - 1486, 1495, 1504, 1513, 1522, 1531, 1540, 1549, 1558, 1567, - 1576, 1585, 1594, 1603, 1612, 1621, 1630, 1639, 1648, 1657, - 1666, 1675, 1684, 1696, 1708, 1718, 1728, 1738, 1748, 1758, - 1768, 1778, 1788, 1798, 1807, 1816, 1825, 1834, 1845, 1856, - 1869, 1882, 1895, 1904, 2005, 2021, 2070, 2078, 2093, 2094, - 2095, 2096, 2097, 2098, 2100, 2118, 2131, 2136, 2140, 2142, + 1113, 1122, 1131, 1140, 1149, 1158, 1167, 1176, 1185, 1195, + 1206, 1218, 1227, 1236, 1246, 1256, 1266, 1276, 1286, 1296, + 1305, 1315, 1324, 1333, 1342, 1351, 1361, 1371, 1380, 1390, + 1399, 1408, 1417, 1426, 1435, 1444, 1453, 1462, 1471, 1480, + 1489, 1498, 1507, 1516, 1525, 1534, 1543, 1552, 1561, 1570, + 1579, 1588, 1597, 1606, 1615, 1624, 1633, 1642, 1651, 1660, + 1669, 1678, 1687, 1696, 1705, 1717, 1729, 1739, 1749, 1759, + 1769, 1779, 1789, 1799, 1809, 1819, 1828, 1837, 1846, 1855, + 1866, 1877, 1890, 1903, 1916, 1925, 2024, 2029, 2034, 2039, + 2040, 2041, 2042, 2043, 2044, 2046, 2064, 2077, 2082, 2086, - 2144, 2146 + 2088, 2090, 2092 } ; /* The intent behind this definition is that it'll catch @@ -1957,7 +1967,6 @@ char *yytext; /* Generated files do not make clang static analyser so happy */ #ifndef __clang_analyzer__ -#include #include #include #include @@ -1989,7 +1998,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 1992 "dhcp4_lexer.cc" +#line 2001 "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 @@ -2010,13 +2019,13 @@ using namespace isc::dhcp; can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 95 "dhcp4_lexer.ll" +#line 94 "dhcp4_lexer.ll" /* This code run each time a pattern is matched. It updates the location 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 2018 "dhcp4_lexer.cc" -#line 2019 "dhcp4_lexer.cc" +#line 2027 "dhcp4_lexer.cc" +#line 2028 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2298,11 +2307,11 @@ YY_DECL { /* %% [7.0] user's declarations go here */ -#line 101 "dhcp4_lexer.ll" +#line 100 "dhcp4_lexer.ll" -#line 105 "dhcp4_lexer.ll" +#line 104 "dhcp4_lexer.ll" /* This part of the code is copied over to the verbatim to the top of the generated yylex function. Explanation: http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ @@ -2344,7 +2353,7 @@ YY_DECL } -#line 2347 "dhcp4_lexer.cc" +#line 2356 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2373,13 +2382,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 >= 1888 ) + if ( yy_current_state >= 1898 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1887 ); + while ( yy_current_state != 1897 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2398,13 +2407,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 < 203 ) + else if ( yy_act < 204 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 203 ) + else if ( yy_act == 204 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 204 ) + else if ( yy_act == 205 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2422,17 +2431,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 146 "dhcp4_lexer.ll" +#line 145 "dhcp4_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 148 "dhcp4_lexer.ll" +#line 147 "dhcp4_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 150 "dhcp4_lexer.ll" +#line 149 "dhcp4_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -2440,33 +2449,33 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 155 "dhcp4_lexer.ll" +#line 154 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 156 "dhcp4_lexer.ll" +#line 155 "dhcp4_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 157 "dhcp4_lexer.ll" +#line 156 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 161 "dhcp4_lexer.ll" +#line 160 "dhcp4_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 162 "dhcp4_lexer.ll" +#line 161 "dhcp4_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 163 "dhcp4_lexer.ll" +#line 162 "dhcp4_lexer.ll" { /* Include directive. */ @@ -2480,19 +2489,19 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 172 "dhcp4_lexer.ll" +#line 171 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 175 "dhcp4_lexer.ll" +#line 174 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 178 "dhcp4_lexer.ll" +#line 177 "dhcp4_lexer.ll" { /* Ok, we found a with space. Let's ignore it and update loc variable. */ driver.loc_.step(); @@ -2501,7 +2510,7 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 183 "dhcp4_lexer.ll" +#line 182 "dhcp4_lexer.ll" { /* Newline found. Let's update the location and continue. */ driver.loc_.lines(yyleng); @@ -2510,7 +2519,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 190 "dhcp4_lexer.ll" +#line 189 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2522,7 +2531,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 199 "dhcp4_lexer.ll" +#line 198 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2534,7 +2543,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 208 "dhcp4_lexer.ll" +#line 207 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2546,7 +2555,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 217 "dhcp4_lexer.ll" +#line 216 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SANITY_CHECKS: @@ -2558,7 +2567,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 226 "dhcp4_lexer.ll" +#line 225 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2570,7 +2579,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 235 "dhcp4_lexer.ll" +#line 234 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE: @@ -2582,7 +2591,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 244 "dhcp4_lexer.ll" +#line 243 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE: @@ -2595,7 +2604,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 254 "dhcp4_lexer.ll" +#line 253 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::INTERFACES_CONFIG: @@ -2607,7 +2616,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 263 "dhcp4_lexer.ll" +#line 262 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::OUTBOUND_INTERFACE: @@ -2619,7 +2628,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 272 "dhcp4_lexer.ll" +#line 271 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::OUTBOUND_INTERFACE: @@ -2631,7 +2640,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 281 "dhcp4_lexer.ll" +#line 280 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2643,7 +2652,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 290 "dhcp4_lexer.ll" +#line 289 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2655,7 +2664,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 299 "dhcp4_lexer.ll" +#line 298 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2667,7 +2676,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 308 "dhcp4_lexer.ll" +#line 307 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2679,7 +2688,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 317 "dhcp4_lexer.ll" +#line 316 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2691,7 +2700,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 326 "dhcp4_lexer.ll" +#line 325 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2703,7 +2712,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 335 "dhcp4_lexer.ll" +#line 334 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG_CONTROL: @@ -2715,7 +2724,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 344 "dhcp4_lexer.ll" +#line 343 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG_CONTROL: @@ -2727,7 +2736,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 353 "dhcp4_lexer.ll" +#line 352 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOSTS_DATABASE: @@ -2739,7 +2748,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 362 "dhcp4_lexer.ll" +#line 361 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2754,7 +2763,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 374 "dhcp4_lexer.ll" +#line 373 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2766,7 +2775,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 383 "dhcp4_lexer.ll" +#line 382 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2778,7 +2787,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 392 "dhcp4_lexer.ll" +#line 391 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2790,7 +2799,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 401 "dhcp4_lexer.ll" +#line 400 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2802,7 +2811,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 410 "dhcp4_lexer.ll" +#line 409 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2816,7 +2825,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 421 "dhcp4_lexer.ll" +#line 420 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2830,7 +2839,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 432 "dhcp4_lexer.ll" +#line 431 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2844,7 +2853,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 443 "dhcp4_lexer.ll" +#line 442 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2858,7 +2867,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 454 "dhcp4_lexer.ll" +#line 453 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2872,7 +2881,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 465 "dhcp4_lexer.ll" +#line 464 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2886,7 +2895,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 476 "dhcp4_lexer.ll" +#line 475 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2900,7 +2909,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 487 "dhcp4_lexer.ll" +#line 486 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2914,7 +2923,7 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 498 "dhcp4_lexer.ll" +#line 497 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2928,7 +2937,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 509 "dhcp4_lexer.ll" +#line 508 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2942,7 +2951,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 520 "dhcp4_lexer.ll" +#line 519 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2956,7 +2965,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 531 "dhcp4_lexer.ll" +#line 530 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2970,7 +2979,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 542 "dhcp4_lexer.ll" +#line 541 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2984,7 +2993,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 553 "dhcp4_lexer.ll" +#line 552 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2998,7 +3007,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 564 "dhcp4_lexer.ll" +#line 563 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -3012,7 +3021,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 575 "dhcp4_lexer.ll" +#line 574 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -3026,7 +3035,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 586 "dhcp4_lexer.ll" +#line 585 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -3038,7 +3047,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 595 "dhcp4_lexer.ll" +#line 594 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3052,7 +3061,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 606 "dhcp4_lexer.ll" +#line 605 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3066,7 +3075,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 617 "dhcp4_lexer.ll" +#line 616 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3080,7 +3089,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 628 "dhcp4_lexer.ll" +#line 627 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3094,7 +3103,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 639 "dhcp4_lexer.ll" +#line 638 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3108,7 +3117,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 650 "dhcp4_lexer.ll" +#line 649 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3120,7 +3129,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 659 "dhcp4_lexer.ll" +#line 658 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3132,7 +3141,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 668 "dhcp4_lexer.ll" +#line 667 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3144,7 +3153,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 677 "dhcp4_lexer.ll" +#line 676 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3156,7 +3165,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 686 "dhcp4_lexer.ll" +#line 685 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3170,7 +3179,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 697 "dhcp4_lexer.ll" +#line 696 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3184,7 +3193,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 708 "dhcp4_lexer.ll" +#line 707 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3198,7 +3207,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 719 "dhcp4_lexer.ll" +#line 718 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3212,7 +3221,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 730 "dhcp4_lexer.ll" +#line 729 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3226,7 +3235,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 741 "dhcp4_lexer.ll" +#line 740 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3240,7 +3249,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 752 "dhcp4_lexer.ll" +#line 751 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3254,21 +3263,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 763 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::DHCP4: - case isc::dhcp::Parser4Context::SUBNET4: - case isc::dhcp::Parser4Context::SHARED_NETWORK: - return isc::dhcp::Dhcp4Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_); - } -} - YY_BREAK -case 70: -YY_RULE_SETUP -#line 774 "dhcp4_lexer.ll" +#line 762 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3279,9 +3274,9 @@ YY_RULE_SETUP } } YY_BREAK -case 71: +case 70: YY_RULE_SETUP -#line 784 "dhcp4_lexer.ll" +#line 772 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3293,9 +3288,9 @@ YY_RULE_SETUP } } YY_BREAK -case 72: +case 71: YY_RULE_SETUP -#line 795 "dhcp4_lexer.ll" +#line 783 "dhcp4_lexer.ll" { switch (driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3305,9 +3300,9 @@ YY_RULE_SETUP } } YY_BREAK -case 73: +case 72: YY_RULE_SETUP -#line 804 "dhcp4_lexer.ll" +#line 792 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3318,9 +3313,9 @@ YY_RULE_SETUP } } YY_BREAK -case 74: +case 73: YY_RULE_SETUP -#line 814 "dhcp4_lexer.ll" +#line 802 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3335,9 +3330,9 @@ YY_RULE_SETUP } } YY_BREAK -case 75: +case 74: YY_RULE_SETUP -#line 828 "dhcp4_lexer.ll" +#line 816 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -3354,9 +3349,9 @@ YY_RULE_SETUP } } YY_BREAK -case 76: +case 75: YY_RULE_SETUP -#line 844 "dhcp4_lexer.ll" +#line 832 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3366,9 +3361,9 @@ YY_RULE_SETUP } } YY_BREAK -case 77: +case 76: YY_RULE_SETUP -#line 853 "dhcp4_lexer.ll" +#line 841 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3378,9 +3373,9 @@ YY_RULE_SETUP } } YY_BREAK -case 78: +case 77: YY_RULE_SETUP -#line 862 "dhcp4_lexer.ll" +#line 850 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3390,9 +3385,9 @@ YY_RULE_SETUP } } YY_BREAK -case 79: +case 78: YY_RULE_SETUP -#line 871 "dhcp4_lexer.ll" +#line 859 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -3402,9 +3397,9 @@ YY_RULE_SETUP } } YY_BREAK -case 80: +case 79: YY_RULE_SETUP -#line 880 "dhcp4_lexer.ll" +#line 868 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3427,9 +3422,9 @@ YY_RULE_SETUP } } YY_BREAK -case 81: +case 80: YY_RULE_SETUP -#line 902 "dhcp4_lexer.ll" +#line 890 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3452,9 +3447,9 @@ YY_RULE_SETUP } } YY_BREAK -case 82: +case 81: YY_RULE_SETUP -#line 924 "dhcp4_lexer.ll" +#line 912 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3464,9 +3459,9 @@ YY_RULE_SETUP } } YY_BREAK -case 83: +case 82: YY_RULE_SETUP -#line 933 "dhcp4_lexer.ll" +#line 921 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3477,9 +3472,9 @@ YY_RULE_SETUP } } YY_BREAK -case 84: +case 83: YY_RULE_SETUP -#line 943 "dhcp4_lexer.ll" +#line 931 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3489,9 +3484,51 @@ YY_RULE_SETUP } } YY_BREAK +case 84: +YY_RULE_SETUP +#line 940 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_RESERVATIONS_OUT_OF_POOL(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("reservations-out-of-pool", driver.loc_); + } +} + YY_BREAK case 85: YY_RULE_SETUP -#line 952 "dhcp4_lexer.ll" +#line 951 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_RESERVATIONS_IN_SUBNET(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("reservations-in-subnet", driver.loc_); + } +} + YY_BREAK +case 86: +YY_RULE_SETUP +#line 962 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_RESERVATIONS_GLOBAL(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("reservations-global", driver.loc_); + } +} + YY_BREAK +case 87: +YY_RULE_SETUP +#line 973 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3503,9 +3540,9 @@ YY_RULE_SETUP } } YY_BREAK -case 86: +case 88: YY_RULE_SETUP -#line 963 "dhcp4_lexer.ll" +#line 984 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3515,9 +3552,9 @@ YY_RULE_SETUP } } YY_BREAK -case 87: +case 89: YY_RULE_SETUP -#line 972 "dhcp4_lexer.ll" +#line 993 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3527,9 +3564,9 @@ YY_RULE_SETUP } } YY_BREAK -case 88: +case 90: YY_RULE_SETUP -#line 981 "dhcp4_lexer.ll" +#line 1002 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3539,9 +3576,9 @@ YY_RULE_SETUP } } YY_BREAK -case 89: +case 91: YY_RULE_SETUP -#line 990 "dhcp4_lexer.ll" +#line 1011 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3551,9 +3588,9 @@ YY_RULE_SETUP } } YY_BREAK -case 90: +case 92: YY_RULE_SETUP -#line 999 "dhcp4_lexer.ll" +#line 1020 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3563,9 +3600,9 @@ YY_RULE_SETUP } } YY_BREAK -case 91: +case 93: YY_RULE_SETUP -#line 1008 "dhcp4_lexer.ll" +#line 1029 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3576,9 +3613,9 @@ YY_RULE_SETUP } } YY_BREAK -case 92: +case 94: YY_RULE_SETUP -#line 1018 "dhcp4_lexer.ll" +#line 1039 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3588,9 +3625,9 @@ YY_RULE_SETUP } } YY_BREAK -case 93: +case 95: YY_RULE_SETUP -#line 1027 "dhcp4_lexer.ll" +#line 1048 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3602,9 +3639,9 @@ YY_RULE_SETUP } } YY_BREAK -case 94: +case 96: YY_RULE_SETUP -#line 1038 "dhcp4_lexer.ll" +#line 1059 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3616,9 +3653,9 @@ YY_RULE_SETUP } } YY_BREAK -case 95: +case 97: YY_RULE_SETUP -#line 1049 "dhcp4_lexer.ll" +#line 1070 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3630,9 +3667,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 98: YY_RULE_SETUP -#line 1060 "dhcp4_lexer.ll" +#line 1081 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3644,9 +3681,9 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 99: YY_RULE_SETUP -#line 1071 "dhcp4_lexer.ll" +#line 1092 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3658,9 +3695,9 @@ YY_RULE_SETUP } } YY_BREAK -case 98: +case 100: YY_RULE_SETUP -#line 1083 "dhcp4_lexer.ll" +#line 1104 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3670,9 +3707,9 @@ YY_RULE_SETUP } } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 1092 "dhcp4_lexer.ll" +#line 1113 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3682,9 +3719,9 @@ YY_RULE_SETUP } } YY_BREAK -case 100: +case 102: YY_RULE_SETUP -#line 1101 "dhcp4_lexer.ll" +#line 1122 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3694,9 +3731,9 @@ YY_RULE_SETUP } } YY_BREAK -case 101: +case 103: YY_RULE_SETUP -#line 1110 "dhcp4_lexer.ll" +#line 1131 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3706,9 +3743,9 @@ YY_RULE_SETUP } } YY_BREAK -case 102: +case 104: YY_RULE_SETUP -#line 1119 "dhcp4_lexer.ll" +#line 1140 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3718,9 +3755,9 @@ YY_RULE_SETUP } } YY_BREAK -case 103: +case 105: YY_RULE_SETUP -#line 1128 "dhcp4_lexer.ll" +#line 1149 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3730,9 +3767,9 @@ YY_RULE_SETUP } } YY_BREAK -case 104: +case 106: YY_RULE_SETUP -#line 1137 "dhcp4_lexer.ll" +#line 1158 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3742,9 +3779,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 107: YY_RULE_SETUP -#line 1146 "dhcp4_lexer.ll" +#line 1167 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3754,9 +3791,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 108: YY_RULE_SETUP -#line 1155 "dhcp4_lexer.ll" +#line 1176 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3766,9 +3803,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 109: YY_RULE_SETUP -#line 1164 "dhcp4_lexer.ll" +#line 1185 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3779,9 +3816,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 110: YY_RULE_SETUP -#line 1174 "dhcp4_lexer.ll" +#line 1195 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3793,9 +3830,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 111: YY_RULE_SETUP -#line 1185 "dhcp4_lexer.ll" +#line 1206 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3808,9 +3845,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 112: YY_RULE_SETUP -#line 1197 "dhcp4_lexer.ll" +#line 1218 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -3820,9 +3857,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 113: YY_RULE_SETUP -#line 1206 "dhcp4_lexer.ll" +#line 1227 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -3832,9 +3869,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 114: YY_RULE_SETUP -#line 1215 "dhcp4_lexer.ll" +#line 1236 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3845,9 +3882,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 115: YY_RULE_SETUP -#line 1225 "dhcp4_lexer.ll" +#line 1246 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3858,9 +3895,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 116: YY_RULE_SETUP -#line 1235 "dhcp4_lexer.ll" +#line 1256 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3871,9 +3908,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 117: YY_RULE_SETUP -#line 1245 "dhcp4_lexer.ll" +#line 1266 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3884,9 +3921,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 118: YY_RULE_SETUP -#line 1255 "dhcp4_lexer.ll" +#line 1276 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3897,9 +3934,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 1265 "dhcp4_lexer.ll" +#line 1286 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3910,9 +3947,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 1275 "dhcp4_lexer.ll" +#line 1296 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -3922,9 +3959,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 121: YY_RULE_SETUP -#line 1284 "dhcp4_lexer.ll" +#line 1305 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3935,9 +3972,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 1294 "dhcp4_lexer.ll" +#line 1315 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3947,9 +3984,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 1303 "dhcp4_lexer.ll" +#line 1324 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3959,9 +3996,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 1312 "dhcp4_lexer.ll" +#line 1333 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3971,9 +4008,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 125: YY_RULE_SETUP -#line 1321 "dhcp4_lexer.ll" +#line 1342 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3983,9 +4020,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 126: YY_RULE_SETUP -#line 1330 "dhcp4_lexer.ll" +#line 1351 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3996,9 +4033,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 127: YY_RULE_SETUP -#line 1340 "dhcp4_lexer.ll" +#line 1361 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4009,9 +4046,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 128: YY_RULE_SETUP -#line 1350 "dhcp4_lexer.ll" +#line 1371 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4021,9 +4058,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 129: YY_RULE_SETUP -#line 1359 "dhcp4_lexer.ll" +#line 1380 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4033,9 +4070,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 130: YY_RULE_SETUP -#line 1369 "dhcp4_lexer.ll" +#line 1390 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4045,9 +4082,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 131: YY_RULE_SETUP -#line 1378 "dhcp4_lexer.ll" +#line 1399 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4057,9 +4094,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 132: YY_RULE_SETUP -#line 1387 "dhcp4_lexer.ll" +#line 1408 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4069,9 +4106,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 133: YY_RULE_SETUP -#line 1396 "dhcp4_lexer.ll" +#line 1417 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4081,9 +4118,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 134: YY_RULE_SETUP -#line 1405 "dhcp4_lexer.ll" +#line 1426 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4093,9 +4130,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 135: YY_RULE_SETUP -#line 1414 "dhcp4_lexer.ll" +#line 1435 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4105,9 +4142,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 136: YY_RULE_SETUP -#line 1423 "dhcp4_lexer.ll" +#line 1444 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4117,9 +4154,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 137: YY_RULE_SETUP -#line 1432 "dhcp4_lexer.ll" +#line 1453 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4129,9 +4166,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 138: YY_RULE_SETUP -#line 1441 "dhcp4_lexer.ll" +#line 1462 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4141,9 +4178,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 139: YY_RULE_SETUP -#line 1450 "dhcp4_lexer.ll" +#line 1471 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4153,9 +4190,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 140: YY_RULE_SETUP -#line 1459 "dhcp4_lexer.ll" +#line 1480 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4165,9 +4202,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 141: YY_RULE_SETUP -#line 1468 "dhcp4_lexer.ll" +#line 1489 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4177,9 +4214,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 142: YY_RULE_SETUP -#line 1477 "dhcp4_lexer.ll" +#line 1498 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4189,9 +4226,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 1486 "dhcp4_lexer.ll" +#line 1507 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4201,9 +4238,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 144: YY_RULE_SETUP -#line 1495 "dhcp4_lexer.ll" +#line 1516 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4213,9 +4250,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 145: YY_RULE_SETUP -#line 1504 "dhcp4_lexer.ll" +#line 1525 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4225,9 +4262,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 146: YY_RULE_SETUP -#line 1513 "dhcp4_lexer.ll" +#line 1534 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4237,9 +4274,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 147: YY_RULE_SETUP -#line 1522 "dhcp4_lexer.ll" +#line 1543 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4249,9 +4286,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 148: YY_RULE_SETUP -#line 1531 "dhcp4_lexer.ll" +#line 1552 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4261,9 +4298,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 149: YY_RULE_SETUP -#line 1540 "dhcp4_lexer.ll" +#line 1561 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4273,9 +4310,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 150: YY_RULE_SETUP -#line 1549 "dhcp4_lexer.ll" +#line 1570 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4285,9 +4322,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 151: YY_RULE_SETUP -#line 1558 "dhcp4_lexer.ll" +#line 1579 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4297,9 +4334,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 152: YY_RULE_SETUP -#line 1567 "dhcp4_lexer.ll" +#line 1588 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4309,9 +4346,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 153: YY_RULE_SETUP -#line 1576 "dhcp4_lexer.ll" +#line 1597 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4321,9 +4358,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 154: YY_RULE_SETUP -#line 1585 "dhcp4_lexer.ll" +#line 1606 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4333,9 +4370,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 155: YY_RULE_SETUP -#line 1594 "dhcp4_lexer.ll" +#line 1615 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4345,9 +4382,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 156: YY_RULE_SETUP -#line 1603 "dhcp4_lexer.ll" +#line 1624 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4357,9 +4394,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 157: YY_RULE_SETUP -#line 1612 "dhcp4_lexer.ll" +#line 1633 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4369,9 +4406,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 158: YY_RULE_SETUP -#line 1621 "dhcp4_lexer.ll" +#line 1642 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4381,9 +4418,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 159: YY_RULE_SETUP -#line 1630 "dhcp4_lexer.ll" +#line 1651 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4393,9 +4430,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 160: YY_RULE_SETUP -#line 1639 "dhcp4_lexer.ll" +#line 1660 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4405,9 +4442,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 161: YY_RULE_SETUP -#line 1648 "dhcp4_lexer.ll" +#line 1669 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4417,9 +4454,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 162: YY_RULE_SETUP -#line 1657 "dhcp4_lexer.ll" +#line 1678 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4429,9 +4466,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 163: YY_RULE_SETUP -#line 1666 "dhcp4_lexer.ll" +#line 1687 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4441,9 +4478,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 164: YY_RULE_SETUP -#line 1675 "dhcp4_lexer.ll" +#line 1696 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4453,9 +4490,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 165: YY_RULE_SETUP -#line 1684 "dhcp4_lexer.ll" +#line 1705 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4468,9 +4505,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 166: YY_RULE_SETUP -#line 1696 "dhcp4_lexer.ll" +#line 1717 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4483,9 +4520,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 167: YY_RULE_SETUP -#line 1708 "dhcp4_lexer.ll" +#line 1729 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4496,9 +4533,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 166: +case 168: YY_RULE_SETUP -#line 1718 "dhcp4_lexer.ll" +#line 1739 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4509,9 +4546,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 167: +case 169: YY_RULE_SETUP -#line 1728 "dhcp4_lexer.ll" +#line 1749 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -4522,39 +4559,13 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 168: -YY_RULE_SETUP -#line 1738 "dhcp4_lexer.ll" -{ - /* dhcp-ddns value keywords are case insensitive */ - if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { - return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); - } - std::string tmp(yytext+1); - tmp.resize(tmp.size() - 1); - return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); -} - YY_BREAK -case 169: -YY_RULE_SETUP -#line 1748 "dhcp4_lexer.ll" -{ - /* dhcp-ddns value keywords are case insensitive */ - if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { - return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); - } - std::string tmp(yytext+1); - tmp.resize(tmp.size() - 1); - return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); -} - YY_BREAK case 170: YY_RULE_SETUP -#line 1758 "dhcp4_lexer.ll" +#line 1759 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { - return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_); + return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); } std::string tmp(yytext+1); tmp.resize(tmp.size() - 1); @@ -4563,7 +4574,20 @@ YY_RULE_SETUP YY_BREAK case 171: YY_RULE_SETUP -#line 1768 "dhcp4_lexer.ll" +#line 1769 "dhcp4_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 172: +YY_RULE_SETUP +#line 1779 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4574,9 +4598,22 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 172: +case 173: YY_RULE_SETUP -#line 1778 "dhcp4_lexer.ll" +#line 1789 "dhcp4_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 174: +YY_RULE_SETUP +#line 1799 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4587,9 +4624,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 173: +case 175: YY_RULE_SETUP -#line 1788 "dhcp4_lexer.ll" +#line 1809 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4600,9 +4637,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 174: +case 176: YY_RULE_SETUP -#line 1798 "dhcp4_lexer.ll" +#line 1819 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4612,9 +4649,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 177: YY_RULE_SETUP -#line 1807 "dhcp4_lexer.ll" +#line 1828 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4624,9 +4661,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 178: YY_RULE_SETUP -#line 1816 "dhcp4_lexer.ll" +#line 1837 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4636,9 +4673,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 179: YY_RULE_SETUP -#line 1825 "dhcp4_lexer.ll" +#line 1846 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4648,9 +4685,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 180: YY_RULE_SETUP -#line 1834 "dhcp4_lexer.ll" +#line 1855 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4662,9 +4699,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 181: YY_RULE_SETUP -#line 1845 "dhcp4_lexer.ll" +#line 1866 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4676,9 +4713,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 182: YY_RULE_SETUP -#line 1856 "dhcp4_lexer.ll" +#line 1877 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4692,9 +4729,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 183: YY_RULE_SETUP -#line 1869 "dhcp4_lexer.ll" +#line 1890 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4708,9 +4745,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 184: YY_RULE_SETUP -#line 1882 "dhcp4_lexer.ll" +#line 1903 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4724,9 +4761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 185: YY_RULE_SETUP -#line 1895 "dhcp4_lexer.ll" +#line 1916 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4736,9 +4773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 186: YY_RULE_SETUP -#line 1904 "dhcp4_lexer.ll" +#line 1925 "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. @@ -4793,9 +4830,7 @@ YY_RULE_SETUP "Overflow unicode escape in \"" + raw + "\""); } if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { - driver.error(driver.loc_, - "Unsupported unicode escape in \"" + raw + "\"", - pos + 1); + driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); } pos += 2; c = raw[pos]; @@ -4840,141 +4875,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 185: -/* rule 185 can match eol */ +case 187: +/* rule 187 can match eol */ YY_RULE_SETUP -#line 2005 "dhcp4_lexer.ll" +#line 2024 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ - std::string raw(yytext+1); - size_t len = raw.size() - 1; - size_t pos = 0; - for (; pos < len; ++pos) { - char c = raw[pos]; - if ((c >= 0) && (c < 0x20)) { - break; - } - } - driver.error(driver.loc_, - "Invalid control in " + std::string(yytext), - pos + 1); -} - YY_BREAK -case 186: -/* rule 186 can match eol */ -YY_RULE_SETUP -#line 2021 "dhcp4_lexer.ll" -{ - /* Bad string with a bad escape inside */ - std::string raw(yytext+1); - size_t len = raw.size() - 1; - size_t pos = 0; - bool found = false; - for (; pos < len; ++pos) { - if (found) { - break; - } - char c = raw[pos]; - if (c == '\\') { - ++pos; - c = raw[pos]; - switch (c) { - case '"': - case '\\': - case '/': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': - break; - case 'u': - if ((pos + 4 > len) || - !std::isxdigit(raw[pos + 1]) || - !std::isxdigit(raw[pos + 2]) || - !std::isxdigit(raw[pos + 3]) || - !std::isxdigit(raw[pos + 4])) { - found = true; - } - break; - default: - found = true; - break; - } - } - } - /* The rule stops on the first " including on \" so add ... in this case */ - std::string trailer = ""; - if (raw[len - 1] == '\\') { - trailer = "..."; - } - driver.error(driver.loc_, - "Bad escape in " + std::string(yytext) + trailer, - pos); -} - YY_BREAK -case 187: -YY_RULE_SETUP -#line 2070 "dhcp4_lexer.ll" -{ - /* Bad string with an open escape at the end */ - std::string raw(yytext+1); - driver.error(driver.loc_, - "Overflow escape in " + std::string(yytext), - raw.size() + 1); + driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK case 188: +/* rule 188 can match eol */ YY_RULE_SETUP -#line 2078 "dhcp4_lexer.ll" +#line 2029 "dhcp4_lexer.ll" { - /* Bad string with an open unicode escape at the end */ - std::string raw(yytext+1); - size_t pos = raw.size() - 1; - for (; pos > 0; --pos) { - char c = raw[pos]; - if (c == 'u') { - break; - } - } - driver.error(driver.loc_, - "Overflow unicode escape in " + std::string(yytext), - pos + 1); + /* Bad string with a bad escape inside */ + driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK case 189: YY_RULE_SETUP -#line 2093 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } +#line 2034 "dhcp4_lexer.ll" +{ + /* Bad string with an open escape at the end */ + driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); +} YY_BREAK case 190: YY_RULE_SETUP -#line 2094 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } +#line 2039 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK case 191: YY_RULE_SETUP -#line 2095 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } +#line 2040 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK case 192: YY_RULE_SETUP -#line 2096 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } +#line 2041 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK case 193: YY_RULE_SETUP -#line 2097 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } +#line 2042 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK case 194: YY_RULE_SETUP -#line 2098 "dhcp4_lexer.ll" -{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } +#line 2043 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK case 195: YY_RULE_SETUP -#line 2100 "dhcp4_lexer.ll" +#line 2044 "dhcp4_lexer.ll" +{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } + YY_BREAK +case 196: +YY_RULE_SETUP +#line 2046 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4993,9 +4952,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 2118 "dhcp4_lexer.ll" +#line 2064 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5009,43 +4968,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 2131 "dhcp4_lexer.ll" +#line 2077 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 2136 "dhcp4_lexer.ll" +#line 2082 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 199: -YY_RULE_SETUP -#line 2140 "dhcp4_lexer.ll" -driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); - YY_BREAK case 200: YY_RULE_SETUP -#line 2142 "dhcp4_lexer.ll" -driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); +#line 2086 "dhcp4_lexer.ll" +driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK case 201: YY_RULE_SETUP -#line 2144 "dhcp4_lexer.ll" -driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); +#line 2088 "dhcp4_lexer.ll" +driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK case 202: YY_RULE_SETUP -#line 2146 "dhcp4_lexer.ll" +#line 2090 "dhcp4_lexer.ll" +driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); + YY_BREAK +case 203: +YY_RULE_SETUP +#line 2092 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2148 "dhcp4_lexer.ll" +#line 2094 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5069,12 +5028,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 2171 "dhcp4_lexer.ll" +#line 2117 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5077 "dhcp4_lexer.cc" +#line 5036 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5393,7 +5352,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 >= 1888 ) + if ( yy_current_state >= 1898 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5426,11 +5385,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 >= 1888 ) + if ( yy_current_state >= 1898 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1887); + yy_is_jam = (yy_current_state == 1897); return yy_is_jam ? 0 : yy_current_state; } @@ -6179,7 +6138,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2171 "dhcp4_lexer.ll" +#line 2117 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 372c8516e1..35133e3556 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -398,73 +398,73 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 404 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 410 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 416 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 422 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 428 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 434 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 440 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 446 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 452 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 458 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 464 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 273 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 470 "dhcp4_parser.cc" break; @@ -744,127 +744,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 282 "dhcp4_parser.yy" +#line 284 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 750 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 283 "dhcp4_parser.yy" +#line 285 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 756 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 284 "dhcp4_parser.yy" +#line 286 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 762 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 285 "dhcp4_parser.yy" +#line 287 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 768 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 286 "dhcp4_parser.yy" +#line 288 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 774 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 287 "dhcp4_parser.yy" +#line 289 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 780 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 288 "dhcp4_parser.yy" +#line 290 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 786 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 289 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 792 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 290 "dhcp4_parser.yy" +#line 292 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 798 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 291 "dhcp4_parser.yy" +#line 293 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 804 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 292 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 810 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 293 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 816 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 294 "dhcp4_parser.yy" +#line 296 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 822 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 302 "dhcp4_parser.yy" +#line 304 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 828 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 303 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 834 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 304 "dhcp4_parser.yy" +#line 306 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 840 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 305 "dhcp4_parser.yy" +#line 307 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 846 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 306 "dhcp4_parser.yy" +#line 308 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 852 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 307 "dhcp4_parser.yy" +#line 309 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 858 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 308 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 864 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 311 "dhcp4_parser.yy" +#line 313 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -873,7 +873,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 316 "dhcp4_parser.yy" +#line 318 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -884,7 +884,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 321 "dhcp4_parser.yy" +#line 323 "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 @@ -894,13 +894,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 327 "dhcp4_parser.yy" +#line 329 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 900 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 334 "dhcp4_parser.yy" +#line 336 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -910,7 +910,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 339 "dhcp4_parser.yy" +#line 341 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -921,7 +921,7 @@ namespace isc { namespace dhcp { break; case 43: // $@15: %empty -#line 347 "dhcp4_parser.yy" +#line 349 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -930,7 +930,7 @@ namespace isc { namespace dhcp { break; case 44: // list_generic: "[" $@15 list_content "]" -#line 350 "dhcp4_parser.yy" +#line 352 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -938,7 +938,7 @@ namespace isc { namespace dhcp { break; case 47: // not_empty_list: value -#line 358 "dhcp4_parser.yy" +#line 360 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -947,7 +947,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: not_empty_list "," value -#line 362 "dhcp4_parser.yy" +#line 364 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -956,7 +956,7 @@ namespace isc { namespace dhcp { break; case 49: // $@16: %empty -#line 369 "dhcp4_parser.yy" +#line 371 "dhcp4_parser.yy" { // List parsing about to start } @@ -964,7 +964,7 @@ namespace isc { namespace dhcp { break; case 50: // list_strings: "[" $@16 list_strings_content "]" -#line 371 "dhcp4_parser.yy" +#line 373 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -973,7 +973,7 @@ namespace isc { namespace dhcp { break; case 53: // not_empty_list_strings: "constant string" -#line 380 "dhcp4_parser.yy" +#line 382 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -982,7 +982,7 @@ namespace isc { namespace dhcp { break; case 54: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 384 "dhcp4_parser.yy" +#line 386 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 55: // unknown_map_entry: "constant string" ":" -#line 395 "dhcp4_parser.yy" +#line 397 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1002,7 +1002,7 @@ namespace isc { namespace dhcp { break; case 56: // $@17: %empty -#line 404 "dhcp4_parser.yy" +#line 406 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1013,7 +1013,7 @@ namespace isc { namespace dhcp { break; case 57: // syntax_map: "{" $@17 global_object "}" -#line 409 "dhcp4_parser.yy" +#line 411 "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 @@ -1026,7 +1026,7 @@ namespace isc { namespace dhcp { break; case 58: // $@18: %empty -#line 419 "dhcp4_parser.yy" +#line 421 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1041,7 +1041,7 @@ namespace isc { namespace dhcp { break; case 59: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 428 "dhcp4_parser.yy" +#line 430 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1051,7 +1051,7 @@ namespace isc { namespace dhcp { break; case 60: // $@19: %empty -#line 436 "dhcp4_parser.yy" +#line 438 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1061,7 +1061,7 @@ namespace isc { namespace dhcp { break; case 61: // sub_dhcp4: "{" $@19 global_params "}" -#line 440 "dhcp4_parser.yy" +#line 442 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1069,8 +1069,8 @@ namespace isc { namespace dhcp { #line 1070 "dhcp4_parser.cc" break; - case 121: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 510 "dhcp4_parser.yy" + case 123: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 514 "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))); @@ -1079,8 +1079,8 @@ namespace isc { namespace dhcp { #line 1080 "dhcp4_parser.cc" break; - case 122: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 516 "dhcp4_parser.yy" + case 124: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 520 "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))); @@ -1089,8 +1089,8 @@ namespace isc { namespace dhcp { #line 1090 "dhcp4_parser.cc" break; - case 123: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 522 "dhcp4_parser.yy" + case 125: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 526 "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))); @@ -1099,8 +1099,8 @@ namespace isc { namespace dhcp { #line 1100 "dhcp4_parser.cc" break; - case 124: // renew_timer: "renew-timer" ":" "integer" -#line 528 "dhcp4_parser.yy" + case 126: // renew_timer: "renew-timer" ":" "integer" +#line 532 "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))); @@ -1109,8 +1109,8 @@ namespace isc { namespace dhcp { #line 1110 "dhcp4_parser.cc" break; - case 125: // rebind_timer: "rebind-timer" ":" "integer" -#line 534 "dhcp4_parser.yy" + case 127: // rebind_timer: "rebind-timer" ":" "integer" +#line 538 "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))); @@ -1119,8 +1119,8 @@ namespace isc { namespace dhcp { #line 1120 "dhcp4_parser.cc" break; - case 126: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 540 "dhcp4_parser.yy" + case 128: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 544 "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))); @@ -1129,8 +1129,8 @@ namespace isc { namespace dhcp { #line 1130 "dhcp4_parser.cc" break; - case 127: // t1_percent: "t1-percent" ":" "floating point" -#line 546 "dhcp4_parser.yy" + case 129: // t1_percent: "t1-percent" ":" "floating point" +#line 550 "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))); @@ -1139,8 +1139,8 @@ namespace isc { namespace dhcp { #line 1140 "dhcp4_parser.cc" break; - case 128: // t2_percent: "t2-percent" ":" "floating point" -#line 552 "dhcp4_parser.yy" + case 130: // t2_percent: "t2-percent" ":" "floating point" +#line 556 "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))); @@ -1149,8 +1149,8 @@ namespace isc { namespace dhcp { #line 1150 "dhcp4_parser.cc" break; - case 129: // cache_threshold: "cache-threshold" ":" "floating point" -#line 558 "dhcp4_parser.yy" + case 131: // cache_threshold: "cache-threshold" ":" "floating point" +#line 562 "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))); @@ -1159,8 +1159,8 @@ namespace isc { namespace dhcp { #line 1160 "dhcp4_parser.cc" break; - case 130: // cache_max_age: "cache-max-age" ":" "integer" -#line 564 "dhcp4_parser.yy" + case 132: // cache_max_age: "cache-max-age" ":" "integer" +#line 568 "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))); @@ -1169,8 +1169,8 @@ namespace isc { namespace dhcp { #line 1170 "dhcp4_parser.cc" break; - case 131: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 570 "dhcp4_parser.yy" + case 133: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 574 "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))); @@ -1179,8 +1179,8 @@ namespace isc { namespace dhcp { #line 1180 "dhcp4_parser.cc" break; - case 132: // $@20: %empty -#line 576 "dhcp4_parser.yy" + case 134: // $@20: %empty +#line 580 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1188,8 +1188,8 @@ namespace isc { namespace dhcp { #line 1189 "dhcp4_parser.cc" break; - case 133: // server_tag: "server-tag" $@20 ":" "constant string" -#line 579 "dhcp4_parser.yy" + case 135: // server_tag: "server-tag" $@20 ":" "constant string" +#line 583 "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); @@ -1198,8 +1198,8 @@ namespace isc { namespace dhcp { #line 1199 "dhcp4_parser.cc" break; - case 134: // echo_client_id: "echo-client-id" ":" "boolean" -#line 585 "dhcp4_parser.yy" + case 136: // echo_client_id: "echo-client-id" ":" "boolean" +#line 589 "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))); @@ -1208,8 +1208,8 @@ namespace isc { namespace dhcp { #line 1209 "dhcp4_parser.cc" break; - case 135: // match_client_id: "match-client-id" ":" "boolean" -#line 591 "dhcp4_parser.yy" + case 137: // match_client_id: "match-client-id" ":" "boolean" +#line 595 "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))); @@ -1218,8 +1218,8 @@ namespace isc { namespace dhcp { #line 1219 "dhcp4_parser.cc" break; - case 136: // authoritative: "authoritative" ":" "boolean" -#line 597 "dhcp4_parser.yy" + case 138: // authoritative: "authoritative" ":" "boolean" +#line 601 "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))); @@ -1228,8 +1228,8 @@ namespace isc { namespace dhcp { #line 1229 "dhcp4_parser.cc" break; - case 137: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 603 "dhcp4_parser.yy" + case 139: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 607 "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))); @@ -1238,8 +1238,8 @@ namespace isc { namespace dhcp { #line 1239 "dhcp4_parser.cc" break; - case 138: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 609 "dhcp4_parser.yy" + case 140: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 613 "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))); @@ -1248,8 +1248,8 @@ namespace isc { namespace dhcp { #line 1249 "dhcp4_parser.cc" break; - case 139: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 615 "dhcp4_parser.yy" + case 141: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 619 "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))); @@ -1258,8 +1258,8 @@ namespace isc { namespace dhcp { #line 1259 "dhcp4_parser.cc" break; - case 140: // $@21: %empty -#line 621 "dhcp4_parser.yy" + case 142: // $@21: %empty +#line 625 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1267,8 +1267,8 @@ namespace isc { namespace dhcp { #line 1268 "dhcp4_parser.cc" break; - case 141: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value -#line 624 "dhcp4_parser.yy" + case 143: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value +#line 628 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1276,40 +1276,40 @@ namespace isc { namespace dhcp { #line 1277 "dhcp4_parser.cc" break; - case 142: // ddns_replace_client_name_value: "when-present" -#line 630 "dhcp4_parser.yy" + case 144: // ddns_replace_client_name_value: "when-present" +#line 634 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1285 "dhcp4_parser.cc" break; - case 143: // ddns_replace_client_name_value: "never" -#line 633 "dhcp4_parser.yy" + case 145: // ddns_replace_client_name_value: "never" +#line 637 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1293 "dhcp4_parser.cc" break; - case 144: // ddns_replace_client_name_value: "always" -#line 636 "dhcp4_parser.yy" + case 146: // ddns_replace_client_name_value: "always" +#line 640 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1301 "dhcp4_parser.cc" break; - case 145: // ddns_replace_client_name_value: "when-not-present" -#line 639 "dhcp4_parser.yy" + case 147: // ddns_replace_client_name_value: "when-not-present" +#line 643 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1309 "dhcp4_parser.cc" break; - case 146: // ddns_replace_client_name_value: "boolean" -#line 642 "dhcp4_parser.yy" + case 148: // ddns_replace_client_name_value: "boolean" +#line 646 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1317,8 +1317,8 @@ namespace isc { namespace dhcp { #line 1318 "dhcp4_parser.cc" break; - case 147: // $@22: %empty -#line 648 "dhcp4_parser.yy" + case 149: // $@22: %empty +#line 652 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1326,8 +1326,8 @@ namespace isc { namespace dhcp { #line 1327 "dhcp4_parser.cc" break; - case 148: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" -#line 651 "dhcp4_parser.yy" + case 150: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" +#line 655 "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); @@ -1336,8 +1336,8 @@ namespace isc { namespace dhcp { #line 1337 "dhcp4_parser.cc" break; - case 149: // $@23: %empty -#line 657 "dhcp4_parser.yy" + case 151: // $@23: %empty +#line 661 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1345,8 +1345,8 @@ namespace isc { namespace dhcp { #line 1346 "dhcp4_parser.cc" break; - case 150: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" -#line 660 "dhcp4_parser.yy" + case 152: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" +#line 664 "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); @@ -1355,8 +1355,8 @@ namespace isc { namespace dhcp { #line 1356 "dhcp4_parser.cc" break; - case 151: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 666 "dhcp4_parser.yy" + case 153: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 670 "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))); @@ -1365,96 +1365,86 @@ namespace isc { namespace dhcp { #line 1366 "dhcp4_parser.cc" break; - case 152: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 672 "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))); - ctx.stack_.back()->set("ddns-use-conflict-resolution", b); -} -#line 1376 "dhcp4_parser.cc" - break; - - case 153: // $@24: %empty -#line 678 "dhcp4_parser.yy" + case 154: // $@24: %empty +#line 676 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1385 "dhcp4_parser.cc" +#line 1375 "dhcp4_parser.cc" break; - case 154: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" -#line 681 "dhcp4_parser.yy" + case 155: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" +#line 679 "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); ctx.leave(); } -#line 1395 "dhcp4_parser.cc" +#line 1385 "dhcp4_parser.cc" break; - case 155: // $@25: %empty -#line 687 "dhcp4_parser.yy" + case 156: // $@25: %empty +#line 685 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1404 "dhcp4_parser.cc" +#line 1394 "dhcp4_parser.cc" break; - case 156: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" -#line 690 "dhcp4_parser.yy" + case 157: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" +#line 688 "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); ctx.leave(); } -#line 1414 "dhcp4_parser.cc" +#line 1404 "dhcp4_parser.cc" break; - case 157: // store_extended_info: "store-extended-info" ":" "boolean" -#line 696 "dhcp4_parser.yy" + case 158: // store_extended_info: "store-extended-info" ":" "boolean" +#line 694 "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))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1424 "dhcp4_parser.cc" +#line 1414 "dhcp4_parser.cc" break; - case 158: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 702 "dhcp4_parser.yy" + case 159: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 700 "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))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1434 "dhcp4_parser.cc" +#line 1424 "dhcp4_parser.cc" break; - case 159: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 708 "dhcp4_parser.yy" + case 160: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 706 "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))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1444 "dhcp4_parser.cc" +#line 1434 "dhcp4_parser.cc" break; - case 160: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 714 "dhcp4_parser.yy" + case 161: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 712 "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))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1454 "dhcp4_parser.cc" +#line 1444 "dhcp4_parser.cc" break; - case 161: // $@26: %empty -#line 720 "dhcp4_parser.yy" + case 162: // $@26: %empty +#line 718 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1462,40 +1452,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1466 "dhcp4_parser.cc" +#line 1456 "dhcp4_parser.cc" break; - case 162: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" -#line 726 "dhcp4_parser.yy" + case 163: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" +#line 724 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1476 "dhcp4_parser.cc" +#line 1466 "dhcp4_parser.cc" break; - case 172: // $@27: %empty -#line 745 "dhcp4_parser.yy" + case 173: // $@27: %empty +#line 743 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1486 "dhcp4_parser.cc" +#line 1476 "dhcp4_parser.cc" break; - case 173: // sub_interfaces4: "{" $@27 interfaces_config_params "}" -#line 749 "dhcp4_parser.yy" + case 174: // sub_interfaces4: "{" $@27 interfaces_config_params "}" +#line 747 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1495 "dhcp4_parser.cc" +#line 1485 "dhcp4_parser.cc" break; - case 174: // $@28: %empty -#line 754 "dhcp4_parser.yy" + case 175: // $@28: %empty +#line 752 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1503,94 +1493,94 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1507 "dhcp4_parser.cc" +#line 1497 "dhcp4_parser.cc" break; - case 175: // interfaces_list: "interfaces" $@28 ":" list_strings -#line 760 "dhcp4_parser.yy" + case 176: // interfaces_list: "interfaces" $@28 ":" list_strings +#line 758 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1516 "dhcp4_parser.cc" +#line 1506 "dhcp4_parser.cc" break; - case 176: // $@29: %empty -#line 765 "dhcp4_parser.yy" + case 177: // $@29: %empty +#line 763 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1525 "dhcp4_parser.cc" +#line 1515 "dhcp4_parser.cc" break; - case 177: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type -#line 768 "dhcp4_parser.yy" + case 178: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type +#line 766 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1534 "dhcp4_parser.cc" +#line 1524 "dhcp4_parser.cc" break; - case 178: // socket_type: "raw" -#line 773 "dhcp4_parser.yy" + case 179: // socket_type: "raw" +#line 771 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1540 "dhcp4_parser.cc" +#line 1530 "dhcp4_parser.cc" break; - case 179: // socket_type: "udp" -#line 774 "dhcp4_parser.yy" + case 180: // socket_type: "udp" +#line 772 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1546 "dhcp4_parser.cc" +#line 1536 "dhcp4_parser.cc" break; - case 180: // $@30: %empty -#line 777 "dhcp4_parser.yy" + case 181: // $@30: %empty +#line 775 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1555 "dhcp4_parser.cc" +#line 1545 "dhcp4_parser.cc" break; - case 181: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value -#line 780 "dhcp4_parser.yy" + case 182: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value +#line 778 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1564 "dhcp4_parser.cc" +#line 1554 "dhcp4_parser.cc" break; - case 182: // outbound_interface_value: "same-as-inbound" -#line 785 "dhcp4_parser.yy" + case 183: // outbound_interface_value: "same-as-inbound" +#line 783 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1572 "dhcp4_parser.cc" +#line 1562 "dhcp4_parser.cc" break; - case 183: // outbound_interface_value: "use-routing" -#line 787 "dhcp4_parser.yy" + case 184: // outbound_interface_value: "use-routing" +#line 785 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1580 "dhcp4_parser.cc" +#line 1570 "dhcp4_parser.cc" break; - case 184: // re_detect: "re-detect" ":" "boolean" -#line 791 "dhcp4_parser.yy" + case 185: // re_detect: "re-detect" ":" "boolean" +#line 789 "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))); ctx.stack_.back()->set("re-detect", b); } -#line 1590 "dhcp4_parser.cc" +#line 1580 "dhcp4_parser.cc" break; - case 185: // $@31: %empty -#line 798 "dhcp4_parser.yy" + case 186: // $@31: %empty +#line 796 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1598,22 +1588,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1602 "dhcp4_parser.cc" +#line 1592 "dhcp4_parser.cc" break; - case 186: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 804 "dhcp4_parser.yy" + case 187: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 802 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1613 "dhcp4_parser.cc" +#line 1603 "dhcp4_parser.cc" break; - case 187: // $@32: %empty -#line 811 "dhcp4_parser.yy" + case 188: // $@32: %empty +#line 809 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1621,29 +1611,29 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1625 "dhcp4_parser.cc" +#line 1615 "dhcp4_parser.cc" break; - case 188: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" -#line 817 "dhcp4_parser.yy" + case 189: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" +#line 815 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1634 "dhcp4_parser.cc" +#line 1624 "dhcp4_parser.cc" break; - case 192: // $@33: %empty -#line 827 "dhcp4_parser.yy" + case 193: // $@33: %empty +#line 825 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1643 "dhcp4_parser.cc" +#line 1633 "dhcp4_parser.cc" break; - case 193: // lease_checks: "lease-checks" $@33 ":" "constant string" -#line 830 "dhcp4_parser.yy" + case 194: // lease_checks: "lease-checks" $@33 ":" "constant string" +#line 828 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1659,11 +1649,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1663 "dhcp4_parser.cc" +#line 1653 "dhcp4_parser.cc" break; - case 194: // $@34: %empty -#line 846 "dhcp4_parser.yy" + case 195: // $@34: %empty +#line 844 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1671,22 +1661,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1675 "dhcp4_parser.cc" +#line 1665 "dhcp4_parser.cc" break; - case 195: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" -#line 852 "dhcp4_parser.yy" + case 196: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" +#line 850 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1686 "dhcp4_parser.cc" +#line 1676 "dhcp4_parser.cc" break; - case 196: // $@35: %empty -#line 859 "dhcp4_parser.yy" + case 197: // $@35: %empty +#line 857 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1694,344 +1684,344 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1698 "dhcp4_parser.cc" +#line 1688 "dhcp4_parser.cc" break; - case 197: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" -#line 865 "dhcp4_parser.yy" + case 198: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" +#line 863 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1707 "dhcp4_parser.cc" +#line 1697 "dhcp4_parser.cc" break; - case 202: // $@36: %empty -#line 878 "dhcp4_parser.yy" + case 203: // $@36: %empty +#line 876 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1717 "dhcp4_parser.cc" +#line 1707 "dhcp4_parser.cc" break; - case 203: // database: "{" $@36 database_map_params "}" -#line 882 "dhcp4_parser.yy" + case 204: // database: "{" $@36 database_map_params "}" +#line 880 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1727 "dhcp4_parser.cc" +#line 1717 "dhcp4_parser.cc" break; - case 227: // $@37: %empty -#line 915 "dhcp4_parser.yy" + case 228: // $@37: %empty +#line 913 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1736 "dhcp4_parser.cc" +#line 1726 "dhcp4_parser.cc" break; - case 228: // database_type: "type" $@37 ":" db_type -#line 918 "dhcp4_parser.yy" + case 229: // database_type: "type" $@37 ":" db_type +#line 916 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1745 "dhcp4_parser.cc" +#line 1735 "dhcp4_parser.cc" break; - case 229: // db_type: "memfile" -#line 923 "dhcp4_parser.yy" + case 230: // db_type: "memfile" +#line 921 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1751 "dhcp4_parser.cc" +#line 1741 "dhcp4_parser.cc" break; - case 230: // db_type: "mysql" -#line 924 "dhcp4_parser.yy" + case 231: // db_type: "mysql" +#line 922 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1757 "dhcp4_parser.cc" +#line 1747 "dhcp4_parser.cc" break; - case 231: // db_type: "postgresql" -#line 925 "dhcp4_parser.yy" + case 232: // db_type: "postgresql" +#line 923 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1763 "dhcp4_parser.cc" +#line 1753 "dhcp4_parser.cc" break; - case 232: // db_type: "cql" -#line 926 "dhcp4_parser.yy" + case 233: // db_type: "cql" +#line 924 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1769 "dhcp4_parser.cc" +#line 1759 "dhcp4_parser.cc" break; - case 233: // $@38: %empty -#line 929 "dhcp4_parser.yy" + case 234: // $@38: %empty +#line 927 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1778 "dhcp4_parser.cc" +#line 1768 "dhcp4_parser.cc" break; - case 234: // user: "user" $@38 ":" "constant string" -#line 932 "dhcp4_parser.yy" + case 235: // user: "user" $@38 ":" "constant string" +#line 930 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1788 "dhcp4_parser.cc" +#line 1778 "dhcp4_parser.cc" break; - case 235: // $@39: %empty -#line 938 "dhcp4_parser.yy" + case 236: // $@39: %empty +#line 936 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1797 "dhcp4_parser.cc" +#line 1787 "dhcp4_parser.cc" break; - case 236: // password: "password" $@39 ":" "constant string" -#line 941 "dhcp4_parser.yy" + case 237: // password: "password" $@39 ":" "constant string" +#line 939 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1807 "dhcp4_parser.cc" +#line 1797 "dhcp4_parser.cc" break; - case 237: // $@40: %empty -#line 947 "dhcp4_parser.yy" + case 238: // $@40: %empty +#line 945 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1816 "dhcp4_parser.cc" +#line 1806 "dhcp4_parser.cc" break; - case 238: // host: "host" $@40 ":" "constant string" -#line 950 "dhcp4_parser.yy" + case 239: // host: "host" $@40 ":" "constant string" +#line 948 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1826 "dhcp4_parser.cc" +#line 1816 "dhcp4_parser.cc" break; - case 239: // port: "port" ":" "integer" -#line 956 "dhcp4_parser.yy" + case 240: // port: "port" ":" "integer" +#line 954 "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))); ctx.stack_.back()->set("port", p); } -#line 1836 "dhcp4_parser.cc" +#line 1826 "dhcp4_parser.cc" break; - case 240: // $@41: %empty -#line 962 "dhcp4_parser.yy" + case 241: // $@41: %empty +#line 960 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1845 "dhcp4_parser.cc" +#line 1835 "dhcp4_parser.cc" break; - case 241: // name: "name" $@41 ":" "constant string" -#line 965 "dhcp4_parser.yy" + case 242: // name: "name" $@41 ":" "constant string" +#line 963 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1855 "dhcp4_parser.cc" +#line 1845 "dhcp4_parser.cc" break; - case 242: // persist: "persist" ":" "boolean" -#line 971 "dhcp4_parser.yy" + case 243: // persist: "persist" ":" "boolean" +#line 969 "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))); ctx.stack_.back()->set("persist", n); } -#line 1865 "dhcp4_parser.cc" +#line 1855 "dhcp4_parser.cc" break; - case 243: // lfc_interval: "lfc-interval" ":" "integer" -#line 977 "dhcp4_parser.yy" + case 244: // lfc_interval: "lfc-interval" ":" "integer" +#line 975 "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))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1875 "dhcp4_parser.cc" +#line 1865 "dhcp4_parser.cc" break; - case 244: // readonly: "readonly" ":" "boolean" -#line 983 "dhcp4_parser.yy" + case 245: // readonly: "readonly" ":" "boolean" +#line 981 "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))); ctx.stack_.back()->set("readonly", n); } -#line 1885 "dhcp4_parser.cc" +#line 1875 "dhcp4_parser.cc" break; - case 245: // connect_timeout: "connect-timeout" ":" "integer" -#line 989 "dhcp4_parser.yy" + case 246: // connect_timeout: "connect-timeout" ":" "integer" +#line 987 "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))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1895 "dhcp4_parser.cc" +#line 1885 "dhcp4_parser.cc" break; - case 246: // request_timeout: "request-timeout" ":" "integer" -#line 995 "dhcp4_parser.yy" + case 247: // request_timeout: "request-timeout" ":" "integer" +#line 993 "dhcp4_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1905 "dhcp4_parser.cc" +#line 1895 "dhcp4_parser.cc" break; - case 247: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 1001 "dhcp4_parser.yy" + case 248: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 999 "dhcp4_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1915 "dhcp4_parser.cc" +#line 1905 "dhcp4_parser.cc" break; - case 248: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 1007 "dhcp4_parser.yy" + case 249: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 1005 "dhcp4_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1925 "dhcp4_parser.cc" +#line 1915 "dhcp4_parser.cc" break; - case 249: // $@42: %empty -#line 1013 "dhcp4_parser.yy" + case 250: // $@42: %empty +#line 1011 "dhcp4_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1934 "dhcp4_parser.cc" +#line 1924 "dhcp4_parser.cc" break; - case 250: // contact_points: "contact-points" $@42 ":" "constant string" -#line 1016 "dhcp4_parser.yy" + case 251: // contact_points: "contact-points" $@42 ":" "constant string" +#line 1014 "dhcp4_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1944 "dhcp4_parser.cc" +#line 1934 "dhcp4_parser.cc" break; - case 251: // $@43: %empty -#line 1022 "dhcp4_parser.yy" + case 252: // $@43: %empty +#line 1020 "dhcp4_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1953 "dhcp4_parser.cc" +#line 1943 "dhcp4_parser.cc" break; - case 252: // keyspace: "keyspace" $@43 ":" "constant string" -#line 1025 "dhcp4_parser.yy" + case 253: // keyspace: "keyspace" $@43 ":" "constant string" +#line 1023 "dhcp4_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1963 "dhcp4_parser.cc" +#line 1953 "dhcp4_parser.cc" break; - case 253: // $@44: %empty -#line 1031 "dhcp4_parser.yy" + case 254: // $@44: %empty +#line 1029 "dhcp4_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1972 "dhcp4_parser.cc" +#line 1962 "dhcp4_parser.cc" break; - case 254: // consistency: "consistency" $@44 ":" "constant string" -#line 1034 "dhcp4_parser.yy" + case 255: // consistency: "consistency" $@44 ":" "constant string" +#line 1032 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 1982 "dhcp4_parser.cc" +#line 1972 "dhcp4_parser.cc" break; - case 255: // $@45: %empty -#line 1040 "dhcp4_parser.yy" + case 256: // $@45: %empty +#line 1038 "dhcp4_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1991 "dhcp4_parser.cc" +#line 1981 "dhcp4_parser.cc" break; - case 256: // serial_consistency: "serial-consistency" $@45 ":" "constant string" -#line 1043 "dhcp4_parser.yy" + case 257: // serial_consistency: "serial-consistency" $@45 ":" "constant string" +#line 1041 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); ctx.leave(); } -#line 2001 "dhcp4_parser.cc" +#line 1991 "dhcp4_parser.cc" break; - case 257: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1049 "dhcp4_parser.yy" + case 258: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1047 "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))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2011 "dhcp4_parser.cc" +#line 2001 "dhcp4_parser.cc" break; - case 258: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1055 "dhcp4_parser.yy" + case 259: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1053 "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))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2021 "dhcp4_parser.cc" +#line 2011 "dhcp4_parser.cc" break; - case 259: // max_row_errors: "max-row-errors" ":" "integer" -#line 1061 "dhcp4_parser.yy" + case 260: // max_row_errors: "max-row-errors" ":" "integer" +#line 1059 "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))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2031 "dhcp4_parser.cc" +#line 2021 "dhcp4_parser.cc" break; - case 260: // $@46: %empty -#line 1068 "dhcp4_parser.yy" + case 261: // $@46: %empty +#line 1066 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2039,65 +2029,65 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2043 "dhcp4_parser.cc" +#line 2033 "dhcp4_parser.cc" break; - case 261: // host_reservation_identifiers: "host-reservation-identifiers" $@46 ":" "[" host_reservation_identifiers_list "]" -#line 1074 "dhcp4_parser.yy" + case 262: // host_reservation_identifiers: "host-reservation-identifiers" $@46 ":" "[" host_reservation_identifiers_list "]" +#line 1072 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2052 "dhcp4_parser.cc" +#line 2042 "dhcp4_parser.cc" break; - case 269: // duid_id: "duid" -#line 1090 "dhcp4_parser.yy" - { + case 270: // duid_id: "duid" +#line 1088 "dhcp4_parser.yy" + { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2061 "dhcp4_parser.cc" +#line 2051 "dhcp4_parser.cc" break; - case 270: // hw_address_id: "hw-address" -#line 1095 "dhcp4_parser.yy" - { + case 271: // hw_address_id: "hw-address" +#line 1093 "dhcp4_parser.yy" + { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2070 "dhcp4_parser.cc" +#line 2060 "dhcp4_parser.cc" break; - case 271: // circuit_id: "circuit-id" -#line 1100 "dhcp4_parser.yy" - { + case 272: // circuit_id: "circuit-id" +#line 1098 "dhcp4_parser.yy" + { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2079 "dhcp4_parser.cc" +#line 2069 "dhcp4_parser.cc" break; - case 272: // client_id: "client-id" -#line 1105 "dhcp4_parser.yy" - { + case 273: // client_id: "client-id" +#line 1103 "dhcp4_parser.yy" + { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2088 "dhcp4_parser.cc" +#line 2078 "dhcp4_parser.cc" break; - case 273: // flex_id: "flex-id" -#line 1110 "dhcp4_parser.yy" + case 274: // flex_id: "flex-id" +#line 1108 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2097 "dhcp4_parser.cc" +#line 2087 "dhcp4_parser.cc" break; - case 274: // $@47: %empty -#line 1117 "dhcp4_parser.yy" + case 275: // $@47: %empty +#line 1115 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2105,52 +2095,52 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2109 "dhcp4_parser.cc" +#line 2099 "dhcp4_parser.cc" break; - case 275: // dhcp_multi_threading: "multi-threading" $@47 ":" "{" multi_threading_params "}" -#line 1123 "dhcp4_parser.yy" + case 276: // dhcp_multi_threading: "multi-threading" $@47 ":" "{" multi_threading_params "}" +#line 1121 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2120 "dhcp4_parser.cc" +#line 2110 "dhcp4_parser.cc" break; - case 284: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1142 "dhcp4_parser.yy" + case 285: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1140 "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))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2130 "dhcp4_parser.cc" +#line 2120 "dhcp4_parser.cc" break; - case 285: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1148 "dhcp4_parser.yy" + case 286: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1146 "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))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2140 "dhcp4_parser.cc" +#line 2130 "dhcp4_parser.cc" break; - case 286: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1154 "dhcp4_parser.yy" + case 287: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1152 "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))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2150 "dhcp4_parser.cc" +#line 2140 "dhcp4_parser.cc" break; - case 287: // $@48: %empty -#line 1160 "dhcp4_parser.yy" + case 288: // $@48: %empty +#line 1158 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2158,97 +2148,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2162 "dhcp4_parser.cc" +#line 2152 "dhcp4_parser.cc" break; - case 288: // hooks_libraries: "hooks-libraries" $@48 ":" "[" hooks_libraries_list "]" -#line 1166 "dhcp4_parser.yy" + case 289: // hooks_libraries: "hooks-libraries" $@48 ":" "[" hooks_libraries_list "]" +#line 1164 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2171 "dhcp4_parser.cc" +#line 2161 "dhcp4_parser.cc" break; - case 293: // $@49: %empty -#line 1179 "dhcp4_parser.yy" + case 294: // $@49: %empty +#line 1177 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2181 "dhcp4_parser.cc" +#line 2171 "dhcp4_parser.cc" break; - case 294: // hooks_library: "{" $@49 hooks_params "}" -#line 1183 "dhcp4_parser.yy" + case 295: // hooks_library: "{" $@49 hooks_params "}" +#line 1181 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2191 "dhcp4_parser.cc" +#line 2181 "dhcp4_parser.cc" break; - case 295: // $@50: %empty -#line 1189 "dhcp4_parser.yy" + case 296: // $@50: %empty +#line 1187 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2201 "dhcp4_parser.cc" +#line 2191 "dhcp4_parser.cc" break; - case 296: // sub_hooks_library: "{" $@50 hooks_params "}" -#line 1193 "dhcp4_parser.yy" + case 297: // sub_hooks_library: "{" $@50 hooks_params "}" +#line 1191 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2211 "dhcp4_parser.cc" +#line 2201 "dhcp4_parser.cc" break; - case 302: // $@51: %empty -#line 1208 "dhcp4_parser.yy" + case 303: // $@51: %empty +#line 1206 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2220 "dhcp4_parser.cc" +#line 2210 "dhcp4_parser.cc" break; - case 303: // library: "library" $@51 ":" "constant string" -#line 1211 "dhcp4_parser.yy" + case 304: // library: "library" $@51 ":" "constant string" +#line 1209 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2230 "dhcp4_parser.cc" +#line 2220 "dhcp4_parser.cc" break; - case 304: // $@52: %empty -#line 1217 "dhcp4_parser.yy" + case 305: // $@52: %empty +#line 1215 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2239 "dhcp4_parser.cc" +#line 2229 "dhcp4_parser.cc" break; - case 305: // parameters: "parameters" $@52 ":" map_value -#line 1220 "dhcp4_parser.yy" + case 306: // parameters: "parameters" $@52 ":" map_value +#line 1218 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2248 "dhcp4_parser.cc" +#line 2238 "dhcp4_parser.cc" break; - case 306: // $@53: %empty -#line 1226 "dhcp4_parser.yy" + case 307: // $@53: %empty +#line 1224 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2256,81 +2246,81 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2260 "dhcp4_parser.cc" +#line 2250 "dhcp4_parser.cc" break; - case 307: // expired_leases_processing: "expired-leases-processing" $@53 ":" "{" expired_leases_params "}" -#line 1232 "dhcp4_parser.yy" + case 308: // expired_leases_processing: "expired-leases-processing" $@53 ":" "{" expired_leases_params "}" +#line 1230 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2270 "dhcp4_parser.cc" +#line 2260 "dhcp4_parser.cc" break; - case 316: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1250 "dhcp4_parser.yy" + case 317: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1248 "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))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2280 "dhcp4_parser.cc" +#line 2270 "dhcp4_parser.cc" break; - case 317: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1256 "dhcp4_parser.yy" + case 318: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1254 "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))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2290 "dhcp4_parser.cc" +#line 2280 "dhcp4_parser.cc" break; - case 318: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1262 "dhcp4_parser.yy" + case 319: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1260 "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))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2300 "dhcp4_parser.cc" +#line 2290 "dhcp4_parser.cc" break; - case 319: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1268 "dhcp4_parser.yy" + case 320: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1266 "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))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2310 "dhcp4_parser.cc" +#line 2300 "dhcp4_parser.cc" break; - case 320: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1274 "dhcp4_parser.yy" + case 321: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1272 "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))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2320 "dhcp4_parser.cc" +#line 2310 "dhcp4_parser.cc" break; - case 321: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1280 "dhcp4_parser.yy" + case 322: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1278 "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))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2330 "dhcp4_parser.cc" +#line 2320 "dhcp4_parser.cc" break; - case 322: // $@54: %empty -#line 1289 "dhcp4_parser.yy" + case 323: // $@54: %empty +#line 1287 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2338,30 +2328,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2342 "dhcp4_parser.cc" +#line 2332 "dhcp4_parser.cc" break; - case 323: // subnet4_list: "subnet4" $@54 ":" "[" subnet4_list_content "]" -#line 1295 "dhcp4_parser.yy" + case 324: // subnet4_list: "subnet4" $@54 ":" "[" subnet4_list_content "]" +#line 1293 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2351 "dhcp4_parser.cc" +#line 2341 "dhcp4_parser.cc" break; - case 328: // $@55: %empty -#line 1315 "dhcp4_parser.yy" + case 329: // $@55: %empty +#line 1313 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2361 "dhcp4_parser.cc" +#line 2351 "dhcp4_parser.cc" break; - case 329: // subnet4: "{" $@55 subnet4_params "}" -#line 1319 "dhcp4_parser.yy" + case 330: // subnet4: "{" $@55 subnet4_params "}" +#line 1317 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2383,144 +2373,144 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2387 "dhcp4_parser.cc" +#line 2377 "dhcp4_parser.cc" break; - case 330: // $@56: %empty -#line 1341 "dhcp4_parser.yy" + case 331: // $@56: %empty +#line 1339 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2397 "dhcp4_parser.cc" +#line 2387 "dhcp4_parser.cc" break; - case 331: // sub_subnet4: "{" $@56 subnet4_params "}" -#line 1345 "dhcp4_parser.yy" + case 332: // sub_subnet4: "{" $@56 subnet4_params "}" +#line 1343 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2407 "dhcp4_parser.cc" +#line 2397 "dhcp4_parser.cc" break; - case 376: // $@57: %empty + case 379: // $@57: %empty #line 1401 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2416 "dhcp4_parser.cc" +#line 2406 "dhcp4_parser.cc" break; - case 377: // subnet: "subnet" $@57 ":" "constant string" + case 380: // subnet: "subnet" $@57 ":" "constant string" #line 1404 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2426 "dhcp4_parser.cc" +#line 2416 "dhcp4_parser.cc" break; - case 378: // $@58: %empty + case 381: // $@58: %empty #line 1410 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2435 "dhcp4_parser.cc" +#line 2425 "dhcp4_parser.cc" break; - case 379: // subnet_4o6_interface: "4o6-interface" $@58 ":" "constant string" + case 382: // subnet_4o6_interface: "4o6-interface" $@58 ":" "constant string" #line 1413 "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); ctx.leave(); } -#line 2445 "dhcp4_parser.cc" +#line 2435 "dhcp4_parser.cc" break; - case 380: // $@59: %empty + case 383: // $@59: %empty #line 1419 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2454 "dhcp4_parser.cc" +#line 2444 "dhcp4_parser.cc" break; - case 381: // subnet_4o6_interface_id: "4o6-interface-id" $@59 ":" "constant string" + case 384: // subnet_4o6_interface_id: "4o6-interface-id" $@59 ":" "constant string" #line 1422 "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); ctx.leave(); } -#line 2464 "dhcp4_parser.cc" +#line 2454 "dhcp4_parser.cc" break; - case 382: // $@60: %empty + case 385: // $@60: %empty #line 1428 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2473 "dhcp4_parser.cc" +#line 2463 "dhcp4_parser.cc" break; - case 383: // subnet_4o6_subnet: "4o6-subnet" $@60 ":" "constant string" + case 386: // subnet_4o6_subnet: "4o6-subnet" $@60 ":" "constant string" #line 1431 "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); ctx.leave(); } -#line 2483 "dhcp4_parser.cc" +#line 2473 "dhcp4_parser.cc" break; - case 384: // $@61: %empty + case 387: // $@61: %empty #line 1437 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2492 "dhcp4_parser.cc" +#line 2482 "dhcp4_parser.cc" break; - case 385: // interface: "interface" $@61 ":" "constant string" + case 388: // interface: "interface" $@61 ":" "constant string" #line 1440 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2502 "dhcp4_parser.cc" +#line 2492 "dhcp4_parser.cc" break; - case 386: // $@62: %empty + case 389: // $@62: %empty #line 1446 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2511 "dhcp4_parser.cc" +#line 2501 "dhcp4_parser.cc" break; - case 387: // client_class: "client-class" $@62 ":" "constant string" + case 390: // client_class: "client-class" $@62 ":" "constant string" #line 1449 "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); ctx.leave(); } -#line 2521 "dhcp4_parser.cc" +#line 2511 "dhcp4_parser.cc" break; - case 388: // $@63: %empty + case 391: // $@63: %empty #line 1455 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); @@ -2529,72 +2519,102 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2533 "dhcp4_parser.cc" +#line 2523 "dhcp4_parser.cc" break; - case 389: // require_client_classes: "require-client-classes" $@63 ":" list_strings + case 392: // require_client_classes: "require-client-classes" $@63 ":" list_strings #line 1461 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } +#line 2532 "dhcp4_parser.cc" + break; + + case 393: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1466 "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))); + ctx.stack_.back()->set("reservations-out-of-pool", b); +} #line 2542 "dhcp4_parser.cc" break; - case 390: // $@64: %empty -#line 1466 "dhcp4_parser.yy" + case 394: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1472 "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))); + ctx.stack_.back()->set("reservations-in-subnet", b); +} +#line 2552 "dhcp4_parser.cc" + break; + + case 395: // reservations_global: "reservations-global" ":" "boolean" +#line 1478 "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))); + ctx.stack_.back()->set("reservations-global", b); +} +#line 2562 "dhcp4_parser.cc" + break; + + case 396: // $@64: %empty +#line 1484 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2551 "dhcp4_parser.cc" +#line 2571 "dhcp4_parser.cc" break; - case 391: // reservation_mode: "reservation-mode" $@64 ":" hr_mode -#line 1469 "dhcp4_parser.yy" + case 397: // reservation_mode: "reservation-mode" $@64 ":" hr_mode +#line 1487 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2560 "dhcp4_parser.cc" +#line 2580 "dhcp4_parser.cc" break; - case 392: // hr_mode: "disabled" -#line 1474 "dhcp4_parser.yy" + case 398: // hr_mode: "disabled" +#line 1492 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2566 "dhcp4_parser.cc" +#line 2586 "dhcp4_parser.cc" break; - case 393: // hr_mode: "out-of-pool" -#line 1475 "dhcp4_parser.yy" + case 399: // hr_mode: "out-of-pool" +#line 1493 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2572 "dhcp4_parser.cc" +#line 2592 "dhcp4_parser.cc" break; - case 394: // hr_mode: "global" -#line 1476 "dhcp4_parser.yy" + case 400: // hr_mode: "global" +#line 1494 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2578 "dhcp4_parser.cc" +#line 2598 "dhcp4_parser.cc" break; - case 395: // hr_mode: "all" -#line 1477 "dhcp4_parser.yy" + case 401: // hr_mode: "all" +#line 1495 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2584 "dhcp4_parser.cc" +#line 2604 "dhcp4_parser.cc" break; - case 396: // id: "id" ":" "integer" -#line 1480 "dhcp4_parser.yy" + case 402: // id: "id" ":" "integer" +#line 1498 "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))); ctx.stack_.back()->set("id", id); } -#line 2594 "dhcp4_parser.cc" +#line 2614 "dhcp4_parser.cc" break; - case 397: // $@65: %empty -#line 1488 "dhcp4_parser.yy" + case 403: // $@65: %empty +#line 1506 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2602,38 +2622,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2606 "dhcp4_parser.cc" +#line 2626 "dhcp4_parser.cc" break; - case 398: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" -#line 1494 "dhcp4_parser.yy" + case 404: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" +#line 1512 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2615 "dhcp4_parser.cc" +#line 2635 "dhcp4_parser.cc" break; - case 403: // $@66: %empty -#line 1509 "dhcp4_parser.yy" + case 409: // $@66: %empty +#line 1527 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2625 "dhcp4_parser.cc" +#line 2645 "dhcp4_parser.cc" break; - case 404: // shared_network: "{" $@66 shared_network_params "}" -#line 1513 "dhcp4_parser.yy" + case 410: // shared_network: "{" $@66 shared_network_params "}" +#line 1531 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 2633 "dhcp4_parser.cc" +#line 2653 "dhcp4_parser.cc" break; - case 444: // $@67: %empty -#line 1564 "dhcp4_parser.yy" + case 452: // $@67: %empty +#line 1584 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2641,47 +2661,47 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2645 "dhcp4_parser.cc" +#line 2665 "dhcp4_parser.cc" break; - case 445: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" -#line 1570 "dhcp4_parser.yy" + case 453: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" +#line 1590 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2654 "dhcp4_parser.cc" +#line 2674 "dhcp4_parser.cc" break; - case 446: // $@68: %empty -#line 1578 "dhcp4_parser.yy" + case 454: // $@68: %empty +#line 1598 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2663 "dhcp4_parser.cc" +#line 2683 "dhcp4_parser.cc" break; - case 447: // sub_option_def_list: "{" $@68 option_def_list "}" -#line 1581 "dhcp4_parser.yy" + case 455: // sub_option_def_list: "{" $@68 option_def_list "}" +#line 1601 "dhcp4_parser.yy" { // parsing completed } -#line 2671 "dhcp4_parser.cc" +#line 2691 "dhcp4_parser.cc" break; - case 452: // $@69: %empty -#line 1597 "dhcp4_parser.yy" + case 460: // $@69: %empty +#line 1617 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2681 "dhcp4_parser.cc" +#line 2701 "dhcp4_parser.cc" break; - case 453: // option_def_entry: "{" $@69 option_def_params "}" -#line 1601 "dhcp4_parser.yy" + case 461: // option_def_entry: "{" $@69 option_def_params "}" +#line 1621 "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)); @@ -2689,21 +2709,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2693 "dhcp4_parser.cc" +#line 2713 "dhcp4_parser.cc" break; - case 454: // $@70: %empty -#line 1612 "dhcp4_parser.yy" + case 462: // $@70: %empty +#line 1632 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2703 "dhcp4_parser.cc" +#line 2723 "dhcp4_parser.cc" break; - case 455: // sub_option_def: "{" $@70 option_def_params "}" -#line 1616 "dhcp4_parser.yy" + case 463: // sub_option_def: "{" $@70 option_def_params "}" +#line 1636 "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)); @@ -2711,107 +2731,107 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2715 "dhcp4_parser.cc" +#line 2735 "dhcp4_parser.cc" break; - case 471: // code: "code" ":" "integer" -#line 1648 "dhcp4_parser.yy" + case 479: // code: "code" ":" "integer" +#line 1668 "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))); ctx.stack_.back()->set("code", code); } -#line 2725 "dhcp4_parser.cc" +#line 2745 "dhcp4_parser.cc" break; - case 473: // $@71: %empty -#line 1656 "dhcp4_parser.yy" + case 481: // $@71: %empty +#line 1676 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2734 "dhcp4_parser.cc" +#line 2754 "dhcp4_parser.cc" break; - case 474: // option_def_type: "type" $@71 ":" "constant string" -#line 1659 "dhcp4_parser.yy" + case 482: // option_def_type: "type" $@71 ":" "constant string" +#line 1679 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2744 "dhcp4_parser.cc" +#line 2764 "dhcp4_parser.cc" break; - case 475: // $@72: %empty -#line 1665 "dhcp4_parser.yy" + case 483: // $@72: %empty +#line 1685 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2753 "dhcp4_parser.cc" +#line 2773 "dhcp4_parser.cc" break; - case 476: // option_def_record_types: "record-types" $@72 ":" "constant string" -#line 1668 "dhcp4_parser.yy" + case 484: // option_def_record_types: "record-types" $@72 ":" "constant string" +#line 1688 "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); ctx.leave(); } -#line 2763 "dhcp4_parser.cc" +#line 2783 "dhcp4_parser.cc" break; - case 477: // $@73: %empty -#line 1674 "dhcp4_parser.yy" + case 485: // $@73: %empty +#line 1694 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2772 "dhcp4_parser.cc" +#line 2792 "dhcp4_parser.cc" break; - case 478: // space: "space" $@73 ":" "constant string" -#line 1677 "dhcp4_parser.yy" + case 486: // space: "space" $@73 ":" "constant string" +#line 1697 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2782 "dhcp4_parser.cc" +#line 2802 "dhcp4_parser.cc" break; - case 480: // $@74: %empty -#line 1685 "dhcp4_parser.yy" + case 488: // $@74: %empty +#line 1705 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2791 "dhcp4_parser.cc" +#line 2811 "dhcp4_parser.cc" break; - case 481: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" -#line 1688 "dhcp4_parser.yy" + case 489: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" +#line 1708 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2801 "dhcp4_parser.cc" +#line 2821 "dhcp4_parser.cc" break; - case 482: // option_def_array: "array" ":" "boolean" -#line 1694 "dhcp4_parser.yy" + case 490: // option_def_array: "array" ":" "boolean" +#line 1714 "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))); ctx.stack_.back()->set("array", array); } -#line 2811 "dhcp4_parser.cc" +#line 2831 "dhcp4_parser.cc" break; - case 483: // $@75: %empty -#line 1704 "dhcp4_parser.yy" + case 491: // $@75: %empty +#line 1724 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2819,97 +2839,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2823 "dhcp4_parser.cc" +#line 2843 "dhcp4_parser.cc" break; - case 484: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" -#line 1710 "dhcp4_parser.yy" + case 492: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" +#line 1730 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2832 "dhcp4_parser.cc" +#line 2852 "dhcp4_parser.cc" break; - case 489: // $@76: %empty -#line 1729 "dhcp4_parser.yy" + case 497: // $@76: %empty +#line 1749 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2842 "dhcp4_parser.cc" +#line 2862 "dhcp4_parser.cc" break; - case 490: // option_data_entry: "{" $@76 option_data_params "}" -#line 1733 "dhcp4_parser.yy" + case 498: // option_data_entry: "{" $@76 option_data_params "}" +#line 1753 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2851 "dhcp4_parser.cc" +#line 2871 "dhcp4_parser.cc" break; - case 491: // $@77: %empty -#line 1741 "dhcp4_parser.yy" + case 499: // $@77: %empty +#line 1761 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2861 "dhcp4_parser.cc" +#line 2881 "dhcp4_parser.cc" break; - case 492: // sub_option_data: "{" $@77 option_data_params "}" -#line 1745 "dhcp4_parser.yy" + case 500: // sub_option_data: "{" $@77 option_data_params "}" +#line 1765 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 2870 "dhcp4_parser.cc" +#line 2890 "dhcp4_parser.cc" break; - case 507: // $@78: %empty -#line 1778 "dhcp4_parser.yy" + case 515: // $@78: %empty +#line 1798 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2879 "dhcp4_parser.cc" +#line 2899 "dhcp4_parser.cc" break; - case 508: // option_data_data: "data" $@78 ":" "constant string" -#line 1781 "dhcp4_parser.yy" + case 516: // option_data_data: "data" $@78 ":" "constant string" +#line 1801 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2889 "dhcp4_parser.cc" +#line 2909 "dhcp4_parser.cc" break; - case 511: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1791 "dhcp4_parser.yy" + case 519: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1811 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2899 "dhcp4_parser.cc" +#line 2919 "dhcp4_parser.cc" break; - case 512: // option_data_always_send: "always-send" ":" "boolean" -#line 1797 "dhcp4_parser.yy" + case 520: // option_data_always_send: "always-send" ":" "boolean" +#line 1817 "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))); ctx.stack_.back()->set("always-send", persist); } -#line 2909 "dhcp4_parser.cc" +#line 2929 "dhcp4_parser.cc" break; - case 513: // $@79: %empty -#line 1806 "dhcp4_parser.yy" + case 521: // $@79: %empty +#line 1826 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2917,87 +2937,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2921 "dhcp4_parser.cc" +#line 2941 "dhcp4_parser.cc" break; - case 514: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" -#line 1812 "dhcp4_parser.yy" + case 522: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" +#line 1832 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2930 "dhcp4_parser.cc" +#line 2950 "dhcp4_parser.cc" break; - case 519: // $@80: %empty -#line 1827 "dhcp4_parser.yy" + case 527: // $@80: %empty +#line 1847 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2940 "dhcp4_parser.cc" +#line 2960 "dhcp4_parser.cc" break; - case 520: // pool_list_entry: "{" $@80 pool_params "}" -#line 1831 "dhcp4_parser.yy" + case 528: // pool_list_entry: "{" $@80 pool_params "}" +#line 1851 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2950 "dhcp4_parser.cc" +#line 2970 "dhcp4_parser.cc" break; - case 521: // $@81: %empty -#line 1837 "dhcp4_parser.yy" + case 529: // $@81: %empty +#line 1857 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2960 "dhcp4_parser.cc" +#line 2980 "dhcp4_parser.cc" break; - case 522: // sub_pool4: "{" $@81 pool_params "}" -#line 1841 "dhcp4_parser.yy" + case 530: // sub_pool4: "{" $@81 pool_params "}" +#line 1861 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2970 "dhcp4_parser.cc" +#line 2990 "dhcp4_parser.cc" break; - case 532: // $@82: %empty -#line 1860 "dhcp4_parser.yy" + case 540: // $@82: %empty +#line 1880 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2979 "dhcp4_parser.cc" +#line 2999 "dhcp4_parser.cc" break; - case 533: // pool_entry: "pool" $@82 ":" "constant string" -#line 1863 "dhcp4_parser.yy" + case 541: // pool_entry: "pool" $@82 ":" "constant string" +#line 1883 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2989 "dhcp4_parser.cc" +#line 3009 "dhcp4_parser.cc" break; - case 534: // $@83: %empty -#line 1869 "dhcp4_parser.yy" + case 542: // $@83: %empty +#line 1889 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2997 "dhcp4_parser.cc" +#line 3017 "dhcp4_parser.cc" break; - case 535: // user_context: "user-context" $@83 ":" map_value -#line 1871 "dhcp4_parser.yy" + case 543: // user_context: "user-context" $@83 ":" map_value +#line 1891 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3020,19 +3040,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3024 "dhcp4_parser.cc" +#line 3044 "dhcp4_parser.cc" break; - case 536: // $@84: %empty -#line 1894 "dhcp4_parser.yy" + case 544: // $@84: %empty +#line 1914 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3032 "dhcp4_parser.cc" +#line 3052 "dhcp4_parser.cc" break; - case 537: // comment: "comment" $@84 ":" "constant string" -#line 1896 "dhcp4_parser.yy" + case 545: // comment: "comment" $@84 ":" "constant string" +#line 1916 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3057,11 +3077,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3061 "dhcp4_parser.cc" +#line 3081 "dhcp4_parser.cc" break; - case 538: // $@85: %empty -#line 1924 "dhcp4_parser.yy" + case 546: // $@85: %empty +#line 1944 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3069,134 +3089,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3073 "dhcp4_parser.cc" +#line 3093 "dhcp4_parser.cc" break; - case 539: // reservations: "reservations" $@85 ":" "[" reservations_list "]" -#line 1930 "dhcp4_parser.yy" + case 547: // reservations: "reservations" $@85 ":" "[" reservations_list "]" +#line 1950 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3082 "dhcp4_parser.cc" +#line 3102 "dhcp4_parser.cc" break; - case 544: // $@86: %empty -#line 1943 "dhcp4_parser.yy" + case 552: // $@86: %empty +#line 1963 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3092 "dhcp4_parser.cc" +#line 3112 "dhcp4_parser.cc" break; - case 545: // reservation: "{" $@86 reservation_params "}" -#line 1947 "dhcp4_parser.yy" + case 553: // reservation: "{" $@86 reservation_params "}" +#line 1967 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3101 "dhcp4_parser.cc" +#line 3121 "dhcp4_parser.cc" break; - case 546: // $@87: %empty -#line 1952 "dhcp4_parser.yy" + case 554: // $@87: %empty +#line 1972 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3111 "dhcp4_parser.cc" +#line 3131 "dhcp4_parser.cc" break; - case 547: // sub_reservation: "{" $@87 reservation_params "}" -#line 1956 "dhcp4_parser.yy" + case 555: // sub_reservation: "{" $@87 reservation_params "}" +#line 1976 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3120 "dhcp4_parser.cc" +#line 3140 "dhcp4_parser.cc" break; - case 567: // $@88: %empty -#line 1987 "dhcp4_parser.yy" + case 575: // $@88: %empty +#line 2007 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3129 "dhcp4_parser.cc" +#line 3149 "dhcp4_parser.cc" break; - case 568: // next_server: "next-server" $@88 ":" "constant string" -#line 1990 "dhcp4_parser.yy" + case 576: // next_server: "next-server" $@88 ":" "constant string" +#line 2010 "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); ctx.leave(); } -#line 3139 "dhcp4_parser.cc" +#line 3159 "dhcp4_parser.cc" break; - case 569: // $@89: %empty -#line 1996 "dhcp4_parser.yy" + case 577: // $@89: %empty +#line 2016 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3148 "dhcp4_parser.cc" +#line 3168 "dhcp4_parser.cc" break; - case 570: // server_hostname: "server-hostname" $@89 ":" "constant string" -#line 1999 "dhcp4_parser.yy" + case 578: // server_hostname: "server-hostname" $@89 ":" "constant string" +#line 2019 "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); ctx.leave(); } -#line 3158 "dhcp4_parser.cc" +#line 3178 "dhcp4_parser.cc" break; - case 571: // $@90: %empty -#line 2005 "dhcp4_parser.yy" + case 579: // $@90: %empty +#line 2025 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3167 "dhcp4_parser.cc" +#line 3187 "dhcp4_parser.cc" break; - case 572: // boot_file_name: "boot-file-name" $@90 ":" "constant string" -#line 2008 "dhcp4_parser.yy" + case 580: // boot_file_name: "boot-file-name" $@90 ":" "constant string" +#line 2028 "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); ctx.leave(); } -#line 3177 "dhcp4_parser.cc" +#line 3197 "dhcp4_parser.cc" break; - case 573: // $@91: %empty -#line 2014 "dhcp4_parser.yy" + case 581: // $@91: %empty +#line 2034 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3186 "dhcp4_parser.cc" +#line 3206 "dhcp4_parser.cc" break; - case 574: // ip_address: "ip-address" $@91 ":" "constant string" -#line 2017 "dhcp4_parser.yy" + case 582: // ip_address: "ip-address" $@91 ":" "constant string" +#line 2037 "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); ctx.leave(); } -#line 3196 "dhcp4_parser.cc" +#line 3216 "dhcp4_parser.cc" break; - case 575: // $@92: %empty -#line 2023 "dhcp4_parser.yy" + case 583: // $@92: %empty +#line 2043 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3204,134 +3224,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3208 "dhcp4_parser.cc" +#line 3228 "dhcp4_parser.cc" break; - case 576: // ip_addresses: "ip-addresses" $@92 ":" list_strings -#line 2029 "dhcp4_parser.yy" + case 584: // ip_addresses: "ip-addresses" $@92 ":" list_strings +#line 2049 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3217 "dhcp4_parser.cc" +#line 3237 "dhcp4_parser.cc" break; - case 577: // $@93: %empty -#line 2034 "dhcp4_parser.yy" + case 585: // $@93: %empty +#line 2054 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3226 "dhcp4_parser.cc" +#line 3246 "dhcp4_parser.cc" break; - case 578: // duid: "duid" $@93 ":" "constant string" -#line 2037 "dhcp4_parser.yy" + case 586: // duid: "duid" $@93 ":" "constant string" +#line 2057 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3236 "dhcp4_parser.cc" +#line 3256 "dhcp4_parser.cc" break; - case 579: // $@94: %empty -#line 2043 "dhcp4_parser.yy" + case 587: // $@94: %empty +#line 2063 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3245 "dhcp4_parser.cc" +#line 3265 "dhcp4_parser.cc" break; - case 580: // hw_address: "hw-address" $@94 ":" "constant string" -#line 2046 "dhcp4_parser.yy" + case 588: // hw_address: "hw-address" $@94 ":" "constant string" +#line 2066 "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); ctx.leave(); } -#line 3255 "dhcp4_parser.cc" +#line 3275 "dhcp4_parser.cc" break; - case 581: // $@95: %empty -#line 2052 "dhcp4_parser.yy" + case 589: // $@95: %empty +#line 2072 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3264 "dhcp4_parser.cc" +#line 3284 "dhcp4_parser.cc" break; - case 582: // client_id_value: "client-id" $@95 ":" "constant string" -#line 2055 "dhcp4_parser.yy" + case 590: // client_id_value: "client-id" $@95 ":" "constant string" +#line 2075 "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); ctx.leave(); } -#line 3274 "dhcp4_parser.cc" +#line 3294 "dhcp4_parser.cc" break; - case 583: // $@96: %empty -#line 2061 "dhcp4_parser.yy" + case 591: // $@96: %empty +#line 2081 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3283 "dhcp4_parser.cc" +#line 3303 "dhcp4_parser.cc" break; - case 584: // circuit_id_value: "circuit-id" $@96 ":" "constant string" -#line 2064 "dhcp4_parser.yy" + case 592: // circuit_id_value: "circuit-id" $@96 ":" "constant string" +#line 2084 "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); ctx.leave(); } -#line 3293 "dhcp4_parser.cc" +#line 3313 "dhcp4_parser.cc" break; - case 585: // $@97: %empty -#line 2070 "dhcp4_parser.yy" + case 593: // $@97: %empty +#line 2090 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3302 "dhcp4_parser.cc" +#line 3322 "dhcp4_parser.cc" break; - case 586: // flex_id_value: "flex-id" $@97 ":" "constant string" -#line 2073 "dhcp4_parser.yy" + case 594: // flex_id_value: "flex-id" $@97 ":" "constant string" +#line 2093 "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); ctx.leave(); } -#line 3312 "dhcp4_parser.cc" +#line 3332 "dhcp4_parser.cc" break; - case 587: // $@98: %empty -#line 2079 "dhcp4_parser.yy" + case 595: // $@98: %empty +#line 2099 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3321 "dhcp4_parser.cc" +#line 3341 "dhcp4_parser.cc" break; - case 588: // hostname: "hostname" $@98 ":" "constant string" -#line 2082 "dhcp4_parser.yy" + case 596: // hostname: "hostname" $@98 ":" "constant string" +#line 2102 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3331 "dhcp4_parser.cc" +#line 3351 "dhcp4_parser.cc" break; - case 589: // $@99: %empty -#line 2088 "dhcp4_parser.yy" + case 597: // $@99: %empty +#line 2108 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3339,20 +3359,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3343 "dhcp4_parser.cc" +#line 3363 "dhcp4_parser.cc" break; - case 590: // reservation_client_classes: "client-classes" $@99 ":" list_strings -#line 2094 "dhcp4_parser.yy" + case 598: // reservation_client_classes: "client-classes" $@99 ":" list_strings +#line 2114 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3352 "dhcp4_parser.cc" +#line 3372 "dhcp4_parser.cc" break; - case 591: // $@100: %empty -#line 2102 "dhcp4_parser.yy" + case 599: // $@100: %empty +#line 2122 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3360,20 +3380,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3364 "dhcp4_parser.cc" +#line 3384 "dhcp4_parser.cc" break; - case 592: // relay: "relay" $@100 ":" "{" relay_map "}" -#line 2108 "dhcp4_parser.yy" + case 600: // relay: "relay" $@100 ":" "{" relay_map "}" +#line 2128 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3373 "dhcp4_parser.cc" +#line 3393 "dhcp4_parser.cc" break; - case 595: // $@101: %empty -#line 2120 "dhcp4_parser.yy" + case 603: // $@101: %empty +#line 2140 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3381,79 +3401,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3385 "dhcp4_parser.cc" +#line 3405 "dhcp4_parser.cc" break; - case 596: // client_classes: "client-classes" $@101 ":" "[" client_classes_list "]" -#line 2126 "dhcp4_parser.yy" + case 604: // client_classes: "client-classes" $@101 ":" "[" client_classes_list "]" +#line 2146 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3394 "dhcp4_parser.cc" +#line 3414 "dhcp4_parser.cc" break; - case 599: // $@102: %empty -#line 2135 "dhcp4_parser.yy" + case 607: // $@102: %empty +#line 2155 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3404 "dhcp4_parser.cc" +#line 3424 "dhcp4_parser.cc" break; - case 600: // client_class_entry: "{" $@102 client_class_params "}" -#line 2139 "dhcp4_parser.yy" + case 608: // client_class_entry: "{" $@102 client_class_params "}" +#line 2159 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3414 "dhcp4_parser.cc" +#line 3434 "dhcp4_parser.cc" break; - case 617: // $@103: %empty -#line 2168 "dhcp4_parser.yy" + case 625: // $@103: %empty +#line 2188 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3423 "dhcp4_parser.cc" +#line 3443 "dhcp4_parser.cc" break; - case 618: // client_class_test: "test" $@103 ":" "constant string" -#line 2171 "dhcp4_parser.yy" + case 626: // client_class_test: "test" $@103 ":" "constant string" +#line 2191 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3433 "dhcp4_parser.cc" +#line 3453 "dhcp4_parser.cc" break; - case 619: // only_if_required: "only-if-required" ":" "boolean" -#line 2177 "dhcp4_parser.yy" + case 627: // only_if_required: "only-if-required" ":" "boolean" +#line 2197 "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))); ctx.stack_.back()->set("only-if-required", b); } -#line 3443 "dhcp4_parser.cc" +#line 3463 "dhcp4_parser.cc" break; - case 620: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2185 "dhcp4_parser.yy" + case 628: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2205 "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))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3453 "dhcp4_parser.cc" +#line 3473 "dhcp4_parser.cc" break; - case 621: // $@104: %empty -#line 2193 "dhcp4_parser.yy" + case 629: // $@104: %empty +#line 2213 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3461,58 +3481,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3465 "dhcp4_parser.cc" +#line 3485 "dhcp4_parser.cc" break; - case 622: // control_socket: "control-socket" $@104 ":" "{" control_socket_params "}" -#line 2199 "dhcp4_parser.yy" + case 630: // control_socket: "control-socket" $@104 ":" "{" control_socket_params "}" +#line 2219 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3474 "dhcp4_parser.cc" +#line 3494 "dhcp4_parser.cc" break; - case 630: // $@105: %empty -#line 2215 "dhcp4_parser.yy" + case 638: // $@105: %empty +#line 2235 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3483 "dhcp4_parser.cc" +#line 3503 "dhcp4_parser.cc" break; - case 631: // control_socket_type: "socket-type" $@105 ":" "constant string" -#line 2218 "dhcp4_parser.yy" + case 639: // control_socket_type: "socket-type" $@105 ":" "constant string" +#line 2238 "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); ctx.leave(); } -#line 3493 "dhcp4_parser.cc" +#line 3513 "dhcp4_parser.cc" break; - case 632: // $@106: %empty -#line 2224 "dhcp4_parser.yy" + case 640: // $@106: %empty +#line 2244 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3502 "dhcp4_parser.cc" +#line 3522 "dhcp4_parser.cc" break; - case 633: // control_socket_name: "socket-name" $@106 ":" "constant string" -#line 2227 "dhcp4_parser.yy" + case 641: // control_socket_name: "socket-name" $@106 ":" "constant string" +#line 2247 "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); ctx.leave(); } -#line 3512 "dhcp4_parser.cc" +#line 3532 "dhcp4_parser.cc" break; - case 634: // $@107: %empty -#line 2236 "dhcp4_parser.yy" + case 642: // $@107: %empty +#line 2256 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3520,79 +3540,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3524 "dhcp4_parser.cc" +#line 3544 "dhcp4_parser.cc" break; - case 635: // dhcp_queue_control: "dhcp-queue-control" $@107 ":" "{" queue_control_params "}" -#line 2242 "dhcp4_parser.yy" + case 643: // dhcp_queue_control: "dhcp-queue-control" $@107 ":" "{" queue_control_params "}" +#line 2262 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3535 "dhcp4_parser.cc" +#line 3555 "dhcp4_parser.cc" break; - case 644: // enable_queue: "enable-queue" ":" "boolean" -#line 2261 "dhcp4_parser.yy" + case 652: // enable_queue: "enable-queue" ":" "boolean" +#line 2281 "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))); ctx.stack_.back()->set("enable-queue", b); } -#line 3545 "dhcp4_parser.cc" +#line 3565 "dhcp4_parser.cc" break; - case 645: // $@108: %empty -#line 2267 "dhcp4_parser.yy" + case 653: // $@108: %empty +#line 2287 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3554 "dhcp4_parser.cc" +#line 3574 "dhcp4_parser.cc" break; - case 646: // queue_type: "queue-type" $@108 ":" "constant string" -#line 2270 "dhcp4_parser.yy" + case 654: // queue_type: "queue-type" $@108 ":" "constant string" +#line 2290 "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); ctx.leave(); } -#line 3564 "dhcp4_parser.cc" +#line 3584 "dhcp4_parser.cc" break; - case 647: // capacity: "capacity" ":" "integer" -#line 2276 "dhcp4_parser.yy" + case 655: // capacity: "capacity" ":" "integer" +#line 2296 "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))); ctx.stack_.back()->set("capacity", c); } -#line 3574 "dhcp4_parser.cc" +#line 3594 "dhcp4_parser.cc" break; - case 648: // $@109: %empty -#line 2282 "dhcp4_parser.yy" + case 656: // $@109: %empty +#line 2302 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3583 "dhcp4_parser.cc" +#line 3603 "dhcp4_parser.cc" break; - case 649: // arbitrary_map_entry: "constant string" $@109 ":" value -#line 2285 "dhcp4_parser.yy" + case 657: // arbitrary_map_entry: "constant string" $@109 ":" value +#line 2305 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3592 "dhcp4_parser.cc" +#line 3612 "dhcp4_parser.cc" break; - case 650: // $@110: %empty -#line 2292 "dhcp4_parser.yy" + case 658: // $@110: %empty +#line 2312 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3600,283 +3620,283 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3604 "dhcp4_parser.cc" +#line 3624 "dhcp4_parser.cc" break; - case 651: // dhcp_ddns: "dhcp-ddns" $@110 ":" "{" dhcp_ddns_params "}" -#line 2298 "dhcp4_parser.yy" + case 659: // dhcp_ddns: "dhcp-ddns" $@110 ":" "{" dhcp_ddns_params "}" +#line 2318 "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)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3615 "dhcp4_parser.cc" +#line 3635 "dhcp4_parser.cc" break; - case 652: // $@111: %empty -#line 2305 "dhcp4_parser.yy" + case 660: // $@111: %empty +#line 2325 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3625 "dhcp4_parser.cc" +#line 3645 "dhcp4_parser.cc" break; - case 653: // sub_dhcp_ddns: "{" $@111 dhcp_ddns_params "}" -#line 2309 "dhcp4_parser.yy" + case 661: // sub_dhcp_ddns: "{" $@111 dhcp_ddns_params "}" +#line 2329 "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)); // parsing completed } -#line 3635 "dhcp4_parser.cc" +#line 3655 "dhcp4_parser.cc" break; - case 674: // enable_updates: "enable-updates" ":" "boolean" -#line 2339 "dhcp4_parser.yy" + case 682: // enable_updates: "enable-updates" ":" "boolean" +#line 2359 "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))); ctx.stack_.back()->set("enable-updates", b); } -#line 3645 "dhcp4_parser.cc" +#line 3665 "dhcp4_parser.cc" break; - case 675: // $@112: %empty -#line 2345 "dhcp4_parser.yy" + case 683: // $@112: %empty +#line 2365 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3654 "dhcp4_parser.cc" +#line 3674 "dhcp4_parser.cc" break; - case 676: // server_ip: "server-ip" $@112 ":" "constant string" -#line 2348 "dhcp4_parser.yy" + case 684: // server_ip: "server-ip" $@112 ":" "constant string" +#line 2368 "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); ctx.leave(); } -#line 3664 "dhcp4_parser.cc" +#line 3684 "dhcp4_parser.cc" break; - case 677: // server_port: "server-port" ":" "integer" -#line 2354 "dhcp4_parser.yy" + case 685: // server_port: "server-port" ":" "integer" +#line 2374 "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))); ctx.stack_.back()->set("server-port", i); } -#line 3674 "dhcp4_parser.cc" +#line 3694 "dhcp4_parser.cc" break; - case 678: // $@113: %empty -#line 2360 "dhcp4_parser.yy" + case 686: // $@113: %empty +#line 2380 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3683 "dhcp4_parser.cc" +#line 3703 "dhcp4_parser.cc" break; - case 679: // sender_ip: "sender-ip" $@113 ":" "constant string" -#line 2363 "dhcp4_parser.yy" + case 687: // sender_ip: "sender-ip" $@113 ":" "constant string" +#line 2383 "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); ctx.leave(); } -#line 3693 "dhcp4_parser.cc" +#line 3713 "dhcp4_parser.cc" break; - case 680: // sender_port: "sender-port" ":" "integer" -#line 2369 "dhcp4_parser.yy" + case 688: // sender_port: "sender-port" ":" "integer" +#line 2389 "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))); ctx.stack_.back()->set("sender-port", i); } -#line 3703 "dhcp4_parser.cc" +#line 3723 "dhcp4_parser.cc" break; - case 681: // max_queue_size: "max-queue-size" ":" "integer" -#line 2375 "dhcp4_parser.yy" + case 689: // max_queue_size: "max-queue-size" ":" "integer" +#line 2395 "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))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3713 "dhcp4_parser.cc" +#line 3733 "dhcp4_parser.cc" break; - case 682: // $@114: %empty -#line 2381 "dhcp4_parser.yy" + case 690: // $@114: %empty +#line 2401 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 3722 "dhcp4_parser.cc" +#line 3742 "dhcp4_parser.cc" break; - case 683: // ncr_protocol: "ncr-protocol" $@114 ":" ncr_protocol_value -#line 2384 "dhcp4_parser.yy" + case 691: // ncr_protocol: "ncr-protocol" $@114 ":" ncr_protocol_value +#line 2404 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3731 "dhcp4_parser.cc" +#line 3751 "dhcp4_parser.cc" break; - case 684: // ncr_protocol_value: "udp" -#line 2390 "dhcp4_parser.yy" + case 692: // ncr_protocol_value: "udp" +#line 2410 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3737 "dhcp4_parser.cc" +#line 3757 "dhcp4_parser.cc" break; - case 685: // ncr_protocol_value: "tcp" -#line 2391 "dhcp4_parser.yy" + case 693: // ncr_protocol_value: "tcp" +#line 2411 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3743 "dhcp4_parser.cc" +#line 3763 "dhcp4_parser.cc" break; - case 686: // $@115: %empty -#line 2394 "dhcp4_parser.yy" + case 694: // $@115: %empty +#line 2414 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 3752 "dhcp4_parser.cc" +#line 3772 "dhcp4_parser.cc" break; - case 687: // ncr_format: "ncr-format" $@115 ":" "JSON" -#line 2397 "dhcp4_parser.yy" + case 695: // ncr_format: "ncr-format" $@115 ":" "JSON" +#line 2417 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3762 "dhcp4_parser.cc" +#line 3782 "dhcp4_parser.cc" break; - case 688: // $@116: %empty -#line 2404 "dhcp4_parser.yy" + case 696: // $@116: %empty +#line 2424 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3771 "dhcp4_parser.cc" +#line 3791 "dhcp4_parser.cc" break; - case 689: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" -#line 2407 "dhcp4_parser.yy" + case 697: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" +#line 2427 "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); ctx.leave(); } -#line 3781 "dhcp4_parser.cc" +#line 3801 "dhcp4_parser.cc" break; - case 690: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2414 "dhcp4_parser.yy" + case 698: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2434 "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))); ctx.stack_.back()->set("override-no-update", b); } -#line 3791 "dhcp4_parser.cc" +#line 3811 "dhcp4_parser.cc" break; - case 691: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2421 "dhcp4_parser.yy" + case 699: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2441 "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))); ctx.stack_.back()->set("override-client-update", b); } -#line 3801 "dhcp4_parser.cc" +#line 3821 "dhcp4_parser.cc" break; - case 692: // $@117: %empty -#line 2428 "dhcp4_parser.yy" + case 700: // $@117: %empty +#line 2448 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3810 "dhcp4_parser.cc" +#line 3830 "dhcp4_parser.cc" break; - case 693: // dep_replace_client_name: "replace-client-name" $@117 ":" ddns_replace_client_name_value -#line 2431 "dhcp4_parser.yy" + case 701: // dep_replace_client_name: "replace-client-name" $@117 ":" ddns_replace_client_name_value +#line 2451 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3819 "dhcp4_parser.cc" +#line 3839 "dhcp4_parser.cc" break; - case 694: // $@118: %empty -#line 2437 "dhcp4_parser.yy" + case 702: // $@118: %empty +#line 2457 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3828 "dhcp4_parser.cc" +#line 3848 "dhcp4_parser.cc" break; - case 695: // dep_generated_prefix: "generated-prefix" $@118 ":" "constant string" -#line 2440 "dhcp4_parser.yy" + case 703: // dep_generated_prefix: "generated-prefix" $@118 ":" "constant string" +#line 2460 "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); ctx.leave(); } -#line 3838 "dhcp4_parser.cc" +#line 3858 "dhcp4_parser.cc" break; - case 696: // $@119: %empty -#line 2447 "dhcp4_parser.yy" + case 704: // $@119: %empty +#line 2467 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3847 "dhcp4_parser.cc" +#line 3867 "dhcp4_parser.cc" break; - case 697: // dep_hostname_char_set: "hostname-char-set" $@119 ":" "constant string" -#line 2450 "dhcp4_parser.yy" + case 705: // dep_hostname_char_set: "hostname-char-set" $@119 ":" "constant string" +#line 2470 "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); ctx.leave(); } -#line 3857 "dhcp4_parser.cc" +#line 3877 "dhcp4_parser.cc" break; - case 698: // $@120: %empty -#line 2457 "dhcp4_parser.yy" + case 706: // $@120: %empty +#line 2477 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3866 "dhcp4_parser.cc" +#line 3886 "dhcp4_parser.cc" break; - case 699: // dep_hostname_char_replacement: "hostname-char-replacement" $@120 ":" "constant string" -#line 2460 "dhcp4_parser.yy" + case 707: // dep_hostname_char_replacement: "hostname-char-replacement" $@120 ":" "constant string" +#line 2480 "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); ctx.leave(); } -#line 3876 "dhcp4_parser.cc" +#line 3896 "dhcp4_parser.cc" break; - case 700: // $@121: %empty -#line 2469 "dhcp4_parser.yy" + case 708: // $@121: %empty +#line 2489 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3884,40 +3904,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 3888 "dhcp4_parser.cc" +#line 3908 "dhcp4_parser.cc" break; - case 701: // config_control: "config-control" $@121 ":" "{" config_control_params "}" -#line 2475 "dhcp4_parser.yy" + case 709: // config_control: "config-control" $@121 ":" "{" config_control_params "}" +#line 2495 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 3898 "dhcp4_parser.cc" +#line 3918 "dhcp4_parser.cc" break; - case 702: // $@122: %empty -#line 2481 "dhcp4_parser.yy" + case 710: // $@122: %empty +#line 2501 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3908 "dhcp4_parser.cc" +#line 3928 "dhcp4_parser.cc" break; - case 703: // sub_config_control: "{" $@122 config_control_params "}" -#line 2485 "dhcp4_parser.yy" + case 711: // sub_config_control: "{" $@122 config_control_params "}" +#line 2505 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 3917 "dhcp4_parser.cc" +#line 3937 "dhcp4_parser.cc" break; - case 708: // $@123: %empty -#line 2500 "dhcp4_parser.yy" + case 716: // $@123: %empty +#line 2520 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3925,30 +3945,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 3929 "dhcp4_parser.cc" +#line 3949 "dhcp4_parser.cc" break; - case 709: // config_databases: "config-databases" $@123 ":" "[" database_list "]" -#line 2506 "dhcp4_parser.yy" + case 717: // config_databases: "config-databases" $@123 ":" "[" database_list "]" +#line 2526 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3938 "dhcp4_parser.cc" +#line 3958 "dhcp4_parser.cc" break; - case 710: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2511 "dhcp4_parser.yy" + case 718: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2531 "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))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 3948 "dhcp4_parser.cc" +#line 3968 "dhcp4_parser.cc" break; - case 711: // $@124: %empty -#line 2519 "dhcp4_parser.yy" + case 719: // $@124: %empty +#line 2539 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3956,67 +3976,67 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3960 "dhcp4_parser.cc" +#line 3980 "dhcp4_parser.cc" break; - case 712: // loggers: "loggers" $@124 ":" "[" loggers_entries "]" -#line 2525 "dhcp4_parser.yy" + case 720: // loggers: "loggers" $@124 ":" "[" loggers_entries "]" +#line 2545 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3969 "dhcp4_parser.cc" +#line 3989 "dhcp4_parser.cc" break; - case 715: // $@125: %empty -#line 2537 "dhcp4_parser.yy" + case 723: // $@125: %empty +#line 2557 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3979 "dhcp4_parser.cc" +#line 3999 "dhcp4_parser.cc" break; - case 716: // logger_entry: "{" $@125 logger_params "}" -#line 2541 "dhcp4_parser.yy" + case 724: // logger_entry: "{" $@125 logger_params "}" +#line 2561 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3987 "dhcp4_parser.cc" +#line 4007 "dhcp4_parser.cc" break; - case 726: // debuglevel: "debuglevel" ":" "integer" -#line 2558 "dhcp4_parser.yy" + case 734: // debuglevel: "debuglevel" ":" "integer" +#line 2578 "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))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3997 "dhcp4_parser.cc" +#line 4017 "dhcp4_parser.cc" break; - case 727: // $@126: %empty -#line 2564 "dhcp4_parser.yy" + case 735: // $@126: %empty +#line 2584 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4006 "dhcp4_parser.cc" +#line 4026 "dhcp4_parser.cc" break; - case 728: // severity: "severity" $@126 ":" "constant string" -#line 2567 "dhcp4_parser.yy" + case 736: // severity: "severity" $@126 ":" "constant string" +#line 2587 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4016 "dhcp4_parser.cc" +#line 4036 "dhcp4_parser.cc" break; - case 729: // $@127: %empty -#line 2573 "dhcp4_parser.yy" + case 737: // $@127: %empty +#line 2593 "dhcp4_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4024,106 +4044,106 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4028 "dhcp4_parser.cc" +#line 4048 "dhcp4_parser.cc" break; - case 730: // output_options_list: "output_options" $@127 ":" "[" output_options_list_content "]" -#line 2579 "dhcp4_parser.yy" + case 738: // output_options_list: "output_options" $@127 ":" "[" output_options_list_content "]" +#line 2599 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4037 "dhcp4_parser.cc" +#line 4057 "dhcp4_parser.cc" break; - case 733: // $@128: %empty -#line 2588 "dhcp4_parser.yy" + case 741: // $@128: %empty +#line 2608 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4047 "dhcp4_parser.cc" +#line 4067 "dhcp4_parser.cc" break; - case 734: // output_entry: "{" $@128 output_params_list "}" -#line 2592 "dhcp4_parser.yy" + case 742: // output_entry: "{" $@128 output_params_list "}" +#line 2612 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4055 "dhcp4_parser.cc" +#line 4075 "dhcp4_parser.cc" break; - case 742: // $@129: %empty -#line 2607 "dhcp4_parser.yy" + case 750: // $@129: %empty +#line 2627 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4064 "dhcp4_parser.cc" +#line 4084 "dhcp4_parser.cc" break; - case 743: // output: "output" $@129 ":" "constant string" -#line 2610 "dhcp4_parser.yy" + case 751: // output: "output" $@129 ":" "constant string" +#line 2630 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4074 "dhcp4_parser.cc" +#line 4094 "dhcp4_parser.cc" break; - case 744: // flush: "flush" ":" "boolean" -#line 2616 "dhcp4_parser.yy" + case 752: // flush: "flush" ":" "boolean" +#line 2636 "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))); ctx.stack_.back()->set("flush", flush); } -#line 4084 "dhcp4_parser.cc" +#line 4104 "dhcp4_parser.cc" break; - case 745: // maxsize: "maxsize" ":" "integer" -#line 2622 "dhcp4_parser.yy" + case 753: // maxsize: "maxsize" ":" "integer" +#line 2642 "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))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4094 "dhcp4_parser.cc" +#line 4114 "dhcp4_parser.cc" break; - case 746: // maxver: "maxver" ":" "integer" -#line 2628 "dhcp4_parser.yy" + case 754: // maxver: "maxver" ":" "integer" +#line 2648 "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))); ctx.stack_.back()->set("maxver", maxver); } -#line 4104 "dhcp4_parser.cc" +#line 4124 "dhcp4_parser.cc" break; - case 747: // $@130: %empty -#line 2634 "dhcp4_parser.yy" + case 755: // $@130: %empty +#line 2654 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4113 "dhcp4_parser.cc" +#line 4133 "dhcp4_parser.cc" break; - case 748: // pattern: "pattern" $@130 ":" "constant string" -#line 2637 "dhcp4_parser.yy" + case 756: // pattern: "pattern" $@130 ":" "constant string" +#line 2657 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4123 "dhcp4_parser.cc" +#line 4143 "dhcp4_parser.cc" break; -#line 4127 "dhcp4_parser.cc" +#line 4147 "dhcp4_parser.cc" default: break; @@ -4472,133 +4492,135 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -924; + const short Dhcp4Parser::yypact_ninf_ = -934; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 168, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, 31, 41, 36, 54, 57, 70, - 72, 74, 89, 104, 111, 121, 128, 135, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, 41, -158, 27, 122, 67, 306, - 59, 185, -37, 482, 230, -86, 573, 162, -924, 101, - 161, 49, 152, 164, -924, 163, -924, -924, -924, 172, - 215, 222, -924, -924, -924, -924, -924, -924, 225, 233, - 241, 249, 255, 261, 265, 278, 291, 295, 302, -924, - 308, 310, 311, 337, 369, -924, -924, -924, 370, 371, - 382, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, 389, -924, -924, -924, -924, -924, -924, - 396, -924, 407, -924, 84, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, 414, -924, 94, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, 419, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, 100, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, 107, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, 208, 260, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, 331, -924, -924, 421, -924, - -924, -924, 424, -924, -924, 422, 394, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - 427, 428, -924, -924, -924, -924, 425, 438, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - 118, -924, -924, -924, 431, -924, -924, 440, -924, 442, - 443, -924, -924, 444, 447, -924, -924, -924, -924, -924, - -924, -924, 129, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - 453, 131, -924, -924, -924, -924, 41, 41, -924, -140, - 454, -924, 456, 457, 458, 269, 271, 273, 464, 467, - 470, 475, 477, 478, 293, 294, 297, 300, 301, 289, - 307, 312, 315, 309, 318, 483, 320, 321, 317, 325, - 329, 490, 500, 514, 332, 336, 340, 525, 527, 534, - 535, 536, 537, 562, 563, 565, 568, 569, 574, 385, - 575, 578, 579, 580, 581, 582, 397, 583, -924, 122, - -924, 588, 589, 591, 400, 67, -924, 592, 593, 594, - 595, 596, 597, 411, 600, 601, 603, 306, -924, 604, - 59, -924, 605, 606, 607, 608, 609, 610, 611, 617, - -924, 185, -924, 618, 619, 434, 624, 625, 626, 437, - -924, 482, 628, 439, 441, -924, 230, 630, 632, -70, - -924, 445, 633, 634, 452, 641, 465, 466, 655, 656, - 480, 484, 673, 675, 680, 681, 573, -924, 682, 495, - 162, -924, -924, -924, 686, 685, 688, 689, 690, -924, - -924, -924, 507, 508, 510, 695, 697, 700, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, 515, - -924, -924, -924, -924, -924, -90, 516, 517, -924, -924, - -924, 704, 705, 707, 708, 709, 523, 174, 710, 712, - 713, 714, 726, -924, 727, 728, 729, 730, 547, 550, - -924, 737, -924, 738, 234, 272, -924, -924, 553, 554, - 555, 742, 557, 558, -924, 738, 559, 744, -924, 561, - -924, 738, 564, 567, 570, 571, 572, 576, 577, -924, - 584, 585, -924, 586, 587, 598, -924, -924, 599, -924, - -924, -924, 602, 709, -924, -924, 612, 613, -924, 614, - -924, -924, 10, 621, -924, -924, -90, 615, 616, 620, - -924, 748, -924, -924, 41, 122, 162, 67, 735, -924, - -924, -924, 503, 503, 747, -924, -924, -924, -924, -924, - -924, -924, -924, -924, 753, 758, 759, 762, -924, -924, - -924, -924, -924, -924, -924, -924, 157, 763, 764, 765, - 432, 149, 63, -14, 573, -924, -924, 766, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, 767, - -924, -924, -924, -924, 186, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, 747, -924, 160, 170, 219, -924, 220, - -924, -924, -924, -924, -924, -924, 775, 776, 779, 780, - 781, -924, -924, -924, -924, 782, 783, 784, 787, 788, - 790, -924, 235, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, 236, -924, 789, 793, -924, -924, - 791, 795, -924, -924, 794, 796, -924, -924, 802, 798, - -924, -924, 803, 799, -924, -924, -924, -924, -924, -924, - 46, -924, -924, -924, -924, -924, -924, -924, 87, -924, - -924, 804, 809, -924, -924, 807, 811, -924, 812, 813, - 814, 815, 816, 817, 252, -924, -924, -924, -924, -924, - -924, -924, 818, 819, 820, -924, 259, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, 263, -924, - -924, -924, 821, -924, 822, -924, -924, -924, 319, -924, - -924, -924, -924, -924, 322, -924, 119, -924, 636, -924, - 823, 825, -924, -924, -924, -924, 824, 827, -924, -924, - -924, 826, 735, -924, 830, 831, 832, 833, 623, 637, - 646, 645, 648, 837, 838, 839, 840, 653, 654, 657, - 658, 659, 660, 503, -924, -924, 503, -924, 747, 306, - -924, 753, 482, -924, 758, 230, -924, 759, 590, -924, - 762, 157, -924, 212, 763, -924, 185, -924, 764, -86, - -924, 765, 662, 663, 664, 665, 666, 667, 432, -924, - 669, 668, 672, 149, -924, 843, 844, 63, -924, 676, - 847, 674, 857, -14, -924, -924, -32, 766, -924, -924, - 861, 874, 59, -924, 767, 881, -924, -924, 699, -924, - 324, 711, 715, 716, -924, -924, -924, -924, -924, 732, - 743, 750, 751, -924, -924, -924, -924, -924, -924, -924, - 323, -924, 334, -924, 878, -924, 911, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, 335, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - 916, -924, -924, -924, -924, -924, -924, -924, -924, -924, - 918, 930, -924, -924, -924, -924, -924, 936, -924, 387, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, 801, 806, -924, -924, 808, -924, 41, -924, - -924, 986, -924, -924, -924, -924, -924, 391, -924, -924, - -924, -924, -924, -924, 810, 393, -924, 738, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, 590, -924, 990, 828, -924, - 212, -924, -924, -924, -924, -924, -924, 991, 829, 994, - -32, -924, -924, -924, -924, -924, 834, -924, -924, 995, - -924, 835, -924, -924, 996, -924, -924, 140, -924, 34, - 996, -924, -924, 998, 1000, 1001, -924, 409, -924, -924, - -924, -924, -924, -924, -924, 1002, 836, 841, 842, 1003, - 34, -924, 845, -924, -924, -924, 846, -924, -924, -924 + 544, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 28, 41, 57, 74, 80, 100, + 104, 125, 129, 152, 187, 189, 200, 206, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 41, -160, 27, 114, 67, 240, + 6, 250, -4, 63, 300, -85, 422, 54, -934, 215, + 163, 225, 39, 228, -934, 231, -934, -934, -934, 238, + 241, 257, -934, -934, -934, -934, -934, -934, 259, 267, + 304, 319, 342, 349, 358, 360, 362, 373, 379, -934, + 389, 397, 398, 399, 403, -934, -934, -934, 412, 413, + -934, -934, -934, -934, -934, -934, -934, 415, 416, 420, + -934, -934, -934, -934, -934, 421, -934, -934, -934, -934, + -934, -934, 423, -934, 424, -934, 53, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, 425, + -934, 97, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, 427, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, 107, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + 126, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, 384, 432, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, 418, -934, -934, 434, -934, -934, -934, 435, -934, + -934, 428, 437, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, 445, 448, -934, -934, + -934, -934, 433, 451, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, 130, -934, -934, -934, + 452, -934, -934, 455, -934, 461, 462, -934, -934, 464, + 465, -934, -934, -934, -934, -934, -934, -934, 150, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, 466, 159, -934, -934, + -934, -934, 41, 41, -934, 262, 467, -934, 469, 471, + 472, 283, 284, 285, 478, 483, 485, 487, 490, 491, + 303, 306, 307, 308, 311, 313, 317, 318, 321, 314, + 324, 517, 330, 332, 331, 335, 338, 533, 535, 537, + 353, 354, 538, 541, 547, 548, 580, 581, 582, 391, + 392, 393, 588, 589, 590, 591, 592, 407, 593, 598, + 599, 601, 602, 603, 408, 604, -934, 114, -934, 605, + 606, 607, 417, 67, -934, 610, 613, 614, 615, 616, + 617, 429, 618, 620, 621, 240, -934, 627, 6, -934, + 628, 629, 632, 634, 635, 636, 637, 638, -934, 250, + -934, 639, 640, 453, 641, 642, 644, 458, -934, 63, + 645, 459, 473, -934, 300, 663, 664, -5, -934, 474, + 676, 677, 488, 679, 492, 493, 684, 685, 498, 499, + 692, 695, 697, 702, 422, -934, 704, 515, 54, -934, + -934, -934, 706, 707, 709, 710, 711, -934, -934, -934, + 518, 520, 526, 713, 714, 717, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, 545, -934, -934, + -934, -934, -934, 123, 546, 549, -934, -934, 732, 735, + 736, 738, 737, 552, 186, -934, -934, -934, 741, 742, + 743, 744, 745, -934, 746, 747, 748, 749, 557, 558, + -934, 752, -934, 753, 312, 355, -934, -934, 566, 567, + 568, 757, 570, 571, -934, 753, 572, 759, -934, 574, + -934, 753, 577, 578, 579, 583, 584, 585, 586, -934, + 587, 594, -934, 595, 596, 597, -934, -934, 608, -934, + -934, -934, 609, 737, -934, -934, 611, 612, -934, 619, + -934, -934, 33, 622, -934, -934, 123, 623, 624, 625, + -934, 768, -934, -934, 41, 114, 54, 67, 750, -934, + -934, -934, 514, 514, 774, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 775, 776, 777, 779, -934, -934, + -934, -934, -934, -934, -934, -934, -45, 784, 785, 787, + 70, 135, -58, 212, 422, -934, -934, 788, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, 789, + -934, -934, -934, -934, 208, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, 774, -934, 160, 207, 219, -934, 220, + -934, -934, -934, -934, -934, -934, 771, 793, 794, 795, + 796, -934, -934, -934, -934, 799, 802, 803, 804, 805, + 806, -934, 245, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 246, -934, 807, 808, -934, -934, + 809, 811, -934, -934, 813, 817, -934, -934, 815, 819, + -934, -934, 818, 820, -934, -934, -934, -934, -934, -934, + 90, -934, -934, -934, -934, -934, -934, -934, 146, -934, + -934, 821, 822, -934, -934, 823, 825, -934, 826, 827, + 828, 829, 830, 831, 249, -934, -934, -934, -934, -934, + -934, -934, 832, 833, 834, -934, 256, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, 269, -934, + -934, -934, 835, -934, 836, -934, -934, -934, 278, -934, + -934, -934, -934, -934, 288, -934, 203, -934, 633, -934, + 837, 838, -934, -934, -934, -934, 839, 840, -934, -934, + -934, 841, 750, -934, 844, 845, 846, 847, 648, 656, + 650, 657, 660, 851, 852, 853, 854, 665, 666, 667, + 668, 669, 670, 514, -934, -934, 514, -934, 774, 240, + -934, 775, 63, -934, 776, 300, -934, 777, 600, -934, + 779, -45, -934, 297, 784, -934, 250, -934, 785, -85, + -934, 787, 672, 673, 674, 675, 680, 682, 70, -934, + 681, 686, 693, 135, -934, 859, 866, -58, -934, 699, + 867, 718, 869, 212, -934, -934, 72, 788, -934, -934, + 890, 897, 6, -934, 789, 912, -934, -934, 724, -934, + 377, 740, 751, 758, -934, -934, -934, -934, -934, 761, + 812, 814, 824, -934, -934, -934, -934, -934, -934, -934, + 328, -934, 346, -934, 921, -934, 922, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + 357, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, 932, -934, -934, -934, -934, -934, -934, -934, + -934, -934, 935, 949, -934, -934, -934, -934, -934, 994, + -934, 370, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 842, 843, -934, -934, 848, -934, + 41, -934, -934, 1004, -934, -934, -934, -934, -934, 376, + -934, -934, -934, -934, -934, -934, 849, 388, -934, 753, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, 600, -934, 1007, + 816, -934, 297, -934, -934, -934, -934, -934, -934, 1009, + 850, 1010, 72, -934, -934, -934, -934, -934, 856, -934, + -934, 1011, -934, 857, -934, -934, 1008, -934, -934, 235, + -934, -124, 1008, -934, -934, 1014, 1015, 1016, -934, 396, + -934, -934, -934, -934, -934, -934, -934, 1017, 855, 858, + 860, 1018, -124, -934, 862, -934, -934, -934, 863, -934, + -934, -934 }; const short @@ -4608,669 +4630,676 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 43, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 56, 5, 60, 7, 172, 9, 330, 11, 521, 13, - 546, 15, 446, 17, 454, 19, 491, 21, 295, 23, - 652, 25, 702, 27, 45, 39, 0, 0, 0, 0, - 0, 548, 0, 456, 493, 0, 0, 0, 47, 0, - 46, 0, 0, 40, 58, 0, 700, 161, 187, 0, - 0, 0, 567, 569, 571, 185, 194, 196, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 0, 0, 0, 0, 0, 140, 147, 149, 0, 0, - 0, 322, 444, 483, 397, 534, 536, 390, 260, 595, - 538, 287, 306, 0, 274, 621, 634, 650, 153, 155, - 0, 711, 0, 120, 0, 62, 64, 65, 66, 67, - 68, 99, 100, 101, 102, 103, 69, 97, 86, 87, - 88, 107, 108, 109, 110, 111, 112, 113, 114, 105, - 106, 115, 116, 117, 119, 72, 73, 94, 74, 75, - 76, 118, 80, 81, 70, 98, 71, 78, 79, 92, - 93, 95, 89, 90, 91, 77, 82, 83, 84, 85, - 96, 104, 174, 176, 180, 0, 171, 0, 163, 165, - 166, 167, 168, 169, 170, 378, 380, 382, 513, 376, - 384, 0, 388, 386, 591, 375, 334, 335, 336, 337, - 338, 359, 360, 361, 362, 363, 349, 350, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 0, - 332, 341, 354, 355, 356, 342, 344, 345, 347, 343, - 339, 340, 357, 358, 346, 351, 352, 353, 348, 532, - 531, 527, 528, 526, 0, 523, 525, 529, 530, 589, - 577, 579, 583, 581, 587, 585, 573, 566, 560, 564, - 565, 0, 549, 550, 561, 562, 563, 557, 552, 558, - 554, 555, 556, 559, 553, 0, 473, 240, 0, 477, - 475, 480, 0, 469, 470, 0, 457, 458, 460, 472, - 461, 462, 463, 479, 464, 465, 466, 467, 468, 507, - 0, 0, 505, 506, 509, 510, 0, 494, 495, 497, - 498, 499, 500, 501, 502, 503, 504, 302, 304, 299, - 0, 297, 300, 301, 0, 688, 675, 0, 678, 0, - 0, 682, 686, 0, 0, 692, 694, 696, 698, 673, - 671, 672, 0, 654, 656, 657, 658, 659, 660, 661, - 662, 663, 668, 664, 665, 666, 667, 669, 670, 708, - 0, 0, 704, 706, 707, 44, 0, 0, 37, 0, - 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 5, 60, 7, 173, 9, 331, 11, 529, 13, + 554, 15, 454, 17, 462, 19, 499, 21, 296, 23, + 660, 25, 710, 27, 45, 39, 0, 0, 0, 0, + 0, 556, 0, 464, 501, 0, 0, 0, 47, 0, + 46, 0, 0, 40, 58, 0, 708, 162, 188, 0, + 0, 0, 575, 577, 579, 186, 195, 197, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, + 0, 0, 0, 0, 0, 142, 149, 151, 0, 0, + 323, 452, 491, 403, 542, 544, 396, 0, 0, 0, + 261, 603, 546, 288, 307, 0, 275, 629, 642, 658, + 154, 156, 0, 719, 0, 122, 0, 62, 64, 65, + 66, 67, 68, 102, 103, 104, 105, 106, 69, 97, + 86, 87, 88, 110, 111, 112, 113, 114, 115, 116, + 108, 109, 117, 118, 119, 121, 72, 73, 94, 74, + 75, 76, 120, 80, 81, 70, 99, 100, 101, 98, + 71, 78, 79, 92, 93, 95, 89, 90, 91, 77, + 82, 83, 84, 85, 96, 107, 175, 177, 181, 0, + 172, 0, 164, 166, 167, 168, 169, 170, 171, 381, + 383, 385, 521, 379, 387, 0, 391, 389, 599, 378, + 335, 336, 337, 338, 339, 363, 364, 365, 366, 367, + 353, 354, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 0, 333, 342, 358, 359, 360, 343, 345, + 346, 349, 350, 351, 348, 344, 340, 341, 361, 362, + 347, 355, 356, 357, 352, 540, 539, 535, 536, 534, + 0, 531, 533, 537, 538, 597, 585, 587, 591, 589, + 595, 593, 581, 574, 568, 572, 573, 0, 557, 558, + 569, 570, 571, 565, 560, 566, 562, 563, 564, 567, + 561, 0, 481, 241, 0, 485, 483, 488, 0, 477, + 478, 0, 465, 466, 468, 480, 469, 470, 471, 487, + 472, 473, 474, 475, 476, 515, 0, 0, 513, 514, + 517, 518, 0, 502, 503, 505, 506, 507, 508, 509, + 510, 511, 512, 303, 305, 300, 0, 298, 301, 302, + 0, 696, 683, 0, 686, 0, 0, 690, 694, 0, + 0, 700, 702, 704, 706, 681, 679, 680, 0, 662, + 664, 665, 666, 667, 668, 669, 670, 671, 676, 672, + 673, 674, 675, 677, 678, 716, 0, 0, 712, 714, + 715, 44, 0, 0, 37, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 61, 0, 0, 0, 0, 0, 173, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, - 0, 522, 0, 0, 0, 0, 0, 0, 0, 0, - 547, 0, 447, 0, 0, 0, 0, 0, 0, 0, - 455, 0, 0, 0, 0, 492, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 653, 0, 0, - 0, 703, 48, 41, 0, 0, 0, 0, 0, 134, - 135, 136, 0, 0, 0, 0, 0, 0, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, - 158, 159, 137, 138, 139, 0, 0, 0, 151, 152, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, - 160, 0, 63, 0, 0, 0, 184, 164, 0, 0, - 0, 0, 0, 0, 396, 0, 0, 0, 333, 0, - 524, 0, 0, 0, 0, 0, 0, 0, 0, 551, - 0, 0, 471, 0, 0, 0, 482, 459, 0, 511, - 512, 496, 0, 0, 298, 674, 0, 0, 677, 0, - 680, 681, 0, 0, 690, 691, 0, 0, 0, 0, - 655, 0, 710, 705, 0, 0, 0, 0, 0, 568, - 570, 572, 0, 0, 198, 133, 142, 143, 144, 145, - 146, 141, 148, 150, 324, 448, 485, 399, 38, 535, - 537, 392, 393, 394, 395, 391, 0, 0, 540, 289, - 0, 0, 0, 0, 0, 154, 156, 0, 49, 175, - 178, 179, 177, 182, 183, 181, 379, 381, 383, 515, - 377, 385, 389, 387, 0, 533, 590, 578, 580, 584, - 582, 588, 586, 574, 474, 241, 478, 476, 481, 508, - 303, 305, 689, 676, 679, 684, 685, 683, 687, 693, - 695, 697, 699, 198, 42, 0, 0, 0, 192, 0, - 189, 191, 227, 233, 235, 237, 0, 0, 0, 0, - 0, 249, 251, 253, 255, 0, 0, 0, 0, 0, - 0, 226, 0, 204, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 219, 220, 221, 216, 222, 223, - 224, 217, 218, 225, 0, 202, 0, 199, 200, 328, - 0, 325, 326, 452, 0, 449, 450, 489, 0, 486, - 487, 403, 0, 400, 401, 269, 270, 271, 272, 273, - 0, 262, 264, 265, 266, 267, 268, 599, 0, 597, - 544, 0, 541, 542, 293, 0, 290, 291, 0, 0, - 0, 0, 0, 0, 0, 308, 310, 311, 312, 313, - 314, 315, 0, 0, 0, 283, 0, 276, 278, 279, - 280, 281, 282, 630, 632, 629, 627, 628, 0, 623, - 625, 626, 0, 645, 0, 648, 641, 642, 0, 636, - 638, 639, 640, 643, 0, 715, 0, 713, 51, 519, - 0, 516, 517, 575, 593, 594, 0, 0, 59, 701, - 162, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 195, 0, 197, 0, 0, - 323, 0, 456, 445, 0, 493, 484, 0, 0, 398, - 0, 0, 261, 601, 0, 596, 548, 539, 0, 0, - 288, 0, 0, 0, 0, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 275, 0, 0, 0, 622, 0, - 0, 0, 0, 0, 635, 651, 0, 0, 712, 53, - 0, 52, 0, 514, 0, 0, 592, 709, 0, 190, - 0, 0, 0, 0, 239, 242, 243, 244, 245, 0, - 0, 0, 0, 257, 258, 246, 247, 248, 259, 205, - 0, 201, 0, 327, 0, 451, 0, 488, 443, 422, - 423, 424, 410, 411, 427, 428, 429, 430, 431, 413, - 414, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 407, 408, 409, 420, 421, 419, 0, 405, - 412, 425, 426, 415, 416, 417, 418, 402, 263, 617, - 0, 615, 616, 608, 609, 613, 614, 610, 611, 612, - 0, 602, 603, 605, 606, 607, 598, 0, 543, 0, - 292, 316, 317, 318, 319, 320, 321, 309, 284, 285, - 286, 277, 0, 0, 624, 644, 0, 647, 0, 637, - 729, 0, 727, 725, 719, 723, 724, 0, 717, 721, - 722, 720, 714, 50, 0, 0, 518, 0, 193, 229, - 230, 231, 232, 228, 234, 236, 238, 250, 252, 254, - 256, 203, 329, 453, 490, 0, 404, 0, 0, 600, - 0, 545, 294, 631, 633, 646, 649, 0, 0, 0, - 0, 716, 54, 520, 576, 406, 0, 619, 604, 0, - 726, 0, 718, 618, 0, 728, 733, 0, 731, 0, - 0, 730, 742, 0, 0, 0, 747, 0, 735, 737, - 738, 739, 740, 741, 732, 0, 0, 0, 0, 0, - 0, 734, 0, 744, 745, 746, 0, 736, 743, 748 + 0, 0, 0, 0, 0, 0, 55, 0, 61, 0, + 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 332, 0, 0, 530, + 0, 0, 0, 0, 0, 0, 0, 0, 555, 0, + 455, 0, 0, 0, 0, 0, 0, 0, 463, 0, + 0, 0, 0, 500, 0, 0, 0, 0, 297, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 661, 0, 0, 0, 711, + 48, 41, 0, 0, 0, 0, 0, 136, 137, 138, + 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 0, 159, 160, + 139, 140, 141, 0, 0, 0, 153, 158, 0, 0, + 0, 0, 0, 0, 0, 393, 394, 395, 0, 0, + 0, 0, 0, 628, 0, 0, 0, 0, 0, 0, + 161, 0, 63, 0, 0, 0, 185, 165, 0, 0, + 0, 0, 0, 0, 402, 0, 0, 0, 334, 0, + 532, 0, 0, 0, 0, 0, 0, 0, 0, 559, + 0, 0, 479, 0, 0, 0, 490, 467, 0, 519, + 520, 504, 0, 0, 299, 682, 0, 0, 685, 0, + 688, 689, 0, 0, 698, 699, 0, 0, 0, 0, + 663, 0, 718, 713, 0, 0, 0, 0, 0, 576, + 578, 580, 0, 0, 199, 135, 144, 145, 146, 147, + 148, 143, 150, 152, 325, 456, 493, 405, 38, 543, + 545, 398, 399, 400, 401, 397, 0, 0, 548, 290, + 0, 0, 0, 0, 0, 155, 157, 0, 49, 176, + 179, 180, 178, 183, 184, 182, 382, 384, 386, 523, + 380, 388, 392, 390, 0, 541, 598, 586, 588, 592, + 590, 596, 594, 582, 482, 242, 486, 484, 489, 516, + 304, 306, 697, 684, 687, 692, 693, 691, 695, 701, + 703, 705, 707, 199, 42, 0, 0, 0, 193, 0, + 190, 192, 228, 234, 236, 238, 0, 0, 0, 0, + 0, 250, 252, 254, 256, 0, 0, 0, 0, 0, + 0, 227, 0, 205, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 220, 221, 222, 217, 223, 224, + 225, 218, 219, 226, 0, 203, 0, 200, 201, 329, + 0, 326, 327, 460, 0, 457, 458, 497, 0, 494, + 495, 409, 0, 406, 407, 270, 271, 272, 273, 274, + 0, 263, 265, 266, 267, 268, 269, 607, 0, 605, + 552, 0, 549, 550, 294, 0, 291, 292, 0, 0, + 0, 0, 0, 0, 0, 309, 311, 312, 313, 314, + 315, 316, 0, 0, 0, 284, 0, 277, 279, 280, + 281, 282, 283, 638, 640, 637, 635, 636, 0, 631, + 633, 634, 0, 653, 0, 656, 649, 650, 0, 644, + 646, 647, 648, 651, 0, 723, 0, 721, 51, 527, + 0, 524, 525, 583, 601, 602, 0, 0, 59, 709, + 163, 0, 0, 189, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 196, 0, 198, 0, 0, + 324, 0, 464, 453, 0, 501, 492, 0, 0, 404, + 0, 0, 262, 609, 0, 604, 556, 547, 0, 0, + 289, 0, 0, 0, 0, 0, 0, 0, 0, 308, + 0, 0, 0, 0, 276, 0, 0, 0, 630, 0, + 0, 0, 0, 0, 643, 659, 0, 0, 720, 53, + 0, 52, 0, 522, 0, 0, 600, 717, 0, 191, + 0, 0, 0, 0, 240, 243, 244, 245, 246, 0, + 0, 0, 0, 258, 259, 247, 248, 249, 260, 206, + 0, 202, 0, 328, 0, 459, 0, 496, 451, 431, + 432, 433, 416, 417, 436, 437, 438, 439, 440, 419, + 420, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 413, 414, 415, 429, 430, 426, 427, 428, 425, + 0, 411, 418, 434, 435, 421, 422, 423, 424, 408, + 264, 625, 0, 623, 624, 616, 617, 621, 622, 618, + 619, 620, 0, 610, 611, 613, 614, 615, 606, 0, + 551, 0, 293, 317, 318, 319, 320, 321, 322, 310, + 285, 286, 287, 278, 0, 0, 632, 652, 0, 655, + 0, 645, 737, 0, 735, 733, 727, 731, 732, 0, + 725, 729, 730, 728, 722, 50, 0, 0, 526, 0, + 194, 230, 231, 232, 233, 229, 235, 237, 239, 251, + 253, 255, 257, 204, 330, 461, 498, 0, 410, 0, + 0, 608, 0, 553, 295, 639, 641, 654, 657, 0, + 0, 0, 0, 724, 54, 528, 584, 412, 0, 627, + 612, 0, 734, 0, 726, 626, 0, 736, 741, 0, + 739, 0, 0, 738, 750, 0, 0, 0, 755, 0, + 743, 745, 746, 747, 748, 749, 740, 0, 0, 0, + 0, 0, 0, 742, 0, 752, 753, 754, 0, 744, + 751, 756 }; const short Dhcp4Parser::yypgoto_[] = { - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -52, -924, -533, -924, 375, - -924, -924, -924, -924, -924, -924, -581, -924, -924, -924, - -67, -924, -924, -924, -924, -924, -924, 354, 551, -40, - -28, -24, -1, 1, 11, 19, 22, 25, 26, -924, - -924, -924, -924, 29, 30, 32, 37, 40, 43, -924, - 365, 44, -924, 45, -924, 47, 48, 50, -924, 51, - -924, 55, -924, -924, -924, -924, -924, 355, 548, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, 112, -924, -924, -924, -924, - -924, -924, 274, -924, 88, -924, -650, 92, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -63, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, 77, -924, -924, -924, -924, -924, -924, -924, -924, - 56, -924, -924, -924, -924, -924, -924, -924, 69, -924, - -924, -924, 75, 518, -924, -924, -924, -924, -924, -924, - -924, 65, -924, -924, -924, -924, -924, -924, -923, -924, - -924, -924, 97, -924, -924, -924, 102, 552, -924, -924, - -924, -924, -924, -924, -924, -924, -917, -924, -65, -924, - 53, -924, 58, -924, -924, -924, -924, -924, -924, -924, - 98, -924, -924, -103, -46, -924, -924, -924, -924, -924, - 105, -924, -924, -924, 108, -924, 540, -924, -42, -924, - -924, -924, -924, -924, -36, -924, -924, -924, -924, -924, - -35, -924, -924, -924, 106, -924, -924, -924, 109, -924, - 539, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, 64, -924, -924, -924, 60, 622, -924, -924, - -51, -924, -11, -924, -25, -924, -924, -924, 99, -924, - -924, -924, 103, -924, 560, -55, -924, 0, -924, 7, - -924, 338, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -911, - -924, -924, -924, -924, -924, 110, -924, -924, -924, -87, - -924, -924, -924, -924, -924, -924, -924, -924, 83, -924, - -924, -924, -924, -924, -924, -924, 82, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, 362, 531, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, -924, -924, - -924, -924, -924, -924, -924, -924, -924, -924, 402, 529, - -924, -924, -924, -924, -924, -924, 85, -924, -924, -89, - -924, -924, -924, -924, -924, -924, -110, -924, -924, -127, - -924, -924, -924, -924, -924, -924, -924 + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -52, -934, -551, -934, 380, + -934, -934, -934, -934, -934, -934, -591, -934, -934, -934, + -67, -934, -934, -934, -934, -934, -934, 359, 559, -40, + -28, -24, -1, 1, 11, 19, 22, 25, 26, -934, + -934, -934, -934, 29, 30, 32, 37, 40, 43, -934, + 369, 44, -934, 45, -934, 47, 48, -934, 50, -934, + 51, -934, -934, -934, -934, -934, 361, 554, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 117, -934, -934, -934, -934, -934, + -934, 277, -934, 93, -934, -660, 99, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -63, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + 82, -934, -934, -934, -934, -934, -934, -934, -934, 64, + -934, -934, -934, -934, -934, -934, -934, 73, -934, -934, + -934, 79, 522, -934, -934, -934, -934, -934, -934, -934, + 75, -934, -934, -934, -934, -934, -934, -933, -934, -934, + -934, 105, -934, -934, -934, 101, 560, -934, -934, -934, + -934, -934, -934, -934, -934, -927, -934, -65, -934, 56, + -934, 55, 58, 61, 62, -934, -934, -934, -934, -934, + -934, -934, 103, -934, -934, -100, -46, -934, -934, -934, + -934, -934, 113, -934, -934, -934, 118, -934, 550, -934, + -42, -934, -934, -934, -934, -934, -36, -934, -934, -934, + -934, -934, -35, -934, -934, -934, 115, -934, -934, -934, + 116, -934, 551, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, 69, -934, -934, -934, 76, 576, + -934, -934, -51, -934, -11, -934, -25, -934, -934, -934, + 108, -934, -934, -934, 111, -934, 573, -55, -934, 0, + -934, 7, -934, 345, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -921, -934, -934, -934, -934, -934, 119, -934, -934, + -934, -82, -934, -934, -934, -934, -934, -934, -934, -934, + 94, -934, -934, -934, -934, -934, -934, -934, 91, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, 371, + 542, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, + 411, 540, -934, -934, -934, -934, -934, -934, 92, -934, + -934, -81, -934, -934, -934, -934, -934, -934, -99, -934, + -934, -116, -934, -934, -934, -934, -934, -934, -934 }; const short Dhcp4Parser::yydefgoto_[] = { -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 679, - 82, 83, 39, 64, 79, 80, 699, 888, 980, 981, - 771, 41, 66, 85, 400, 43, 67, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 425, 158, 159, 160, 161, 162, 163, 164, 431, - 671, 165, 432, 166, 433, 167, 168, 169, 454, 170, - 455, 171, 172, 173, 174, 175, 403, 207, 208, 45, - 68, 209, 461, 210, 462, 702, 211, 463, 705, 212, - 176, 411, 177, 404, 749, 750, 751, 901, 178, 412, - 179, 413, 796, 797, 798, 926, 772, 773, 774, 904, - 1123, 775, 905, 776, 906, 777, 907, 778, 779, 494, - 780, 781, 782, 783, 784, 785, 786, 787, 913, 788, - 914, 789, 915, 790, 916, 791, 792, 793, 180, 444, - 820, 821, 822, 823, 824, 825, 826, 181, 450, 856, - 857, 858, 859, 860, 182, 447, 835, 836, 837, 949, - 59, 75, 350, 351, 352, 507, 353, 508, 183, 448, - 844, 845, 846, 847, 848, 849, 850, 851, 184, 437, - 800, 801, 802, 929, 47, 69, 249, 250, 251, 471, - 252, 467, 253, 468, 254, 469, 255, 472, 256, 475, - 257, 474, 185, 443, 685, 259, 186, 440, 812, 813, - 814, 938, 1048, 1049, 187, 438, 53, 72, 804, 805, - 806, 932, 55, 73, 315, 316, 317, 318, 319, 320, - 321, 493, 322, 497, 323, 496, 324, 325, 498, 326, - 188, 439, 808, 809, 810, 935, 57, 74, 336, 337, - 338, 339, 340, 502, 341, 342, 343, 344, 261, 470, - 890, 891, 892, 982, 49, 70, 274, 275, 276, 479, - 189, 441, 190, 442, 191, 446, 831, 832, 833, 946, - 51, 71, 291, 292, 293, 192, 408, 193, 409, 194, - 410, 297, 489, 895, 985, 298, 483, 299, 484, 300, - 486, 301, 485, 302, 488, 303, 487, 304, 482, 268, - 476, 896, 195, 445, 828, 829, 943, 1070, 1071, 1072, - 1073, 1074, 1137, 1075, 196, 197, 451, 868, 869, 870, - 965, 871, 966, 198, 452, 878, 879, 880, 881, 970, - 882, 883, 972, 199, 453, 61, 76, 372, 373, 374, - 375, 513, 376, 377, 515, 378, 379, 380, 518, 737, - 381, 519, 382, 512, 383, 384, 385, 522, 386, 523, - 387, 524, 388, 525, 200, 402, 63, 77, 391, 392, - 393, 528, 394, 201, 457, 886, 887, 976, 1107, 1108, - 1109, 1110, 1149, 1111, 1147, 1167, 1168, 1169, 1177, 1178, - 1179, 1185, 1180, 1181, 1182, 1183, 1189 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 689, + 82, 83, 39, 64, 79, 80, 709, 898, 990, 991, + 781, 41, 66, 85, 406, 43, 67, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 431, 160, 161, 162, 163, 164, 165, 166, 437, + 681, 167, 438, 168, 439, 169, 170, 462, 171, 463, + 172, 173, 174, 175, 176, 409, 211, 212, 45, 68, + 213, 469, 214, 470, 712, 215, 471, 715, 216, 177, + 417, 178, 410, 759, 760, 761, 911, 179, 418, 180, + 419, 806, 807, 808, 936, 782, 783, 784, 914, 1135, + 785, 915, 786, 916, 787, 917, 788, 789, 502, 790, + 791, 792, 793, 794, 795, 796, 797, 923, 798, 924, + 799, 925, 800, 926, 801, 802, 803, 181, 452, 830, + 831, 832, 833, 834, 835, 836, 182, 458, 866, 867, + 868, 869, 870, 183, 455, 845, 846, 847, 959, 59, + 75, 356, 357, 358, 515, 359, 516, 184, 456, 854, + 855, 856, 857, 858, 859, 860, 861, 185, 442, 810, + 811, 812, 939, 47, 69, 252, 253, 254, 479, 255, + 475, 256, 476, 257, 477, 258, 480, 259, 483, 260, + 482, 186, 187, 188, 189, 448, 695, 265, 190, 445, + 822, 823, 824, 948, 1060, 1061, 191, 443, 53, 72, + 814, 815, 816, 942, 55, 73, 321, 322, 323, 324, + 325, 326, 327, 501, 328, 505, 329, 504, 330, 331, + 506, 332, 192, 444, 818, 819, 820, 945, 57, 74, + 342, 343, 344, 345, 346, 510, 347, 348, 349, 350, + 267, 478, 900, 901, 902, 992, 49, 70, 280, 281, + 282, 487, 193, 446, 194, 447, 195, 454, 841, 842, + 843, 956, 51, 71, 297, 298, 299, 196, 414, 197, + 415, 198, 416, 303, 497, 905, 995, 304, 491, 305, + 492, 306, 494, 307, 493, 308, 496, 309, 495, 310, + 490, 274, 484, 906, 199, 453, 838, 839, 953, 1082, + 1083, 1084, 1085, 1086, 1149, 1087, 200, 201, 459, 878, + 879, 880, 975, 881, 976, 202, 460, 888, 889, 890, + 891, 980, 892, 893, 982, 203, 461, 61, 76, 378, + 379, 380, 381, 521, 382, 383, 523, 384, 385, 386, + 526, 747, 387, 527, 388, 520, 389, 390, 391, 530, + 392, 531, 393, 532, 394, 533, 204, 408, 63, 77, + 397, 398, 399, 536, 400, 205, 465, 896, 897, 986, + 1119, 1120, 1121, 1122, 1161, 1123, 1159, 1179, 1180, 1181, + 1189, 1190, 1191, 1197, 1192, 1193, 1194, 1195, 1201 }; const short Dhcp4Parser::yytable_[] = { - 143, 206, 225, 270, 287, 271, 313, 332, 349, 369, - 314, 333, 78, 794, 265, 1043, 294, 213, 262, 277, - 289, 1044, 327, 345, 712, 370, 305, 1056, 735, 226, - 716, 28, 334, 81, 260, 273, 288, 84, 335, 347, - 348, 227, 678, 40, 264, 228, 29, 122, 30, 941, - 31, 534, 942, 397, 307, 347, 348, 214, 263, 278, - 290, 42, 328, 346, 44, 371, 125, 126, 229, 266, - 230, 295, 666, 667, 668, 669, 267, 46, 296, 48, - 231, 50, 202, 203, 125, 126, 204, 459, 232, 205, - 944, 233, 460, 945, 234, 235, 52, 465, 236, 237, - 678, 238, 466, 477, 670, 142, 239, 395, 478, 240, - 480, 54, 241, 242, 243, 481, 244, 245, 56, 246, - 247, 509, 977, 272, 248, 978, 510, 258, 58, 872, - 873, 874, 526, 86, 530, 60, 87, 527, 1100, 531, - 1101, 1102, 62, 1170, 123, 88, 1171, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 269, 125, 126, 142, - 398, 125, 126, 459, 396, 125, 126, 399, 898, 222, - 736, 401, 223, 530, 389, 390, 405, 875, 899, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 863, 864, 1172, 122, 123, 1173, 1174, - 1175, 1176, 1043, 92, 93, 94, 490, 124, 1044, 406, - 125, 126, 465, 902, 1056, 127, 407, 900, 903, 414, - 128, 129, 32, 33, 34, 35, 130, 415, 923, 923, - 92, 93, 94, 924, 925, 416, 131, 125, 126, 132, - 142, 700, 701, 417, 142, 958, 133, 134, 142, 418, - 959, 135, 963, 491, 136, 419, 967, 964, 137, 420, - 123, 968, 815, 816, 817, 818, 1010, 819, 681, 682, - 683, 684, 421, 125, 126, 852, 853, 854, 138, 139, - 140, 141, 703, 704, 279, 422, 122, 123, 307, 423, - 280, 281, 282, 283, 284, 285, 424, 286, 286, 893, - 125, 126, 426, 142, 427, 428, 307, 329, 308, 309, - 330, 331, 973, 1059, 1060, 526, 923, 974, 125, 126, - 975, 1131, 90, 91, 92, 93, 94, 477, 1135, 492, - 142, 429, 1132, 1136, 532, 533, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 1119, - 1120, 1121, 1122, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 430, 434, 435, 142, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 436, 215, 216, 217, - 509, 123, 143, 449, 1150, 1142, 480, 501, 206, 1151, - 456, 1153, 218, 142, 125, 126, 219, 220, 221, 127, - 225, 458, 1190, 270, 213, 271, 222, 1191, 464, 223, - 130, 142, 265, 473, 287, 495, 262, 224, 499, 277, - 500, 503, 504, 505, 313, 511, 294, 226, 314, 332, - 289, 506, 260, 333, 514, 273, 516, 517, 520, 227, - 327, 521, 264, 228, 214, 345, 288, 529, 535, 369, - 536, 537, 538, 539, 334, 540, 263, 541, 542, 278, - 335, 543, 138, 139, 544, 370, 229, 266, 230, 545, - 290, 546, 547, 553, 267, 548, 549, 559, 231, 550, - 328, 295, 551, 552, 565, 346, 232, 142, 296, 233, - 554, 557, 234, 235, 566, 555, 236, 237, 556, 238, - 558, 562, 560, 561, 239, 371, 306, 240, 567, 563, - 241, 242, 243, 564, 244, 245, 568, 246, 247, 571, - 569, 572, 248, 272, 570, 258, 1154, 752, 573, 574, - 575, 576, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 838, 839, 840, 841, 842, 843, 577, 578, 307, 579, - 308, 309, 580, 581, 310, 311, 312, 583, 582, 584, - 125, 126, 585, 586, 587, 588, 589, 591, 143, 307, - 206, 590, 593, 594, 596, 595, 598, 599, 600, 601, - 602, 603, 744, 604, 605, 606, 213, 607, 609, 611, - 612, 613, 614, 615, 616, 617, 90, 91, 92, 93, - 94, 618, 620, 621, 855, 865, 622, 369, 623, 624, - 625, 626, 628, 629, 632, 630, 633, 636, 637, 635, - 861, 866, 876, 370, 638, 639, 214, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 640, 641, 642, - 643, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 125, 126, 142, 644, 123, 307, 646, 645, 647, - 862, 867, 877, 371, 648, 649, 651, 652, 125, 126, - 654, 220, 655, 127, 142, 656, 657, 658, 659, 660, - 222, 661, 662, 223, 663, 664, 665, 672, 673, 674, - 675, 224, 676, 677, 680, 686, 30, 687, 688, 689, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 690, 691, 692, 693, 694, 695, 367, - 368, 696, 697, 698, 706, 707, 708, 709, 710, 711, - 713, 714, 715, 743, 795, 717, 138, 139, 718, 748, - 799, 719, 720, 721, 142, 803, 807, 722, 723, 811, - 827, 830, 834, 885, 889, 724, 725, 726, 727, 908, - 909, 142, 738, 910, 911, 912, 917, 918, 919, 728, - 729, 920, 921, 730, 922, 927, 928, 930, 931, 934, - 933, 937, 940, 732, 733, 734, 740, 741, 936, 939, - 947, 742, 948, 950, 951, 994, 952, 953, 954, 955, - 956, 957, 960, 961, 962, 969, 971, 979, 984, 983, - 988, 995, 986, 987, 990, 991, 992, 993, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1092, 1093, 1005, - 1006, 1096, 1008, 1007, 1081, 1082, 1083, 1084, 1085, 1086, - 1089, 1098, 225, 1088, 1090, 313, 1097, 1113, 332, 314, - 1095, 1018, 333, 1045, 265, 1042, 1061, 1114, 262, 287, - 1062, 327, 349, 1053, 345, 1117, 1133, 1051, 1067, 226, - 1118, 294, 1065, 334, 260, 289, 855, 1063, 1019, 335, - 865, 227, 1124, 1050, 264, 228, 1125, 1126, 1064, 1103, - 1020, 288, 861, 1104, 1021, 270, 866, 271, 263, 1134, - 1138, 328, 876, 1127, 346, 1105, 1139, 1052, 229, 266, - 230, 277, 1066, 1140, 1128, 290, 267, 1022, 1054, 1023, - 231, 1129, 1130, 1068, 1141, 1055, 295, 273, 232, 1024, - 1069, 233, 862, 296, 234, 235, 867, 1025, 236, 237, - 1026, 238, 877, 1027, 1028, 1106, 239, 1029, 1030, 240, - 1031, 278, 241, 242, 243, 1032, 244, 245, 1033, 246, - 247, 1034, 1035, 1036, 248, 1037, 1038, 258, 1039, 1040, - 1148, 1046, 1143, 1041, 1156, 1159, 1047, 1144, 1161, 1145, - 1164, 1152, 1186, 1166, 1187, 1188, 1192, 1196, 731, 745, - 592, 739, 747, 597, 989, 1009, 1011, 897, 1058, 1091, - 1080, 1160, 1157, 1087, 1079, 1163, 1165, 634, 1013, 608, - 1193, 1012, 1155, 1194, 1195, 272, 1198, 1199, 1057, 1015, - 1014, 627, 1115, 1017, 1016, 631, 1146, 1078, 1116, 1077, - 1094, 619, 894, 1158, 1076, 1099, 884, 650, 746, 653, - 1184, 1162, 1112, 1197, 0, 0, 0, 0, 1018, 0, - 1045, 0, 1042, 1061, 0, 0, 0, 1062, 0, 0, - 1053, 0, 0, 1103, 1051, 1067, 0, 1104, 0, 1065, - 0, 0, 0, 0, 1063, 1019, 0, 0, 0, 1105, - 1050, 0, 610, 0, 0, 1064, 0, 1020, 0, 0, - 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1052, 0, 0, 0, 0, 1066, - 0, 0, 0, 0, 1022, 1054, 1023, 0, 0, 1106, - 1068, 0, 1055, 0, 0, 0, 1024, 1069, 0, 0, - 0, 0, 0, 0, 1025, 0, 0, 1026, 0, 0, - 1027, 1028, 0, 0, 1029, 1030, 0, 1031, 0, 0, - 0, 0, 1032, 0, 0, 1033, 0, 0, 1034, 1035, - 1036, 0, 1037, 1038, 0, 1039, 1040, 0, 1046, 0, - 1041, 0, 0, 1047 + 145, 210, 229, 276, 293, 277, 319, 338, 355, 375, + 320, 339, 78, 804, 271, 1052, 300, 217, 268, 283, + 295, 1053, 333, 351, 722, 376, 311, 1068, 28, 230, + 726, 688, 340, 81, 266, 279, 294, 84, 341, 124, + 125, 231, 353, 354, 270, 232, 29, 404, 30, 1184, + 31, 745, 1185, 1186, 1187, 1188, 467, 218, 269, 284, + 296, 468, 334, 352, 40, 377, 395, 396, 233, 272, + 234, 301, 825, 826, 827, 828, 273, 829, 302, 121, + 235, 42, 206, 207, 873, 874, 208, 44, 236, 209, + 122, 237, 688, 951, 238, 239, 952, 312, 240, 241, + 473, 242, 275, 124, 125, 474, 243, 46, 144, 244, + 485, 48, 245, 246, 247, 486, 248, 249, 226, 250, + 251, 227, 353, 354, 261, 86, 278, 262, 87, 488, + 263, 264, 50, 517, 489, 144, 52, 88, 518, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 313, 954, + 314, 315, 955, 534, 316, 317, 318, 313, 535, 54, + 124, 125, 538, 467, 124, 125, 402, 539, 908, 124, + 125, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 56, 746, 58, 121, 122, 144, + 848, 849, 850, 851, 852, 853, 987, 60, 123, 988, + 538, 124, 125, 62, 1052, 909, 126, 127, 128, 129, + 1053, 401, 473, 912, 130, 131, 1068, 910, 913, 403, + 132, 405, 124, 125, 32, 33, 34, 35, 1182, 407, + 133, 1183, 411, 134, 1112, 412, 1113, 1114, 933, 933, + 135, 136, 968, 934, 935, 137, 144, 969, 138, 973, + 144, 413, 139, 420, 974, 144, 90, 91, 92, 93, + 94, 421, 977, 862, 863, 864, 1020, 978, 92, 93, + 94, 983, 140, 141, 142, 143, 984, 676, 677, 678, + 679, 534, 691, 692, 693, 694, 985, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 144, 422, 124, + 125, 112, 113, 114, 115, 116, 117, 118, 119, 680, + 219, 220, 221, 423, 122, 92, 93, 94, 144, 710, + 711, 933, 292, 903, 122, 222, 1143, 124, 125, 223, + 224, 225, 126, 127, 128, 129, 424, 124, 125, 485, + 540, 541, 226, 425, 1144, 227, 132, 882, 883, 884, + 1147, 285, 426, 228, 427, 1148, 428, 286, 287, 288, + 289, 290, 291, 517, 292, 713, 714, 429, 1154, 1162, + 121, 122, 313, 430, 1163, 313, 335, 314, 315, 336, + 337, 488, 498, 432, 124, 125, 1165, 124, 125, 1202, + 145, 433, 434, 435, 1203, 885, 210, 436, 140, 141, + 1071, 1072, 1131, 1132, 1133, 1134, 440, 441, 229, 449, + 450, 276, 217, 277, 451, 457, 500, 464, 466, 472, + 271, 481, 293, 144, 268, 499, 508, 283, 503, 507, + 509, 513, 319, 144, 300, 230, 320, 338, 295, 511, + 266, 339, 512, 279, 514, 542, 519, 231, 333, 522, + 270, 232, 218, 351, 294, 524, 525, 375, 528, 529, + 537, 543, 340, 544, 269, 545, 546, 284, 341, 547, + 548, 549, 550, 376, 233, 272, 234, 551, 296, 552, + 144, 553, 273, 144, 554, 555, 235, 556, 334, 301, + 557, 558, 559, 352, 236, 560, 302, 237, 565, 561, + 238, 239, 562, 563, 240, 241, 564, 242, 566, 124, + 125, 567, 243, 377, 568, 244, 569, 570, 245, 246, + 247, 571, 248, 249, 572, 250, 251, 573, 1166, 574, + 261, 575, 578, 262, 278, 579, 263, 264, 762, 576, + 577, 580, 581, 763, 764, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, + 780, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 582, 583, 584, 585, 586, 587, + 373, 374, 588, 589, 590, 591, 592, 594, 145, 313, + 210, 593, 595, 596, 600, 597, 598, 599, 601, 603, + 604, 605, 754, 606, 608, 144, 217, 609, 610, 611, + 612, 613, 615, 614, 616, 617, 90, 91, 92, 93, + 94, 619, 621, 622, 865, 875, 623, 375, 624, 625, + 626, 627, 628, 630, 631, 633, 634, 632, 635, 638, + 871, 876, 886, 376, 636, 639, 218, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 642, 643, 640, + 645, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 646, 647, 648, 649, 122, 313, 650, 651, 652, 653, + 872, 877, 887, 377, 654, 655, 656, 124, 125, 657, + 224, 658, 126, 127, 128, 129, 659, 144, 661, 662, + 664, 669, 226, 670, 665, 227, 666, 667, 668, 671, + 672, 673, 674, 228, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 684, 675, 682, + 685, 686, 683, 687, 30, 690, 696, 697, 698, 699, + 705, 706, 700, 701, 702, 703, 704, 707, 708, 716, + 717, 718, 719, 720, 721, 723, 724, 725, 140, 141, + 727, 728, 729, 753, 758, 918, 730, 731, 732, 733, + 734, 805, 809, 813, 817, 748, 821, 735, 736, 737, + 738, 837, 840, 144, 844, 895, 899, 919, 920, 921, + 922, 739, 740, 927, 742, 743, 928, 929, 930, 931, + 932, 938, 744, 937, 941, 940, 750, 751, 752, 943, + 944, 946, 947, 950, 949, 958, 989, 957, 961, 960, + 962, 963, 964, 965, 966, 967, 970, 971, 972, 979, + 981, 994, 1004, 993, 1006, 998, 997, 996, 1000, 1001, + 1002, 1003, 1005, 1007, 1008, 1009, 1010, 1011, 1012, 1013, + 1014, 1015, 1016, 1104, 1018, 1017, 1093, 1094, 1095, 1096, + 1105, 1108, 229, 1110, 1097, 319, 1098, 1100, 338, 320, + 1101, 1028, 339, 1054, 271, 1051, 1073, 1102, 268, 293, + 1074, 333, 355, 1065, 351, 1107, 1125, 1063, 1079, 230, + 1126, 300, 1077, 340, 266, 295, 865, 1075, 1029, 341, + 875, 231, 1109, 1062, 270, 232, 1129, 1130, 1076, 1115, + 1030, 294, 871, 1116, 1031, 276, 876, 277, 269, 1145, + 1146, 334, 886, 1136, 352, 1117, 1150, 1064, 233, 272, + 234, 283, 1078, 1151, 1137, 296, 273, 1032, 1066, 1033, + 235, 1138, 1152, 1080, 1139, 1067, 301, 279, 236, 1034, + 1081, 237, 872, 302, 238, 239, 877, 1035, 240, 241, + 1036, 242, 887, 1037, 1038, 1118, 243, 1039, 1040, 244, + 1041, 284, 245, 246, 247, 1042, 248, 249, 1043, 250, + 251, 1044, 1045, 1046, 261, 1047, 1048, 262, 1049, 1050, + 263, 264, 1153, 1056, 1055, 1140, 1057, 1141, 1160, 1058, + 1059, 1168, 1169, 1171, 1173, 1178, 1176, 1142, 1198, 1199, + 1200, 1204, 1208, 741, 755, 749, 602, 607, 757, 999, + 907, 1021, 1019, 1070, 1092, 1155, 1156, 1103, 1091, 644, + 1022, 1157, 1164, 1099, 1172, 618, 1023, 1167, 278, 1175, + 1177, 1205, 1206, 1069, 1207, 1210, 1211, 1025, 1158, 637, + 1024, 1026, 1027, 1128, 620, 641, 1090, 1089, 1127, 904, + 1170, 1106, 629, 1088, 1111, 894, 660, 756, 663, 1124, + 1028, 1174, 1054, 1196, 1051, 1073, 1209, 0, 0, 1074, + 0, 0, 1065, 0, 0, 1115, 1063, 1079, 0, 1116, + 0, 1077, 0, 0, 0, 0, 1075, 1029, 0, 0, + 0, 1117, 1062, 0, 0, 0, 0, 1076, 0, 1030, + 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0, + 0, 1078, 0, 0, 0, 0, 1032, 1066, 1033, 0, + 0, 1118, 1080, 0, 1067, 0, 0, 0, 1034, 1081, + 0, 0, 0, 0, 0, 0, 1035, 0, 0, 1036, + 0, 0, 1037, 1038, 0, 0, 1039, 1040, 0, 1041, + 0, 0, 0, 0, 1042, 0, 0, 1043, 0, 0, + 1044, 1045, 1046, 0, 1047, 1048, 0, 1049, 1050, 0, + 0, 0, 1056, 1055, 0, 1057, 0, 0, 1058, 1059 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 70, 73, 74, 75, 76, - 73, 74, 64, 663, 69, 938, 71, 68, 69, 70, - 71, 938, 73, 74, 605, 76, 72, 938, 18, 69, - 611, 0, 74, 191, 69, 70, 71, 10, 74, 125, - 126, 69, 575, 7, 69, 69, 5, 84, 7, 3, - 9, 191, 6, 4, 86, 125, 126, 68, 69, 70, - 71, 7, 73, 74, 7, 76, 98, 99, 69, 69, - 69, 71, 162, 163, 164, 165, 69, 7, 71, 7, - 69, 7, 15, 16, 98, 99, 19, 3, 69, 22, - 3, 69, 8, 6, 69, 69, 7, 3, 69, 69, - 633, 69, 8, 3, 194, 191, 69, 6, 8, 69, - 3, 7, 69, 69, 69, 8, 69, 69, 7, 69, - 69, 3, 3, 70, 69, 6, 8, 69, 7, 143, - 144, 145, 3, 11, 3, 7, 14, 8, 170, 8, - 172, 173, 7, 3, 85, 23, 6, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 97, 98, 99, 191, - 8, 98, 99, 3, 3, 98, 99, 3, 8, 110, - 160, 8, 113, 3, 12, 13, 4, 191, 8, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 140, 141, 171, 84, 85, 174, 175, - 176, 177, 1135, 28, 29, 30, 8, 95, 1135, 4, - 98, 99, 3, 3, 1135, 103, 4, 8, 8, 4, - 108, 109, 191, 192, 193, 194, 114, 4, 3, 3, - 28, 29, 30, 8, 8, 4, 124, 98, 99, 127, - 191, 17, 18, 4, 191, 3, 134, 135, 191, 4, - 8, 139, 3, 3, 142, 4, 3, 8, 146, 4, - 85, 8, 115, 116, 117, 118, 926, 120, 104, 105, - 106, 107, 4, 98, 99, 136, 137, 138, 166, 167, - 168, 169, 20, 21, 109, 4, 84, 85, 86, 4, - 115, 116, 117, 118, 119, 120, 4, 122, 122, 123, - 98, 99, 4, 191, 4, 4, 86, 87, 88, 89, - 90, 91, 3, 111, 112, 3, 3, 8, 98, 99, - 8, 8, 26, 27, 28, 29, 30, 3, 3, 8, - 191, 4, 8, 8, 396, 397, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 35, - 36, 37, 38, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 4, 4, 4, 191, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 4, 81, 82, 83, - 3, 85, 459, 4, 3, 8, 3, 3, 465, 8, - 4, 8, 96, 191, 98, 99, 100, 101, 102, 103, - 477, 4, 3, 480, 465, 480, 110, 8, 4, 113, - 114, 191, 477, 4, 491, 4, 477, 121, 4, 480, - 8, 4, 4, 8, 501, 4, 491, 477, 501, 506, - 491, 3, 477, 506, 4, 480, 4, 4, 4, 477, - 501, 4, 477, 477, 465, 506, 491, 4, 4, 526, - 4, 4, 4, 194, 506, 194, 477, 194, 4, 480, - 506, 4, 166, 167, 4, 526, 477, 477, 477, 4, - 491, 4, 4, 194, 477, 192, 192, 4, 477, 192, - 501, 491, 192, 192, 4, 506, 477, 191, 491, 477, - 193, 192, 477, 477, 4, 193, 477, 477, 193, 477, - 192, 194, 192, 192, 477, 526, 34, 477, 4, 194, - 477, 477, 477, 194, 477, 477, 194, 477, 477, 4, - 194, 4, 477, 480, 194, 477, 1117, 34, 4, 4, - 4, 4, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 128, 129, 130, 131, 132, 133, 4, 4, 86, 4, - 88, 89, 4, 4, 92, 93, 94, 192, 4, 4, - 98, 99, 4, 4, 4, 4, 4, 4, 655, 86, - 657, 194, 4, 4, 194, 4, 4, 4, 4, 4, - 4, 4, 654, 192, 4, 4, 657, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 26, 27, 28, 29, - 30, 4, 4, 4, 691, 692, 192, 694, 4, 4, - 4, 194, 4, 194, 4, 194, 4, 4, 4, 194, - 691, 692, 693, 694, 192, 4, 657, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 192, 192, 4, - 4, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 98, 99, 191, 194, 85, 86, 4, 194, 4, - 691, 692, 693, 694, 4, 4, 4, 192, 98, 99, - 4, 101, 7, 103, 191, 7, 7, 7, 191, 191, - 110, 191, 7, 113, 7, 5, 191, 191, 191, 5, - 5, 121, 5, 5, 191, 5, 7, 5, 5, 5, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 7, 7, 7, 7, 7, 191, 166, - 167, 191, 5, 5, 191, 191, 191, 5, 191, 191, - 191, 7, 191, 5, 7, 191, 166, 167, 191, 24, - 7, 191, 191, 191, 191, 7, 7, 191, 191, 7, - 7, 7, 7, 7, 7, 191, 191, 191, 191, 4, - 4, 191, 161, 4, 4, 4, 4, 4, 4, 191, - 191, 4, 4, 191, 4, 6, 3, 6, 3, 3, - 6, 3, 3, 191, 191, 191, 191, 191, 6, 6, - 6, 191, 3, 6, 3, 192, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 191, 3, 6, - 4, 194, 8, 6, 4, 4, 4, 4, 192, 194, - 192, 4, 4, 4, 4, 192, 192, 4, 4, 192, - 192, 4, 192, 194, 192, 192, 192, 192, 192, 192, - 192, 4, 929, 194, 192, 932, 192, 6, 935, 932, - 194, 938, 935, 938, 929, 938, 943, 3, 929, 946, - 943, 932, 949, 938, 935, 4, 8, 938, 943, 929, - 191, 946, 943, 935, 929, 946, 963, 943, 938, 935, - 967, 929, 191, 938, 929, 929, 191, 191, 943, 976, - 938, 946, 963, 976, 938, 982, 967, 982, 929, 8, - 4, 932, 973, 191, 935, 976, 8, 938, 929, 929, - 929, 982, 943, 3, 191, 946, 929, 938, 938, 938, - 929, 191, 191, 943, 8, 938, 946, 982, 929, 938, - 943, 929, 963, 946, 929, 929, 967, 938, 929, 929, - 938, 929, 973, 938, 938, 976, 929, 938, 938, 929, - 938, 982, 929, 929, 929, 938, 929, 929, 938, 929, - 929, 938, 938, 938, 929, 938, 938, 929, 938, 938, - 4, 938, 191, 938, 4, 4, 938, 191, 4, 191, - 5, 191, 4, 7, 4, 4, 4, 4, 633, 655, - 459, 646, 657, 465, 902, 923, 928, 743, 941, 963, - 951, 192, 194, 958, 949, 191, 191, 509, 931, 477, - 194, 929, 1135, 192, 192, 982, 191, 191, 940, 934, - 932, 501, 982, 937, 935, 506, 1098, 948, 984, 946, - 967, 491, 714, 1140, 944, 973, 694, 526, 656, 530, - 1170, 1150, 977, 1190, -1, -1, -1, -1, 1135, -1, - 1135, -1, 1135, 1140, -1, -1, -1, 1140, -1, -1, - 1135, -1, -1, 1150, 1135, 1140, -1, 1150, -1, 1140, - -1, -1, -1, -1, 1140, 1135, -1, -1, -1, 1150, - 1135, -1, 480, -1, -1, 1140, -1, 1135, -1, -1, - -1, 1135, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1135, -1, -1, -1, -1, 1140, - -1, -1, -1, -1, 1135, 1135, 1135, -1, -1, 1150, - 1140, -1, 1135, -1, -1, -1, 1135, 1140, -1, -1, - -1, -1, -1, -1, 1135, -1, -1, 1135, -1, -1, - 1135, 1135, -1, -1, 1135, 1135, -1, 1135, -1, -1, - -1, -1, 1135, -1, -1, 1135, -1, -1, 1135, 1135, - 1135, -1, 1135, 1135, -1, 1135, 1135, -1, 1135, -1, - 1135, -1, -1, 1135 + 73, 74, 64, 673, 69, 948, 71, 68, 69, 70, + 71, 948, 73, 74, 615, 76, 72, 948, 0, 69, + 621, 582, 74, 193, 69, 70, 71, 10, 74, 97, + 98, 69, 127, 128, 69, 69, 5, 8, 7, 173, + 9, 18, 176, 177, 178, 179, 3, 68, 69, 70, + 71, 8, 73, 74, 7, 76, 12, 13, 69, 69, + 69, 71, 117, 118, 119, 120, 69, 122, 71, 83, + 69, 7, 15, 16, 142, 143, 19, 7, 69, 22, + 84, 69, 643, 3, 69, 69, 6, 34, 69, 69, + 3, 69, 96, 97, 98, 8, 69, 7, 193, 69, + 3, 7, 69, 69, 69, 8, 69, 69, 112, 69, + 69, 115, 127, 128, 69, 11, 70, 69, 14, 3, + 69, 69, 7, 3, 8, 193, 7, 23, 8, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 85, 3, + 87, 88, 6, 3, 91, 92, 93, 85, 8, 7, + 97, 98, 3, 3, 97, 98, 3, 8, 8, 97, + 98, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 7, 162, 7, 83, 84, 193, + 130, 131, 132, 133, 134, 135, 3, 7, 94, 6, + 3, 97, 98, 7, 1147, 8, 102, 103, 104, 105, + 1147, 6, 3, 3, 110, 111, 1147, 8, 8, 4, + 116, 3, 97, 98, 193, 194, 195, 196, 3, 8, + 126, 6, 4, 129, 172, 4, 174, 175, 3, 3, + 136, 137, 3, 8, 8, 141, 193, 8, 144, 3, + 193, 4, 148, 4, 8, 193, 26, 27, 28, 29, + 30, 4, 3, 138, 139, 140, 936, 8, 28, 29, + 30, 3, 168, 169, 170, 171, 8, 164, 165, 166, + 167, 3, 106, 107, 108, 109, 8, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 193, 4, 97, + 98, 71, 72, 73, 74, 75, 76, 77, 78, 196, + 80, 81, 82, 4, 84, 28, 29, 30, 193, 17, + 18, 3, 124, 125, 84, 95, 8, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 4, 97, 98, 3, + 402, 403, 112, 4, 8, 115, 116, 145, 146, 147, + 3, 111, 4, 123, 4, 8, 4, 117, 118, 119, + 120, 121, 122, 3, 124, 20, 21, 4, 8, 3, + 83, 84, 85, 4, 8, 85, 86, 87, 88, 89, + 90, 3, 8, 4, 97, 98, 8, 97, 98, 3, + 467, 4, 4, 4, 8, 193, 473, 4, 168, 169, + 113, 114, 35, 36, 37, 38, 4, 4, 485, 4, + 4, 488, 473, 488, 4, 4, 8, 4, 4, 4, + 485, 4, 499, 193, 485, 3, 8, 488, 4, 4, + 3, 8, 509, 193, 499, 485, 509, 514, 499, 4, + 485, 514, 4, 488, 3, 193, 4, 485, 509, 4, + 485, 485, 473, 514, 499, 4, 4, 534, 4, 4, + 4, 4, 514, 4, 485, 4, 4, 488, 514, 196, + 196, 196, 4, 534, 485, 485, 485, 4, 499, 4, + 193, 4, 485, 193, 4, 4, 485, 194, 509, 499, + 194, 194, 194, 514, 485, 194, 499, 485, 194, 196, + 485, 485, 195, 195, 485, 485, 195, 485, 194, 97, + 98, 4, 485, 534, 194, 485, 194, 196, 485, 485, + 485, 196, 485, 485, 196, 485, 485, 4, 1129, 4, + 485, 4, 4, 485, 488, 4, 485, 485, 34, 196, + 196, 4, 4, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 4, 4, 4, 196, 196, 196, + 168, 169, 4, 4, 4, 4, 4, 4, 665, 85, + 667, 194, 4, 4, 196, 4, 4, 4, 4, 4, + 4, 4, 664, 196, 4, 193, 667, 4, 4, 4, + 4, 4, 4, 194, 4, 4, 26, 27, 28, 29, + 30, 4, 4, 4, 701, 702, 4, 704, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 194, 4, 4, + 701, 702, 703, 704, 196, 196, 667, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 4, 4, 196, + 196, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 4, 4, 194, 4, 84, 85, 194, 194, 4, 4, + 701, 702, 703, 704, 196, 196, 4, 97, 98, 4, + 100, 4, 102, 103, 104, 105, 4, 193, 4, 194, + 4, 193, 112, 193, 7, 115, 7, 7, 7, 193, + 7, 7, 5, 123, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 5, 193, 193, + 5, 5, 193, 5, 7, 193, 5, 5, 5, 5, + 193, 193, 7, 7, 7, 7, 7, 5, 5, 193, + 193, 193, 5, 193, 193, 193, 7, 193, 168, 169, + 193, 193, 193, 5, 24, 4, 193, 193, 193, 193, + 193, 7, 7, 7, 7, 163, 7, 193, 193, 193, + 193, 7, 7, 193, 7, 7, 7, 4, 4, 4, + 4, 193, 193, 4, 193, 193, 4, 4, 4, 4, + 4, 3, 193, 6, 3, 6, 193, 193, 193, 6, + 3, 6, 3, 3, 6, 3, 193, 6, 3, 6, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 3, 194, 6, 194, 4, 6, 8, 4, 4, + 4, 4, 196, 196, 194, 4, 4, 4, 4, 194, + 194, 194, 194, 4, 194, 196, 194, 194, 194, 194, + 4, 4, 939, 4, 194, 942, 194, 196, 945, 942, + 194, 948, 945, 948, 939, 948, 953, 194, 939, 956, + 953, 942, 959, 948, 945, 196, 6, 948, 953, 939, + 3, 956, 953, 945, 939, 956, 973, 953, 948, 945, + 977, 939, 194, 948, 939, 939, 4, 193, 953, 986, + 948, 956, 973, 986, 948, 992, 977, 992, 939, 8, + 8, 942, 983, 193, 945, 986, 4, 948, 939, 939, + 939, 992, 953, 8, 193, 956, 939, 948, 948, 948, + 939, 193, 3, 953, 193, 948, 956, 992, 939, 948, + 953, 939, 973, 956, 939, 939, 977, 948, 939, 939, + 948, 939, 983, 948, 948, 986, 939, 948, 948, 939, + 948, 992, 939, 939, 939, 948, 939, 939, 948, 939, + 939, 948, 948, 948, 939, 948, 948, 939, 948, 948, + 939, 939, 8, 948, 948, 193, 948, 193, 4, 948, + 948, 4, 196, 4, 4, 7, 5, 193, 4, 4, + 4, 4, 4, 643, 665, 656, 467, 473, 667, 912, + 753, 938, 933, 951, 961, 193, 193, 973, 959, 517, + 939, 193, 193, 968, 194, 485, 941, 1147, 992, 193, + 193, 196, 194, 950, 194, 193, 193, 944, 1110, 509, + 942, 945, 947, 994, 488, 514, 958, 956, 992, 724, + 1152, 977, 499, 954, 983, 704, 534, 666, 538, 987, + 1147, 1162, 1147, 1182, 1147, 1152, 1202, -1, -1, 1152, + -1, -1, 1147, -1, -1, 1162, 1147, 1152, -1, 1162, + -1, 1152, -1, -1, -1, -1, 1152, 1147, -1, -1, + -1, 1162, 1147, -1, -1, -1, -1, 1152, -1, 1147, + -1, -1, -1, 1147, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1147, -1, -1, -1, + -1, 1152, -1, -1, -1, -1, 1147, 1147, 1147, -1, + -1, 1162, 1152, -1, 1147, -1, -1, -1, 1147, 1152, + -1, -1, -1, -1, -1, -1, 1147, -1, -1, 1147, + -1, -1, 1147, 1147, -1, -1, 1147, 1147, -1, 1147, + -1, -1, -1, -1, 1147, -1, -1, 1147, -1, -1, + 1147, 1147, 1147, -1, 1147, 1147, -1, 1147, 1147, -1, + -1, -1, 1147, 1147, -1, 1147, -1, -1, 1147, 1147 }; const short Dhcp4Parser::yystos_[] = { - 0, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 0, 5, - 7, 9, 191, 192, 193, 194, 210, 211, 212, 217, - 7, 226, 7, 230, 7, 274, 7, 379, 7, 459, - 7, 475, 7, 411, 7, 417, 7, 441, 7, 355, - 7, 540, 7, 571, 218, 213, 227, 231, 275, 380, - 460, 476, 412, 418, 442, 356, 541, 572, 210, 219, - 220, 191, 215, 216, 10, 228, 11, 14, 23, 25, + 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 0, 5, + 7, 9, 193, 194, 195, 196, 212, 213, 214, 219, + 7, 228, 7, 232, 7, 275, 7, 380, 7, 463, + 7, 479, 7, 415, 7, 421, 7, 445, 7, 356, + 7, 544, 7, 575, 220, 215, 229, 233, 276, 381, + 464, 480, 416, 422, 446, 357, 545, 576, 212, 221, + 222, 193, 217, 218, 10, 230, 11, 14, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 84, 85, 95, 98, 99, 103, 108, 109, - 114, 124, 127, 134, 135, 139, 142, 146, 166, 167, - 168, 169, 191, 225, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 247, 248, - 249, 250, 251, 252, 253, 256, 258, 260, 261, 262, - 264, 266, 267, 268, 269, 270, 285, 287, 293, 295, - 333, 342, 349, 363, 373, 397, 401, 409, 435, 465, - 467, 469, 480, 482, 484, 507, 519, 520, 528, 538, - 569, 578, 15, 16, 19, 22, 225, 272, 273, 276, - 278, 281, 284, 465, 467, 81, 82, 83, 96, 100, - 101, 102, 110, 113, 121, 225, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 248, 249, 250, 251, - 252, 253, 256, 258, 260, 261, 262, 264, 266, 381, - 382, 383, 385, 387, 389, 391, 393, 395, 397, 400, - 435, 453, 465, 467, 469, 480, 482, 484, 504, 97, - 225, 393, 395, 435, 461, 462, 463, 465, 467, 109, - 115, 116, 117, 118, 119, 120, 122, 225, 435, 465, - 467, 477, 478, 479, 480, 482, 484, 486, 490, 492, - 494, 496, 498, 500, 502, 409, 34, 86, 88, 89, - 92, 93, 94, 225, 313, 419, 420, 421, 422, 423, - 424, 425, 427, 429, 431, 432, 434, 465, 467, 87, - 90, 91, 225, 313, 423, 429, 443, 444, 445, 446, - 447, 449, 450, 451, 452, 465, 467, 125, 126, 225, - 357, 358, 359, 361, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 166, 167, 225, - 465, 467, 542, 543, 544, 545, 547, 548, 550, 551, - 552, 555, 557, 559, 560, 561, 563, 565, 567, 12, - 13, 573, 574, 575, 577, 6, 3, 4, 8, 3, - 229, 8, 570, 271, 288, 4, 4, 4, 481, 483, - 485, 286, 294, 296, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 246, 4, 4, 4, 4, - 4, 254, 257, 259, 4, 4, 4, 374, 410, 436, - 402, 466, 468, 398, 334, 508, 470, 350, 364, 4, - 343, 521, 529, 539, 263, 265, 4, 579, 4, 3, - 8, 277, 279, 282, 4, 3, 8, 386, 388, 390, - 454, 384, 392, 4, 396, 394, 505, 3, 8, 464, - 3, 8, 503, 491, 493, 497, 495, 501, 499, 487, - 8, 3, 8, 426, 314, 4, 430, 428, 433, 4, - 8, 3, 448, 4, 4, 8, 3, 360, 362, 3, - 8, 4, 558, 546, 4, 549, 4, 4, 553, 556, - 4, 4, 562, 564, 566, 568, 3, 8, 576, 4, - 3, 8, 210, 210, 191, 4, 4, 4, 4, 194, - 194, 194, 4, 4, 4, 4, 4, 4, 192, 192, - 192, 192, 192, 194, 193, 193, 193, 192, 192, 4, - 192, 192, 194, 194, 194, 4, 4, 4, 194, 194, - 194, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 192, 4, 4, 4, 4, 4, 4, - 194, 4, 233, 4, 4, 4, 194, 273, 4, 4, - 4, 4, 4, 4, 192, 4, 4, 4, 382, 4, - 462, 4, 4, 4, 4, 4, 4, 4, 4, 479, - 4, 4, 192, 4, 4, 4, 194, 421, 4, 194, - 194, 445, 4, 4, 358, 194, 4, 4, 192, 4, - 192, 192, 4, 4, 194, 194, 4, 4, 4, 4, - 543, 4, 192, 574, 4, 7, 7, 7, 7, 191, - 191, 191, 7, 7, 5, 191, 162, 163, 164, 165, - 194, 255, 191, 191, 5, 5, 5, 5, 212, 214, - 191, 104, 105, 106, 107, 399, 5, 5, 5, 5, - 7, 7, 7, 7, 7, 191, 191, 5, 5, 221, - 17, 18, 280, 20, 21, 283, 191, 191, 191, 5, - 191, 191, 221, 191, 7, 191, 221, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 214, 191, 191, 191, 18, 160, 554, 161, 255, - 191, 191, 191, 5, 210, 232, 573, 272, 24, 289, - 290, 291, 34, 39, 40, 41, 42, 43, 44, 45, + 79, 83, 84, 94, 97, 98, 102, 103, 104, 105, + 110, 111, 116, 126, 129, 136, 137, 141, 144, 148, + 168, 169, 170, 171, 193, 227, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 249, 250, 251, 252, 253, 254, 255, 258, 260, 262, + 263, 265, 267, 268, 269, 270, 271, 286, 288, 294, + 296, 334, 343, 350, 364, 374, 398, 399, 400, 401, + 405, 413, 439, 469, 471, 473, 484, 486, 488, 511, + 523, 524, 532, 542, 573, 582, 15, 16, 19, 22, + 227, 273, 274, 277, 279, 282, 285, 469, 471, 80, + 81, 82, 95, 99, 100, 101, 112, 115, 123, 227, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 250, 251, 252, 253, 254, 255, 258, 260, 262, 263, + 265, 267, 382, 383, 384, 386, 388, 390, 392, 394, + 396, 398, 399, 400, 401, 404, 439, 457, 469, 471, + 473, 484, 486, 488, 508, 96, 227, 394, 396, 439, + 465, 466, 467, 469, 471, 111, 117, 118, 119, 120, + 121, 122, 124, 227, 439, 469, 471, 481, 482, 483, + 484, 486, 488, 490, 494, 496, 498, 500, 502, 504, + 506, 413, 34, 85, 87, 88, 91, 92, 93, 227, + 314, 423, 424, 425, 426, 427, 428, 429, 431, 433, + 435, 436, 438, 469, 471, 86, 89, 90, 227, 314, + 427, 433, 447, 448, 449, 450, 451, 453, 454, 455, + 456, 469, 471, 127, 128, 227, 358, 359, 360, 362, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 168, 169, 227, 469, 471, 546, 547, + 548, 549, 551, 552, 554, 555, 556, 559, 561, 563, + 564, 565, 567, 569, 571, 12, 13, 577, 578, 579, + 581, 6, 3, 4, 8, 3, 231, 8, 574, 272, + 289, 4, 4, 4, 485, 487, 489, 287, 295, 297, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 248, 4, 4, 4, 4, 4, 256, 259, 261, + 4, 4, 375, 414, 440, 406, 470, 472, 402, 4, + 4, 4, 335, 512, 474, 351, 365, 4, 344, 525, + 533, 543, 264, 266, 4, 583, 4, 3, 8, 278, + 280, 283, 4, 3, 8, 387, 389, 391, 458, 385, + 393, 4, 397, 395, 509, 3, 8, 468, 3, 8, + 507, 495, 497, 501, 499, 505, 503, 491, 8, 3, + 8, 430, 315, 4, 434, 432, 437, 4, 8, 3, + 452, 4, 4, 8, 3, 361, 363, 3, 8, 4, + 562, 550, 4, 553, 4, 4, 557, 560, 4, 4, + 566, 568, 570, 572, 3, 8, 580, 4, 3, 8, + 212, 212, 193, 4, 4, 4, 4, 196, 196, 196, + 4, 4, 4, 4, 4, 4, 194, 194, 194, 194, + 194, 196, 195, 195, 195, 194, 194, 4, 194, 194, + 196, 196, 196, 4, 4, 4, 196, 196, 4, 4, + 4, 4, 4, 4, 4, 196, 196, 196, 4, 4, + 4, 4, 4, 194, 4, 4, 4, 4, 4, 4, + 196, 4, 235, 4, 4, 4, 196, 274, 4, 4, + 4, 4, 4, 4, 194, 4, 4, 4, 383, 4, + 466, 4, 4, 4, 4, 4, 4, 4, 4, 483, + 4, 4, 194, 4, 4, 4, 196, 425, 4, 196, + 196, 449, 4, 4, 359, 196, 4, 4, 194, 4, + 194, 194, 4, 4, 196, 196, 4, 4, 4, 4, + 547, 4, 194, 578, 4, 7, 7, 7, 7, 193, + 193, 193, 7, 7, 5, 193, 164, 165, 166, 167, + 196, 257, 193, 193, 5, 5, 5, 5, 214, 216, + 193, 106, 107, 108, 109, 403, 5, 5, 5, 5, + 7, 7, 7, 7, 7, 193, 193, 5, 5, 223, + 17, 18, 281, 20, 21, 284, 193, 193, 193, 5, + 193, 193, 223, 193, 7, 193, 223, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 216, 193, 193, 193, 18, 162, 558, 163, 257, + 193, 193, 193, 5, 212, 234, 577, 273, 24, 290, + 291, 292, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 225, 301, 302, 303, 306, 308, 310, 312, 313, - 315, 316, 317, 318, 319, 320, 321, 322, 324, 326, - 328, 330, 331, 332, 301, 7, 297, 298, 299, 7, - 375, 376, 377, 7, 413, 414, 415, 7, 437, 438, - 439, 7, 403, 404, 405, 115, 116, 117, 118, 120, - 335, 336, 337, 338, 339, 340, 341, 7, 509, 510, - 7, 471, 472, 473, 7, 351, 352, 353, 128, 129, - 130, 131, 132, 133, 365, 366, 367, 368, 369, 370, - 371, 372, 136, 137, 138, 225, 344, 345, 346, 347, - 348, 465, 467, 140, 141, 225, 465, 467, 522, 523, - 524, 526, 143, 144, 145, 191, 465, 467, 530, 531, - 532, 533, 535, 536, 542, 7, 580, 581, 222, 7, - 455, 456, 457, 123, 486, 488, 506, 297, 8, 8, - 8, 292, 3, 8, 304, 307, 309, 311, 4, 4, - 4, 4, 4, 323, 325, 327, 329, 4, 4, 4, - 4, 4, 4, 3, 8, 8, 300, 6, 3, 378, - 6, 3, 416, 6, 3, 440, 6, 3, 406, 6, - 3, 3, 6, 511, 3, 6, 474, 6, 3, 354, + 56, 227, 302, 303, 304, 307, 309, 311, 313, 314, + 316, 317, 318, 319, 320, 321, 322, 323, 325, 327, + 329, 331, 332, 333, 302, 7, 298, 299, 300, 7, + 376, 377, 378, 7, 417, 418, 419, 7, 441, 442, + 443, 7, 407, 408, 409, 117, 118, 119, 120, 122, + 336, 337, 338, 339, 340, 341, 342, 7, 513, 514, + 7, 475, 476, 477, 7, 352, 353, 354, 130, 131, + 132, 133, 134, 135, 366, 367, 368, 369, 370, 371, + 372, 373, 138, 139, 140, 227, 345, 346, 347, 348, + 349, 469, 471, 142, 143, 227, 469, 471, 526, 527, + 528, 530, 145, 146, 147, 193, 469, 471, 534, 535, + 536, 537, 539, 540, 546, 7, 584, 585, 224, 7, + 459, 460, 461, 125, 490, 492, 510, 298, 8, 8, + 8, 293, 3, 8, 305, 308, 310, 312, 4, 4, + 4, 4, 4, 324, 326, 328, 330, 4, 4, 4, + 4, 4, 4, 3, 8, 8, 301, 6, 3, 379, + 6, 3, 420, 6, 3, 444, 6, 3, 410, 6, + 3, 3, 6, 515, 3, 6, 478, 6, 3, 355, 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 525, 527, 3, 8, 4, - 534, 4, 537, 3, 8, 8, 582, 3, 6, 191, - 223, 224, 458, 6, 3, 489, 8, 6, 4, 290, - 4, 4, 4, 4, 192, 194, 192, 194, 192, 4, - 4, 4, 4, 192, 192, 192, 192, 194, 192, 302, - 301, 299, 381, 377, 419, 415, 443, 439, 225, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 248, - 249, 250, 251, 252, 253, 256, 258, 260, 261, 262, - 264, 266, 313, 373, 391, 393, 395, 397, 407, 408, - 435, 465, 467, 480, 482, 484, 504, 405, 336, 111, - 112, 225, 313, 409, 435, 465, 467, 480, 482, 484, - 512, 513, 514, 515, 516, 518, 510, 477, 473, 357, - 353, 192, 192, 192, 192, 192, 192, 366, 194, 192, - 192, 345, 4, 4, 523, 194, 4, 192, 4, 531, - 170, 172, 173, 225, 313, 465, 467, 583, 584, 585, - 586, 588, 581, 6, 3, 461, 457, 4, 191, 35, - 36, 37, 38, 305, 191, 191, 191, 191, 191, 191, - 191, 8, 8, 8, 8, 3, 8, 517, 4, 8, - 3, 8, 8, 191, 191, 191, 210, 589, 4, 587, - 3, 8, 191, 8, 221, 408, 4, 194, 514, 4, - 192, 4, 584, 191, 5, 191, 7, 590, 591, 592, - 3, 6, 171, 174, 175, 176, 177, 593, 594, 595, - 597, 598, 599, 600, 591, 596, 4, 4, 4, 601, - 3, 8, 4, 194, 192, 192, 4, 594, 191, 191 + 4, 4, 4, 3, 8, 529, 531, 3, 8, 4, + 538, 4, 541, 3, 8, 8, 586, 3, 6, 193, + 225, 226, 462, 6, 3, 493, 8, 6, 4, 291, + 4, 4, 4, 4, 194, 196, 194, 196, 194, 4, + 4, 4, 4, 194, 194, 194, 194, 196, 194, 303, + 302, 300, 382, 378, 423, 419, 447, 443, 227, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 250, + 251, 252, 253, 254, 255, 258, 260, 262, 263, 265, + 267, 314, 374, 392, 394, 396, 398, 399, 400, 401, + 411, 412, 439, 469, 471, 484, 486, 488, 508, 409, + 337, 113, 114, 227, 314, 413, 439, 469, 471, 484, + 486, 488, 516, 517, 518, 519, 520, 522, 514, 481, + 477, 358, 354, 194, 194, 194, 194, 194, 194, 367, + 196, 194, 194, 346, 4, 4, 527, 196, 4, 194, + 4, 535, 172, 174, 175, 227, 314, 469, 471, 587, + 588, 589, 590, 592, 585, 6, 3, 465, 461, 4, + 193, 35, 36, 37, 38, 306, 193, 193, 193, 193, + 193, 193, 193, 8, 8, 8, 8, 3, 8, 521, + 4, 8, 3, 8, 8, 193, 193, 193, 212, 593, + 4, 591, 3, 8, 193, 8, 223, 412, 4, 196, + 518, 4, 194, 4, 588, 193, 5, 193, 7, 594, + 595, 596, 3, 6, 173, 176, 177, 178, 179, 597, + 598, 599, 601, 602, 603, 604, 595, 600, 4, 4, + 4, 605, 3, 8, 4, 196, 194, 194, 4, 598, + 193, 193 }; const short Dhcp4Parser::yyr1_[] = { - 0, 195, 197, 196, 198, 196, 199, 196, 200, 196, - 201, 196, 202, 196, 203, 196, 204, 196, 205, 196, - 206, 196, 207, 196, 208, 196, 209, 196, 210, 210, - 210, 210, 210, 210, 210, 211, 213, 212, 214, 215, - 215, 216, 216, 218, 217, 219, 219, 220, 220, 222, - 221, 223, 223, 224, 224, 225, 227, 226, 229, 228, - 231, 230, 232, 232, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 246, 245, 247, 248, 249, 250, 251, 252, - 254, 253, 255, 255, 255, 255, 255, 257, 256, 259, - 258, 260, 261, 263, 262, 265, 264, 266, 267, 268, - 269, 271, 270, 272, 272, 273, 273, 273, 273, 273, - 273, 273, 275, 274, 277, 276, 279, 278, 280, 280, - 282, 281, 283, 283, 284, 286, 285, 288, 287, 289, - 289, 290, 292, 291, 294, 293, 296, 295, 297, 297, - 298, 298, 300, 299, 301, 301, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 304, 303, 305, - 305, 305, 305, 307, 306, 309, 308, 311, 310, 312, - 314, 313, 315, 316, 317, 318, 319, 320, 321, 323, - 322, 325, 324, 327, 326, 329, 328, 330, 331, 332, - 334, 333, 335, 335, 336, 336, 336, 336, 336, 337, - 338, 339, 340, 341, 343, 342, 344, 344, 345, 345, - 345, 345, 345, 345, 346, 347, 348, 350, 349, 351, - 351, 352, 352, 354, 353, 356, 355, 357, 357, 357, - 358, 358, 360, 359, 362, 361, 364, 363, 365, 365, - 366, 366, 366, 366, 366, 366, 367, 368, 369, 370, - 371, 372, 374, 373, 375, 375, 376, 376, 378, 377, - 380, 379, 381, 381, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 384, 383, 386, 385, - 388, 387, 390, 389, 392, 391, 394, 393, 396, 395, - 398, 397, 399, 399, 399, 399, 400, 402, 401, 403, - 403, 404, 404, 406, 405, 407, 407, 408, 408, 408, - 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 408, 408, 408, 408, 410, 409, 412, 411, 413, 413, - 414, 414, 416, 415, 418, 417, 419, 419, 420, 420, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 422, 423, 424, 426, 425, 428, 427, 430, 429, 431, - 433, 432, 434, 436, 435, 437, 437, 438, 438, 440, - 439, 442, 441, 443, 443, 444, 444, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 446, 448, 447, 449, - 450, 451, 452, 454, 453, 455, 455, 456, 456, 458, - 457, 460, 459, 461, 461, 462, 462, 462, 462, 462, - 462, 462, 464, 463, 466, 465, 468, 467, 470, 469, - 471, 471, 472, 472, 474, 473, 476, 475, 477, 477, - 478, 478, 479, 479, 479, 479, 479, 479, 479, 479, - 479, 479, 479, 479, 479, 479, 479, 481, 480, 483, - 482, 485, 484, 487, 486, 489, 488, 491, 490, 493, - 492, 495, 494, 497, 496, 499, 498, 501, 500, 503, - 502, 505, 504, 506, 506, 508, 507, 509, 509, 511, - 510, 512, 512, 513, 513, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 515, 517, 516, 518, - 519, 521, 520, 522, 522, 523, 523, 523, 523, 523, - 525, 524, 527, 526, 529, 528, 530, 530, 531, 531, - 531, 531, 531, 531, 532, 534, 533, 535, 537, 536, - 539, 538, 541, 540, 542, 542, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, - 543, 543, 543, 543, 544, 546, 545, 547, 549, 548, - 550, 551, 553, 552, 554, 554, 556, 555, 558, 557, - 559, 560, 562, 561, 564, 563, 566, 565, 568, 567, - 570, 569, 572, 571, 573, 573, 574, 574, 576, 575, - 577, 579, 578, 580, 580, 582, 581, 583, 583, 584, - 584, 584, 584, 584, 584, 584, 585, 587, 586, 589, - 588, 590, 590, 592, 591, 593, 593, 594, 594, 594, - 594, 594, 596, 595, 597, 598, 599, 601, 600 + 0, 197, 199, 198, 200, 198, 201, 198, 202, 198, + 203, 198, 204, 198, 205, 198, 206, 198, 207, 198, + 208, 198, 209, 198, 210, 198, 211, 198, 212, 212, + 212, 212, 212, 212, 212, 213, 215, 214, 216, 217, + 217, 218, 218, 220, 219, 221, 221, 222, 222, 224, + 223, 225, 225, 226, 226, 227, 229, 228, 231, 230, + 233, 232, 234, 234, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 248, 247, 249, 250, 251, 252, + 253, 254, 256, 255, 257, 257, 257, 257, 257, 259, + 258, 261, 260, 262, 264, 263, 266, 265, 267, 268, + 269, 270, 272, 271, 273, 273, 274, 274, 274, 274, + 274, 274, 274, 276, 275, 278, 277, 280, 279, 281, + 281, 283, 282, 284, 284, 285, 287, 286, 289, 288, + 290, 290, 291, 293, 292, 295, 294, 297, 296, 298, + 298, 299, 299, 301, 300, 302, 302, 303, 303, 303, + 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, + 303, 303, 303, 303, 303, 303, 303, 303, 305, 304, + 306, 306, 306, 306, 308, 307, 310, 309, 312, 311, + 313, 315, 314, 316, 317, 318, 319, 320, 321, 322, + 324, 323, 326, 325, 328, 327, 330, 329, 331, 332, + 333, 335, 334, 336, 336, 337, 337, 337, 337, 337, + 338, 339, 340, 341, 342, 344, 343, 345, 345, 346, + 346, 346, 346, 346, 346, 347, 348, 349, 351, 350, + 352, 352, 353, 353, 355, 354, 357, 356, 358, 358, + 358, 359, 359, 361, 360, 363, 362, 365, 364, 366, + 366, 367, 367, 367, 367, 367, 367, 368, 369, 370, + 371, 372, 373, 375, 374, 376, 376, 377, 377, 379, + 378, 381, 380, 382, 382, 383, 383, 383, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + 383, 383, 383, 383, 383, 383, 383, 383, 383, 385, + 384, 387, 386, 389, 388, 391, 390, 393, 392, 395, + 394, 397, 396, 398, 399, 400, 402, 401, 403, 403, + 403, 403, 404, 406, 405, 407, 407, 408, 408, 410, + 409, 411, 411, 412, 412, 412, 412, 412, 412, 412, + 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, + 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, + 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, + 412, 412, 414, 413, 416, 415, 417, 417, 418, 418, + 420, 419, 422, 421, 423, 423, 424, 424, 425, 425, + 425, 425, 425, 425, 425, 425, 425, 425, 426, 427, + 428, 430, 429, 432, 431, 434, 433, 435, 437, 436, + 438, 440, 439, 441, 441, 442, 442, 444, 443, 446, + 445, 447, 447, 448, 448, 449, 449, 449, 449, 449, + 449, 449, 449, 449, 450, 452, 451, 453, 454, 455, + 456, 458, 457, 459, 459, 460, 460, 462, 461, 464, + 463, 465, 465, 466, 466, 466, 466, 466, 466, 466, + 468, 467, 470, 469, 472, 471, 474, 473, 475, 475, + 476, 476, 478, 477, 480, 479, 481, 481, 482, 482, + 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 483, 483, 485, 484, 487, 486, 489, + 488, 491, 490, 493, 492, 495, 494, 497, 496, 499, + 498, 501, 500, 503, 502, 505, 504, 507, 506, 509, + 508, 510, 510, 512, 511, 513, 513, 515, 514, 516, + 516, 517, 517, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 519, 521, 520, 522, 523, 525, + 524, 526, 526, 527, 527, 527, 527, 527, 529, 528, + 531, 530, 533, 532, 534, 534, 535, 535, 535, 535, + 535, 535, 536, 538, 537, 539, 541, 540, 543, 542, + 545, 544, 546, 546, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 548, 550, 549, 551, 553, 552, 554, 555, + 557, 556, 558, 558, 560, 559, 562, 561, 563, 564, + 566, 565, 568, 567, 570, 569, 572, 571, 574, 573, + 576, 575, 577, 577, 578, 578, 580, 579, 581, 583, + 582, 584, 584, 586, 585, 587, 587, 588, 588, 588, + 588, 588, 588, 588, 589, 591, 590, 593, 592, 594, + 594, 596, 595, 597, 597, 598, 598, 598, 598, 598, + 600, 599, 601, 602, 603, 605, 604 }; const signed char @@ -5288,69 +5317,70 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 0, 4, 3, 3, 3, 3, 3, 3, - 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 3, 3, 0, 4, 0, 4, 3, 3, 3, - 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 1, 1, - 0, 4, 1, 1, 3, 0, 6, 0, 6, 1, - 3, 1, 0, 4, 0, 6, 0, 6, 0, 1, - 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 3, - 0, 4, 3, 3, 3, 3, 3, 3, 3, 0, - 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, - 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 6, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 0, 6, 0, - 1, 1, 3, 0, 4, 0, 4, 1, 3, 1, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 1, 1, 1, 1, 3, 0, 6, 0, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 0, 4, 3, 3, 3, 3, + 3, 3, 0, 4, 1, 1, 1, 1, 1, 0, + 4, 0, 4, 3, 0, 4, 0, 4, 3, 3, + 3, 3, 0, 6, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 0, 4, 1, + 1, 0, 4, 1, 1, 3, 0, 6, 0, 6, + 1, 3, 1, 0, 4, 0, 6, 0, 6, 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 3, 0, 4, 3, 3, 3, 3, 3, 3, 3, + 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, + 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 6, 1, 3, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, + 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, + 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 0, 6, 0, 1, 1, 3, 0, + 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 6, 0, 4, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 3, 0, 6, 0, 1, 1, 3, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 6, 0, 4, 0, 1, 1, 3, + 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 0, 4, 0, 4, 0, 4, 1, 0, 4, + 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, + 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 1, 1, 3, + 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 4, 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 0, 4, 0, 4, 0, 4, 1, - 0, 4, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, - 1, 3, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 6, - 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 6, 1, 1, 0, 6, 1, 3, 0, - 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, - 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 6, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, - 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, + 6, 1, 1, 0, 6, 1, 3, 0, 4, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 3, 3, 0, + 6, 1, 3, 1, 1, 1, 1, 1, 0, 4, + 0, 4, 0, 6, 1, 3, 1, 1, 1, 1, + 1, 1, 3, 0, 4, 3, 0, 4, 0, 6, + 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, - 3, 3, 0, 4, 1, 1, 0, 4, 0, 4, - 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 6, 0, 4, 1, 3, 1, 1, 0, 6, - 3, 0, 6, 1, 3, 0, 4, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, + 1, 1, 3, 0, 4, 3, 0, 4, 3, 3, + 0, 4, 1, 1, 0, 4, 0, 4, 3, 3, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 6, + 0, 4, 1, 3, 1, 1, 0, 6, 3, 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, - 1, 1, 0, 4, 3, 3, 3, 0, 4 + 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, + 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, + 0, 4, 3, 3, 3, 0, 4 }; @@ -5385,21 +5415,22 @@ namespace isc { namespace dhcp { "\"ddns-send-updates\"", "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", - "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"", - "\"store-extended-info\"", "\"subnet4\"", "\"4o6-interface\"", - "\"4o6-interface-id\"", "\"4o6-subnet\"", "\"option-def\"", - "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"", - "\"csv-format\"", "\"always-send\"", "\"record-types\"", + "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet4\"", + "\"4o6-interface\"", "\"4o6-interface-id\"", "\"4o6-subnet\"", + "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", + "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"", "\"encapsulate\"", "\"array\"", "\"shared-networks\"", "\"pools\"", "\"pool\"", "\"user-context\"", "\"comment\"", "\"subnet\"", - "\"interface\"", "\"id\"", "\"reservation-mode\"", "\"disabled\"", - "\"out-of-pool\"", "\"global\"", "\"all\"", - "\"host-reservation-identifiers\"", "\"client-classes\"", - "\"require-client-classes\"", "\"test\"", "\"only-if-required\"", - "\"client-class\"", "\"reservations\"", "\"duid\"", "\"hw-address\"", - "\"circuit-id\"", "\"client-id\"", "\"hostname\"", "\"flex-id\"", - "\"relay\"", "\"ip-address\"", "\"ip-addresses\"", "\"hooks-libraries\"", - "\"library\"", "\"parameters\"", "\"expired-leases-processing\"", + "\"interface\"", "\"id\"", "\"reservation-mode\"", + "\"reservations-out-of-pool\"", "\"reservations-in-subnet\"", + "\"reservations-global\"", "\"disabled\"", "\"out-of-pool\"", + "\"global\"", "\"all\"", "\"host-reservation-identifiers\"", + "\"client-classes\"", "\"require-client-classes\"", "\"test\"", + "\"only-if-required\"", "\"client-class\"", "\"reservations\"", + "\"duid\"", "\"hw-address\"", "\"circuit-id\"", "\"client-id\"", + "\"hostname\"", "\"flex-id\"", "\"relay\"", "\"ip-address\"", + "\"ip-addresses\"", "\"hooks-libraries\"", "\"library\"", + "\"parameters\"", "\"expired-leases-processing\"", "\"reclaim-timer-wait-time\"", "\"flush-reclaimed-timer-wait-time\"", "\"hold-reclaimed-time\"", "\"max-reclaim-leases\"", "\"max-reclaim-time\"", "\"unwarned-reclaim-cycles\"", @@ -5437,22 +5468,22 @@ namespace isc { namespace dhcp { "ddns_override_client_update", "ddns_replace_client_name", "$@21", "ddns_replace_client_name_value", "ddns_generated_prefix", "$@22", "ddns_qualifying_suffix", "$@23", "ddns_update_on_renew", - "ddns_use_conflict_resolution", "hostname_char_set", "$@24", - "hostname_char_replacement", "$@25", "store_extended_info", - "statistic_default_sample_count", "statistic_default_sample_age", - "ip_reservations_unique", "interfaces_config", "$@26", - "interfaces_config_params", "interfaces_config_param", "sub_interfaces4", - "$@27", "interfaces_list", "$@28", "dhcp_socket_type", "$@29", - "socket_type", "outbound_interface", "$@30", "outbound_interface_value", - "re_detect", "lease_database", "$@31", "sanity_checks", "$@32", - "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@33", - "hosts_database", "$@34", "hosts_databases", "$@35", "database_list", - "not_empty_database_list", "database", "$@36", "database_map_params", - "database_map_param", "database_type", "$@37", "db_type", "user", "$@38", - "password", "$@39", "host", "$@40", "port", "name", "$@41", "persist", - "lfc_interval", "readonly", "connect_timeout", "request_timeout", - "tcp_keepalive", "tcp_nodelay", "contact_points", "$@42", "keyspace", - "$@43", "consistency", "$@44", "serial_consistency", "$@45", + "hostname_char_set", "$@24", "hostname_char_replacement", "$@25", + "store_extended_info", "statistic_default_sample_count", + "statistic_default_sample_age", "ip_reservations_unique", + "interfaces_config", "$@26", "interfaces_config_params", + "interfaces_config_param", "sub_interfaces4", "$@27", "interfaces_list", + "$@28", "dhcp_socket_type", "$@29", "socket_type", "outbound_interface", + "$@30", "outbound_interface_value", "re_detect", "lease_database", + "$@31", "sanity_checks", "$@32", "sanity_checks_params", + "sanity_checks_param", "lease_checks", "$@33", "hosts_database", "$@34", + "hosts_databases", "$@35", "database_list", "not_empty_database_list", + "database", "$@36", "database_map_params", "database_map_param", + "database_type", "$@37", "db_type", "user", "$@38", "password", "$@39", + "host", "$@40", "port", "name", "$@41", "persist", "lfc_interval", + "readonly", "connect_timeout", "request_timeout", "tcp_keepalive", + "tcp_nodelay", "contact_points", "$@42", "keyspace", "$@43", + "consistency", "$@44", "serial_consistency", "$@45", "max_reconnect_tries", "reconnect_wait_time", "max_row_errors", "host_reservation_identifiers", "$@46", "host_reservation_identifiers_list", "host_reservation_identifier", @@ -5471,15 +5502,16 @@ namespace isc { namespace dhcp { "sub_subnet4", "$@56", "subnet4_params", "subnet4_param", "subnet", "$@57", "subnet_4o6_interface", "$@58", "subnet_4o6_interface_id", "$@59", "subnet_4o6_subnet", "$@60", "interface", "$@61", "client_class", - "$@62", "require_client_classes", "$@63", "reservation_mode", "$@64", - "hr_mode", "id", "shared_networks", "$@65", "shared_networks_content", - "shared_networks_list", "shared_network", "$@66", - "shared_network_params", "shared_network_param", "option_def_list", - "$@67", "sub_option_def_list", "$@68", "option_def_list_content", - "not_empty_option_def_list", "option_def_entry", "$@69", - "sub_option_def", "$@70", "option_def_params", - "not_empty_option_def_params", "option_def_param", "option_def_name", - "code", "option_def_code", "option_def_type", "$@71", + "$@62", "require_client_classes", "$@63", "reservations_out_of_pool", + "reservations_in_subnet", "reservations_global", "reservation_mode", + "$@64", "hr_mode", "id", "shared_networks", "$@65", + "shared_networks_content", "shared_networks_list", "shared_network", + "$@66", "shared_network_params", "shared_network_param", + "option_def_list", "$@67", "sub_option_def_list", "$@68", + "option_def_list_content", "not_empty_option_def_list", + "option_def_entry", "$@69", "sub_option_def", "$@70", + "option_def_params", "not_empty_option_def_params", "option_def_param", + "option_def_name", "code", "option_def_code", "option_def_type", "$@71", "option_def_record_types", "$@72", "space", "$@73", "option_def_space", "option_def_encapsulate", "$@74", "option_def_array", "option_data_list", "$@75", "option_data_list_content", "not_empty_option_data_list", @@ -5530,81 +5562,82 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 282, 282, 282, 283, 283, 284, 284, 285, 285, - 286, 286, 287, 287, 288, 288, 289, 289, 290, 290, - 291, 291, 292, 292, 293, 293, 294, 294, 302, 303, - 304, 305, 306, 307, 308, 311, 316, 316, 327, 330, - 331, 334, 339, 347, 347, 354, 355, 358, 362, 369, - 369, 376, 377, 380, 384, 395, 404, 404, 419, 419, - 436, 436, 445, 446, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 510, 516, 522, 528, 534, 540, 546, 552, 558, - 564, 570, 576, 576, 585, 591, 597, 603, 609, 615, - 621, 621, 630, 633, 636, 639, 642, 648, 648, 657, - 657, 666, 672, 678, 678, 687, 687, 696, 702, 708, - 714, 720, 720, 732, 733, 736, 737, 738, 739, 740, - 741, 742, 745, 745, 754, 754, 765, 765, 773, 774, - 777, 777, 785, 787, 791, 798, 798, 811, 811, 822, - 823, 825, 827, 827, 846, 846, 859, 859, 870, 871, - 874, 875, 878, 878, 888, 889, 892, 893, 894, 895, - 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, - 906, 907, 908, 909, 910, 911, 912, 915, 915, 923, - 924, 925, 926, 929, 929, 938, 938, 947, 947, 956, - 962, 962, 971, 977, 983, 989, 995, 1001, 1007, 1013, - 1013, 1022, 1022, 1031, 1031, 1040, 1040, 1049, 1055, 1061, - 1068, 1068, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1090, - 1095, 1100, 1105, 1110, 1117, 1117, 1130, 1131, 1134, 1135, - 1136, 1137, 1138, 1139, 1142, 1148, 1154, 1160, 1160, 1171, - 1172, 1175, 1176, 1179, 1179, 1189, 1189, 1199, 1200, 1201, - 1204, 1205, 1208, 1208, 1217, 1217, 1226, 1226, 1238, 1239, - 1242, 1243, 1244, 1245, 1246, 1247, 1250, 1256, 1262, 1268, - 1274, 1280, 1289, 1289, 1303, 1304, 1307, 1308, 1315, 1315, - 1341, 1341, 1352, 1353, 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, 1395, 1396, 1397, 1398, 1401, 1401, 1410, 1410, - 1419, 1419, 1428, 1428, 1437, 1437, 1446, 1446, 1455, 1455, - 1466, 1466, 1474, 1475, 1476, 1477, 1480, 1488, 1488, 1500, - 1501, 1505, 1506, 1509, 1509, 1517, 1518, 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, 1564, 1564, 1578, 1578, 1587, 1588, - 1591, 1592, 1597, 1597, 1612, 1612, 1626, 1627, 1630, 1631, - 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1646, 1648, 1654, 1656, 1656, 1665, 1665, 1674, 1674, 1683, - 1685, 1685, 1694, 1704, 1704, 1717, 1718, 1723, 1724, 1729, - 1729, 1741, 1741, 1753, 1754, 1759, 1760, 1765, 1766, 1767, - 1768, 1769, 1770, 1771, 1772, 1773, 1776, 1778, 1778, 1787, - 1789, 1791, 1797, 1806, 1806, 1819, 1820, 1823, 1824, 1827, - 1827, 1837, 1837, 1847, 1848, 1851, 1852, 1853, 1854, 1855, - 1856, 1857, 1860, 1860, 1869, 1869, 1894, 1894, 1924, 1924, - 1935, 1936, 1939, 1940, 1943, 1943, 1952, 1952, 1961, 1962, - 1965, 1966, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, - 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1987, 1987, 1996, - 1996, 2005, 2005, 2014, 2014, 2023, 2023, 2034, 2034, 2043, - 2043, 2052, 2052, 2061, 2061, 2070, 2070, 2079, 2079, 2088, - 2088, 2102, 2102, 2113, 2114, 2120, 2120, 2131, 2132, 2135, - 2135, 2145, 2146, 2149, 2150, 2153, 2154, 2155, 2156, 2157, - 2158, 2159, 2160, 2161, 2162, 2163, 2166, 2168, 2168, 2177, - 2185, 2193, 2193, 2204, 2205, 2208, 2209, 2210, 2211, 2212, - 2215, 2215, 2224, 2224, 2236, 2236, 2249, 2250, 2253, 2254, - 2255, 2256, 2257, 2258, 2261, 2267, 2267, 2276, 2282, 2282, - 2292, 2292, 2305, 2305, 2315, 2316, 2319, 2320, 2321, 2322, - 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, - 2333, 2334, 2335, 2336, 2339, 2345, 2345, 2354, 2360, 2360, - 2369, 2375, 2381, 2381, 2390, 2391, 2394, 2394, 2404, 2404, - 2414, 2421, 2428, 2428, 2437, 2437, 2447, 2447, 2457, 2457, - 2469, 2469, 2481, 2481, 2491, 2492, 2496, 2497, 2500, 2500, - 2511, 2519, 2519, 2532, 2533, 2537, 2537, 2545, 2546, 2549, - 2550, 2551, 2552, 2553, 2554, 2555, 2558, 2564, 2564, 2573, - 2573, 2584, 2585, 2588, 2588, 2596, 2597, 2600, 2601, 2602, - 2603, 2604, 2607, 2607, 2616, 2622, 2628, 2634, 2634 + 0, 284, 284, 284, 285, 285, 286, 286, 287, 287, + 288, 288, 289, 289, 290, 290, 291, 291, 292, 292, + 293, 293, 294, 294, 295, 295, 296, 296, 304, 305, + 306, 307, 308, 309, 310, 313, 318, 318, 329, 332, + 333, 336, 341, 349, 349, 356, 357, 360, 364, 371, + 371, 378, 379, 382, 386, 397, 406, 406, 421, 421, + 438, 438, 447, 448, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 514, 520, 526, 532, 538, 544, 550, + 556, 562, 568, 574, 580, 580, 589, 595, 601, 607, + 613, 619, 625, 625, 634, 637, 640, 643, 646, 652, + 652, 661, 661, 670, 676, 676, 685, 685, 694, 700, + 706, 712, 718, 718, 730, 731, 734, 735, 736, 737, + 738, 739, 740, 743, 743, 752, 752, 763, 763, 771, + 772, 775, 775, 783, 785, 789, 796, 796, 809, 809, + 820, 821, 823, 825, 825, 844, 844, 857, 857, 868, + 869, 872, 873, 876, 876, 886, 887, 890, 891, 892, + 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, + 903, 904, 905, 906, 907, 908, 909, 910, 913, 913, + 921, 922, 923, 924, 927, 927, 936, 936, 945, 945, + 954, 960, 960, 969, 975, 981, 987, 993, 999, 1005, + 1011, 1011, 1020, 1020, 1029, 1029, 1038, 1038, 1047, 1053, + 1059, 1066, 1066, 1077, 1078, 1081, 1082, 1083, 1084, 1085, + 1088, 1093, 1098, 1103, 1108, 1115, 1115, 1128, 1129, 1132, + 1133, 1134, 1135, 1136, 1137, 1140, 1146, 1152, 1158, 1158, + 1169, 1170, 1173, 1174, 1177, 1177, 1187, 1187, 1197, 1198, + 1199, 1202, 1203, 1206, 1206, 1215, 1215, 1224, 1224, 1236, + 1237, 1240, 1241, 1242, 1243, 1244, 1245, 1248, 1254, 1260, + 1266, 1272, 1278, 1287, 1287, 1301, 1302, 1305, 1306, 1313, + 1313, 1339, 1339, 1350, 1351, 1355, 1356, 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, 1395, 1396, 1397, 1398, 1401, + 1401, 1410, 1410, 1419, 1419, 1428, 1428, 1437, 1437, 1446, + 1446, 1455, 1455, 1466, 1472, 1478, 1484, 1484, 1492, 1493, + 1494, 1495, 1498, 1506, 1506, 1518, 1519, 1523, 1524, 1527, + 1527, 1535, 1536, 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, 1564, 1565, + 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, + 1576, 1577, 1584, 1584, 1598, 1598, 1607, 1608, 1611, 1612, + 1617, 1617, 1632, 1632, 1646, 1647, 1650, 1651, 1654, 1655, + 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1666, 1668, + 1674, 1676, 1676, 1685, 1685, 1694, 1694, 1703, 1705, 1705, + 1714, 1724, 1724, 1737, 1738, 1743, 1744, 1749, 1749, 1761, + 1761, 1773, 1774, 1779, 1780, 1785, 1786, 1787, 1788, 1789, + 1790, 1791, 1792, 1793, 1796, 1798, 1798, 1807, 1809, 1811, + 1817, 1826, 1826, 1839, 1840, 1843, 1844, 1847, 1847, 1857, + 1857, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, + 1880, 1880, 1889, 1889, 1914, 1914, 1944, 1944, 1955, 1956, + 1959, 1960, 1963, 1963, 1972, 1972, 1981, 1982, 1985, 1986, + 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001, 2002, 2003, 2004, 2007, 2007, 2016, 2016, 2025, + 2025, 2034, 2034, 2043, 2043, 2054, 2054, 2063, 2063, 2072, + 2072, 2081, 2081, 2090, 2090, 2099, 2099, 2108, 2108, 2122, + 2122, 2133, 2134, 2140, 2140, 2151, 2152, 2155, 2155, 2165, + 2166, 2169, 2170, 2173, 2174, 2175, 2176, 2177, 2178, 2179, + 2180, 2181, 2182, 2183, 2186, 2188, 2188, 2197, 2205, 2213, + 2213, 2224, 2225, 2228, 2229, 2230, 2231, 2232, 2235, 2235, + 2244, 2244, 2256, 2256, 2269, 2270, 2273, 2274, 2275, 2276, + 2277, 2278, 2281, 2287, 2287, 2296, 2302, 2302, 2312, 2312, + 2325, 2325, 2335, 2336, 2339, 2340, 2341, 2342, 2343, 2344, + 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, + 2355, 2356, 2359, 2365, 2365, 2374, 2380, 2380, 2389, 2395, + 2401, 2401, 2410, 2411, 2414, 2414, 2424, 2424, 2434, 2441, + 2448, 2448, 2457, 2457, 2467, 2467, 2477, 2477, 2489, 2489, + 2501, 2501, 2511, 2512, 2516, 2517, 2520, 2520, 2531, 2539, + 2539, 2552, 2553, 2557, 2557, 2565, 2566, 2569, 2570, 2571, + 2572, 2573, 2574, 2575, 2578, 2584, 2584, 2593, 2593, 2604, + 2605, 2608, 2608, 2616, 2617, 2620, 2621, 2622, 2623, 2624, + 2627, 2627, 2636, 2642, 2648, 2654, 2654 }; void @@ -5637,9 +5670,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5641 "dhcp4_parser.cc" +#line 5674 "dhcp4_parser.cc" -#line 2643 "dhcp4_parser.yy" +#line 2663 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index d7bce59900..f91ed90822 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -561,123 +561,125 @@ namespace isc { namespace dhcp { TOKEN_DDNS_GENERATED_PREFIX = 330, // "ddns-generated-prefix" TOKEN_DDNS_QUALIFYING_SUFFIX = 331, // "ddns-qualifying-suffix" TOKEN_DDNS_UPDATE_ON_RENEW = 332, // "ddns-update-on-renew" - TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 333, // "ddns-use-conflict-resolution" - TOKEN_STORE_EXTENDED_INFO = 334, // "store-extended-info" - TOKEN_SUBNET4 = 335, // "subnet4" - TOKEN_SUBNET_4O6_INTERFACE = 336, // "4o6-interface" - TOKEN_SUBNET_4O6_INTERFACE_ID = 337, // "4o6-interface-id" - TOKEN_SUBNET_4O6_SUBNET = 338, // "4o6-subnet" - TOKEN_OPTION_DEF = 339, // "option-def" - TOKEN_OPTION_DATA = 340, // "option-data" - TOKEN_NAME = 341, // "name" - TOKEN_DATA = 342, // "data" - TOKEN_CODE = 343, // "code" - TOKEN_SPACE = 344, // "space" - TOKEN_CSV_FORMAT = 345, // "csv-format" - TOKEN_ALWAYS_SEND = 346, // "always-send" - TOKEN_RECORD_TYPES = 347, // "record-types" - TOKEN_ENCAPSULATE = 348, // "encapsulate" - TOKEN_ARRAY = 349, // "array" - TOKEN_SHARED_NETWORKS = 350, // "shared-networks" - TOKEN_POOLS = 351, // "pools" - TOKEN_POOL = 352, // "pool" - TOKEN_USER_CONTEXT = 353, // "user-context" - TOKEN_COMMENT = 354, // "comment" - TOKEN_SUBNET = 355, // "subnet" - TOKEN_INTERFACE = 356, // "interface" - TOKEN_ID = 357, // "id" - TOKEN_RESERVATION_MODE = 358, // "reservation-mode" - TOKEN_DISABLED = 359, // "disabled" - TOKEN_OUT_OF_POOL = 360, // "out-of-pool" - TOKEN_GLOBAL = 361, // "global" - TOKEN_ALL = 362, // "all" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 363, // "host-reservation-identifiers" - TOKEN_CLIENT_CLASSES = 364, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 365, // "require-client-classes" - TOKEN_TEST = 366, // "test" - TOKEN_ONLY_IF_REQUIRED = 367, // "only-if-required" - TOKEN_CLIENT_CLASS = 368, // "client-class" - TOKEN_RESERVATIONS = 369, // "reservations" - TOKEN_DUID = 370, // "duid" - TOKEN_HW_ADDRESS = 371, // "hw-address" - TOKEN_CIRCUIT_ID = 372, // "circuit-id" - TOKEN_CLIENT_ID = 373, // "client-id" - TOKEN_HOSTNAME = 374, // "hostname" - TOKEN_FLEX_ID = 375, // "flex-id" - TOKEN_RELAY = 376, // "relay" - TOKEN_IP_ADDRESS = 377, // "ip-address" - TOKEN_IP_ADDRESSES = 378, // "ip-addresses" - TOKEN_HOOKS_LIBRARIES = 379, // "hooks-libraries" - TOKEN_LIBRARY = 380, // "library" - TOKEN_PARAMETERS = 381, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 382, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 383, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 384, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 385, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 386, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 387, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 388, // "unwarned-reclaim-cycles" - TOKEN_DHCP4O6_PORT = 389, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 390, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 391, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 392, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 393, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 394, // "control-socket" - TOKEN_SOCKET_TYPE = 395, // "socket-type" - TOKEN_SOCKET_NAME = 396, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 397, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 398, // "enable-queue" - TOKEN_QUEUE_TYPE = 399, // "queue-type" - TOKEN_CAPACITY = 400, // "capacity" - TOKEN_DHCP_DDNS = 401, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 402, // "enable-updates" - TOKEN_QUALIFYING_SUFFIX = 403, // "qualifying-suffix" - TOKEN_SERVER_IP = 404, // "server-ip" - TOKEN_SERVER_PORT = 405, // "server-port" - TOKEN_SENDER_IP = 406, // "sender-ip" - TOKEN_SENDER_PORT = 407, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 408, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 409, // "ncr-protocol" - TOKEN_NCR_FORMAT = 410, // "ncr-format" - TOKEN_OVERRIDE_NO_UPDATE = 411, // "override-no-update" - TOKEN_OVERRIDE_CLIENT_UPDATE = 412, // "override-client-update" - TOKEN_REPLACE_CLIENT_NAME = 413, // "replace-client-name" - TOKEN_GENERATED_PREFIX = 414, // "generated-prefix" - TOKEN_TCP = 415, // "tcp" - TOKEN_JSON = 416, // "JSON" - TOKEN_WHEN_PRESENT = 417, // "when-present" - TOKEN_NEVER = 418, // "never" - TOKEN_ALWAYS = 419, // "always" - TOKEN_WHEN_NOT_PRESENT = 420, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 421, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 422, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 423, // "ip-reservations-unique" - TOKEN_LOGGERS = 424, // "loggers" - TOKEN_OUTPUT_OPTIONS = 425, // "output_options" - TOKEN_OUTPUT = 426, // "output" - TOKEN_DEBUGLEVEL = 427, // "debuglevel" - TOKEN_SEVERITY = 428, // "severity" - TOKEN_FLUSH = 429, // "flush" - TOKEN_MAXSIZE = 430, // "maxsize" - TOKEN_MAXVER = 431, // "maxver" - TOKEN_PATTERN = 432, // "pattern" - TOKEN_TOPLEVEL_JSON = 433, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 434, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 435, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 436, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 437, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 438, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 439, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 440, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 441, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 442, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 443, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 444, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 445, // SUB_CONFIG_CONTROL - TOKEN_STRING = 446, // "constant string" - TOKEN_INTEGER = 447, // "integer" - TOKEN_FLOAT = 448, // "floating point" - TOKEN_BOOLEAN = 449 // "boolean" + TOKEN_STORE_EXTENDED_INFO = 333, // "store-extended-info" + TOKEN_SUBNET4 = 334, // "subnet4" + TOKEN_SUBNET_4O6_INTERFACE = 335, // "4o6-interface" + TOKEN_SUBNET_4O6_INTERFACE_ID = 336, // "4o6-interface-id" + TOKEN_SUBNET_4O6_SUBNET = 337, // "4o6-subnet" + TOKEN_OPTION_DEF = 338, // "option-def" + TOKEN_OPTION_DATA = 339, // "option-data" + TOKEN_NAME = 340, // "name" + TOKEN_DATA = 341, // "data" + TOKEN_CODE = 342, // "code" + TOKEN_SPACE = 343, // "space" + TOKEN_CSV_FORMAT = 344, // "csv-format" + TOKEN_ALWAYS_SEND = 345, // "always-send" + TOKEN_RECORD_TYPES = 346, // "record-types" + TOKEN_ENCAPSULATE = 347, // "encapsulate" + TOKEN_ARRAY = 348, // "array" + TOKEN_SHARED_NETWORKS = 349, // "shared-networks" + TOKEN_POOLS = 350, // "pools" + TOKEN_POOL = 351, // "pool" + TOKEN_USER_CONTEXT = 352, // "user-context" + TOKEN_COMMENT = 353, // "comment" + TOKEN_SUBNET = 354, // "subnet" + TOKEN_INTERFACE = 355, // "interface" + TOKEN_ID = 356, // "id" + TOKEN_RESERVATION_MODE = 357, // "reservation-mode" + TOKEN_RESERVATIONS_OUT_OF_POOL = 358, // "reservations-out-of-pool" + TOKEN_RESERVATIONS_IN_SUBNET = 359, // "reservations-in-subnet" + TOKEN_RESERVATIONS_GLOBAL = 360, // "reservations-global" + TOKEN_DISABLED = 361, // "disabled" + TOKEN_OUT_OF_POOL = 362, // "out-of-pool" + TOKEN_GLOBAL = 363, // "global" + TOKEN_ALL = 364, // "all" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 365, // "host-reservation-identifiers" + TOKEN_CLIENT_CLASSES = 366, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 367, // "require-client-classes" + TOKEN_TEST = 368, // "test" + TOKEN_ONLY_IF_REQUIRED = 369, // "only-if-required" + TOKEN_CLIENT_CLASS = 370, // "client-class" + TOKEN_RESERVATIONS = 371, // "reservations" + TOKEN_DUID = 372, // "duid" + TOKEN_HW_ADDRESS = 373, // "hw-address" + TOKEN_CIRCUIT_ID = 374, // "circuit-id" + TOKEN_CLIENT_ID = 375, // "client-id" + TOKEN_HOSTNAME = 376, // "hostname" + TOKEN_FLEX_ID = 377, // "flex-id" + TOKEN_RELAY = 378, // "relay" + TOKEN_IP_ADDRESS = 379, // "ip-address" + TOKEN_IP_ADDRESSES = 380, // "ip-addresses" + TOKEN_HOOKS_LIBRARIES = 381, // "hooks-libraries" + TOKEN_LIBRARY = 382, // "library" + TOKEN_PARAMETERS = 383, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 384, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 385, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 386, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 387, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 388, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 389, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 390, // "unwarned-reclaim-cycles" + TOKEN_DHCP4O6_PORT = 391, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 392, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 393, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 394, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 395, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 396, // "control-socket" + TOKEN_SOCKET_TYPE = 397, // "socket-type" + TOKEN_SOCKET_NAME = 398, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 399, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 400, // "enable-queue" + TOKEN_QUEUE_TYPE = 401, // "queue-type" + TOKEN_CAPACITY = 402, // "capacity" + TOKEN_DHCP_DDNS = 403, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 404, // "enable-updates" + TOKEN_QUALIFYING_SUFFIX = 405, // "qualifying-suffix" + TOKEN_SERVER_IP = 406, // "server-ip" + TOKEN_SERVER_PORT = 407, // "server-port" + TOKEN_SENDER_IP = 408, // "sender-ip" + TOKEN_SENDER_PORT = 409, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 410, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 411, // "ncr-protocol" + TOKEN_NCR_FORMAT = 412, // "ncr-format" + TOKEN_OVERRIDE_NO_UPDATE = 413, // "override-no-update" + TOKEN_OVERRIDE_CLIENT_UPDATE = 414, // "override-client-update" + TOKEN_REPLACE_CLIENT_NAME = 415, // "replace-client-name" + TOKEN_GENERATED_PREFIX = 416, // "generated-prefix" + TOKEN_TCP = 417, // "tcp" + TOKEN_JSON = 418, // "JSON" + TOKEN_WHEN_PRESENT = 419, // "when-present" + TOKEN_NEVER = 420, // "never" + TOKEN_ALWAYS = 421, // "always" + TOKEN_WHEN_NOT_PRESENT = 422, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 423, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 424, // "hostname-char-replacement" + TOKEN_IP_RESERVATIONS_UNIQUE = 425, // "ip-reservations-unique" + TOKEN_LOGGERS = 426, // "loggers" + TOKEN_OUTPUT_OPTIONS = 427, // "output_options" + TOKEN_OUTPUT = 428, // "output" + TOKEN_DEBUGLEVEL = 429, // "debuglevel" + TOKEN_SEVERITY = 430, // "severity" + TOKEN_FLUSH = 431, // "flush" + TOKEN_MAXSIZE = 432, // "maxsize" + TOKEN_MAXVER = 433, // "maxver" + TOKEN_PATTERN = 434, // "pattern" + TOKEN_TOPLEVEL_JSON = 435, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 436, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 437, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 438, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 439, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 440, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 441, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 442, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 443, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 444, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 445, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 446, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 447, // SUB_CONFIG_CONTROL + TOKEN_STRING = 448, // "constant string" + TOKEN_INTEGER = 449, // "integer" + TOKEN_FLOAT = 450, // "floating point" + TOKEN_BOOLEAN = 451 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -694,7 +696,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 195, ///< Number of tokens. + YYNTOKENS = 197, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -774,530 +776,534 @@ namespace isc { namespace dhcp { S_DDNS_GENERATED_PREFIX = 75, // "ddns-generated-prefix" S_DDNS_QUALIFYING_SUFFIX = 76, // "ddns-qualifying-suffix" S_DDNS_UPDATE_ON_RENEW = 77, // "ddns-update-on-renew" - S_DDNS_USE_CONFLICT_RESOLUTION = 78, // "ddns-use-conflict-resolution" - S_STORE_EXTENDED_INFO = 79, // "store-extended-info" - S_SUBNET4 = 80, // "subnet4" - S_SUBNET_4O6_INTERFACE = 81, // "4o6-interface" - S_SUBNET_4O6_INTERFACE_ID = 82, // "4o6-interface-id" - S_SUBNET_4O6_SUBNET = 83, // "4o6-subnet" - S_OPTION_DEF = 84, // "option-def" - S_OPTION_DATA = 85, // "option-data" - S_NAME = 86, // "name" - S_DATA = 87, // "data" - S_CODE = 88, // "code" - S_SPACE = 89, // "space" - S_CSV_FORMAT = 90, // "csv-format" - S_ALWAYS_SEND = 91, // "always-send" - S_RECORD_TYPES = 92, // "record-types" - S_ENCAPSULATE = 93, // "encapsulate" - S_ARRAY = 94, // "array" - S_SHARED_NETWORKS = 95, // "shared-networks" - S_POOLS = 96, // "pools" - S_POOL = 97, // "pool" - S_USER_CONTEXT = 98, // "user-context" - S_COMMENT = 99, // "comment" - S_SUBNET = 100, // "subnet" - S_INTERFACE = 101, // "interface" - S_ID = 102, // "id" - S_RESERVATION_MODE = 103, // "reservation-mode" - S_DISABLED = 104, // "disabled" - S_OUT_OF_POOL = 105, // "out-of-pool" - S_GLOBAL = 106, // "global" - S_ALL = 107, // "all" - S_HOST_RESERVATION_IDENTIFIERS = 108, // "host-reservation-identifiers" - S_CLIENT_CLASSES = 109, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 110, // "require-client-classes" - S_TEST = 111, // "test" - S_ONLY_IF_REQUIRED = 112, // "only-if-required" - S_CLIENT_CLASS = 113, // "client-class" - S_RESERVATIONS = 114, // "reservations" - S_DUID = 115, // "duid" - S_HW_ADDRESS = 116, // "hw-address" - S_CIRCUIT_ID = 117, // "circuit-id" - S_CLIENT_ID = 118, // "client-id" - S_HOSTNAME = 119, // "hostname" - S_FLEX_ID = 120, // "flex-id" - S_RELAY = 121, // "relay" - S_IP_ADDRESS = 122, // "ip-address" - S_IP_ADDRESSES = 123, // "ip-addresses" - S_HOOKS_LIBRARIES = 124, // "hooks-libraries" - S_LIBRARY = 125, // "library" - S_PARAMETERS = 126, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 127, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 128, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 129, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 130, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 131, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 132, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 133, // "unwarned-reclaim-cycles" - S_DHCP4O6_PORT = 134, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 135, // "multi-threading" - S_ENABLE_MULTI_THREADING = 136, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 137, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 138, // "packet-queue-size" - S_CONTROL_SOCKET = 139, // "control-socket" - S_SOCKET_TYPE = 140, // "socket-type" - S_SOCKET_NAME = 141, // "socket-name" - S_DHCP_QUEUE_CONTROL = 142, // "dhcp-queue-control" - S_ENABLE_QUEUE = 143, // "enable-queue" - S_QUEUE_TYPE = 144, // "queue-type" - S_CAPACITY = 145, // "capacity" - S_DHCP_DDNS = 146, // "dhcp-ddns" - S_ENABLE_UPDATES = 147, // "enable-updates" - S_QUALIFYING_SUFFIX = 148, // "qualifying-suffix" - S_SERVER_IP = 149, // "server-ip" - S_SERVER_PORT = 150, // "server-port" - S_SENDER_IP = 151, // "sender-ip" - S_SENDER_PORT = 152, // "sender-port" - S_MAX_QUEUE_SIZE = 153, // "max-queue-size" - S_NCR_PROTOCOL = 154, // "ncr-protocol" - S_NCR_FORMAT = 155, // "ncr-format" - S_OVERRIDE_NO_UPDATE = 156, // "override-no-update" - S_OVERRIDE_CLIENT_UPDATE = 157, // "override-client-update" - S_REPLACE_CLIENT_NAME = 158, // "replace-client-name" - S_GENERATED_PREFIX = 159, // "generated-prefix" - S_TCP = 160, // "tcp" - S_JSON = 161, // "JSON" - S_WHEN_PRESENT = 162, // "when-present" - S_NEVER = 163, // "never" - S_ALWAYS = 164, // "always" - S_WHEN_NOT_PRESENT = 165, // "when-not-present" - S_HOSTNAME_CHAR_SET = 166, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 167, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 168, // "ip-reservations-unique" - S_LOGGERS = 169, // "loggers" - S_OUTPUT_OPTIONS = 170, // "output_options" - S_OUTPUT = 171, // "output" - S_DEBUGLEVEL = 172, // "debuglevel" - S_SEVERITY = 173, // "severity" - S_FLUSH = 174, // "flush" - S_MAXSIZE = 175, // "maxsize" - S_MAXVER = 176, // "maxver" - S_PATTERN = 177, // "pattern" - S_TOPLEVEL_JSON = 178, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 179, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 180, // SUB_DHCP4 - S_SUB_INTERFACES4 = 181, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 182, // SUB_SUBNET4 - S_SUB_POOL4 = 183, // SUB_POOL4 - S_SUB_RESERVATION = 184, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 185, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 186, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 187, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 188, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 189, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 190, // SUB_CONFIG_CONTROL - S_STRING = 191, // "constant string" - S_INTEGER = 192, // "integer" - S_FLOAT = 193, // "floating point" - S_BOOLEAN = 194, // "boolean" - S_YYACCEPT = 195, // $accept - S_start = 196, // start - S_197_1 = 197, // $@1 - S_198_2 = 198, // $@2 - S_199_3 = 199, // $@3 - S_200_4 = 200, // $@4 - S_201_5 = 201, // $@5 - S_202_6 = 202, // $@6 - S_203_7 = 203, // $@7 - S_204_8 = 204, // $@8 - S_205_9 = 205, // $@9 - S_206_10 = 206, // $@10 - S_207_11 = 207, // $@11 - S_208_12 = 208, // $@12 - S_209_13 = 209, // $@13 - S_value = 210, // value - S_sub_json = 211, // sub_json - S_map2 = 212, // map2 - S_213_14 = 213, // $@14 - S_map_value = 214, // map_value - S_map_content = 215, // map_content - S_not_empty_map = 216, // not_empty_map - S_list_generic = 217, // list_generic - S_218_15 = 218, // $@15 - S_list_content = 219, // list_content - S_not_empty_list = 220, // not_empty_list - S_list_strings = 221, // list_strings - S_222_16 = 222, // $@16 - S_list_strings_content = 223, // list_strings_content - S_not_empty_list_strings = 224, // not_empty_list_strings - S_unknown_map_entry = 225, // unknown_map_entry - S_syntax_map = 226, // syntax_map - S_227_17 = 227, // $@17 - S_global_object = 228, // global_object - S_229_18 = 229, // $@18 - S_sub_dhcp4 = 230, // sub_dhcp4 - S_231_19 = 231, // $@19 - S_global_params = 232, // global_params - S_global_param = 233, // global_param - S_valid_lifetime = 234, // valid_lifetime - S_min_valid_lifetime = 235, // min_valid_lifetime - S_max_valid_lifetime = 236, // max_valid_lifetime - S_renew_timer = 237, // renew_timer - S_rebind_timer = 238, // rebind_timer - S_calculate_tee_times = 239, // calculate_tee_times - S_t1_percent = 240, // t1_percent - S_t2_percent = 241, // t2_percent - S_cache_threshold = 242, // cache_threshold - S_cache_max_age = 243, // cache_max_age - S_decline_probation_period = 244, // decline_probation_period - S_server_tag = 245, // server_tag - S_246_20 = 246, // $@20 - S_echo_client_id = 247, // echo_client_id - S_match_client_id = 248, // match_client_id - S_authoritative = 249, // authoritative - S_ddns_send_updates = 250, // ddns_send_updates - S_ddns_override_no_update = 251, // ddns_override_no_update - S_ddns_override_client_update = 252, // ddns_override_client_update - S_ddns_replace_client_name = 253, // ddns_replace_client_name - S_254_21 = 254, // $@21 - S_ddns_replace_client_name_value = 255, // ddns_replace_client_name_value - S_ddns_generated_prefix = 256, // ddns_generated_prefix - S_257_22 = 257, // $@22 - S_ddns_qualifying_suffix = 258, // ddns_qualifying_suffix - S_259_23 = 259, // $@23 - S_ddns_update_on_renew = 260, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 261, // ddns_use_conflict_resolution - S_hostname_char_set = 262, // hostname_char_set - S_263_24 = 263, // $@24 - S_hostname_char_replacement = 264, // hostname_char_replacement - S_265_25 = 265, // $@25 - S_store_extended_info = 266, // store_extended_info - S_statistic_default_sample_count = 267, // statistic_default_sample_count - S_statistic_default_sample_age = 268, // statistic_default_sample_age - S_ip_reservations_unique = 269, // ip_reservations_unique - S_interfaces_config = 270, // interfaces_config - S_271_26 = 271, // $@26 - S_interfaces_config_params = 272, // interfaces_config_params - S_interfaces_config_param = 273, // interfaces_config_param - S_sub_interfaces4 = 274, // sub_interfaces4 - S_275_27 = 275, // $@27 - S_interfaces_list = 276, // interfaces_list - S_277_28 = 277, // $@28 - S_dhcp_socket_type = 278, // dhcp_socket_type - S_279_29 = 279, // $@29 - S_socket_type = 280, // socket_type - S_outbound_interface = 281, // outbound_interface - S_282_30 = 282, // $@30 - S_outbound_interface_value = 283, // outbound_interface_value - S_re_detect = 284, // re_detect - S_lease_database = 285, // lease_database - S_286_31 = 286, // $@31 - S_sanity_checks = 287, // sanity_checks - S_288_32 = 288, // $@32 - S_sanity_checks_params = 289, // sanity_checks_params - S_sanity_checks_param = 290, // sanity_checks_param - S_lease_checks = 291, // lease_checks - S_292_33 = 292, // $@33 - S_hosts_database = 293, // hosts_database - S_294_34 = 294, // $@34 - S_hosts_databases = 295, // hosts_databases - S_296_35 = 296, // $@35 - S_database_list = 297, // database_list - S_not_empty_database_list = 298, // not_empty_database_list - S_database = 299, // database - S_300_36 = 300, // $@36 - S_database_map_params = 301, // database_map_params - S_database_map_param = 302, // database_map_param - S_database_type = 303, // database_type - S_304_37 = 304, // $@37 - S_db_type = 305, // db_type - S_user = 306, // user - S_307_38 = 307, // $@38 - S_password = 308, // password - S_309_39 = 309, // $@39 - S_host = 310, // host - S_311_40 = 311, // $@40 - S_port = 312, // port - S_name = 313, // name - S_314_41 = 314, // $@41 - S_persist = 315, // persist - S_lfc_interval = 316, // lfc_interval - S_readonly = 317, // readonly - S_connect_timeout = 318, // connect_timeout - S_request_timeout = 319, // request_timeout - S_tcp_keepalive = 320, // tcp_keepalive - S_tcp_nodelay = 321, // tcp_nodelay - S_contact_points = 322, // contact_points - S_323_42 = 323, // $@42 - S_keyspace = 324, // keyspace - S_325_43 = 325, // $@43 - S_consistency = 326, // consistency - S_327_44 = 327, // $@44 - S_serial_consistency = 328, // serial_consistency - S_329_45 = 329, // $@45 - S_max_reconnect_tries = 330, // max_reconnect_tries - S_reconnect_wait_time = 331, // reconnect_wait_time - S_max_row_errors = 332, // max_row_errors - S_host_reservation_identifiers = 333, // host_reservation_identifiers - S_334_46 = 334, // $@46 - S_host_reservation_identifiers_list = 335, // host_reservation_identifiers_list - S_host_reservation_identifier = 336, // host_reservation_identifier - S_duid_id = 337, // duid_id - S_hw_address_id = 338, // hw_address_id - S_circuit_id = 339, // circuit_id - S_client_id = 340, // client_id - S_flex_id = 341, // flex_id - S_dhcp_multi_threading = 342, // dhcp_multi_threading - S_343_47 = 343, // $@47 - S_multi_threading_params = 344, // multi_threading_params - S_multi_threading_param = 345, // multi_threading_param - S_enable_multi_threading = 346, // enable_multi_threading - S_thread_pool_size = 347, // thread_pool_size - S_packet_queue_size = 348, // packet_queue_size - S_hooks_libraries = 349, // hooks_libraries - S_350_48 = 350, // $@48 - S_hooks_libraries_list = 351, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 352, // not_empty_hooks_libraries_list - S_hooks_library = 353, // hooks_library - S_354_49 = 354, // $@49 - S_sub_hooks_library = 355, // sub_hooks_library - S_356_50 = 356, // $@50 - S_hooks_params = 357, // hooks_params - S_hooks_param = 358, // hooks_param - S_library = 359, // library - S_360_51 = 360, // $@51 - S_parameters = 361, // parameters - S_362_52 = 362, // $@52 - S_expired_leases_processing = 363, // expired_leases_processing - S_364_53 = 364, // $@53 - S_expired_leases_params = 365, // expired_leases_params - S_expired_leases_param = 366, // expired_leases_param - S_reclaim_timer_wait_time = 367, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 368, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 369, // hold_reclaimed_time - S_max_reclaim_leases = 370, // max_reclaim_leases - S_max_reclaim_time = 371, // max_reclaim_time - S_unwarned_reclaim_cycles = 372, // unwarned_reclaim_cycles - S_subnet4_list = 373, // subnet4_list - S_374_54 = 374, // $@54 - S_subnet4_list_content = 375, // subnet4_list_content - S_not_empty_subnet4_list = 376, // not_empty_subnet4_list - S_subnet4 = 377, // subnet4 - S_378_55 = 378, // $@55 - S_sub_subnet4 = 379, // sub_subnet4 - S_380_56 = 380, // $@56 - S_subnet4_params = 381, // subnet4_params - S_subnet4_param = 382, // subnet4_param - S_subnet = 383, // subnet - S_384_57 = 384, // $@57 - S_subnet_4o6_interface = 385, // subnet_4o6_interface - S_386_58 = 386, // $@58 - S_subnet_4o6_interface_id = 387, // subnet_4o6_interface_id - S_388_59 = 388, // $@59 - S_subnet_4o6_subnet = 389, // subnet_4o6_subnet - S_390_60 = 390, // $@60 - S_interface = 391, // interface - S_392_61 = 392, // $@61 - S_client_class = 393, // client_class - S_394_62 = 394, // $@62 - S_require_client_classes = 395, // require_client_classes - S_396_63 = 396, // $@63 - S_reservation_mode = 397, // reservation_mode - S_398_64 = 398, // $@64 - S_hr_mode = 399, // hr_mode - S_id = 400, // id - S_shared_networks = 401, // shared_networks - S_402_65 = 402, // $@65 - S_shared_networks_content = 403, // shared_networks_content - S_shared_networks_list = 404, // shared_networks_list - S_shared_network = 405, // shared_network - S_406_66 = 406, // $@66 - S_shared_network_params = 407, // shared_network_params - S_shared_network_param = 408, // shared_network_param - S_option_def_list = 409, // option_def_list - S_410_67 = 410, // $@67 - S_sub_option_def_list = 411, // sub_option_def_list - S_412_68 = 412, // $@68 - S_option_def_list_content = 413, // option_def_list_content - S_not_empty_option_def_list = 414, // not_empty_option_def_list - S_option_def_entry = 415, // option_def_entry - S_416_69 = 416, // $@69 - S_sub_option_def = 417, // sub_option_def - S_418_70 = 418, // $@70 - S_option_def_params = 419, // option_def_params - S_not_empty_option_def_params = 420, // not_empty_option_def_params - S_option_def_param = 421, // option_def_param - S_option_def_name = 422, // option_def_name - S_code = 423, // code - S_option_def_code = 424, // option_def_code - S_option_def_type = 425, // option_def_type - S_426_71 = 426, // $@71 - S_option_def_record_types = 427, // option_def_record_types - S_428_72 = 428, // $@72 - S_space = 429, // space - S_430_73 = 430, // $@73 - S_option_def_space = 431, // option_def_space - S_option_def_encapsulate = 432, // option_def_encapsulate - S_433_74 = 433, // $@74 - S_option_def_array = 434, // option_def_array - S_option_data_list = 435, // option_data_list - S_436_75 = 436, // $@75 - S_option_data_list_content = 437, // option_data_list_content - S_not_empty_option_data_list = 438, // not_empty_option_data_list - S_option_data_entry = 439, // option_data_entry - S_440_76 = 440, // $@76 - S_sub_option_data = 441, // sub_option_data - S_442_77 = 442, // $@77 - S_option_data_params = 443, // option_data_params - S_not_empty_option_data_params = 444, // not_empty_option_data_params - S_option_data_param = 445, // option_data_param - S_option_data_name = 446, // option_data_name - S_option_data_data = 447, // option_data_data - S_448_78 = 448, // $@78 - S_option_data_code = 449, // option_data_code - S_option_data_space = 450, // option_data_space - S_option_data_csv_format = 451, // option_data_csv_format - S_option_data_always_send = 452, // option_data_always_send - S_pools_list = 453, // pools_list - S_454_79 = 454, // $@79 - S_pools_list_content = 455, // pools_list_content - S_not_empty_pools_list = 456, // not_empty_pools_list - S_pool_list_entry = 457, // pool_list_entry - S_458_80 = 458, // $@80 - S_sub_pool4 = 459, // sub_pool4 - S_460_81 = 460, // $@81 - S_pool_params = 461, // pool_params - S_pool_param = 462, // pool_param - S_pool_entry = 463, // pool_entry - S_464_82 = 464, // $@82 - S_user_context = 465, // user_context - S_466_83 = 466, // $@83 - S_comment = 467, // comment - S_468_84 = 468, // $@84 - S_reservations = 469, // reservations - S_470_85 = 470, // $@85 - S_reservations_list = 471, // reservations_list - S_not_empty_reservations_list = 472, // not_empty_reservations_list - S_reservation = 473, // reservation - S_474_86 = 474, // $@86 - S_sub_reservation = 475, // sub_reservation - S_476_87 = 476, // $@87 - S_reservation_params = 477, // reservation_params - S_not_empty_reservation_params = 478, // not_empty_reservation_params - S_reservation_param = 479, // reservation_param - S_next_server = 480, // next_server - S_481_88 = 481, // $@88 - S_server_hostname = 482, // server_hostname - S_483_89 = 483, // $@89 - S_boot_file_name = 484, // boot_file_name - S_485_90 = 485, // $@90 - S_ip_address = 486, // ip_address - S_487_91 = 487, // $@91 - S_ip_addresses = 488, // ip_addresses - S_489_92 = 489, // $@92 - S_duid = 490, // duid - S_491_93 = 491, // $@93 - S_hw_address = 492, // hw_address - S_493_94 = 493, // $@94 - S_client_id_value = 494, // client_id_value - S_495_95 = 495, // $@95 - S_circuit_id_value = 496, // circuit_id_value - S_497_96 = 497, // $@96 - S_flex_id_value = 498, // flex_id_value - S_499_97 = 499, // $@97 - S_hostname = 500, // hostname - S_501_98 = 501, // $@98 - S_reservation_client_classes = 502, // reservation_client_classes - S_503_99 = 503, // $@99 - S_relay = 504, // relay - S_505_100 = 505, // $@100 - S_relay_map = 506, // relay_map - S_client_classes = 507, // client_classes - S_508_101 = 508, // $@101 - S_client_classes_list = 509, // client_classes_list - S_client_class_entry = 510, // client_class_entry - S_511_102 = 511, // $@102 - S_client_class_params = 512, // client_class_params - S_not_empty_client_class_params = 513, // not_empty_client_class_params - S_client_class_param = 514, // client_class_param - S_client_class_name = 515, // client_class_name - S_client_class_test = 516, // client_class_test - S_517_103 = 517, // $@103 - S_only_if_required = 518, // only_if_required - S_dhcp4o6_port = 519, // dhcp4o6_port - S_control_socket = 520, // control_socket - S_521_104 = 521, // $@104 - S_control_socket_params = 522, // control_socket_params - S_control_socket_param = 523, // control_socket_param - S_control_socket_type = 524, // control_socket_type - S_525_105 = 525, // $@105 - S_control_socket_name = 526, // control_socket_name - S_527_106 = 527, // $@106 - S_dhcp_queue_control = 528, // dhcp_queue_control - S_529_107 = 529, // $@107 - S_queue_control_params = 530, // queue_control_params - S_queue_control_param = 531, // queue_control_param - S_enable_queue = 532, // enable_queue - S_queue_type = 533, // queue_type - S_534_108 = 534, // $@108 - S_capacity = 535, // capacity - S_arbitrary_map_entry = 536, // arbitrary_map_entry - S_537_109 = 537, // $@109 - S_dhcp_ddns = 538, // dhcp_ddns - S_539_110 = 539, // $@110 - S_sub_dhcp_ddns = 540, // sub_dhcp_ddns - S_541_111 = 541, // $@111 - S_dhcp_ddns_params = 542, // dhcp_ddns_params - S_dhcp_ddns_param = 543, // dhcp_ddns_param - S_enable_updates = 544, // enable_updates - S_server_ip = 545, // server_ip - S_546_112 = 546, // $@112 - S_server_port = 547, // server_port - S_sender_ip = 548, // sender_ip - S_549_113 = 549, // $@113 - S_sender_port = 550, // sender_port - S_max_queue_size = 551, // max_queue_size - S_ncr_protocol = 552, // ncr_protocol - S_553_114 = 553, // $@114 - S_ncr_protocol_value = 554, // ncr_protocol_value - S_ncr_format = 555, // ncr_format - S_556_115 = 556, // $@115 - S_dep_qualifying_suffix = 557, // dep_qualifying_suffix - S_558_116 = 558, // $@116 - S_dep_override_no_update = 559, // dep_override_no_update - S_dep_override_client_update = 560, // dep_override_client_update - S_dep_replace_client_name = 561, // dep_replace_client_name - S_562_117 = 562, // $@117 - S_dep_generated_prefix = 563, // dep_generated_prefix - S_564_118 = 564, // $@118 - S_dep_hostname_char_set = 565, // dep_hostname_char_set - S_566_119 = 566, // $@119 - S_dep_hostname_char_replacement = 567, // dep_hostname_char_replacement - S_568_120 = 568, // $@120 - S_config_control = 569, // config_control - S_570_121 = 570, // $@121 - S_sub_config_control = 571, // sub_config_control - S_572_122 = 572, // $@122 - S_config_control_params = 573, // config_control_params - S_config_control_param = 574, // config_control_param - S_config_databases = 575, // config_databases - S_576_123 = 576, // $@123 - S_config_fetch_wait_time = 577, // config_fetch_wait_time - S_loggers = 578, // loggers - S_579_124 = 579, // $@124 - S_loggers_entries = 580, // loggers_entries - S_logger_entry = 581, // logger_entry - S_582_125 = 582, // $@125 - S_logger_params = 583, // logger_params - S_logger_param = 584, // logger_param - S_debuglevel = 585, // debuglevel - S_severity = 586, // severity - S_587_126 = 587, // $@126 - S_output_options_list = 588, // output_options_list - S_589_127 = 589, // $@127 - S_output_options_list_content = 590, // output_options_list_content - S_output_entry = 591, // output_entry - S_592_128 = 592, // $@128 - S_output_params_list = 593, // output_params_list - S_output_params = 594, // output_params - S_output = 595, // output - S_596_129 = 596, // $@129 - S_flush = 597, // flush - S_maxsize = 598, // maxsize - S_maxver = 599, // maxver - S_pattern = 600, // pattern - S_601_130 = 601 // $@130 + S_STORE_EXTENDED_INFO = 78, // "store-extended-info" + S_SUBNET4 = 79, // "subnet4" + S_SUBNET_4O6_INTERFACE = 80, // "4o6-interface" + S_SUBNET_4O6_INTERFACE_ID = 81, // "4o6-interface-id" + S_SUBNET_4O6_SUBNET = 82, // "4o6-subnet" + S_OPTION_DEF = 83, // "option-def" + S_OPTION_DATA = 84, // "option-data" + S_NAME = 85, // "name" + S_DATA = 86, // "data" + S_CODE = 87, // "code" + S_SPACE = 88, // "space" + S_CSV_FORMAT = 89, // "csv-format" + S_ALWAYS_SEND = 90, // "always-send" + S_RECORD_TYPES = 91, // "record-types" + S_ENCAPSULATE = 92, // "encapsulate" + S_ARRAY = 93, // "array" + S_SHARED_NETWORKS = 94, // "shared-networks" + S_POOLS = 95, // "pools" + S_POOL = 96, // "pool" + S_USER_CONTEXT = 97, // "user-context" + S_COMMENT = 98, // "comment" + S_SUBNET = 99, // "subnet" + S_INTERFACE = 100, // "interface" + S_ID = 101, // "id" + S_RESERVATION_MODE = 102, // "reservation-mode" + S_RESERVATIONS_OUT_OF_POOL = 103, // "reservations-out-of-pool" + S_RESERVATIONS_IN_SUBNET = 104, // "reservations-in-subnet" + S_RESERVATIONS_GLOBAL = 105, // "reservations-global" + S_DISABLED = 106, // "disabled" + S_OUT_OF_POOL = 107, // "out-of-pool" + S_GLOBAL = 108, // "global" + S_ALL = 109, // "all" + S_HOST_RESERVATION_IDENTIFIERS = 110, // "host-reservation-identifiers" + S_CLIENT_CLASSES = 111, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 112, // "require-client-classes" + S_TEST = 113, // "test" + S_ONLY_IF_REQUIRED = 114, // "only-if-required" + S_CLIENT_CLASS = 115, // "client-class" + S_RESERVATIONS = 116, // "reservations" + S_DUID = 117, // "duid" + S_HW_ADDRESS = 118, // "hw-address" + S_CIRCUIT_ID = 119, // "circuit-id" + S_CLIENT_ID = 120, // "client-id" + S_HOSTNAME = 121, // "hostname" + S_FLEX_ID = 122, // "flex-id" + S_RELAY = 123, // "relay" + S_IP_ADDRESS = 124, // "ip-address" + S_IP_ADDRESSES = 125, // "ip-addresses" + S_HOOKS_LIBRARIES = 126, // "hooks-libraries" + S_LIBRARY = 127, // "library" + S_PARAMETERS = 128, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 129, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 130, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 131, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 132, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 133, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 134, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 135, // "unwarned-reclaim-cycles" + S_DHCP4O6_PORT = 136, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 137, // "multi-threading" + S_ENABLE_MULTI_THREADING = 138, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 139, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 140, // "packet-queue-size" + S_CONTROL_SOCKET = 141, // "control-socket" + S_SOCKET_TYPE = 142, // "socket-type" + S_SOCKET_NAME = 143, // "socket-name" + S_DHCP_QUEUE_CONTROL = 144, // "dhcp-queue-control" + S_ENABLE_QUEUE = 145, // "enable-queue" + S_QUEUE_TYPE = 146, // "queue-type" + S_CAPACITY = 147, // "capacity" + S_DHCP_DDNS = 148, // "dhcp-ddns" + S_ENABLE_UPDATES = 149, // "enable-updates" + S_QUALIFYING_SUFFIX = 150, // "qualifying-suffix" + S_SERVER_IP = 151, // "server-ip" + S_SERVER_PORT = 152, // "server-port" + S_SENDER_IP = 153, // "sender-ip" + S_SENDER_PORT = 154, // "sender-port" + S_MAX_QUEUE_SIZE = 155, // "max-queue-size" + S_NCR_PROTOCOL = 156, // "ncr-protocol" + S_NCR_FORMAT = 157, // "ncr-format" + S_OVERRIDE_NO_UPDATE = 158, // "override-no-update" + S_OVERRIDE_CLIENT_UPDATE = 159, // "override-client-update" + S_REPLACE_CLIENT_NAME = 160, // "replace-client-name" + S_GENERATED_PREFIX = 161, // "generated-prefix" + S_TCP = 162, // "tcp" + S_JSON = 163, // "JSON" + S_WHEN_PRESENT = 164, // "when-present" + S_NEVER = 165, // "never" + S_ALWAYS = 166, // "always" + S_WHEN_NOT_PRESENT = 167, // "when-not-present" + S_HOSTNAME_CHAR_SET = 168, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 169, // "hostname-char-replacement" + S_IP_RESERVATIONS_UNIQUE = 170, // "ip-reservations-unique" + S_LOGGERS = 171, // "loggers" + S_OUTPUT_OPTIONS = 172, // "output_options" + S_OUTPUT = 173, // "output" + S_DEBUGLEVEL = 174, // "debuglevel" + S_SEVERITY = 175, // "severity" + S_FLUSH = 176, // "flush" + S_MAXSIZE = 177, // "maxsize" + S_MAXVER = 178, // "maxver" + S_PATTERN = 179, // "pattern" + S_TOPLEVEL_JSON = 180, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 181, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 182, // SUB_DHCP4 + S_SUB_INTERFACES4 = 183, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 184, // SUB_SUBNET4 + S_SUB_POOL4 = 185, // SUB_POOL4 + S_SUB_RESERVATION = 186, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 187, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 188, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 189, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 190, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 191, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 192, // SUB_CONFIG_CONTROL + S_STRING = 193, // "constant string" + S_INTEGER = 194, // "integer" + S_FLOAT = 195, // "floating point" + S_BOOLEAN = 196, // "boolean" + S_YYACCEPT = 197, // $accept + S_start = 198, // start + S_199_1 = 199, // $@1 + S_200_2 = 200, // $@2 + S_201_3 = 201, // $@3 + S_202_4 = 202, // $@4 + S_203_5 = 203, // $@5 + S_204_6 = 204, // $@6 + S_205_7 = 205, // $@7 + S_206_8 = 206, // $@8 + S_207_9 = 207, // $@9 + S_208_10 = 208, // $@10 + S_209_11 = 209, // $@11 + S_210_12 = 210, // $@12 + S_211_13 = 211, // $@13 + S_value = 212, // value + S_sub_json = 213, // sub_json + S_map2 = 214, // map2 + S_215_14 = 215, // $@14 + S_map_value = 216, // map_value + S_map_content = 217, // map_content + S_not_empty_map = 218, // not_empty_map + S_list_generic = 219, // list_generic + S_220_15 = 220, // $@15 + S_list_content = 221, // list_content + S_not_empty_list = 222, // not_empty_list + S_list_strings = 223, // list_strings + S_224_16 = 224, // $@16 + S_list_strings_content = 225, // list_strings_content + S_not_empty_list_strings = 226, // not_empty_list_strings + S_unknown_map_entry = 227, // unknown_map_entry + S_syntax_map = 228, // syntax_map + S_229_17 = 229, // $@17 + S_global_object = 230, // global_object + S_231_18 = 231, // $@18 + S_sub_dhcp4 = 232, // sub_dhcp4 + S_233_19 = 233, // $@19 + S_global_params = 234, // global_params + S_global_param = 235, // global_param + S_valid_lifetime = 236, // valid_lifetime + S_min_valid_lifetime = 237, // min_valid_lifetime + S_max_valid_lifetime = 238, // max_valid_lifetime + S_renew_timer = 239, // renew_timer + S_rebind_timer = 240, // rebind_timer + S_calculate_tee_times = 241, // calculate_tee_times + S_t1_percent = 242, // t1_percent + S_t2_percent = 243, // t2_percent + S_cache_threshold = 244, // cache_threshold + S_cache_max_age = 245, // cache_max_age + S_decline_probation_period = 246, // decline_probation_period + S_server_tag = 247, // server_tag + S_248_20 = 248, // $@20 + S_echo_client_id = 249, // echo_client_id + S_match_client_id = 250, // match_client_id + S_authoritative = 251, // authoritative + S_ddns_send_updates = 252, // ddns_send_updates + S_ddns_override_no_update = 253, // ddns_override_no_update + S_ddns_override_client_update = 254, // ddns_override_client_update + S_ddns_replace_client_name = 255, // ddns_replace_client_name + S_256_21 = 256, // $@21 + S_ddns_replace_client_name_value = 257, // ddns_replace_client_name_value + S_ddns_generated_prefix = 258, // ddns_generated_prefix + S_259_22 = 259, // $@22 + S_ddns_qualifying_suffix = 260, // ddns_qualifying_suffix + S_261_23 = 261, // $@23 + S_ddns_update_on_renew = 262, // ddns_update_on_renew + S_hostname_char_set = 263, // hostname_char_set + S_264_24 = 264, // $@24 + S_hostname_char_replacement = 265, // hostname_char_replacement + S_266_25 = 266, // $@25 + S_store_extended_info = 267, // store_extended_info + S_statistic_default_sample_count = 268, // statistic_default_sample_count + S_statistic_default_sample_age = 269, // statistic_default_sample_age + S_ip_reservations_unique = 270, // ip_reservations_unique + S_interfaces_config = 271, // interfaces_config + S_272_26 = 272, // $@26 + S_interfaces_config_params = 273, // interfaces_config_params + S_interfaces_config_param = 274, // interfaces_config_param + S_sub_interfaces4 = 275, // sub_interfaces4 + S_276_27 = 276, // $@27 + S_interfaces_list = 277, // interfaces_list + S_278_28 = 278, // $@28 + S_dhcp_socket_type = 279, // dhcp_socket_type + S_280_29 = 280, // $@29 + S_socket_type = 281, // socket_type + S_outbound_interface = 282, // outbound_interface + S_283_30 = 283, // $@30 + S_outbound_interface_value = 284, // outbound_interface_value + S_re_detect = 285, // re_detect + S_lease_database = 286, // lease_database + S_287_31 = 287, // $@31 + S_sanity_checks = 288, // sanity_checks + S_289_32 = 289, // $@32 + S_sanity_checks_params = 290, // sanity_checks_params + S_sanity_checks_param = 291, // sanity_checks_param + S_lease_checks = 292, // lease_checks + S_293_33 = 293, // $@33 + S_hosts_database = 294, // hosts_database + S_295_34 = 295, // $@34 + S_hosts_databases = 296, // hosts_databases + S_297_35 = 297, // $@35 + S_database_list = 298, // database_list + S_not_empty_database_list = 299, // not_empty_database_list + S_database = 300, // database + S_301_36 = 301, // $@36 + S_database_map_params = 302, // database_map_params + S_database_map_param = 303, // database_map_param + S_database_type = 304, // database_type + S_305_37 = 305, // $@37 + S_db_type = 306, // db_type + S_user = 307, // user + S_308_38 = 308, // $@38 + S_password = 309, // password + S_310_39 = 310, // $@39 + S_host = 311, // host + S_312_40 = 312, // $@40 + S_port = 313, // port + S_name = 314, // name + S_315_41 = 315, // $@41 + S_persist = 316, // persist + S_lfc_interval = 317, // lfc_interval + S_readonly = 318, // readonly + S_connect_timeout = 319, // connect_timeout + S_request_timeout = 320, // request_timeout + S_tcp_keepalive = 321, // tcp_keepalive + S_tcp_nodelay = 322, // tcp_nodelay + S_contact_points = 323, // contact_points + S_324_42 = 324, // $@42 + S_keyspace = 325, // keyspace + S_326_43 = 326, // $@43 + S_consistency = 327, // consistency + S_328_44 = 328, // $@44 + S_serial_consistency = 329, // serial_consistency + S_330_45 = 330, // $@45 + S_max_reconnect_tries = 331, // max_reconnect_tries + S_reconnect_wait_time = 332, // reconnect_wait_time + S_max_row_errors = 333, // max_row_errors + S_host_reservation_identifiers = 334, // host_reservation_identifiers + S_335_46 = 335, // $@46 + S_host_reservation_identifiers_list = 336, // host_reservation_identifiers_list + S_host_reservation_identifier = 337, // host_reservation_identifier + S_duid_id = 338, // duid_id + S_hw_address_id = 339, // hw_address_id + S_circuit_id = 340, // circuit_id + S_client_id = 341, // client_id + S_flex_id = 342, // flex_id + S_dhcp_multi_threading = 343, // dhcp_multi_threading + S_344_47 = 344, // $@47 + S_multi_threading_params = 345, // multi_threading_params + S_multi_threading_param = 346, // multi_threading_param + S_enable_multi_threading = 347, // enable_multi_threading + S_thread_pool_size = 348, // thread_pool_size + S_packet_queue_size = 349, // packet_queue_size + S_hooks_libraries = 350, // hooks_libraries + S_351_48 = 351, // $@48 + S_hooks_libraries_list = 352, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 353, // not_empty_hooks_libraries_list + S_hooks_library = 354, // hooks_library + S_355_49 = 355, // $@49 + S_sub_hooks_library = 356, // sub_hooks_library + S_357_50 = 357, // $@50 + S_hooks_params = 358, // hooks_params + S_hooks_param = 359, // hooks_param + S_library = 360, // library + S_361_51 = 361, // $@51 + S_parameters = 362, // parameters + S_363_52 = 363, // $@52 + S_expired_leases_processing = 364, // expired_leases_processing + S_365_53 = 365, // $@53 + S_expired_leases_params = 366, // expired_leases_params + S_expired_leases_param = 367, // expired_leases_param + S_reclaim_timer_wait_time = 368, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 369, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 370, // hold_reclaimed_time + S_max_reclaim_leases = 371, // max_reclaim_leases + S_max_reclaim_time = 372, // max_reclaim_time + S_unwarned_reclaim_cycles = 373, // unwarned_reclaim_cycles + S_subnet4_list = 374, // subnet4_list + S_375_54 = 375, // $@54 + S_subnet4_list_content = 376, // subnet4_list_content + S_not_empty_subnet4_list = 377, // not_empty_subnet4_list + S_subnet4 = 378, // subnet4 + S_379_55 = 379, // $@55 + S_sub_subnet4 = 380, // sub_subnet4 + S_381_56 = 381, // $@56 + S_subnet4_params = 382, // subnet4_params + S_subnet4_param = 383, // subnet4_param + S_subnet = 384, // subnet + S_385_57 = 385, // $@57 + S_subnet_4o6_interface = 386, // subnet_4o6_interface + S_387_58 = 387, // $@58 + S_subnet_4o6_interface_id = 388, // subnet_4o6_interface_id + S_389_59 = 389, // $@59 + S_subnet_4o6_subnet = 390, // subnet_4o6_subnet + S_391_60 = 391, // $@60 + S_interface = 392, // interface + S_393_61 = 393, // $@61 + S_client_class = 394, // client_class + S_395_62 = 395, // $@62 + S_require_client_classes = 396, // require_client_classes + S_397_63 = 397, // $@63 + S_reservations_out_of_pool = 398, // reservations_out_of_pool + S_reservations_in_subnet = 399, // reservations_in_subnet + S_reservations_global = 400, // reservations_global + S_reservation_mode = 401, // reservation_mode + S_402_64 = 402, // $@64 + S_hr_mode = 403, // hr_mode + S_id = 404, // id + S_shared_networks = 405, // shared_networks + S_406_65 = 406, // $@65 + S_shared_networks_content = 407, // shared_networks_content + S_shared_networks_list = 408, // shared_networks_list + S_shared_network = 409, // shared_network + S_410_66 = 410, // $@66 + S_shared_network_params = 411, // shared_network_params + S_shared_network_param = 412, // shared_network_param + S_option_def_list = 413, // option_def_list + S_414_67 = 414, // $@67 + S_sub_option_def_list = 415, // sub_option_def_list + S_416_68 = 416, // $@68 + S_option_def_list_content = 417, // option_def_list_content + S_not_empty_option_def_list = 418, // not_empty_option_def_list + S_option_def_entry = 419, // option_def_entry + S_420_69 = 420, // $@69 + S_sub_option_def = 421, // sub_option_def + S_422_70 = 422, // $@70 + S_option_def_params = 423, // option_def_params + S_not_empty_option_def_params = 424, // not_empty_option_def_params + S_option_def_param = 425, // option_def_param + S_option_def_name = 426, // option_def_name + S_code = 427, // code + S_option_def_code = 428, // option_def_code + S_option_def_type = 429, // option_def_type + S_430_71 = 430, // $@71 + S_option_def_record_types = 431, // option_def_record_types + S_432_72 = 432, // $@72 + S_space = 433, // space + S_434_73 = 434, // $@73 + S_option_def_space = 435, // option_def_space + S_option_def_encapsulate = 436, // option_def_encapsulate + S_437_74 = 437, // $@74 + S_option_def_array = 438, // option_def_array + S_option_data_list = 439, // option_data_list + S_440_75 = 440, // $@75 + S_option_data_list_content = 441, // option_data_list_content + S_not_empty_option_data_list = 442, // not_empty_option_data_list + S_option_data_entry = 443, // option_data_entry + S_444_76 = 444, // $@76 + S_sub_option_data = 445, // sub_option_data + S_446_77 = 446, // $@77 + S_option_data_params = 447, // option_data_params + S_not_empty_option_data_params = 448, // not_empty_option_data_params + S_option_data_param = 449, // option_data_param + S_option_data_name = 450, // option_data_name + S_option_data_data = 451, // option_data_data + S_452_78 = 452, // $@78 + S_option_data_code = 453, // option_data_code + S_option_data_space = 454, // option_data_space + S_option_data_csv_format = 455, // option_data_csv_format + S_option_data_always_send = 456, // option_data_always_send + S_pools_list = 457, // pools_list + S_458_79 = 458, // $@79 + S_pools_list_content = 459, // pools_list_content + S_not_empty_pools_list = 460, // not_empty_pools_list + S_pool_list_entry = 461, // pool_list_entry + S_462_80 = 462, // $@80 + S_sub_pool4 = 463, // sub_pool4 + S_464_81 = 464, // $@81 + S_pool_params = 465, // pool_params + S_pool_param = 466, // pool_param + S_pool_entry = 467, // pool_entry + S_468_82 = 468, // $@82 + S_user_context = 469, // user_context + S_470_83 = 470, // $@83 + S_comment = 471, // comment + S_472_84 = 472, // $@84 + S_reservations = 473, // reservations + S_474_85 = 474, // $@85 + S_reservations_list = 475, // reservations_list + S_not_empty_reservations_list = 476, // not_empty_reservations_list + S_reservation = 477, // reservation + S_478_86 = 478, // $@86 + S_sub_reservation = 479, // sub_reservation + S_480_87 = 480, // $@87 + S_reservation_params = 481, // reservation_params + S_not_empty_reservation_params = 482, // not_empty_reservation_params + S_reservation_param = 483, // reservation_param + S_next_server = 484, // next_server + S_485_88 = 485, // $@88 + S_server_hostname = 486, // server_hostname + S_487_89 = 487, // $@89 + S_boot_file_name = 488, // boot_file_name + S_489_90 = 489, // $@90 + S_ip_address = 490, // ip_address + S_491_91 = 491, // $@91 + S_ip_addresses = 492, // ip_addresses + S_493_92 = 493, // $@92 + S_duid = 494, // duid + S_495_93 = 495, // $@93 + S_hw_address = 496, // hw_address + S_497_94 = 497, // $@94 + S_client_id_value = 498, // client_id_value + S_499_95 = 499, // $@95 + S_circuit_id_value = 500, // circuit_id_value + S_501_96 = 501, // $@96 + S_flex_id_value = 502, // flex_id_value + S_503_97 = 503, // $@97 + S_hostname = 504, // hostname + S_505_98 = 505, // $@98 + S_reservation_client_classes = 506, // reservation_client_classes + S_507_99 = 507, // $@99 + S_relay = 508, // relay + S_509_100 = 509, // $@100 + S_relay_map = 510, // relay_map + S_client_classes = 511, // client_classes + S_512_101 = 512, // $@101 + S_client_classes_list = 513, // client_classes_list + S_client_class_entry = 514, // client_class_entry + S_515_102 = 515, // $@102 + S_client_class_params = 516, // client_class_params + S_not_empty_client_class_params = 517, // not_empty_client_class_params + S_client_class_param = 518, // client_class_param + S_client_class_name = 519, // client_class_name + S_client_class_test = 520, // client_class_test + S_521_103 = 521, // $@103 + S_only_if_required = 522, // only_if_required + S_dhcp4o6_port = 523, // dhcp4o6_port + S_control_socket = 524, // control_socket + S_525_104 = 525, // $@104 + S_control_socket_params = 526, // control_socket_params + S_control_socket_param = 527, // control_socket_param + S_control_socket_type = 528, // control_socket_type + S_529_105 = 529, // $@105 + S_control_socket_name = 530, // control_socket_name + S_531_106 = 531, // $@106 + S_dhcp_queue_control = 532, // dhcp_queue_control + S_533_107 = 533, // $@107 + S_queue_control_params = 534, // queue_control_params + S_queue_control_param = 535, // queue_control_param + S_enable_queue = 536, // enable_queue + S_queue_type = 537, // queue_type + S_538_108 = 538, // $@108 + S_capacity = 539, // capacity + S_arbitrary_map_entry = 540, // arbitrary_map_entry + S_541_109 = 541, // $@109 + S_dhcp_ddns = 542, // dhcp_ddns + S_543_110 = 543, // $@110 + S_sub_dhcp_ddns = 544, // sub_dhcp_ddns + S_545_111 = 545, // $@111 + S_dhcp_ddns_params = 546, // dhcp_ddns_params + S_dhcp_ddns_param = 547, // dhcp_ddns_param + S_enable_updates = 548, // enable_updates + S_server_ip = 549, // server_ip + S_550_112 = 550, // $@112 + S_server_port = 551, // server_port + S_sender_ip = 552, // sender_ip + S_553_113 = 553, // $@113 + S_sender_port = 554, // sender_port + S_max_queue_size = 555, // max_queue_size + S_ncr_protocol = 556, // ncr_protocol + S_557_114 = 557, // $@114 + S_ncr_protocol_value = 558, // ncr_protocol_value + S_ncr_format = 559, // ncr_format + S_560_115 = 560, // $@115 + S_dep_qualifying_suffix = 561, // dep_qualifying_suffix + S_562_116 = 562, // $@116 + S_dep_override_no_update = 563, // dep_override_no_update + S_dep_override_client_update = 564, // dep_override_client_update + S_dep_replace_client_name = 565, // dep_replace_client_name + S_566_117 = 566, // $@117 + S_dep_generated_prefix = 567, // dep_generated_prefix + S_568_118 = 568, // $@118 + S_dep_hostname_char_set = 569, // dep_hostname_char_set + S_570_119 = 570, // $@119 + S_dep_hostname_char_replacement = 571, // dep_hostname_char_replacement + S_572_120 = 572, // $@120 + S_config_control = 573, // config_control + S_574_121 = 574, // $@121 + S_sub_config_control = 575, // sub_config_control + S_576_122 = 576, // $@122 + S_config_control_params = 577, // config_control_params + S_config_control_param = 578, // config_control_param + S_config_databases = 579, // config_databases + S_580_123 = 580, // $@123 + S_config_fetch_wait_time = 581, // config_fetch_wait_time + S_loggers = 582, // loggers + S_583_124 = 583, // $@124 + S_loggers_entries = 584, // loggers_entries + S_logger_entry = 585, // logger_entry + S_586_125 = 586, // $@125 + S_logger_params = 587, // logger_params + S_logger_param = 588, // logger_param + S_debuglevel = 589, // debuglevel + S_severity = 590, // severity + S_591_126 = 591, // $@126 + S_output_options_list = 592, // output_options_list + S_593_127 = 593, // $@127 + S_output_options_list_content = 594, // output_options_list_content + S_output_entry = 595, // output_entry + S_596_128 = 596, // $@128 + S_output_params_list = 597, // output_params_list + S_output_params = 598, // output_params + S_output = 599, // output + S_600_129 = 600, // $@129 + S_flush = 601, // flush + S_maxsize = 602, // maxsize + S_maxver = 603, // maxver + S_pattern = 604, // pattern + S_605_130 = 605 // $@130 }; }; @@ -1588,13 +1594,13 @@ switch (yykind) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -2867,21 +2873,6 @@ switch (yykind) return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_DDNS_USE_CONFLICT_RESOLUTION (location_type l) - { - return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l)); - } -#else - static - symbol_type - make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l) - { - return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -3257,6 +3248,51 @@ switch (yykind) return symbol_type (token::TOKEN_RESERVATION_MODE, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_OUT_OF_POOL (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_OUT_OF_POOL (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_IN_SUBNET (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_IN_SUBNET (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_GLOBAL (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_GLOBAL (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4952,8 +4988,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1193, ///< Last index in yytable_. - yynnts_ = 407, ///< Number of nonterminal symbols. + yylast_ = 1209, ///< Last index in yytable_. + yynnts_ = 409, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5017,10 +5053,11 @@ switch (yykind) 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194 + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196 }; // Last valid token kind. - const int code_max = 449; + const int code_max = 451; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5185,7 +5222,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5189 "dhcp4_parser.h" +#line 5226 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 0c15719114..c635744019 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index 9ab5e94f40..5a22e1b354 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 1fd7ec528c..7b495979e3 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 055feb7973..db528709d9 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_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 210 -#define YY_END_OF_BUFFER 211 +#define YY_NUM_RULES 211 +#define YY_END_OF_BUFFER 212 /* 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[1923] = +static const flex_int16_t yy_accept[1933] = { 0, - 203, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 209, 10, 11, 209, 1, 203, 200, 203, 203, - 209, 202, 201, 209, 209, 209, 209, 209, 196, 197, - 209, 209, 209, 198, 199, 5, 5, 5, 209, 209, - 209, 10, 11, 0, 0, 191, 0, 0, 0, 0, + 204, 204, 0, 0, 0, 0, 0, 0, 0, 0, + 212, 210, 10, 11, 210, 1, 204, 201, 204, 204, + 210, 203, 202, 210, 210, 210, 210, 210, 197, 198, + 210, 210, 210, 199, 200, 5, 5, 5, 210, 210, + 210, 10, 11, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 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, 203, 203, - 0, 202, 203, 3, 2, 6, 0, 203, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 192, + 0, 0, 0, 0, 0, 0, 0, 1, 204, 204, + 0, 203, 204, 3, 2, 6, 0, 204, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -722,198 +722,199 @@ static const flex_int16_t yy_accept[1923] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 0, 164, 0, 0, 165, 0, 0, 0, + 8, 0, 0, 0, 166, 0, 0, 167, 0, 0, - 0, 0, 0, 0, 193, 195, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 114, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 206, 0, - 205, 204, 0, 0, 0, 0, 0, 163, 0, 28, - 0, 27, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 207, 0, + 206, 205, 0, 0, 0, 0, 0, 0, 165, 0, + 28, 0, 27, 0, 0, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 204, 0, 0, 0, 0, 29, 0, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, - 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, - 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, + 0, 0, 208, 205, 0, 0, 0, 0, 0, 29, + 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 0, 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, 98, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 107, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 168, 51, 0, - 56, 0, 0, 0, 0, 37, 34, 33, 0, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 145, 0, 170, + 51, 0, 56, 0, 0, 0, 0, 0, 37, 34, + 33, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, - 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, + 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, + 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 7, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 122, 0, 0, 0, 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, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, + 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 163, 133, + 0, 0, 0, 0, 0, 0, 0, 137, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 161, 131, 0, - 0, 0, 0, 0, 0, 0, 135, 52, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 137, 0, 60, 0, 0, 0, 0, 0, 0, + 0, 0, 139, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 190, 0, 0, 0, 0, 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, 150, 0, + 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 102, 0, 0, 0, 147, 0, 0, 0, 0, + 57, 101, 0, 0, 0, 149, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 0, 0, 162, 14, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 0, 0, 164, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, + 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 149, 166, 0, - 40, 0, 158, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, - 0, 0, 96, 0, 0, 0, 0, 0, 160, 54, - 0, 104, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 0, 0, 0, 127, 128, 0, 0, 0, - 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 151, 168, 0, 40, 0, + 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, + 95, 0, 0, 0, 0, 0, 162, 54, 0, 103, + 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, + 0, 0, 0, 129, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, + 17, 0, 15, 0, 186, 185, 0, 0, 0, 69, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 144, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 179, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 112, 0, 148, 0, 43, 0, 61, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 0, 114, 80, 0, 0, + 156, 0, 0, 0, 0, 0, 147, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 108, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 17, 0, 15, 0, 184, 183, 0, - 0, 0, 69, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 0, 186, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 113, 0, 146, 0, 43, - 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, - 115, 80, 0, 0, 154, 0, 0, 0, 0, 0, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 109, - 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 0, 0, 0, 169, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, + 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 42, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 0, 0, 140, 47, 0, 0, 0, 70, - 182, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 45, 0, 0, 0, 44, 0, 18, - 0, 0, 0, 72, 0, 0, 0, 0, 0, 132, + 0, 42, 0, 0, 0, 0, 68, 0, 0, 0, + 0, 0, 0, 142, 47, 0, 0, 0, 70, 184, + 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 45, 0, 0, 0, 44, 0, 18, 0, 0, + 0, 72, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, - 129, 0, 0, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, + 0, 131, 0, 0, 0, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 46, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, + 0, 0, 161, 0, 0, 0, 46, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, - 0, 95, 0, 0, 0, 0, 36, 0, 48, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, - 0, 0, 0, 175, 0, 0, 0, 0, 144, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, - 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 36, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, + 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 118, 0, 0, 0, 0, 0, 0, 182, 0, - 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 25, 39, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 181, 0, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 39, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 78, - 0, 77, 0, 21, 73, 0, 0, 0, 0, 0, - 65, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 106, 0, 0, 173, 0, - 0, 0, 0, 71, 0, 0, 0, 66, 0, 23, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 176, 0, 78, 0, 77, 0, 21, + 73, 0, 0, 0, 0, 0, 0, 0, 0, 65, + 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 105, 0, 0, 175, 0, 0, 0, - 0, 0, 94, 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, 89, 0, + 0, 71, 0, 0, 0, 66, 0, 23, 0, 117, + 0, 0, 0, 93, 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, 0, 0, 0, 49, - 0, 0, 90, 0, 0, 0, 179, 0, 0, 0, - 0, 190, 75, 74, 22, 0, 124, 141, 0, 0, - 0, 86, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 176, 0, 88, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 170, 0, 0, 26, 0, 0, 0, + 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 0, 0, 90, 0, 0, 181, 0, + 0, 0, 0, 192, 75, 74, 22, 0, 126, 143, + 116, 0, 0, 0, 0, 86, 0, 0, 0, 0, + 0, 0, 173, 0, 0, 178, 0, 88, 81, 0, - 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 92, 0, 125, 84, 0, 0, 0, 0, 83, - 172, 0 + 0, 0, 0, 115, 0, 0, 172, 0, 0, 26, + 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, + 0, 0, 0, 127, 84, 0, 0, 0, 0, 83, + 174, 0 } ; static const YY_CHAR yy_ec[256] = @@ -950,466 +951,470 @@ static const YY_CHAR yy_ec[256] = static const YY_CHAR yy_meta[74] = { 0, - 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, + 3, 3, 3, 5, 5, 5, 5, 5, 3, 3, + 3, 3, 5, 5, 5, 5, 5, 5, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, + 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3 } ; -static const flex_int16_t yy_base[1931] = +static const flex_int16_t yy_base[1945] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2310, 2311, 34, 2306, 145, 0, 207, 2311, 214, 221, - 13, 228, 2311, 2286, 118, 25, 2, 6, 2311, 2311, - 73, 11, 17, 2311, 2311, 2311, 104, 2294, 2247, 0, - 2284, 108, 2301, 24, 256, 2311, 67, 2250, 2270, 84, - 75, 2270, 88, 226, 91, 89, 284, 196, 203, 279, - 193, 224, 216, 60, 242, 2250, 286, 288, 314, 300, - 319, 2233, 204, 324, 356, 329, 2252, 0, 380, 400, - 420, 427, 406, 2311, 0, 2311, 385, 443, 238, 241, - 310, 269, 299, 314, 2311, 2249, 2290, 2311, 405, 2311, + 2334, 2335, 34, 2330, 145, 0, 207, 2335, 214, 221, + 13, 228, 2335, 2310, 118, 25, 2, 6, 2335, 2335, + 73, 11, 17, 2335, 2335, 2335, 104, 2318, 2271, 0, + 2308, 108, 2325, 24, 256, 2335, 67, 2274, 2294, 84, + 75, 2294, 88, 226, 91, 89, 284, 196, 203, 279, + 193, 224, 216, 60, 242, 2274, 286, 288, 314, 300, + 319, 2257, 204, 324, 356, 329, 2276, 0, 380, 400, + 420, 427, 406, 2335, 0, 2335, 385, 443, 238, 241, + 310, 269, 299, 314, 2335, 2273, 2314, 2335, 405, 2335, - 419, 400, 2247, 2288, 326, 10, 262, 407, 224, 409, - 352, 206, 2287, 0, 480, 412, 2229, 415, 2237, 406, - 2233, 2222, 2223, 2228, 442, 2238, 2221, 2230, 327, 431, - 226, 2224, 2222, 452, 2211, 2269, 399, 2214, 2267, 2207, - 2230, 2227, 2227, 2221, 339, 2214, 2212, 2213, 2205, 2210, - 2204, 414, 2215, 2208, 2199, 2198, 2212, 454, 2250, 2197, - 450, 2209, 421, 2197, 476, 2198, 480, 2210, 2207, 2208, - 293, 2206, 2241, 2240, 439, 2186, 2186, 2190, 2186, 2178, - 2195, 2187, 0, 447, 484, 401, 457, 489, 498, 2186, - 2311, 509, 2181, 2311, 498, 504, 2311, 2235, 515, 2234, + 419, 400, 2271, 2312, 326, 10, 262, 407, 224, 409, + 352, 206, 2311, 0, 472, 412, 2253, 415, 2261, 406, + 2257, 2246, 2247, 2252, 444, 2262, 2245, 2254, 327, 433, + 226, 2248, 2246, 445, 2235, 2293, 399, 2238, 2291, 2231, + 2254, 2251, 2251, 2245, 339, 2238, 2236, 2237, 2229, 2234, + 2228, 412, 2239, 2232, 2223, 2222, 2236, 462, 2274, 2221, + 443, 2233, 421, 2221, 482, 2222, 445, 2234, 2231, 2232, + 293, 2230, 2265, 2264, 477, 2210, 2210, 2214, 2210, 2202, + 2219, 2211, 0, 478, 493, 486, 481, 500, 505, 2210, + 2335, 0, 510, 2205, 2335, 498, 505, 2335, 2259, 508, - 517, 2233, 513, 2232, 2311, 2311, 559, 2231, 533, 2190, - 2182, 2186, 2187, 2182, 2181, 2172, 529, 2223, 2217, 2181, - 2162, 2159, 2167, 2173, 2161, 2175, 2171, 2172, 2172, 2167, - 2159, 2161, 2145, 2149, 2162, 2164, 2161, 2153, 2143, 2146, - 2160, 2311, 2146, 2154, 80, 2139, 2138, 2190, 2137, 2147, - 2187, 490, 2146, 2185, 2130, 2132, 2143, 2181, 531, 2185, - 2120, 2135, 538, 2125, 2131, 2140, 2121, 2119, 2122, 2118, - 2124, 2115, 2114, 2127, 2120, 2110, 2121, 2125, 2124, 2118, - 220, 2125, 2120, 2112, 2102, 2117, 2112, 2116, 497, 2114, - 2100, 2106, 2113, 2095, 2096, 2099, 2096, 2095, 555, 2090, + 2258, 513, 2257, 515, 2256, 2335, 561, 2255, 525, 2214, + 2206, 2210, 2211, 2206, 2205, 2196, 501, 2247, 2241, 2205, + 2186, 2183, 2191, 2197, 2185, 2199, 2195, 2196, 2196, 2191, + 2183, 2185, 2169, 2173, 2186, 2188, 2185, 2177, 2167, 2170, + 2184, 2335, 2170, 2178, 80, 2163, 2162, 2214, 2161, 2171, + 2211, 505, 2170, 2209, 2154, 2156, 2167, 2205, 532, 2209, + 2144, 2159, 538, 2149, 2155, 2164, 2145, 2143, 2146, 2142, + 2148, 2139, 2138, 2151, 2144, 2134, 2145, 2149, 2148, 2142, + 220, 2149, 2144, 2136, 2126, 2141, 2136, 2140, 500, 2138, + 2124, 2130, 2137, 2119, 2120, 2123, 2120, 2119, 562, 2114, - 2104, 2103, 2102, 2105, 2087, 2095, 541, 2311, 2311, 542, - 2311, 2311, 2082, 519, 2129, 551, 2140, 2311, 535, 2311, - 2139, 2311, 2133, 597, 2311, 530, 2073, 2092, 2075, 2092, - 2080, 2132, 2087, 2082, 2085, 2080, 556, 2311, 2082, 584, - 2121, 2079, 2076, 2077, 542, 2081, 2121, 2069, 2064, 2061, - 2057, 2059, 2110, 2067, 2056, 2072, 2106, 2052, 620, 2065, - 2065, 2048, 2049, 2062, 2060, 2048, 2058, 2053, 2060, 2055, - 2040, 566, 2049, 2052, 2047, 536, 2046, 2042, 2092, 579, - 569, 2311, 2086, 2036, 2035, 2028, 2030, 2042, 2033, 2022, - 2039, 2028, 2033, 590, 2080, 2033, 584, 2030, 2033, 2033, + 2128, 2127, 2126, 2129, 2111, 2119, 543, 2335, 2335, 553, + 2335, 2335, 2106, 0, 520, 2153, 554, 2164, 2335, 556, + 2335, 2163, 2335, 2157, 606, 2335, 555, 2097, 2116, 2099, + 2116, 2104, 2156, 2111, 2106, 2109, 2104, 537, 2335, 2106, + 586, 2145, 2103, 2100, 2101, 584, 2105, 2145, 2093, 2088, + 2085, 2081, 2083, 2134, 2091, 2080, 2096, 2130, 2076, 607, + 2089, 2089, 2072, 2073, 2086, 2084, 2072, 2082, 2077, 2084, + 2079, 2064, 574, 2073, 2076, 2071, 577, 2070, 2066, 2116, + 422, 563, 2335, 2110, 2060, 2059, 2052, 2054, 2066, 2057, + 2046, 2063, 2052, 2057, 596, 2104, 2057, 589, 2054, 2057, - 2031, 2020, 2020, 2032, 576, 2007, 2008, 2029, 587, 2011, - 2008, 2022, 2025, 2020, 2006, 2018, 2017, 2016, 2011, 2014, - 2013, 2012, 2011, 432, 2054, 2013, 2052, 2051, 1993, 644, - 2006, 2311, 2311, 2005, 600, 2047, 2046, 2311, 2045, 2311, - 617, 671, 606, 2044, 2038, 1991, 1993, 1981, 2311, 1986, - 1992, 1995, 1978, 1993, 1980, 1979, 2311, 1989, 605, 1980, - 1977, 1989, 604, 1974, 1976, 2311, 1982, 1967, 1969, 1980, - 1978, 1973, 650, 1980, 1968, 1961, 2012, 2311, 1959, 1975, - 2009, 2013, 1969, 1963, 1965, 1966, 1950, 1967, 2001, 1952, - 1947, 1946, 1948, 1944, 1940, 602, 1959, 1933, 1940, 1945, + 2057, 2055, 2044, 2044, 2056, 583, 2031, 2032, 2053, 595, + 2035, 2032, 2046, 2049, 2044, 2030, 2042, 2041, 2040, 2035, + 2038, 2037, 2036, 2035, 558, 2078, 2037, 2076, 2075, 2017, + 652, 2030, 2335, 2335, 2029, 0, 604, 2071, 2070, 2335, + 2069, 2335, 616, 664, 629, 2068, 2062, 2015, 2017, 2005, + 2335, 2010, 2016, 2019, 2002, 2017, 2004, 2003, 2335, 2013, + 610, 2004, 2001, 2013, 566, 1998, 2000, 2335, 2006, 1991, + 1993, 2004, 2002, 1997, 653, 2004, 1992, 1985, 2036, 2335, + 1983, 1999, 2033, 2037, 1993, 1987, 1989, 1990, 1974, 1991, + 2025, 1976, 1971, 1970, 1972, 1968, 1964, 556, 1983, 1957, - 1938, 1954, 1988, 1992, 2311, 1937, 1933, 1989, 1940, 1934, - 1941, 1926, 1936, 1924, 1938, 1927, 1923, 1925, 1920, 2311, - 1977, 2311, 1919, 1918, 1911, 1928, 1967, 1966, 1911, 1916, - 1925, 1919, 1913, 1922, 652, 1959, 1921, 1904, 1904, 1899, - 1895, 1901, 1906, 1899, 1907, 1911, 1894, 1952, 1893, 1945, - 1890, 1891, 1890, 1902, 1891, 2311, 1901, 2311, 2311, 1890, - 2311, 1900, 1936, 1896, 1939, 2311, 2311, 2311, 640, 639, - 666, 2311, 617, 1898, 1878, 1931, 1876, 1929, 1874, 1873, - 1872, 1879, 1872, 1880, 1883, 1865, 1865, 1880, 1879, 619, - 1878, 1877, 1861, 1876, 1858, 1905, 1872, 1910, 1854, 1856, + 1964, 1969, 1962, 1978, 2012, 2016, 2335, 1961, 1957, 2013, + 1964, 1958, 1965, 1950, 1960, 1948, 1962, 1951, 1947, 1949, + 1944, 2335, 2001, 2335, 1943, 1942, 1935, 1952, 1991, 1990, + 1935, 1940, 1949, 1943, 1937, 1946, 688, 1983, 1945, 1928, + 1928, 1923, 1919, 1925, 1930, 1923, 1931, 1935, 1918, 1976, + 1917, 1969, 1914, 1915, 1914, 1926, 1915, 2335, 1925, 2335, + 2335, 1914, 2335, 1924, 1960, 1920, 0, 1963, 2335, 2335, + 2335, 636, 632, 691, 2335, 640, 1922, 1902, 1955, 1900, + 1953, 1898, 1897, 1896, 1903, 1896, 1904, 1907, 1889, 1889, + 1904, 1903, 1891, 1901, 1900, 1884, 1899, 1881, 1928, 1895, - 1868, 1868, 1867, 2311, 1852, 1849, 1907, 1862, 1854, 1860, - 1851, 1859, 2311, 1844, 1855, 1859, 1841, 1853, 1854, 568, - 1836, 1830, 1835, 1832, 1847, 1846, 1847, 1826, 1836, 1842, - 1885, 1840, 1839, 1831, 1822, 2311, 1823, 1825, 2311, 1833, - 1872, 1871, 16, 1832, 1869, 1814, 1815, 1818, 1819, 1810, - 2311, 1824, 1810, 695, 1802, 1806, 1822, 1819, 1811, 1856, - 1808, 1815, 1853, 2311, 1799, 1797, 1811, 1795, 1809, 1812, - 1846, 1845, 1844, 1843, 1788, 1841, 1840, 2311, 1785, 1799, - 675, 1800, 1799, 1796, 1796, 1833, 1793, 1782, 1784, 2311, - 2311, 666, 663, 1776, 1793, 1785, 1772, 1766, 1787, 1828, + 1933, 1877, 1879, 1891, 1891, 1890, 2335, 1875, 1872, 1930, + 1885, 1877, 1883, 1874, 1882, 2335, 1867, 1878, 1882, 1864, + 1876, 1877, 635, 1859, 1853, 1858, 1855, 1870, 1869, 1870, + 1849, 1859, 1865, 1908, 1863, 1862, 1854, 1845, 2335, 1846, + 1848, 2335, 1856, 1895, 1894, 16, 1855, 1892, 1837, 1838, + 1841, 1842, 1833, 2335, 1847, 1833, 695, 1825, 1829, 1845, + 1842, 1834, 1879, 1831, 1838, 1876, 2335, 1822, 1820, 1834, + 1818, 1832, 1835, 1869, 1868, 1867, 1866, 1811, 1864, 1863, + 2335, 1808, 1822, 698, 1823, 1822, 1819, 1819, 1856, 1816, + 1805, 1807, 2335, 2335, 663, 658, 1799, 1816, 1808, 1795, - 656, 1822, 1782, 1820, 1819, 1771, 1765, 1768, 1776, 1779, - 1763, 1764, 1773, 1771, 1753, 1808, 1768, 1758, 1766, 1804, - 1765, 650, 1756, 1754, 92, 209, 269, 294, 313, 2311, - 502, 498, 554, 609, 614, 641, 638, 661, 660, 648, - 664, 662, 677, 674, 719, 720, 664, 677, 663, 673, - 721, 680, 729, 2311, 730, 686, 684, 686, 682, 676, - 731, 694, 683, 2311, 686, 697, 686, 699, 701, 745, - 688, 747, 690, 705, 2311, 699, 693, 704, 689, 700, - 713, 692, 698, 753, 717, 701, 701, 714, 758, 759, - 760, 707, 725, 720, 727, 722, 707, 719, 720, 726, + 1789, 1810, 1851, 669, 1845, 1805, 1843, 1842, 1794, 1788, + 1791, 1799, 1802, 1786, 1787, 1796, 1777, 1832, 1792, 1782, + 1790, 1828, 1789, 661, 1780, 1782, 92, 209, 269, 294, + 313, 2335, 380, 399, 451, 501, 507, 544, 551, 579, + 597, 588, 611, 633, 657, 657, 703, 715, 659, 673, + 659, 669, 719, 677, 726, 2335, 727, 683, 681, 683, + 679, 673, 728, 691, 680, 2335, 682, 693, 682, 696, + 698, 742, 685, 744, 687, 702, 2335, 696, 690, 701, + 686, 697, 710, 689, 695, 750, 714, 698, 698, 711, + 755, 756, 757, 704, 722, 717, 724, 719, 704, 716, - 713, 2311, 778, 736, 738, 728, 740, 730, 743, 734, - 740, 784, 760, 747, 729, 736, 750, 795, 745, 2311, - 743, 758, 755, 741, 748, 747, 745, 764, 761, 762, - 750, 757, 758, 767, 771, 807, 769, 759, 772, 758, - 757, 764, 820, 761, 762, 768, 784, 767, 821, 776, - 2311, 786, 786, 779, 790, 788, 833, 775, 777, 792, - 793, 781, 779, 841, 798, 784, 787, 2311, 2311, 803, - 802, 803, 808, 796, 806, 808, 2311, 2311, 808, 810, - 797, 815, 802, 800, 818, 805, 805, 856, 803, 807, - 865, 2311, 866, 2311, 811, 825, 825, 870, 818, 817, + 717, 723, 710, 2335, 775, 733, 735, 725, 737, 727, + 740, 731, 737, 781, 757, 744, 726, 733, 747, 792, + 742, 2335, 740, 755, 752, 738, 745, 744, 742, 761, + 758, 759, 747, 754, 755, 764, 768, 765, 755, 768, + 754, 753, 759, 816, 757, 758, 764, 780, 763, 817, + 772, 2335, 782, 782, 775, 786, 784, 829, 771, 773, + 788, 789, 777, 775, 837, 794, 780, 783, 2335, 2335, + 799, 798, 799, 804, 792, 802, 804, 2335, 2335, 804, + 806, 793, 811, 798, 796, 814, 801, 801, 852, 799, + 803, 861, 2335, 862, 2335, 807, 821, 821, 866, 814, - 821, 815, 875, 828, 818, 819, 815, 825, 829, 840, - 824, 842, 837, 839, 832, 834, 835, 847, 837, 852, - 893, 850, 855, 832, 855, 839, 2311, 846, 847, 861, - 852, 850, 900, 847, 862, 880, 888, 857, 906, 868, - 908, 2311, 874, 862, 857, 858, 870, 877, 866, 867, - 863, 881, 867, 868, 878, 887, 923, 870, 888, 880, - 876, 929, 936, 893, 884, 2311, 888, 896, 898, 883, - 899, 889, 901, 895, 942, 908, 892, 893, 2311, 909, - 912, 895, 897, 955, 898, 917, 2311, 916, 919, 900, - 918, 906, 959, 917, 913, 910, 963, 912, 965, 927, + 813, 817, 811, 871, 824, 814, 815, 811, 821, 825, + 836, 820, 838, 833, 835, 828, 830, 831, 843, 833, + 848, 889, 846, 851, 828, 851, 835, 2335, 842, 843, + 857, 848, 846, 896, 843, 858, 876, 884, 853, 902, + 864, 904, 2335, 870, 858, 853, 854, 866, 873, 862, + 863, 859, 877, 863, 864, 874, 883, 919, 866, 875, + 870, 924, 930, 888, 879, 2335, 883, 891, 893, 878, + 894, 884, 896, 890, 937, 903, 887, 888, 2335, 904, + 907, 890, 892, 950, 893, 912, 2335, 911, 914, 895, + 913, 901, 954, 912, 908, 905, 958, 907, 960, 922, - 913, 931, 930, 916, 931, 923, 919, 937, 936, 923, - 2311, 2311, 931, 978, 931, 2311, 939, 942, 935, 988, - 2311, 937, 943, 987, 938, 939, 951, 945, 949, 947, - 945, 956, 1001, 945, 950, 1004, 1005, 949, 961, 2311, - 949, 957, 955, 1006, 968, 955, 956, 965, 977, 964, - 962, 976, 977, 993, 998, 980, 985, 968, 968, 970, - 970, 990, 989, 980, 969, 986, 993, 1036, 978, 998, - 991, 995, 999, 982, 999, 990, 1045, 992, 996, 2311, - 1043, 992, 993, 993, 1014, 1011, 1051, 1000, 1018, 1019, - 1005, 1013, 1022, 1002, 1017, 1024, 1066, 1067, 2311, 1020, + 908, 926, 925, 911, 926, 918, 914, 932, 931, 918, + 2335, 2335, 926, 973, 926, 2335, 934, 937, 930, 983, + 2335, 932, 938, 982, 933, 934, 946, 940, 944, 942, + 940, 951, 996, 940, 945, 999, 1000, 944, 956, 2335, + 944, 952, 950, 1001, 963, 950, 951, 960, 972, 959, + 957, 971, 972, 988, 993, 975, 980, 963, 963, 965, + 965, 985, 984, 975, 964, 981, 988, 1031, 973, 993, + 986, 990, 994, 977, 994, 1039, 986, 990, 2335, 1037, + 986, 985, 987, 1008, 1005, 1045, 994, 1012, 1013, 999, + 1007, 1016, 996, 1011, 1018, 1060, 1061, 2335, 1014, 1063, - 1069, 1070, 1012, 1022, 1032, 1035, 1018, 1020, 1020, 1027, - 1036, 1024, 1031, 1026, 1033, 1045, 1086, 1033, 1032, 1049, - 1090, 1040, 1044, 1042, 1040, 1035, 1096, 1097, 1047, 1099, - 1095, 1101, 1054, 2311, 1059, 1052, 1043, 1062, 1056, 1051, - 1061, 1058, 1063, 1059, 1071, 2311, 1056, 1058, 2311, 2311, - 1058, 1118, 1057, 1076, 1077, 1079, 1070, 1124, 1125, 1078, - 1063, 1077, 1085, 1067, 1072, 1111, 1102, 1134, 1089, 1089, - 1093, 1080, 1082, 1099, 1094, 1098, 1143, 1091, 1095, 2311, - 1092, 1088, 1105, 1085, 1106, 1096, 1147, 1100, 2311, 1113, - 1112, 1115, 1099, 1111, 1116, 1103, 1163, 1116, 1121, 1108, + 1064, 1006, 1016, 1026, 1029, 1012, 1014, 1014, 1021, 1030, + 1018, 1025, 1020, 1027, 1039, 1080, 1027, 1026, 1043, 1084, + 1034, 1038, 1036, 1034, 1029, 1090, 1091, 1041, 1093, 1089, + 1095, 1048, 2335, 1053, 1046, 1037, 1056, 1050, 1045, 1055, + 1052, 1057, 1053, 1065, 2335, 1050, 1052, 2335, 2335, 1052, + 1112, 1051, 1070, 1071, 1073, 1064, 1118, 1119, 1072, 1057, + 1071, 1079, 1061, 1066, 1105, 1096, 1128, 1083, 1083, 1087, + 1074, 1076, 1093, 1088, 1092, 1137, 1085, 1089, 2335, 1086, + 1082, 1099, 1079, 1100, 1090, 1141, 2335, 1106, 1104, 1108, + 1092, 1104, 1109, 1095, 1156, 1109, 1114, 1101, 1112, 1104, - 1119, 1111, 1117, 1113, 1131, 1132, 1133, 2311, 2311, 1131, - 2311, 1133, 2311, 1118, 1129, 1120, 1139, 1129, 1181, 1138, - 1135, 1179, 1143, 1132, 1139, 1144, 1141, 1147, 2311, 1140, - 1132, 1193, 2311, 1194, 1141, 1148, 1192, 1154, 2311, 2311, - 1151, 2311, 1142, 2311, 1142, 1145, 1159, 1164, 1147, 1158, - 1207, 1164, 1165, 1166, 1206, 1162, 1213, 1166, 1215, 2311, - 1162, 1217, 1218, 1175, 1177, 2311, 2311, 1160, 1222, 1218, - 1182, 1166, 1178, 1197, 1228, 2311, 1185, 1176, 1187, 1232, - 1179, 1194, 1230, 1182, 2311, 1178, 1194, 1182, 1196, 1197, - 1194, 1238, 1201, 1191, 1201, 1207, 1195, 1195, 1250, 1246, + 1110, 1106, 1124, 1125, 1126, 2335, 2335, 1124, 2335, 1126, + 2335, 1111, 1122, 1113, 1132, 1122, 1174, 1131, 1128, 1172, + 1136, 1125, 1132, 1137, 1134, 1140, 2335, 1133, 1125, 1186, + 2335, 1187, 1134, 1141, 1185, 1147, 2335, 2335, 1144, 2335, + 1135, 2335, 1135, 1138, 1152, 1157, 1140, 1151, 1200, 1157, + 1158, 1159, 1199, 1155, 1206, 1159, 1208, 2335, 1155, 1210, + 1211, 1168, 1170, 2335, 2335, 1153, 1215, 1211, 1175, 1159, + 1171, 1190, 1221, 2335, 1178, 1169, 1180, 1225, 1172, 1187, + 1223, 1175, 2335, 1171, 1187, 1175, 1189, 1190, 1187, 1231, + 1194, 1184, 1199, 1187, 1187, 1242, 1238, 1244, 1201, 2335, - 1252, 1209, 2311, 1211, 1211, 1213, 1206, 1215, 1216, 1213, - 1203, 1206, 1207, 1266, 1213, 1268, 1215, 1270, 1213, 1272, - 2311, 1230, 1209, 1224, 1218, 1221, 1234, 1237, 1236, 1234, - 1284, 1237, 2311, 2311, 1233, 1243, 1228, 1284, 1245, 1231, - 1292, 1293, 1237, 1247, 1296, 1253, 2311, 1245, 1245, 1247, - 1249, 1302, 1245, 2311, 1246, 2311, 1248, 2311, 2311, 1261, - 1263, 1264, 2311, 1251, 1259, 1311, 1260, 1292, 2311, 1314, - 1264, 1311, 2311, 1259, 1267, 1261, 1258, 1261, 1264, 1264, - 1260, 1282, 1321, 1274, 1286, 1289, 1277, 1280, 1273, 1333, - 1281, 2311, 1276, 2311, 1279, 1338, 1291, 1282, 1297, 1297, + 1203, 1202, 1205, 1198, 1207, 1208, 1205, 1195, 1198, 1198, + 1258, 1205, 1260, 1207, 1262, 1205, 1264, 2335, 1222, 1201, + 1216, 1209, 1213, 1226, 1229, 1228, 1226, 1276, 1229, 2335, + 2335, 1225, 1235, 1220, 1276, 1237, 1223, 1284, 1285, 1229, + 1239, 1288, 1245, 2335, 1237, 1237, 1239, 1241, 1294, 1237, + 2335, 1238, 2335, 1240, 2335, 2335, 1253, 1256, 1257, 2335, + 1244, 1252, 1304, 1253, 1285, 2335, 1307, 1257, 1304, 2335, + 1252, 1260, 1254, 1251, 1254, 1257, 1257, 1253, 1275, 1314, + 1267, 1279, 1282, 1270, 1265, 1325, 1273, 2335, 1268, 2335, + 1270, 1330, 1283, 1274, 1289, 1289, 1292, 1292, 1289, 1333, - 1300, 1300, 1297, 1341, 1303, 2311, 1295, 2311, 1296, 2311, - 1306, 2311, 1346, 1308, 1309, 1306, 1350, 1298, 1313, 1353, - 1315, 1307, 2311, 1304, 1304, 1310, 1309, 1307, 1322, 1322, - 2311, 2311, 1363, 1310, 2311, 1327, 1312, 1312, 1314, 1320, - 2311, 1375, 1317, 1327, 1338, 1336, 1380, 1333, 1342, 2311, - 1339, 1358, 2311, 1342, 1327, 1387, 1388, 1345, 1350, 1332, - 1392, 1393, 1394, 1390, 1354, 1351, 1347, 1340, 1395, 1353, - 1354, 2311, 1344, 1357, 1405, 2311, 1343, 1403, 1366, 1362, - 1407, 1355, 1360, 1358, 1417, 1373, 1361, 1420, 1370, 1422, - 1383, 1372, 1366, 1426, 1368, 1377, 1370, 1384, 1387, 1432, + 1295, 2335, 1287, 2335, 1288, 2335, 1298, 2335, 1338, 1300, + 1301, 1298, 1342, 1290, 1305, 1345, 1307, 1299, 2335, 1296, + 1296, 1302, 1301, 1299, 1314, 1314, 2335, 2335, 1355, 1302, + 2335, 1319, 1304, 1304, 1306, 1312, 2335, 1321, 1368, 1311, + 1321, 1332, 1330, 1374, 1328, 1337, 2335, 1334, 1353, 2335, + 1337, 1322, 1382, 1383, 1340, 1345, 1327, 1387, 1388, 1389, + 1385, 1349, 1346, 1342, 1335, 1390, 1348, 2335, 1338, 1351, + 1399, 2335, 1337, 1396, 1360, 1356, 1400, 1349, 1354, 1352, + 1411, 1367, 1355, 1414, 1364, 1416, 1377, 1366, 1360, 1420, + 1362, 1371, 1364, 1378, 1381, 1426, 1368, 1385, 1381, 1371, - 1374, 1391, 1387, 1377, 1392, 1376, 1434, 1435, 1436, 1383, - 1438, 1401, 2311, 1401, 1388, 1387, 1443, 2311, 1384, 1402, - 1451, 1421, 1453, 1406, 2311, 2311, 1397, 1408, 1457, 2311, - 2311, 2311, 1403, 1408, 1406, 1456, 1414, 1419, 1407, 1423, - 1412, 1410, 1411, 2311, 1469, 1415, 1466, 1409, 1414, 1476, - 1424, 1434, 1435, 2311, 1481, 1434, 1478, 2311, 1436, 2311, - 1427, 1442, 1430, 2311, 1440, 1441, 1442, 1491, 1449, 2311, - 1488, 1454, 1430, 1448, 1449, 1458, 1440, 1446, 1448, 1502, - 1461, 1460, 1452, 1506, 1456, 1460, 1465, 1458, 2311, 1511, - 2311, 1460, 1513, 1455, 2311, 1458, 1468, 1512, 1460, 1475, + 1386, 1370, 1428, 1429, 1430, 1377, 1432, 1395, 1388, 1387, + 1381, 2335, 1398, 1385, 1384, 1440, 2335, 1381, 1399, 1448, + 1418, 1450, 1403, 2335, 2335, 1394, 1405, 1454, 2335, 2335, + 2335, 1400, 1405, 1403, 1453, 1411, 1416, 1404, 1408, 1406, + 1407, 2335, 1465, 1411, 1462, 1405, 1412, 1472, 1420, 1430, + 1431, 2335, 1476, 1430, 1474, 2335, 1432, 2335, 1423, 1438, + 1426, 2335, 1436, 1437, 1438, 1487, 1445, 2335, 1484, 1450, + 1426, 1444, 1445, 1454, 1436, 1442, 1444, 1498, 1457, 1456, + 1447, 1497, 1444, 1451, 1505, 1455, 1459, 1464, 1457, 2335, + 1510, 2335, 1459, 1512, 1454, 2335, 1457, 1467, 1511, 1459, - 1462, 1477, 1463, 1470, 1470, 1481, 2311, 1475, 1470, 1469, - 1529, 1482, 2311, 1526, 1477, 1474, 2311, 1488, 1475, 1491, - 1493, 1538, 1491, 1488, 1496, 1490, 2311, 1543, 1484, 1486, - 1502, 1495, 1485, 1501, 1502, 1496, 1512, 2311, 1502, 1554, - 1513, 2311, 1497, 1504, 1558, 1554, 2311, 1516, 2311, 1556, - 1518, 1519, 1504, 1505, 1513, 1567, 1515, 1564, 1565, 1520, - 1532, 1529, 1520, 1527, 2311, 1524, 1529, 1527, 1579, 1580, - 1528, 1538, 1525, 2311, 1540, 1541, 1542, 1543, 2311, 1533, - 1545, 1590, 1547, 1592, 1534, 1542, 1536, 1544, 1557, 2311, - 1534, 1594, 1555, 2311, 1559, 1544, 1544, 1559, 1552, 1551, + 1474, 1461, 1476, 1468, 1468, 1479, 2335, 1473, 1468, 1467, + 1527, 1480, 2335, 1524, 1475, 1472, 2335, 1486, 1473, 1489, + 1491, 1536, 1489, 1486, 1494, 1488, 2335, 1541, 1482, 1484, + 1500, 1493, 1483, 1499, 1500, 1494, 1510, 2335, 1500, 1552, + 1512, 1496, 1550, 1514, 2335, 1498, 1505, 1559, 1555, 2335, + 1517, 2335, 1557, 1519, 1520, 1505, 1506, 1514, 1568, 1516, + 1565, 1520, 1532, 1529, 1520, 1527, 2335, 1524, 1529, 1527, + 1579, 1580, 1528, 1538, 1525, 2335, 1540, 1541, 1542, 1543, + 2335, 1533, 1545, 1590, 1547, 1592, 1534, 1542, 1536, 1544, + 1557, 2335, 1558, 1539, 1546, 1537, 1597, 1558, 2335, 1562, - 1562, 1549, 2311, 1565, 1553, 1556, 1612, 1570, 1561, 1573, - 1564, 1573, 1575, 1579, 2311, 2311, 1572, 1562, 1622, 1565, - 1624, 1566, 1626, 1584, 1628, 2311, 1629, 2311, 1625, 1587, - 1584, 1589, 1576, 1635, 1578, 1583, 1574, 1639, 1592, 1593, - 1583, 1600, 1599, 1640, 1584, 1603, 1604, 2311, 1601, 1650, - 1607, 1608, 1653, 1610, 1613, 1600, 1609, 2311, 1658, 2311, - 1611, 2311, 1620, 2311, 2311, 1602, 1662, 1609, 1664, 1607, - 2311, 1626, 1667, 1626, 2311, 1617, 1607, 1666, 1632, 1625, - 1621, 1675, 1618, 1620, 1625, 2311, 1621, 1623, 2311, 1628, - 1638, 1623, 1632, 2311, 1633, 1627, 1639, 2311, 1635, 2311, + 1547, 1547, 1562, 1555, 1554, 1565, 1552, 2335, 1568, 1558, + 1614, 1572, 1563, 1575, 1566, 1575, 1577, 1581, 2335, 2335, + 1574, 1564, 1624, 1567, 1626, 1568, 1628, 1586, 1630, 2335, + 1631, 2335, 1627, 1589, 1586, 1591, 1578, 1586, 1597, 1594, + 1640, 1583, 1588, 1579, 1644, 1597, 1598, 1588, 1605, 1604, + 1645, 1589, 1608, 2335, 1605, 1654, 1611, 1612, 1657, 1614, + 1617, 1604, 1613, 2335, 1662, 2335, 1615, 2335, 1624, 2335, + 2335, 1606, 1666, 1613, 1668, 1611, 1670, 1618, 1667, 2335, + 1633, 1674, 1633, 2335, 1624, 1614, 1673, 1639, 1632, 1628, + 1682, 1626, 1631, 2335, 1627, 1629, 2335, 1634, 1644, 1629, - 1645, 1638, 2311, 1640, 1648, 1693, 1634, 1636, 1633, 1657, - 2311, 1644, 1651, 1654, 1643, 1697, 1644, 1652, 1661, 1662, - 1663, 1664, 1657, 1652, 1653, 1657, 1669, 1714, 2311, 1660, - 1672, 1717, 1666, 1668, 1666, 1721, 1674, 1661, 1676, 1681, - 1726, 1727, 1728, 1729, 1686, 1731, 1732, 1682, 1676, 2311, - 1692, 1736, 2311, 1693, 1678, 1696, 2311, 1687, 1701, 1697, - 1690, 2311, 2311, 2311, 2311, 1744, 2311, 2311, 1701, 1746, - 1707, 2311, 1748, 1690, 1750, 1705, 1704, 1705, 1695, 2311, - 1750, 2311, 1697, 2311, 1709, 2311, 1758, 1700, 1716, 1761, - 1722, 1719, 1711, 2311, 1761, 1710, 2311, 1722, 1715, 1770, + 1638, 2335, 1639, 1633, 1645, 2335, 1641, 2335, 1651, 2335, + 1652, 1642, 1646, 2335, 1648, 1656, 1701, 1642, 1644, 1641, + 1665, 2335, 1658, 1661, 1650, 1704, 1651, 1659, 1668, 1669, + 1670, 1671, 1664, 1659, 1660, 1660, 1666, 1666, 1678, 1723, + 2335, 1669, 1681, 1726, 1675, 1674, 1729, 1682, 1669, 1684, + 1689, 1734, 1735, 1736, 1737, 1694, 1739, 1740, 1741, 1688, + 1692, 1686, 2335, 1702, 1746, 2335, 1703, 1705, 2335, 1696, + 1710, 1706, 1699, 2335, 2335, 2335, 2335, 1753, 2335, 2335, + 2335, 1703, 1711, 1756, 1717, 2335, 1758, 1759, 1714, 1713, + 1714, 1704, 2335, 1764, 1760, 2335, 1707, 2335, 2335, 1767, - 1718, 1713, 1715, 1730, 1715, 2311, 1776, 1729, 1778, 1779, - 1727, 2311, 1729, 2311, 2311, 1723, 1739, 1784, 1785, 2311, - 2311, 2311, 1791, 1794, 1797, 1798, 1800, 1803, 1806, 1809 + 1709, 1725, 1770, 2335, 1731, 1728, 2335, 1769, 1718, 2335, + 1730, 1723, 1778, 1720, 1722, 1737, 1722, 2335, 1735, 1784, + 1785, 1733, 1735, 2335, 2335, 1729, 1745, 1790, 1791, 2335, + 2335, 2335, 1797, 1802, 1807, 1812, 1817, 1822, 1827, 1830, + 1804, 1809, 1811, 1824 } ; -static const flex_int16_t yy_def[1931] = +static const flex_int16_t yy_def[1945] = { 0, - 1923, 1923, 1924, 1924, 1923, 1923, 1923, 1923, 1923, 1923, - 1922, 1922, 1922, 1922, 1922, 1925, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1926, - 1922, 1922, 1922, 1927, 15, 1922, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1928, 45, 45, 45, + 1933, 1933, 1934, 1934, 1933, 1933, 1933, 1933, 1933, 1933, + 1932, 1932, 1932, 1932, 1932, 1935, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1936, + 1932, 1932, 1932, 1937, 15, 1932, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1938, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1925, 1922, 1922, - 1922, 1922, 1922, 1922, 1929, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1926, 1922, 1927, 1922, + 45, 45, 45, 45, 45, 45, 45, 1935, 1932, 1932, + 1932, 1932, 1932, 1932, 1939, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1936, 1932, 1937, 1932, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1930, 45, 1928, 45, 45, 45, 45, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1940, 45, 1938, 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, 1929, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 45, 45, 1922, 45, 45, 1922, 45, 45, 45, + 45, 45, 1939, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1941, 45, 45, 1932, 45, 45, 1932, 45, 45, - 45, 45, 45, 1930, 1922, 1922, 115, 45, 45, 45, + 45, 45, 45, 45, 1940, 1932, 1938, 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, 1922, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 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, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 45, 45, 45, 45, 1922, 45, 1922, - 45, 1922, 45, 115, 1922, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1942, 45, 45, 45, 45, 1932, 45, + 1932, 45, 1932, 45, 1938, 1932, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 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, 1922, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1932, 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, 1922, 1922, 1922, 45, 45, 45, 1922, 45, 1922, - 45, 115, 45, 45, 45, 45, 45, 45, 1922, 45, - 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 45, 45, + 45, 45, 1932, 1932, 1932, 1943, 45, 45, 45, 1932, + 45, 1932, 45, 1938, 45, 45, 45, 45, 45, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1922, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 45, 1932, 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, 1922, 45, 1922, 1922, 45, - 1922, 45, 45, 1922, 45, 1922, 1922, 1922, 45, 45, - 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 1932, + 1932, 45, 1932, 45, 45, 1932, 1944, 45, 1932, 1932, + 1932, 45, 45, 45, 1932, 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, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 1922, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 1922, 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, 1922, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1922, 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, 1922, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 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, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 1922, 45, - 45, 45, 45, 45, 45, 45, 1922, 1922, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1922, 45, 1922, 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, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, - 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1922, 1922, 45, 45, 45, 1922, 45, 45, 45, 45, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 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, 1922, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1932, 1932, 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, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 1922, 1922, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 1922, 45, - 1922, 45, 1922, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 1922, 1922, - 45, 1922, 45, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 45, 45, 45, 45, 1922, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 45, 45, - 45, 45, 45, 45, 1922, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 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, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 1932, + 45, 45, 45, 45, 45, 45, 45, 1932, 1932, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1932, 45, 1932, 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, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1922, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 45, 1922, 45, 1922, 45, 1922, 1922, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 1922, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, + 1932, 1932, 45, 45, 45, 1932, 45, 45, 45, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1922, 45, 1922, 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, 1932, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 1922, 45, 1922, - 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, - 1922, 1922, 45, 45, 1922, 45, 45, 45, 45, 45, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1922, 45, 45, 45, 1922, 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, 1932, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1932, 45, 45, 1932, 1932, 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, 1932, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1932, 1932, 45, 1932, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 1932, 45, 45, 45, 45, 45, 1932, 1932, 45, 1932, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 1932, 1932, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 1932, 45, 1932, 45, 1932, 1932, 45, 45, 45, 1932, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 1932, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 1932, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 1932, 45, 1932, 45, 1932, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 45, 45, 45, 45, 45, 1932, 1932, 45, 45, + 1932, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 1932, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 1932, 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, 1922, 45, 45, 45, 45, 1922, 45, 45, - 45, 45, 45, 45, 1922, 1922, 45, 45, 45, 1922, - 1922, 1922, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 1922, 45, 1922, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 1922, + 45, 1932, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 1932, 1932, 45, 45, 45, 1932, 1932, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 45, 45, 45, 1932, 45, 1932, 45, 45, + 45, 1932, 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, - 1922, 45, 45, 45, 1922, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 45, 1932, 45, 45, 45, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 1922, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1922, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 45, 45, - 45, 1922, 45, 45, 45, 45, 1922, 45, 1922, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 1932, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 1932, 45, 45, 45, 45, 1932, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1932, 45, 45, 45, 45, 45, 45, 1932, 45, + + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1932, 1932, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1922, 45, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 45, 45, 1922, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 45, 45, 1922, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 1932, 45, 1932, 45, 1932, + 1932, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1932, 45, 45, 1932, 45, 45, 45, - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1922, 1922, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 1922, 45, 45, + 45, 1932, 45, 45, 45, 1932, 45, 1932, 45, 1932, + 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 1932, 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, 1922, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1922, 45, 1922, - 45, 1922, 45, 1922, 1922, 45, 45, 45, 45, 45, - 1922, 45, 45, 45, 1922, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 1922, 45, - 45, 45, 45, 1922, 45, 45, 45, 1922, 45, 1922, - - 45, 45, 1922, 45, 45, 45, 45, 45, 45, 45, - 1922, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1922, 45, + 1932, 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, 1922, - 45, 45, 1922, 45, 45, 45, 1922, 45, 45, 45, - 45, 1922, 1922, 1922, 1922, 45, 1922, 1922, 45, 45, - 45, 1922, 45, 45, 45, 45, 45, 45, 45, 1922, - 45, 1922, 45, 1922, 45, 1922, 45, 45, 45, 45, - 45, 45, 45, 1922, 45, 45, 1922, 45, 45, 45, + 45, 45, 1932, 45, 45, 1932, 45, 45, 1932, 45, + 45, 45, 45, 1932, 1932, 1932, 1932, 45, 1932, 1932, + 1932, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 45, 45, 1932, 45, 45, 1932, 45, 1932, 1932, 45, - 45, 45, 45, 45, 45, 1922, 45, 45, 45, 45, - 45, 1922, 45, 1922, 1922, 45, 45, 45, 45, 1922, - 1922, 0, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922 + 45, 45, 45, 1932, 45, 45, 1932, 45, 45, 1932, + 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 1932, 1932, 45, 45, 45, 45, 1932, + 1932, 0, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932 } ; -static const flex_int16_t yy_nxt[2385] = +static const flex_int16_t yy_nxt[2409] = { 0, - 1922, 13, 14, 13, 1922, 15, 16, 1922, 17, 18, + 1932, 13, 14, 13, 1932, 15, 16, 1932, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 764, 37, 14, 37, 85, 25, 26, 38, 100, - 1922, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 196, 30, 13, 14, 13, 89, 90, 25, + 84, 766, 37, 14, 37, 85, 25, 26, 38, 100, + 1932, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 197, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 765, 13, 14, 13, 33, 40, 101, 90, 91, 196, + 767, 13, 14, 13, 33, 40, 101, 90, 91, 197, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 102, 25, 26, 13, 14, 13, 27, 39, 42, 105, 42, 28, 42, 106, 42, 41, 29, 108, 30, 111, 112, 92, 134, - 41, 25, 31, 102, 135, 364, 87, 136, 87, 105, + 41, 25, 31, 102, 135, 365, 87, 136, 87, 105, 32, 88, 88, 88, 88, 88, 33, 108, 106, 111, - 849, 112, 365, 34, 35, 44, 44, 44, 45, 45, + 850, 112, 366, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 48, 49, 50, 45, 51, 52, 53, 45, 45, 45, @@ -1417,256 +1422,259 @@ static const flex_int16_t yy_nxt[2385] = 58, 45, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 56, 45, 45, 45, 45, 45, 79, 850, + 76, 77, 56, 45, 45, 45, 45, 45, 79, 851, 80, 80, 80, 80, 80, 79, 102, 82, 82, 82, - 82, 82, 203, 81, 83, 83, 83, 83, 83, 79, + 82, 82, 204, 81, 83, 83, 83, 83, 83, 79, 81, 82, 82, 82, 82, 82, 105, 81, 118, 164, - 109, 129, 116, 165, 81, 203, 81, 200, 117, 119, - 110, 130, 120, 81, 121, 132, 122, 197, 184, 105, - 81, 185, 133, 109, 851, 233, 404, 81, 45, 405, - 131, 45, 45, 45, 200, 45, 45, 45, 110, 114, - 137, 234, 45, 45, 184, 45, 45, 185, 198, 184, + 109, 129, 116, 165, 81, 204, 81, 201, 117, 119, + 110, 130, 120, 81, 121, 132, 122, 198, 184, 105, + 81, 185, 133, 109, 852, 233, 405, 81, 45, 406, + 131, 45, 45, 45, 201, 45, 45, 45, 110, 114, + 137, 234, 45, 45, 184, 45, 45, 185, 199, 184, 138, 45, 139, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 123, 187, 45, 124, 125, 185, 45, 126, 127, 145, 45, 141, 142, 146, 294, 143, - 108, 147, 45, 852, 128, 144, 45, 186, 45, 115, - 153, 186, 295, 148, 111, 188, 195, 149, 154, 150, - 155, 151, 853, 152, 158, 156, 157, 159, 160, 166, + 108, 147, 45, 853, 128, 144, 45, 186, 45, 115, + 153, 186, 295, 148, 111, 188, 196, 149, 154, 150, + 155, 151, 854, 152, 158, 156, 157, 159, 160, 166, 173, 174, 228, 167, 229, 186, 168, 111, 161, 189, - 109, 162, 195, 169, 170, 202, 251, 180, 171, 172, + 109, 162, 196, 169, 170, 203, 251, 180, 171, 172, 110, 230, 181, 83, 83, 83, 83, 83, 88, 88, 88, 88, 88, 175, 242, 176, 81, 252, 177, 178, - 100, 79, 202, 80, 80, 80, 80, 80, 110, 83, - 83, 83, 83, 83, 99, 179, 81, 309, 87, 81, - 87, 99, 81, 88, 88, 88, 88, 88, 79, 192, - 82, 82, 82, 82, 82, 199, 201, 101, 243, 81, - 309, 192, 199, 81, 215, 81, 88, 88, 88, 88, - 88, 99, 211, 216, 217, 99, 275, 192, 208, 99, - 276, 212, 200, 199, 201, 213, 81, 99, 231, 209, - 259, 99, 307, 99, 99, 206, 278, 554, 222, 223, - 555, 232, 307, 207, 207, 207, 207, 207, 224, 299, + 100, 79, 203, 80, 80, 80, 80, 80, 110, 83, + 83, 83, 83, 83, 99, 179, 81, 855, 87, 81, + 87, 99, 81, 88, 88, 88, 88, 88, 79, 193, + 82, 82, 82, 82, 82, 200, 202, 101, 243, 81, + 200, 193, 856, 81, 215, 81, 88, 88, 88, 88, + 88, 99, 211, 216, 217, 99, 275, 193, 208, 99, + 276, 212, 508, 200, 202, 213, 81, 99, 259, 209, + 231, 99, 509, 99, 192, 207, 207, 207, 207, 207, + 222, 223, 278, 232, 207, 207, 207, 207, 207, 207, - 372, 265, 207, 207, 207, 207, 207, 207, 237, 271, - 307, 238, 272, 273, 308, 239, 266, 267, 268, 308, - 310, 279, 280, 281, 309, 207, 207, 207, 207, 207, - 207, 314, 282, 316, 283, 317, 284, 285, 288, 286, - 308, 319, 289, 321, 323, 311, 290, 312, 385, 854, - 413, 855, 463, 373, 314, 314, 374, 319, 464, 435, - 320, 316, 317, 414, 319, 424, 321, 432, 432, 439, - 435, 323, 324, 324, 324, 324, 324, 437, 326, 334, - 381, 324, 324, 324, 324, 324, 324, 335, 435, 457, - 432, 433, 336, 337, 458, 520, 501, 439, 386, 443, + 224, 237, 271, 288, 238, 272, 273, 289, 239, 265, + 201, 290, 309, 307, 857, 373, 307, 207, 207, 207, + 207, 207, 207, 308, 266, 267, 268, 279, 280, 281, + 308, 309, 315, 317, 320, 309, 318, 299, 282, 322, + 283, 307, 284, 285, 310, 286, 324, 315, 386, 308, + 858, 335, 859, 414, 312, 315, 311, 320, 320, 336, + 437, 317, 322, 318, 337, 338, 415, 321, 374, 433, + 327, 375, 425, 324, 325, 325, 325, 325, 325, 433, + 439, 382, 456, 325, 325, 325, 325, 325, 325, 437, + 441, 459, 433, 860, 465, 437, 460, 441, 387, 457, - 437, 454, 502, 439, 324, 324, 324, 324, 324, 324, - 442, 442, 442, 442, 442, 742, 743, 856, 455, 442, - 442, 442, 442, 442, 442, 478, 494, 495, 496, 506, - 479, 508, 497, 524, 533, 565, 538, 525, 534, 507, - 539, 565, 442, 442, 442, 442, 442, 442, 569, 561, - 570, 627, 594, 521, 562, 604, 585, 664, 857, 858, - 605, 628, 665, 565, 586, 595, 587, 588, 589, 571, - 590, 691, 692, 693, 695, 569, 694, 570, 480, 713, - 802, 696, 714, 481, 45, 45, 45, 45, 45, 813, - 859, 860, 803, 45, 45, 45, 45, 45, 45, 692, + 466, 522, 434, 439, 861, 630, 325, 325, 325, 325, + 325, 325, 480, 556, 597, 631, 557, 481, 441, 444, + 444, 444, 444, 444, 445, 510, 862, 598, 444, 444, + 444, 444, 444, 444, 496, 497, 498, 503, 526, 568, + 499, 535, 527, 504, 540, 536, 863, 572, 541, 573, + 864, 444, 444, 444, 444, 444, 444, 563, 607, 523, + 865, 588, 564, 608, 568, 482, 696, 568, 695, 589, + 483, 590, 591, 592, 572, 593, 573, 45, 45, 45, + 45, 45, 744, 745, 815, 866, 45, 45, 45, 45, + 45, 45, 574, 667, 696, 695, 694, 698, 668, 814, - 775, 693, 812, 821, 822, 776, 823, 844, 861, 862, - 863, 845, 813, 864, 865, 846, 45, 45, 45, 45, - 45, 45, 866, 867, 868, 869, 870, 871, 872, 873, - 812, 875, 874, 876, 877, 878, 879, 880, 881, 882, - 883, 884, 885, 886, 777, 887, 888, 889, 890, 891, - 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, - 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, - 912, 913, 914, 915, 917, 918, 921, 922, 923, 925, - 916, 926, 919, 927, 924, 928, 920, 929, 930, 931, - 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, + 777, 697, 867, 804, 699, 778, 868, 815, 869, 45, + 45, 45, 45, 45, 45, 805, 823, 824, 845, 825, + 870, 871, 846, 872, 873, 874, 847, 814, 875, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 779, 891, 892, 893, 894, 895, + 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, + 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, + 916, 918, 919, 922, 923, 924, 926, 917, 927, 920, + 928, 925, 929, 921, 930, 931, 932, 933, 934, 935, + 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, - 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, - 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, - 962, 963, 964, 937, 965, 966, 967, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 979, 981, - 982, 983, 984, 980, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1005, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1041, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 938, 966, 967, 968, 969, 970, 971, 972, 973, 974, + 975, 976, 977, 978, 979, 981, 982, 983, 984, 980, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1006, 1007, 1008, 1005, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, + 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1037, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, - 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1055, 1078, 1079, - 1054, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, - 1099, 1102, 1103, 1104, 1105, 1100, 1106, 1107, 1108, 1109, - 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, - 1120, 1121, 1122, 1123, 1124, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1125, 1136, 1137, 1138, 1139, + 1046, 1047, 1048, 1037, 1049, 1050, 1051, 1052, 1053, 1054, + 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + 1075, 1076, 1077, 1055, 1078, 1079, 1054, 1080, 1081, 1082, + 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, + 1093, 1094, 1095, 1096, 1097, 1098, 1101, 1102, 1103, 1104, + 1099, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, + 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, + 1124, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1101, 1158, - 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, 1167, - 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, - 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, - 1189, 1190, 1191, 1192, 1193, 1166, 1167, 1194, 1195, 1196, - 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, - 1207, 1208, 1209, 1210, 1211, 1213, 1215, 1216, 1217, 1212, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1100, 1157, 1158, 1159, 1160, 1161, 1162, + 1163, 1164, 1165, 1167, 1166, 1168, 1169, 1170, 1171, 1172, + 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, + 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, + 1165, 1166, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, + 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, + 1213, 1214, 1215, 1210, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, + 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, - 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1214, - 1257, 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, 1283, 1284, 1285, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1274, 1297, 1298, 1299, 1300, 1301, 1275, 1302, 1303, 1304, - 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, - 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, - 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1212, 1255, 1256, 1257, 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, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, + 1291, 1292, 1293, 1294, 1272, 1295, 1296, 1297, 1298, 1299, + 1273, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, + 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, - 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, - 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1353, 1354, 1355, - 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, - 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1375, 1376, - 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - 1368, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1352, - 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, 1374, 1417, 1418, 1419, 1420, 1421, 1422, 1416, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, + 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, + 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + 1391, 1392, 1393, 1365, 1394, 1395, 1396, 1397, 1398, 1399, + 1400, 1401, 1349, 1402, 1403, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1413, 1371, 1414, 1415, 1416, 1417, 1418, + 1412, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, + 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, - 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, - 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, - 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, - 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1474, 1452, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, - 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, + 1439, 1440, 1441, 1442, 1438, 1443, 1444, 1445, 1446, 1447, + 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 1470, 1471, 1449, 1472, 1473, 1474, 1475, 1476, + 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, + 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, + 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, + 1507, 1508, 1509, 1512, 1510, 1513, 1514, 1515, 1516, 1517, + 1511, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, + 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1535, 1536, 1537, - 1533, 1534, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 1544, 1545, 1535, 1546, 1547, 1548, 1522, 1549, 1550, 1551, - 1552, 1553, 1554, 1556, 1557, 1558, 1559, 1560, 1561, 1562, - 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, - 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, - 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1605, 1606, 1607, 1609, 1610, 1611, 1612, 1608, - 1555, 1613, 1614, 1615, 1616, 1590, 1617, 1618, 1619, 1620, - 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1534, 1545, 1546, + 1547, 1521, 1548, 1549, 1550, 1551, 1552, 1554, 1555, 1556, + 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, + 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, + 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, + 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, + 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + 1607, 1609, 1610, 1611, 1553, 1608, 1612, 1613, 1614, 1615, + 1616, 1617, 1591, 1618, 1619, 1620, 1621, 1622, 1623, 1624, + 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, - 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, - 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, - 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, - 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, - 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, - 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, - 1701, 1702, 1703, 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, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, + 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, + 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 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, - 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, - 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, - 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, - 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, - 1771, 1772, 1773, 1774, 1775, 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, 1807, 1808, 1809, 1810, - 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, - 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, + 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, + 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, + 1775, 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, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, + 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, + 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, - 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, 1858, 1859, 1860, - 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, - 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, - 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, - 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1900, 1899, - 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, - 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, - 1921, 12, 12, 12, 36, 36, 36, 78, 97, 78, + 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, + 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, + 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, + 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, + 1875, 1876, 1877, 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, 1913, 1912, 1914, + 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, + 1925, 1926, 1927, 1928, 1929, 1930, 1931, 12, 12, 12, - 99, 99, 99, 113, 113, 113, 183, 848, 183, 204, - 204, 204, 847, 843, 842, 841, 840, 839, 838, 837, - 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, - 826, 825, 824, 820, 819, 818, 817, 816, 815, 814, - 811, 810, 809, 808, 807, 806, 805, 804, 801, 800, - 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, - 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, - 779, 778, 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, 746, 745, + 12, 12, 36, 36, 36, 36, 36, 78, 314, 78, + 78, 78, 97, 436, 97, 567, 97, 99, 99, 99, + 99, 99, 113, 113, 113, 113, 113, 183, 99, 183, + 183, 183, 205, 205, 205, 849, 848, 844, 843, 842, + 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, + 831, 830, 829, 828, 827, 826, 822, 821, 820, 819, + 818, 817, 816, 813, 812, 811, 810, 809, 808, 807, + 806, 803, 802, 801, 800, 799, 798, 797, 796, 795, + 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, + 784, 783, 782, 781, 780, 776, 775, 774, 773, 772, - 744, 741, 740, 739, 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, 691, 690, 689, 688, 687, 686, - 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, - 675, 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, - 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, + 771, 770, 769, 768, 765, 764, 763, 762, 761, 760, + 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, + 749, 748, 747, 746, 743, 742, 741, 740, 739, 738, + 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, + 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, + 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, + 707, 706, 705, 704, 703, 702, 701, 700, 694, 693, + 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, + 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, + 672, 671, 670, 669, 666, 665, 664, 663, 662, 661, - 633, 632, 631, 630, 629, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, - 611, 610, 609, 608, 607, 606, 603, 602, 601, 600, - 599, 598, 597, 596, 593, 592, 591, 584, 583, 582, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 568, 567, 566, 564, 563, 560, 559, 558, 557, 556, - 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, - 543, 542, 541, 540, 537, 536, 535, 532, 531, 530, - 529, 528, 527, 526, 523, 522, 519, 518, 517, 516, - 515, 514, 513, 512, 511, 510, 509, 505, 504, 503, + 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, + 640, 639, 638, 637, 636, 635, 634, 633, 632, 629, + 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, + 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, + 606, 605, 604, 603, 602, 601, 600, 599, 596, 595, + 594, 587, 586, 585, 584, 583, 582, 581, 580, 579, + 578, 577, 576, 575, 571, 570, 569, 566, 565, 562, + 561, 560, 559, 558, 555, 554, 553, 552, 551, 550, + 549, 548, 547, 546, 545, 544, 543, 542, 539, 538, - 500, 499, 498, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 477, 476, 475, 474, 473, - 472, 471, 470, 469, 468, 467, 466, 465, 462, 461, - 460, 459, 456, 453, 452, 451, 450, 449, 448, 447, - 446, 445, 444, 441, 440, 438, 436, 434, 431, 430, - 429, 428, 427, 426, 425, 423, 422, 421, 420, 419, - 418, 417, 416, 415, 412, 411, 410, 409, 408, 407, - 406, 403, 402, 401, 400, 399, 398, 397, 396, 395, - 394, 393, 392, 391, 390, 389, 388, 387, 384, 383, - 382, 380, 379, 378, 377, 376, 375, 371, 370, 369, + 537, 534, 533, 532, 531, 530, 529, 528, 525, 524, + 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, + 511, 507, 506, 505, 502, 501, 500, 495, 494, 493, + 492, 491, 490, 489, 488, 487, 486, 485, 484, 479, + 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, + 468, 467, 464, 463, 462, 461, 458, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 443, 442, 440, + 438, 435, 432, 431, 430, 429, 428, 427, 426, 424, + 423, 422, 421, 420, 419, 418, 417, 416, 413, 412, + 411, 410, 409, 408, 407, 404, 403, 402, 401, 400, - 368, 367, 366, 363, 362, 361, 360, 359, 358, 357, - 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, - 346, 345, 344, 343, 342, 341, 340, 339, 338, 333, - 332, 331, 330, 329, 328, 327, 325, 205, 322, 320, - 318, 315, 313, 306, 305, 304, 303, 302, 301, 300, - 298, 297, 296, 293, 292, 291, 287, 277, 274, 270, - 269, 264, 263, 262, 261, 260, 258, 257, 256, 255, - 254, 253, 250, 249, 248, 247, 246, 245, 244, 241, - 240, 236, 235, 227, 226, 225, 221, 220, 219, 218, - 214, 210, 205, 194, 193, 191, 190, 182, 163, 140, + 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, + 389, 388, 385, 384, 383, 381, 380, 379, 378, 377, + 376, 372, 371, 370, 369, 368, 367, 364, 363, 362, + 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, + 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, + 341, 340, 339, 334, 333, 332, 331, 330, 329, 328, + 326, 206, 323, 321, 319, 316, 313, 306, 305, 304, + 303, 302, 301, 300, 298, 297, 296, 293, 292, 291, + 287, 277, 274, 270, 269, 264, 263, 262, 261, 260, + 258, 257, 256, 255, 254, 253, 250, 249, 248, 247, - 107, 104, 103, 43, 98, 96, 95, 86, 43, 1922, - 11, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922 + 246, 245, 244, 241, 240, 236, 235, 227, 226, 225, + 221, 220, 219, 218, 214, 210, 206, 195, 194, 191, + 190, 182, 163, 140, 107, 104, 103, 43, 98, 96, + 95, 86, 43, 1932, 11, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932 } ; -static const flex_int16_t yy_chk[2385] = +static const flex_int16_t yy_chk[2409] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 643, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 646, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 643, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 646, 8, 8, 8, 1, 8, 44, 27, 28, 106, 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, 47, 2, 2, @@ -1675,7 +1683,7 @@ static const flex_int16_t yy_chk[2385] = 51, 42, 9, 2, 53, 2, 55, 56, 31, 64, 10, 2, 2, 47, 64, 245, 25, 64, 25, 50, 2, 25, 25, 25, 25, 25, 2, 53, 51, 55, - 725, 56, 245, 2, 2, 15, 15, 15, 15, 15, + 727, 56, 245, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1683,13 +1691,13 @@ static const flex_int16_t yy_chk[2385] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 17, 726, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 728, 17, 17, 17, 17, 17, 19, 58, 19, 19, 19, 19, 19, 112, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 62, 20, 59, 73, 54, 61, 58, 73, 22, 112, 17, 109, 58, 59, 54, 61, 59, 19, 59, 63, 59, 107, 89, 62, - 20, 90, 63, 54, 727, 131, 281, 22, 45, 281, + 20, 90, 63, 54, 729, 131, 281, 22, 45, 281, 62, 45, 45, 45, 109, 45, 45, 45, 54, 57, 65, 131, 45, 45, 89, 45, 57, 90, 107, 92, @@ -1697,231 +1705,234 @@ static const flex_int16_t yy_chk[2385] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 92, 57, 60, 60, 93, 57, 60, 60, 68, 57, 67, 67, 68, 171, 67, - 69, 68, 57, 728, 60, 67, 57, 91, 57, 57, + 69, 68, 57, 730, 60, 67, 57, 91, 57, 57, 70, 94, 171, 68, 76, 93, 105, 68, 70, 69, - 70, 69, 729, 69, 71, 70, 70, 71, 71, 74, + 70, 69, 731, 69, 71, 70, 70, 71, 71, 74, 75, 75, 129, 74, 129, 91, 74, 76, 71, 94, 75, 71, 105, 74, 74, 111, 145, 76, 74, 74, 75, 129, 76, 79, 79, 79, 79, 79, 87, 87, 87, 87, 87, 75, 137, 75, 79, 145, 75, 75, 99, 80, 111, 80, 80, 80, 80, 80, 75, 83, - 83, 83, 83, 83, 101, 75, 80, 186, 81, 79, + 83, 83, 83, 83, 101, 75, 80, 733, 81, 79, 81, 101, 83, 81, 81, 81, 81, 81, 82, 102, 82, 82, 82, 82, 82, 108, 110, 99, 137, 80, - 186, 116, 152, 82, 120, 83, 88, 88, 88, 88, + 152, 116, 734, 82, 120, 83, 88, 88, 88, 88, 88, 101, 118, 120, 120, 101, 163, 102, 116, 101, - 163, 118, 175, 108, 110, 118, 82, 101, 130, 116, - 152, 101, 184, 101, 101, 115, 165, 424, 125, 125, - 424, 130, 187, 115, 115, 115, 115, 115, 125, 175, + 163, 118, 381, 108, 110, 118, 82, 101, 152, 116, + 130, 101, 381, 101, 101, 115, 115, 115, 115, 115, + 125, 125, 165, 130, 115, 115, 115, 115, 115, 115, - 252, 158, 115, 115, 115, 115, 115, 115, 134, 161, - 184, 134, 161, 161, 185, 134, 158, 158, 158, 188, - 187, 165, 165, 165, 189, 115, 115, 115, 115, 115, - 115, 192, 165, 195, 165, 196, 165, 165, 167, 165, - 185, 199, 167, 201, 203, 188, 167, 189, 263, 731, - 289, 732, 345, 252, 192, 209, 252, 259, 345, 314, - 299, 195, 196, 289, 199, 299, 201, 307, 310, 319, - 326, 203, 207, 207, 207, 207, 207, 316, 209, 217, - 259, 207, 207, 207, 207, 207, 207, 217, 314, 340, - 307, 310, 217, 217, 340, 394, 376, 319, 263, 326, + 125, 134, 161, 167, 134, 161, 161, 167, 134, 158, + 175, 167, 186, 184, 735, 252, 187, 115, 115, 115, + 115, 115, 115, 185, 158, 158, 158, 165, 165, 165, + 188, 189, 193, 196, 200, 186, 197, 175, 165, 202, + 165, 184, 165, 165, 187, 165, 204, 209, 263, 185, + 736, 217, 737, 289, 189, 193, 188, 200, 259, 217, + 315, 196, 202, 197, 217, 217, 289, 299, 252, 307, + 209, 252, 299, 204, 207, 207, 207, 207, 207, 310, + 317, 259, 338, 207, 207, 207, 207, 207, 207, 315, + 320, 341, 307, 738, 346, 327, 341, 382, 263, 338, - 316, 337, 376, 381, 207, 207, 207, 207, 207, 207, - 324, 324, 324, 324, 324, 620, 620, 733, 337, 324, - 324, 324, 324, 324, 324, 359, 372, 372, 372, 380, - 359, 381, 372, 397, 405, 435, 409, 397, 405, 380, - 409, 443, 324, 324, 324, 324, 324, 324, 441, 430, - 441, 496, 463, 394, 430, 473, 459, 535, 734, 735, - 473, 496, 535, 435, 459, 463, 459, 459, 459, 443, - 459, 571, 569, 570, 573, 441, 571, 441, 359, 590, - 681, 573, 590, 359, 442, 442, 442, 442, 442, 693, - 736, 737, 681, 442, 442, 442, 442, 442, 442, 569, + 346, 395, 310, 317, 739, 498, 207, 207, 207, 207, + 207, 207, 360, 425, 465, 498, 425, 360, 320, 325, + 325, 325, 325, 325, 327, 382, 740, 465, 325, 325, + 325, 325, 325, 325, 373, 373, 373, 377, 398, 437, + 373, 406, 398, 377, 410, 406, 741, 443, 410, 443, + 742, 325, 325, 325, 325, 325, 325, 431, 475, 395, + 743, 461, 431, 475, 445, 360, 573, 437, 572, 461, + 360, 461, 461, 461, 443, 461, 443, 444, 444, 444, + 444, 444, 623, 623, 696, 744, 444, 444, 444, 444, + 444, 444, 445, 537, 573, 572, 574, 576, 537, 695, - 654, 570, 692, 701, 701, 654, 701, 722, 738, 739, - 740, 722, 693, 741, 742, 722, 442, 442, 442, 442, - 442, 442, 743, 744, 745, 746, 747, 748, 749, 750, - 692, 751, 750, 752, 753, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 654, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, - 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, - 794, 801, 796, 803, 799, 804, 796, 805, 806, 807, - 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, + 657, 574, 745, 684, 576, 657, 746, 696, 747, 444, + 444, 444, 444, 444, 444, 684, 704, 704, 724, 704, + 748, 749, 724, 750, 751, 752, 724, 695, 752, 753, + 754, 755, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 767, 768, 769, 657, 770, 771, 772, 773, 774, + 775, 776, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 796, 803, 798, + 805, 801, 806, 798, 807, 808, 809, 810, 811, 812, + 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, - 818, 819, 821, 822, 823, 824, 825, 826, 827, 828, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, - 839, 840, 841, 813, 842, 843, 844, 845, 846, 847, - 848, 849, 850, 852, 853, 854, 855, 856, 857, 858, - 859, 860, 861, 857, 862, 863, 864, 865, 866, 867, - 870, 871, 872, 873, 874, 875, 876, 879, 880, 881, - 882, 883, 884, 885, 886, 887, 888, 885, 889, 890, - 891, 893, 895, 896, 897, 898, 899, 900, 901, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, - 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, + 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, + 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, + 815, 844, 845, 846, 847, 848, 849, 850, 851, 853, + 854, 855, 856, 857, 858, 859, 860, 861, 862, 858, + 863, 864, 865, 866, 867, 868, 871, 872, 873, 874, + 875, 876, 877, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 886, 890, 891, 892, 894, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, + 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - 923, 924, 925, 926, 928, 929, 930, 918, 931, 932, - 933, 934, 935, 936, 937, 938, 939, 940, 941, 943, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, - 954, 955, 956, 957, 958, 959, 960, 937, 961, 962, - 936, 963, 964, 965, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 980, 981, 982, 983, - 984, 985, 986, 988, 989, 984, 990, 991, 992, 993, - 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1013, 1014, 1015, - 1017, 1018, 1019, 1020, 1022, 1008, 1023, 1024, 1025, 1026, + 929, 930, 931, 919, 932, 933, 934, 935, 936, 937, + 938, 939, 940, 941, 942, 944, 945, 946, 947, 948, + 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, + 959, 960, 961, 938, 962, 963, 937, 964, 965, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 980, 981, 982, 983, 984, 985, 986, 988, 989, + 984, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1010, 1013, 1014, 1015, 1017, 1018, 1019, 1020, 1022, + 1008, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, - 1037, 1038, 1039, 1041, 1042, 1043, 1044, 1045, 984, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1055, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - 1077, 1078, 1079, 1081, 1082, 1054, 1055, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1101, - 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1042, + 1043, 1044, 1045, 984, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1056, 1055, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1081, 1082, + 1054, 1055, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1101, + 1102, 1103, 1104, 1100, 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, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1135, 1136, - 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1102, - 1147, 1148, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, - 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, - 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, - 1179, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1190, - 1166, 1191, 1192, 1193, 1194, 1195, 1167, 1196, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1210, - 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 1230, 1231, 1232, 1234, + 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 1101, 1146, 1147, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, + 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, + 1174, 1175, 1176, 1177, 1178, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 1188, 1189, 1165, 1190, 1191, 1192, 1193, 1194, + 1166, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, + 1204, 1205, 1208, 1210, 1212, 1213, 1214, 1215, 1216, 1217, + 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1228, + 1229, 1230, 1232, 1233, 1234, 1235, 1236, 1239, 1241, 1243, - 1235, 1236, 1237, 1238, 1241, 1243, 1245, 1246, 1247, 1248, - 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1261, 1262, 1263, 1264, 1265, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, - 1283, 1284, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, - 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1304, - 1274, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1255, - 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, - 1324, 1280, 1325, 1326, 1327, 1328, 1329, 1330, 1324, 1331, - 1332, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, + 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, + 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1301, 1302, 1272, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1253, 1311, 1312, 1313, 1314, 1315, 1316, 1317, + 1319, 1320, 1321, 1322, 1278, 1323, 1324, 1325, 1326, 1327, + 1321, 1328, 1329, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1339, 1340, 1341, 1342, 1343, 1345, 1346, 1347, 1348, 1349, - 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353, 1355, - 1357, 1360, 1361, 1362, 1364, 1365, 1366, 1367, 1368, 1370, - 1371, 1372, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, - 1393, 1368, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, - 1403, 1404, 1405, 1407, 1409, 1411, 1413, 1414, 1415, 1416, - 1417, 1418, 1419, 1420, 1421, 1422, 1424, 1425, 1426, 1427, - 1428, 1429, 1430, 1433, 1434, 1436, 1437, 1438, 1439, 1440, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1451, 1452, - 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, + 1350, 1352, 1354, 1357, 1349, 1358, 1359, 1361, 1362, 1363, + 1364, 1365, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, + 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, + 1386, 1387, 1389, 1391, 1365, 1392, 1393, 1394, 1395, 1396, + 1397, 1398, 1399, 1400, 1401, 1403, 1405, 1407, 1409, 1410, + 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1420, 1421, + 1422, 1423, 1424, 1425, 1426, 1429, 1430, 1432, 1433, 1434, + 1435, 1436, 1438, 1439, 1438, 1440, 1441, 1442, 1443, 1444, + 1438, 1445, 1446, 1448, 1449, 1451, 1452, 1453, 1454, 1455, + 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, - 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1473, 1474, - 1475, 1477, 1465, 1478, 1479, 1480, 1452, 1481, 1482, 1483, - 1484, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1523, 1524, - 1527, 1528, 1529, 1533, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1542, 1543, 1545, 1546, 1547, 1548, 1549, 1545, - 1485, 1550, 1551, 1552, 1553, 1522, 1555, 1556, 1557, 1559, - 1561, 1562, 1563, 1565, 1566, 1567, 1568, 1569, 1571, 1572, + 1466, 1467, 1469, 1470, 1471, 1473, 1474, 1462, 1475, 1476, + 1477, 1449, 1478, 1479, 1480, 1480, 1481, 1482, 1483, 1484, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, + 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1513, 1514, 1515, + 1516, 1518, 1519, 1520, 1521, 1522, 1523, 1526, 1527, 1528, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1543, 1544, 1545, 1546, 1481, 1543, 1547, 1548, 1549, 1550, + 1551, 1553, 1521, 1554, 1555, 1557, 1559, 1560, 1561, 1563, + 1564, 1565, 1566, 1567, 1569, 1570, 1571, 1572, 1573, 1574, - 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1590, 1592, 1593, 1594, - 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, - 1606, 1608, 1609, 1610, 1611, 1612, 1614, 1615, 1616, 1618, - 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1628, 1629, - 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1639, 1640, - 1641, 1643, 1644, 1645, 1646, 1648, 1650, 1651, 1652, 1653, - 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, - 1664, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1675, - 1676, 1677, 1678, 1680, 1681, 1682, 1683, 1684, 1685, 1686, + 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, + 1585, 1586, 1587, 1588, 1589, 1591, 1593, 1594, 1595, 1597, + 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1608, + 1609, 1610, 1611, 1612, 1614, 1615, 1616, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1625, 1626, 1628, 1629, 1630, 1631, + 1632, 1633, 1634, 1635, 1636, 1637, 1639, 1640, 1641, 1642, + 1643, 1644, 1646, 1647, 1648, 1649, 1651, 1653, 1654, 1655, + 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, + 1666, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1677, + 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, - 1687, 1688, 1689, 1691, 1692, 1693, 1695, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1704, 1705, 1706, 1707, 1708, 1709, - 1710, 1711, 1712, 1713, 1714, 1717, 1718, 1719, 1720, 1721, - 1722, 1723, 1724, 1725, 1727, 1729, 1730, 1731, 1732, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1749, 1750, 1751, 1752, 1753, 1754, - 1755, 1756, 1757, 1759, 1761, 1763, 1766, 1767, 1768, 1769, - 1770, 1772, 1773, 1774, 1776, 1777, 1778, 1779, 1780, 1781, - 1782, 1783, 1784, 1785, 1787, 1788, 1790, 1791, 1792, 1793, - 1795, 1796, 1797, 1799, 1801, 1802, 1804, 1805, 1806, 1807, + 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1697, 1698, 1700, + 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1709, 1710, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1721, 1722, 1723, + 1724, 1725, 1726, 1727, 1728, 1729, 1731, 1733, 1734, 1735, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1755, 1756, + 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1765, 1767, 1769, + 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1781, 1782, + 1783, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, + 1795, 1796, 1798, 1799, 1800, 1801, 1803, 1804, 1805, 1807, - 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1817, 1818, - 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, - 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, - 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, - 1851, 1852, 1854, 1855, 1856, 1858, 1859, 1860, 1861, 1866, - 1869, 1870, 1871, 1873, 1874, 1875, 1876, 1877, 1878, 1879, - 1881, 1883, 1885, 1887, 1888, 1889, 1890, 1891, 1892, 1891, - 1893, 1895, 1896, 1898, 1899, 1900, 1901, 1902, 1903, 1904, - 1905, 1907, 1908, 1909, 1910, 1911, 1913, 1916, 1917, 1918, - 1919, 1923, 1923, 1923, 1924, 1924, 1924, 1925, 1926, 1925, + 1809, 1811, 1812, 1813, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1842, + 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, + 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, + 1864, 1865, 1867, 1868, 1870, 1871, 1872, 1873, 1878, 1882, + 1883, 1884, 1885, 1887, 1888, 1889, 1890, 1891, 1892, 1894, + 1895, 1897, 1900, 1901, 1902, 1903, 1905, 1906, 1905, 1908, + 1909, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1919, 1920, + 1921, 1922, 1923, 1926, 1927, 1928, 1929, 1933, 1933, 1933, - 1927, 1927, 1927, 1928, 1928, 1928, 1929, 724, 1929, 1930, - 1930, 1930, 723, 721, 720, 719, 718, 717, 716, 715, - 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, - 704, 703, 702, 700, 699, 698, 697, 696, 695, 694, - 689, 688, 687, 686, 685, 684, 683, 682, 680, 679, - 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, - 667, 666, 665, 663, 662, 661, 660, 659, 658, 657, - 656, 655, 653, 652, 650, 649, 648, 647, 646, 645, - 644, 642, 641, 640, 638, 637, 635, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, + 1933, 1933, 1934, 1934, 1934, 1934, 1934, 1935, 1941, 1935, + 1935, 1935, 1936, 1942, 1936, 1943, 1936, 1937, 1937, 1937, + 1937, 1937, 1938, 1938, 1938, 1938, 1938, 1939, 1944, 1939, + 1939, 1939, 1940, 1940, 1940, 726, 725, 723, 722, 721, + 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, + 710, 709, 708, 707, 706, 705, 703, 702, 701, 700, + 699, 698, 697, 692, 691, 690, 689, 688, 687, 686, + 685, 683, 682, 680, 679, 678, 677, 676, 675, 674, + 673, 672, 671, 670, 669, 668, 666, 665, 664, 663, + 662, 661, 660, 659, 658, 656, 655, 653, 652, 651, - 621, 619, 618, 617, 616, 615, 614, 612, 611, 610, - 609, 608, 607, 606, 605, 603, 602, 601, 600, 599, - 598, 597, 596, 595, 594, 593, 592, 591, 589, 588, - 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, - 577, 576, 575, 574, 565, 564, 563, 562, 560, 557, - 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, - 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, - 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, - 524, 523, 521, 519, 518, 517, 516, 515, 514, 513, - 512, 511, 510, 509, 508, 507, 506, 504, 503, 502, + 650, 649, 648, 647, 645, 644, 643, 641, 640, 638, + 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, + 627, 626, 625, 624, 622, 621, 620, 619, 618, 617, + 615, 614, 613, 612, 611, 610, 609, 608, 606, 605, + 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, + 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, + 584, 583, 582, 581, 580, 579, 578, 577, 568, 566, + 565, 564, 562, 559, 557, 556, 555, 554, 553, 552, + 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, + 541, 540, 539, 538, 536, 535, 534, 533, 532, 531, - 501, 500, 499, 498, 497, 495, 494, 493, 492, 491, - 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, - 480, 479, 477, 476, 475, 474, 472, 471, 470, 469, - 468, 467, 465, 464, 462, 461, 460, 458, 456, 455, - 454, 453, 452, 451, 450, 448, 447, 446, 445, 444, - 439, 437, 436, 434, 431, 429, 428, 427, 426, 425, - 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, - 413, 412, 411, 410, 408, 407, 406, 404, 403, 402, - 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, - 389, 388, 387, 386, 385, 384, 383, 379, 378, 377, + 530, 529, 528, 527, 526, 525, 523, 521, 520, 519, + 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 506, 505, 504, 503, 502, 501, 500, 499, 497, + 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, + 486, 485, 484, 483, 482, 481, 479, 478, 477, 476, + 474, 473, 472, 471, 470, 469, 467, 466, 464, 463, + 462, 460, 458, 457, 456, 455, 454, 453, 452, 450, + 449, 448, 447, 446, 441, 439, 438, 435, 432, 430, + 429, 428, 427, 426, 424, 423, 422, 421, 420, 419, + 418, 417, 416, 415, 414, 413, 412, 411, 409, 408, - 375, 374, 373, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 358, 357, 356, 355, 354, - 353, 352, 351, 350, 349, 348, 347, 346, 344, 343, - 342, 341, 339, 336, 335, 334, 333, 332, 331, 330, - 329, 328, 327, 323, 321, 317, 315, 313, 306, 305, - 304, 303, 302, 301, 300, 298, 297, 296, 295, 294, - 293, 292, 291, 290, 288, 287, 286, 285, 284, 283, - 282, 280, 279, 278, 277, 276, 275, 274, 273, 272, - 271, 270, 269, 268, 267, 266, 265, 264, 262, 261, - 260, 258, 257, 256, 255, 254, 253, 251, 250, 249, + 407, 405, 404, 403, 402, 401, 400, 399, 397, 396, + 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, + 384, 380, 379, 378, 376, 375, 374, 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, 345, 344, 343, 342, 340, 337, 336, 335, + 334, 333, 332, 331, 330, 329, 328, 324, 322, 318, + 316, 313, 306, 305, 304, 303, 302, 301, 300, 298, + 297, 296, 295, 294, 293, 292, 291, 290, 288, 287, + 286, 285, 284, 283, 282, 280, 279, 278, 277, 276, - 248, 247, 246, 244, 243, 241, 240, 239, 238, 237, - 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, - 226, 225, 224, 223, 222, 221, 220, 219, 218, 216, - 215, 214, 213, 212, 211, 210, 208, 204, 202, 200, - 198, 193, 190, 182, 181, 180, 179, 178, 177, 176, - 174, 173, 172, 170, 169, 168, 166, 164, 162, 160, - 159, 157, 156, 155, 154, 153, 151, 150, 149, 148, - 147, 146, 144, 143, 142, 141, 140, 139, 138, 136, - 135, 133, 132, 128, 127, 126, 124, 123, 122, 121, - 119, 117, 113, 104, 103, 97, 96, 77, 72, 66, + 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, + 265, 264, 262, 261, 260, 258, 257, 256, 255, 254, + 253, 251, 250, 249, 248, 247, 246, 244, 243, 241, + 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, + 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, + 220, 219, 218, 216, 215, 214, 213, 212, 211, 210, + 208, 205, 203, 201, 199, 194, 190, 182, 181, 180, + 179, 178, 177, 176, 174, 173, 172, 170, 169, 168, + 166, 164, 162, 160, 159, 157, 156, 155, 154, 153, + 151, 150, 149, 148, 147, 146, 144, 143, 142, 141, - 52, 49, 48, 43, 41, 39, 38, 24, 14, 11, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922 + 140, 139, 138, 136, 135, 133, 132, 128, 127, 126, + 124, 123, 122, 121, 119, 117, 113, 104, 103, 97, + 96, 77, 72, 66, 52, 49, 48, 43, 41, 39, + 38, 24, 14, 11, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932 } ; static yy_state_type yy_last_accepting_state; @@ -1930,31 +1941,31 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[210] = +static const flex_int16_t yy_rule_linenum[211] = { 0, - 148, 150, 152, 157, 158, 163, 164, 165, 177, 180, - 185, 192, 201, 210, 219, 228, 237, 246, 255, 264, - 273, 282, 291, 300, 309, 321, 333, 343, 353, 363, - 373, 383, 392, 402, 412, 422, 432, 441, 450, 459, - 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, - 558, 571, 580, 589, 598, 607, 618, 629, 640, 651, - 663, 674, 685, 696, 707, 718, 729, 740, 751, 762, - 773, 784, 793, 804, 815, 826, 837, 848, 859, 870, - 881, 890, 899, 908, 917, 928, 939, 950, 961, 972, - 983, 994, 1006, 1016, 1027, 1036, 1045, 1060, 1076, 1085, + 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, + 184, 191, 200, 209, 218, 227, 236, 245, 254, 263, + 272, 281, 290, 299, 308, 320, 332, 342, 352, 362, + 372, 382, 391, 401, 411, 421, 431, 440, 449, 458, + 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, + 557, 570, 579, 588, 597, 606, 617, 628, 639, 650, + 662, 673, 684, 695, 706, 717, 728, 739, 750, 761, + 772, 783, 792, 803, 814, 825, 836, 847, 858, 869, + 880, 889, 898, 907, 916, 927, 938, 949, 960, 971, + 982, 993, 1003, 1014, 1023, 1032, 1047, 1063, 1072, 1081, - 1094, 1103, 1112, 1121, 1130, 1139, 1148, 1157, 1166, 1190, - 1214, 1223, 1233, 1243, 1252, 1262, 1273, 1282, 1291, 1300, - 1309, 1318, 1328, 1337, 1346, 1355, 1366, 1377, 1388, 1399, - 1410, 1419, 1428, 1437, 1446, 1455, 1464, 1473, 1482, 1491, - 1501, 1513, 1526, 1535, 1544, 1554, 1564, 1573, 1584, 1594, - 1603, 1613, 1623, 1632, 1641, 1650, 1659, 1669, 1678, 1687, - 1696, 1705, 1714, 1723, 1732, 1741, 1750, 1759, 1768, 1777, - 1786, 1795, 1804, 1813, 1822, 1831, 1840, 1849, 1858, 1867, - 1876, 1885, 1894, 1903, 1912, 1921, 1930, 1939, 1948, 1957, - 1966, 2067, 2083, 2132, 2140, 2155, 2156, 2157, 2158, 2159, + 1090, 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1177, 1201, + 1210, 1220, 1230, 1239, 1249, 1260, 1271, 1282, 1293, 1302, + 1311, 1320, 1329, 1338, 1348, 1357, 1366, 1375, 1386, 1397, + 1408, 1419, 1430, 1439, 1448, 1457, 1466, 1475, 1484, 1493, + 1502, 1511, 1521, 1533, 1546, 1555, 1564, 1574, 1584, 1593, + 1604, 1614, 1623, 1633, 1643, 1652, 1661, 1670, 1679, 1689, + 1698, 1707, 1716, 1725, 1734, 1743, 1752, 1761, 1770, 1779, + 1788, 1797, 1806, 1815, 1824, 1833, 1842, 1851, 1860, 1869, + 1878, 1887, 1896, 1905, 1914, 1923, 1932, 1941, 1950, 1959, + 1968, 1977, 1986, 2085, 2090, 2095, 2100, 2101, 2102, 2103, - 2160, 2162, 2180, 2193, 2198, 2202, 2204, 2206, 2208 + 2104, 2105, 2107, 2125, 2138, 2143, 2147, 2149, 2151, 2153 } ; /* The intent behind this definition is that it'll catch @@ -1976,7 +1987,6 @@ char *yytext; /* Generated files do not make clang static analyser so happy */ #ifndef __clang_analyzer__ -#include #include #include #include @@ -2008,7 +2018,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 2011 "dhcp6_lexer.cc" +#line 2021 "dhcp6_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 @@ -2029,13 +2039,13 @@ using namespace isc::dhcp; can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 95 "dhcp6_lexer.ll" +#line 94 "dhcp6_lexer.ll" /* This code run each time a pattern is matched. It updates the location 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 2037 "dhcp6_lexer.cc" -#line 2038 "dhcp6_lexer.cc" +#line 2047 "dhcp6_lexer.cc" +#line 2048 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2317,11 +2327,11 @@ YY_DECL { /* %% [7.0] user's declarations go here */ -#line 101 "dhcp6_lexer.ll" +#line 100 "dhcp6_lexer.ll" -#line 105 "dhcp6_lexer.ll" +#line 104 "dhcp6_lexer.ll" /* This part of the code is copied over to the verbatim to the top of the generated yylex function. Explanation: http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ @@ -2365,7 +2375,7 @@ YY_DECL } -#line 2368 "dhcp6_lexer.cc" +#line 2378 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2394,13 +2404,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 >= 1923 ) + if ( yy_current_state >= 1933 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1922 ); + while ( yy_current_state != 1932 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2419,13 +2429,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 < 210 ) + else if ( yy_act < 211 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 210 ) + else if ( yy_act == 211 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 211 ) + else if ( yy_act == 212 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2443,17 +2453,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 148 "dhcp6_lexer.ll" +#line 147 "dhcp6_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 150 "dhcp6_lexer.ll" +#line 149 "dhcp6_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 152 "dhcp6_lexer.ll" +#line 151 "dhcp6_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -2461,33 +2471,33 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 157 "dhcp6_lexer.ll" +#line 156 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 158 "dhcp6_lexer.ll" +#line 157 "dhcp6_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 159 "dhcp6_lexer.ll" +#line 158 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 163 "dhcp6_lexer.ll" +#line 162 "dhcp6_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 164 "dhcp6_lexer.ll" +#line 163 "dhcp6_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 165 "dhcp6_lexer.ll" +#line 164 "dhcp6_lexer.ll" { /* Include directive. */ @@ -2501,19 +2511,19 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 174 "dhcp6_lexer.ll" +#line 173 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 177 "dhcp6_lexer.ll" +#line 176 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 180 "dhcp6_lexer.ll" +#line 179 "dhcp6_lexer.ll" { /* Ok, we found a with space. Let's ignore it and update loc variable. */ driver.loc_.step(); @@ -2522,7 +2532,7 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 185 "dhcp6_lexer.ll" +#line 184 "dhcp6_lexer.ll" { /* Newline found. Let's update the location and continue. */ driver.loc_.lines(yyleng); @@ -2531,7 +2541,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 192 "dhcp6_lexer.ll" +#line 191 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2543,7 +2553,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 201 "dhcp6_lexer.ll" +#line 200 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2555,7 +2565,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 210 "dhcp6_lexer.ll" +#line 209 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2567,7 +2577,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 219 "dhcp6_lexer.ll" +#line 218 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2579,7 +2589,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 228 "dhcp6_lexer.ll" +#line 227 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2591,7 +2601,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 237 "dhcp6_lexer.ll" +#line 236 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2603,7 +2613,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 246 "dhcp6_lexer.ll" +#line 245 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2615,7 +2625,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 255 "dhcp6_lexer.ll" +#line 254 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2627,7 +2637,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 264 "dhcp6_lexer.ll" +#line 263 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2639,7 +2649,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 273 "dhcp6_lexer.ll" +#line 272 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2651,7 +2661,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 282 "dhcp6_lexer.ll" +#line 281 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2663,7 +2673,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 291 "dhcp6_lexer.ll" +#line 290 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2675,7 +2685,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 300 "dhcp6_lexer.ll" +#line 299 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2687,7 +2697,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 309 "dhcp6_lexer.ll" +#line 308 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2702,7 +2712,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 321 "dhcp6_lexer.ll" +#line 320 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2717,7 +2727,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 333 "dhcp6_lexer.ll" +#line 332 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { @@ -2730,7 +2740,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 343 "dhcp6_lexer.ll" +#line 342 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { @@ -2743,7 +2753,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 353 "dhcp6_lexer.ll" +#line 352 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) { @@ -2756,7 +2766,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 363 "dhcp6_lexer.ll" +#line 362 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2769,7 +2779,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 373 "dhcp6_lexer.ll" +#line 372 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2782,7 +2792,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 383 "dhcp6_lexer.ll" +#line 382 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME: @@ -2794,7 +2804,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 392 "dhcp6_lexer.ll" +#line 391 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2807,7 +2817,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 402 "dhcp6_lexer.ll" +#line 401 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2820,7 +2830,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 412 "dhcp6_lexer.ll" +#line 411 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2833,7 +2843,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 422 "dhcp6_lexer.ll" +#line 421 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2846,7 +2856,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 432 "dhcp6_lexer.ll" +#line 431 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -2858,7 +2868,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 441 "dhcp6_lexer.ll" +#line 440 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2870,7 +2880,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 450 "dhcp6_lexer.ll" +#line 449 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2882,7 +2892,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 459 "dhcp6_lexer.ll" +#line 458 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::INTERFACES_CONFIG: @@ -2894,7 +2904,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 468 "dhcp6_lexer.ll" +#line 467 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::INTERFACES_CONFIG: @@ -2906,7 +2916,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 477 "dhcp6_lexer.ll" +#line 476 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2918,7 +2928,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 486 "dhcp6_lexer.ll" +#line 485 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SANITY_CHECKS: @@ -2930,7 +2940,7 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 495 "dhcp6_lexer.ll" +#line 494 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2942,7 +2952,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 504 "dhcp6_lexer.ll" +#line 503 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2954,7 +2964,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 513 "dhcp6_lexer.ll" +#line 512 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2966,7 +2976,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 522 "dhcp6_lexer.ll" +#line 521 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2978,7 +2988,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 531 "dhcp6_lexer.ll" +#line 530 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG_CONTROL: @@ -2990,7 +3000,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 540 "dhcp6_lexer.ll" +#line 539 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG_CONTROL: @@ -3002,7 +3012,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 549 "dhcp6_lexer.ll" +#line 548 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOSTS_DATABASE: @@ -3014,7 +3024,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 558 "dhcp6_lexer.ll" +#line 557 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3030,7 +3040,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 571 "dhcp6_lexer.ll" +#line 570 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -3042,7 +3052,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 580 "dhcp6_lexer.ll" +#line 579 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -3054,7 +3064,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 589 "dhcp6_lexer.ll" +#line 588 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -3066,7 +3076,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 598 "dhcp6_lexer.ll" +#line 597 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -3078,7 +3088,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 607 "dhcp6_lexer.ll" +#line 606 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3092,7 +3102,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 618 "dhcp6_lexer.ll" +#line 617 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3106,7 +3116,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 629 "dhcp6_lexer.ll" +#line 628 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3120,7 +3130,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 640 "dhcp6_lexer.ll" +#line 639 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3134,7 +3144,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 651 "dhcp6_lexer.ll" +#line 650 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3149,7 +3159,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 663 "dhcp6_lexer.ll" +#line 662 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3163,7 +3173,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 674 "dhcp6_lexer.ll" +#line 673 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3177,7 +3187,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 685 "dhcp6_lexer.ll" +#line 684 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3191,7 +3201,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 696 "dhcp6_lexer.ll" +#line 695 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3205,7 +3215,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 707 "dhcp6_lexer.ll" +#line 706 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3219,7 +3229,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 718 "dhcp6_lexer.ll" +#line 717 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3233,7 +3243,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 729 "dhcp6_lexer.ll" +#line 728 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3247,7 +3257,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 740 "dhcp6_lexer.ll" +#line 739 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3261,7 +3271,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 751 "dhcp6_lexer.ll" +#line 750 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3275,7 +3285,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 762 "dhcp6_lexer.ll" +#line 761 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3289,7 +3299,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 773 "dhcp6_lexer.ll" +#line 772 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3303,7 +3313,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 784 "dhcp6_lexer.ll" +#line 783 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3315,7 +3325,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 793 "dhcp6_lexer.ll" +#line 792 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3329,7 +3339,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 804 "dhcp6_lexer.ll" +#line 803 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3343,7 +3353,7 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 815 "dhcp6_lexer.ll" +#line 814 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3357,7 +3367,7 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 826 "dhcp6_lexer.ll" +#line 825 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3371,7 +3381,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 837 "dhcp6_lexer.ll" +#line 836 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3385,7 +3395,7 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 848 "dhcp6_lexer.ll" +#line 847 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3399,7 +3409,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 859 "dhcp6_lexer.ll" +#line 858 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3413,7 +3423,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 870 "dhcp6_lexer.ll" +#line 869 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3427,7 +3437,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 881 "dhcp6_lexer.ll" +#line 880 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3439,7 +3449,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 890 "dhcp6_lexer.ll" +#line 889 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3451,7 +3461,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 899 "dhcp6_lexer.ll" +#line 898 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3463,7 +3473,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 908 "dhcp6_lexer.ll" +#line 907 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3475,7 +3485,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 917 "dhcp6_lexer.ll" +#line 916 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3489,7 +3499,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 928 "dhcp6_lexer.ll" +#line 927 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3503,7 +3513,7 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP -#line 939 "dhcp6_lexer.ll" +#line 938 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3517,7 +3527,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 950 "dhcp6_lexer.ll" +#line 949 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3531,7 +3541,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 961 "dhcp6_lexer.ll" +#line 960 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3545,7 +3555,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 972 "dhcp6_lexer.ll" +#line 971 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3559,7 +3569,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 983 "dhcp6_lexer.ll" +#line 982 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3573,21 +3583,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 994 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::DHCP6: - case isc::dhcp::Parser6Context::SUBNET6: - case isc::dhcp::Parser6Context::SHARED_NETWORK: - return isc::dhcp::Dhcp6Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_); - } -} - YY_BREAK -case 93: -YY_RULE_SETUP -#line 1006 "dhcp6_lexer.ll" +#line 993 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3598,9 +3594,9 @@ YY_RULE_SETUP } } YY_BREAK -case 94: +case 93: YY_RULE_SETUP -#line 1016 "dhcp6_lexer.ll" +#line 1003 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3612,9 +3608,9 @@ YY_RULE_SETUP } } YY_BREAK -case 95: +case 94: YY_RULE_SETUP -#line 1027 "dhcp6_lexer.ll" +#line 1014 "dhcp6_lexer.ll" { switch (driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3624,9 +3620,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 95: YY_RULE_SETUP -#line 1036 "dhcp6_lexer.ll" +#line 1023 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3636,9 +3632,9 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 96: YY_RULE_SETUP -#line 1045 "dhcp6_lexer.ll" +#line 1032 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3654,9 +3650,9 @@ YY_RULE_SETUP } } YY_BREAK -case 98: +case 97: YY_RULE_SETUP -#line 1060 "dhcp6_lexer.ll" +#line 1047 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3673,9 +3669,9 @@ YY_RULE_SETUP } } YY_BREAK -case 99: +case 98: YY_RULE_SETUP -#line 1076 "dhcp6_lexer.ll" +#line 1063 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3685,9 +3681,9 @@ YY_RULE_SETUP } } YY_BREAK -case 100: +case 99: YY_RULE_SETUP -#line 1085 "dhcp6_lexer.ll" +#line 1072 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3697,9 +3693,9 @@ YY_RULE_SETUP } } YY_BREAK -case 101: +case 100: YY_RULE_SETUP -#line 1094 "dhcp6_lexer.ll" +#line 1081 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3709,9 +3705,9 @@ YY_RULE_SETUP } } YY_BREAK -case 102: +case 101: YY_RULE_SETUP -#line 1103 "dhcp6_lexer.ll" +#line 1090 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3721,9 +3717,9 @@ YY_RULE_SETUP } } YY_BREAK -case 103: +case 102: YY_RULE_SETUP -#line 1112 "dhcp6_lexer.ll" +#line 1099 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3733,9 +3729,9 @@ YY_RULE_SETUP } } YY_BREAK -case 104: +case 103: YY_RULE_SETUP -#line 1121 "dhcp6_lexer.ll" +#line 1108 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3745,9 +3741,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 104: YY_RULE_SETUP -#line 1130 "dhcp6_lexer.ll" +#line 1117 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3757,9 +3753,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 105: YY_RULE_SETUP -#line 1139 "dhcp6_lexer.ll" +#line 1126 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3769,9 +3765,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 106: YY_RULE_SETUP -#line 1148 "dhcp6_lexer.ll" +#line 1135 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3781,9 +3777,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 107: YY_RULE_SETUP -#line 1157 "dhcp6_lexer.ll" +#line 1144 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::POOLS: @@ -3793,9 +3789,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 108: YY_RULE_SETUP -#line 1166 "dhcp6_lexer.ll" +#line 1153 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3820,9 +3816,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 109: YY_RULE_SETUP -#line 1190 "dhcp6_lexer.ll" +#line 1177 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3847,9 +3843,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 110: YY_RULE_SETUP -#line 1214 "dhcp6_lexer.ll" +#line 1201 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3859,9 +3855,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 111: YY_RULE_SETUP -#line 1223 "dhcp6_lexer.ll" +#line 1210 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3872,9 +3868,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 112: YY_RULE_SETUP -#line 1233 "dhcp6_lexer.ll" +#line 1220 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3885,9 +3881,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 113: YY_RULE_SETUP -#line 1243 "dhcp6_lexer.ll" +#line 1230 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3897,9 +3893,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 114: YY_RULE_SETUP -#line 1252 "dhcp6_lexer.ll" +#line 1239 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3910,9 +3906,51 @@ YY_RULE_SETUP } } YY_BREAK +case 115: +YY_RULE_SETUP +#line 1249 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_RESERVATIONS_OUT_OF_POOL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("reservations-out-of-pool", driver.loc_); + } +} + YY_BREAK case 116: YY_RULE_SETUP -#line 1262 "dhcp6_lexer.ll" +#line 1260 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_RESERVATIONS_IN_SUBNET(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("reservations-in-subnet", driver.loc_); + } +} + YY_BREAK +case 117: +YY_RULE_SETUP +#line 1271 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_RESERVATIONS_GLOBAL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("reservations-global", driver.loc_); + } +} + YY_BREAK +case 118: +YY_RULE_SETUP +#line 1282 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3924,9 +3962,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 1273 "dhcp6_lexer.ll" +#line 1293 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3936,9 +3974,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 1282 "dhcp6_lexer.ll" +#line 1302 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3948,9 +3986,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 121: YY_RULE_SETUP -#line 1291 "dhcp6_lexer.ll" +#line 1311 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3960,9 +3998,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 1300 "dhcp6_lexer.ll" +#line 1320 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3972,9 +4010,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 1309 "dhcp6_lexer.ll" +#line 1329 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3984,9 +4022,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 1318 "dhcp6_lexer.ll" +#line 1338 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3997,9 +4035,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 125: YY_RULE_SETUP -#line 1328 "dhcp6_lexer.ll" +#line 1348 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4009,9 +4047,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 126: YY_RULE_SETUP -#line 1337 "dhcp6_lexer.ll" +#line 1357 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4021,9 +4059,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 127: YY_RULE_SETUP -#line 1346 "dhcp6_lexer.ll" +#line 1366 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4033,9 +4071,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 128: YY_RULE_SETUP -#line 1355 "dhcp6_lexer.ll" +#line 1375 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4047,9 +4085,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 129: YY_RULE_SETUP -#line 1366 "dhcp6_lexer.ll" +#line 1386 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4061,9 +4099,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 130: YY_RULE_SETUP -#line 1377 "dhcp6_lexer.ll" +#line 1397 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4075,9 +4113,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 131: YY_RULE_SETUP -#line 1388 "dhcp6_lexer.ll" +#line 1408 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4089,9 +4127,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 132: YY_RULE_SETUP -#line 1399 "dhcp6_lexer.ll" +#line 1419 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4103,9 +4141,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 133: YY_RULE_SETUP -#line 1410 "dhcp6_lexer.ll" +#line 1430 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4115,9 +4153,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 134: YY_RULE_SETUP -#line 1419 "dhcp6_lexer.ll" +#line 1439 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4127,9 +4165,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 135: YY_RULE_SETUP -#line 1428 "dhcp6_lexer.ll" +#line 1448 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4139,9 +4177,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 136: YY_RULE_SETUP -#line 1437 "dhcp6_lexer.ll" +#line 1457 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4151,9 +4189,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 137: YY_RULE_SETUP -#line 1446 "dhcp6_lexer.ll" +#line 1466 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4163,9 +4201,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 138: YY_RULE_SETUP -#line 1455 "dhcp6_lexer.ll" +#line 1475 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4175,9 +4213,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 139: YY_RULE_SETUP -#line 1464 "dhcp6_lexer.ll" +#line 1484 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4187,9 +4225,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 140: YY_RULE_SETUP -#line 1473 "dhcp6_lexer.ll" +#line 1493 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4199,9 +4237,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 141: YY_RULE_SETUP -#line 1482 "dhcp6_lexer.ll" +#line 1502 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4211,9 +4249,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 142: YY_RULE_SETUP -#line 1491 "dhcp6_lexer.ll" +#line 1511 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4224,9 +4262,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 1501 "dhcp6_lexer.ll" +#line 1521 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4239,9 +4277,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 144: YY_RULE_SETUP -#line 1513 "dhcp6_lexer.ll" +#line 1533 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4255,9 +4293,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 145: YY_RULE_SETUP -#line 1526 "dhcp6_lexer.ll" +#line 1546 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4267,9 +4305,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 146: YY_RULE_SETUP -#line 1535 "dhcp6_lexer.ll" +#line 1555 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4279,9 +4317,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 147: YY_RULE_SETUP -#line 1544 "dhcp6_lexer.ll" +#line 1564 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4292,9 +4330,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 148: YY_RULE_SETUP -#line 1554 "dhcp6_lexer.ll" +#line 1574 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4305,9 +4343,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 149: YY_RULE_SETUP -#line 1564 "dhcp6_lexer.ll" +#line 1584 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4317,9 +4355,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 150: YY_RULE_SETUP -#line 1573 "dhcp6_lexer.ll" +#line 1593 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -4331,9 +4369,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 151: YY_RULE_SETUP -#line 1584 "dhcp6_lexer.ll" +#line 1604 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4344,9 +4382,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 152: YY_RULE_SETUP -#line 1594 "dhcp6_lexer.ll" +#line 1614 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4356,9 +4394,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 153: YY_RULE_SETUP -#line 1603 "dhcp6_lexer.ll" +#line 1623 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4369,9 +4407,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 154: YY_RULE_SETUP -#line 1613 "dhcp6_lexer.ll" +#line 1633 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4382,9 +4420,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 155: YY_RULE_SETUP -#line 1623 "dhcp6_lexer.ll" +#line 1643 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -4394,9 +4432,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 156: YY_RULE_SETUP -#line 1632 "dhcp6_lexer.ll" +#line 1652 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4406,9 +4444,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 157: YY_RULE_SETUP -#line 1641 "dhcp6_lexer.ll" +#line 1661 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4418,9 +4456,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 158: YY_RULE_SETUP -#line 1650 "dhcp6_lexer.ll" +#line 1670 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4430,9 +4468,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 159: YY_RULE_SETUP -#line 1659 "dhcp6_lexer.ll" +#line 1679 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4443,9 +4481,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 160: YY_RULE_SETUP -#line 1669 "dhcp6_lexer.ll" +#line 1689 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -4455,9 +4493,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 161: YY_RULE_SETUP -#line 1678 "dhcp6_lexer.ll" +#line 1698 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4467,9 +4505,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 162: YY_RULE_SETUP -#line 1687 "dhcp6_lexer.ll" +#line 1707 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4479,9 +4517,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 163: YY_RULE_SETUP -#line 1696 "dhcp6_lexer.ll" +#line 1716 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4491,9 +4529,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 164: YY_RULE_SETUP -#line 1705 "dhcp6_lexer.ll" +#line 1725 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4503,9 +4541,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 165: YY_RULE_SETUP -#line 1714 "dhcp6_lexer.ll" +#line 1734 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4515,9 +4553,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 166: YY_RULE_SETUP -#line 1723 "dhcp6_lexer.ll" +#line 1743 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4527,9 +4565,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 167: YY_RULE_SETUP -#line 1732 "dhcp6_lexer.ll" +#line 1752 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4539,9 +4577,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 168: YY_RULE_SETUP -#line 1741 "dhcp6_lexer.ll" +#line 1761 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4551,9 +4589,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 169: YY_RULE_SETUP -#line 1750 "dhcp6_lexer.ll" +#line 1770 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4563,9 +4601,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 170: YY_RULE_SETUP -#line 1759 "dhcp6_lexer.ll" +#line 1779 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4575,9 +4613,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 171: YY_RULE_SETUP -#line 1768 "dhcp6_lexer.ll" +#line 1788 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4587,9 +4625,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 172: YY_RULE_SETUP -#line 1777 "dhcp6_lexer.ll" +#line 1797 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4599,9 +4637,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 173: YY_RULE_SETUP -#line 1786 "dhcp6_lexer.ll" +#line 1806 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4611,9 +4649,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 174: YY_RULE_SETUP -#line 1795 "dhcp6_lexer.ll" +#line 1815 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4623,9 +4661,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 175: YY_RULE_SETUP -#line 1804 "dhcp6_lexer.ll" +#line 1824 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4635,9 +4673,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 176: YY_RULE_SETUP -#line 1813 "dhcp6_lexer.ll" +#line 1833 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4647,9 +4685,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 177: YY_RULE_SETUP -#line 1822 "dhcp6_lexer.ll" +#line 1842 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4659,9 +4697,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 178: YY_RULE_SETUP -#line 1831 "dhcp6_lexer.ll" +#line 1851 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4671,9 +4709,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 179: YY_RULE_SETUP -#line 1840 "dhcp6_lexer.ll" +#line 1860 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4683,9 +4721,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 180: YY_RULE_SETUP -#line 1849 "dhcp6_lexer.ll" +#line 1869 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4695,9 +4733,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 181: YY_RULE_SETUP -#line 1858 "dhcp6_lexer.ll" +#line 1878 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4707,9 +4745,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 182: YY_RULE_SETUP -#line 1867 "dhcp6_lexer.ll" +#line 1887 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4719,9 +4757,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 183: YY_RULE_SETUP -#line 1876 "dhcp6_lexer.ll" +#line 1896 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4731,9 +4769,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 184: YY_RULE_SETUP -#line 1885 "dhcp6_lexer.ll" +#line 1905 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4743,9 +4781,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 185: YY_RULE_SETUP -#line 1894 "dhcp6_lexer.ll" +#line 1914 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4755,9 +4793,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 186: YY_RULE_SETUP -#line 1903 "dhcp6_lexer.ll" +#line 1923 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4767,9 +4805,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 187: YY_RULE_SETUP -#line 1912 "dhcp6_lexer.ll" +#line 1932 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4779,9 +4817,9 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 188: YY_RULE_SETUP -#line 1921 "dhcp6_lexer.ll" +#line 1941 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4791,9 +4829,9 @@ YY_RULE_SETUP } } YY_BREAK -case 187: +case 189: YY_RULE_SETUP -#line 1930 "dhcp6_lexer.ll" +#line 1950 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4803,9 +4841,9 @@ YY_RULE_SETUP } } YY_BREAK -case 188: +case 190: YY_RULE_SETUP -#line 1939 "dhcp6_lexer.ll" +#line 1959 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4815,9 +4853,9 @@ YY_RULE_SETUP } } YY_BREAK -case 189: +case 191: YY_RULE_SETUP -#line 1948 "dhcp6_lexer.ll" +#line 1968 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4827,9 +4865,9 @@ YY_RULE_SETUP } } YY_BREAK -case 190: +case 192: YY_RULE_SETUP -#line 1957 "dhcp6_lexer.ll" +#line 1977 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4839,9 +4877,9 @@ YY_RULE_SETUP } } YY_BREAK -case 191: +case 193: YY_RULE_SETUP -#line 1966 "dhcp6_lexer.ll" +#line 1986 "dhcp6_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. @@ -4896,9 +4934,7 @@ YY_RULE_SETUP "Overflow unicode escape in \"" + raw + "\""); } if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { - driver.error(driver.loc_, - "Unsupported unicode escape in \"" + raw + "\"", - pos + 1); + driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); } pos += 2; c = raw[pos]; @@ -4943,141 +4979,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 192: -/* rule 192 can match eol */ +case 194: +/* rule 194 can match eol */ YY_RULE_SETUP -#line 2067 "dhcp6_lexer.ll" +#line 2085 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ - std::string raw(yytext+1); - size_t len = raw.size() - 1; - size_t pos = 0; - for (; pos < len; ++pos) { - char c = raw[pos]; - if ((c >= 0) && (c < 0x20)) { - break; - } - } - driver.error(driver.loc_, - "Invalid control in " + std::string(yytext), - pos + 1); -} - YY_BREAK -case 193: -/* rule 193 can match eol */ -YY_RULE_SETUP -#line 2083 "dhcp6_lexer.ll" -{ - /* Bad string with a bad escape inside */ - std::string raw(yytext+1); - size_t len = raw.size() - 1; - size_t pos = 0; - bool found = false; - for (; pos < len; ++pos) { - if (found) { - break; - } - char c = raw[pos]; - if (c == '\\') { - ++pos; - c = raw[pos]; - switch (c) { - case '"': - case '\\': - case '/': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': - break; - case 'u': - if ((pos + 4 > len) || - !std::isxdigit(raw[pos + 1]) || - !std::isxdigit(raw[pos + 2]) || - !std::isxdigit(raw[pos + 3]) || - !std::isxdigit(raw[pos + 4])) { - found = true; - } - break; - default: - found = true; - break; - } - } - } - /* The rule stops on the first " including on \" so add ... in this case */ - std::string trailer = ""; - if (raw[len - 1] == '\\') { - trailer = "..."; - } - driver.error(driver.loc_, - "Bad escape in " + std::string(yytext) + trailer, - pos); -} - YY_BREAK -case 194: -YY_RULE_SETUP -#line 2132 "dhcp6_lexer.ll" -{ - /* Bad string with an open escape at the end */ - std::string raw(yytext+1); - driver.error(driver.loc_, - "Overflow escape in " + std::string(yytext), - raw.size() + 1); + driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK case 195: +/* rule 195 can match eol */ YY_RULE_SETUP -#line 2140 "dhcp6_lexer.ll" +#line 2090 "dhcp6_lexer.ll" { - /* Bad string with an open unicode escape at the end */ - std::string raw(yytext+1); - size_t pos = raw.size() - 1; - for (; pos > 0; --pos) { - char c = raw[pos]; - if (c == 'u') { - break; - } - } - driver.error(driver.loc_, - "Overflow unicode escape in " + std::string(yytext), - pos + 1); + /* Bad string with a bad escape inside */ + driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK case 196: YY_RULE_SETUP -#line 2155 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } +#line 2095 "dhcp6_lexer.ll" +{ + /* Bad string with an open escape at the end */ + driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); +} YY_BREAK case 197: YY_RULE_SETUP -#line 2156 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } +#line 2100 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK case 198: YY_RULE_SETUP -#line 2157 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } +#line 2101 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK case 199: YY_RULE_SETUP -#line 2158 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } +#line 2102 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK case 200: YY_RULE_SETUP -#line 2159 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } +#line 2103 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK case 201: YY_RULE_SETUP -#line 2160 "dhcp6_lexer.ll" -{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } +#line 2104 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK case 202: YY_RULE_SETUP -#line 2162 "dhcp6_lexer.ll" +#line 2105 "dhcp6_lexer.ll" +{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } + YY_BREAK +case 203: +YY_RULE_SETUP +#line 2107 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5096,9 +5056,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 2180 "dhcp6_lexer.ll" +#line 2125 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5112,43 +5072,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 2193 "dhcp6_lexer.ll" +#line 2138 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 2198 "dhcp6_lexer.ll" +#line 2143 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 206: -YY_RULE_SETUP -#line 2202 "dhcp6_lexer.ll" -driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); - YY_BREAK case 207: YY_RULE_SETUP -#line 2204 "dhcp6_lexer.ll" -driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); +#line 2147 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK case 208: YY_RULE_SETUP -#line 2206 "dhcp6_lexer.ll" -driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); +#line 2149 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK case 209: YY_RULE_SETUP -#line 2208 "dhcp6_lexer.ll" +#line 2151 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); + YY_BREAK +case 210: +YY_RULE_SETUP +#line 2153 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2210 "dhcp6_lexer.ll" +#line 2155 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -5172,12 +5132,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2233 "dhcp6_lexer.ll" +#line 2178 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 5180 "dhcp6_lexer.cc" +#line 5140 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5496,7 +5456,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 >= 1923 ) + if ( yy_current_state >= 1933 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5529,11 +5489,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 >= 1923 ) + if ( yy_current_state >= 1933 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1922); + yy_is_jam = (yy_current_state == 1932); return yy_is_jam ? 0 : yy_current_state; } @@ -6282,7 +6242,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2233 "dhcp6_lexer.ll" +#line 2178 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index 5a6f24abd6..7542916aef 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -394,67 +394,67 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 400 "dhcp6_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 406 "dhcp6_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 412 "dhcp6_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 418 "dhcp6_parser.cc" break; case symbol_kind::S_value: // value -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 424 "dhcp6_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 430 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 436 "dhcp6_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 442 "dhcp6_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 448 "dhcp6_parser.cc" break; case symbol_kind::S_duid_type: // duid_type -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 454 "dhcp6_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 460 "dhcp6_parser.cc" break; @@ -733,133 +733,133 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 288 "dhcp6_parser.yy" +#line 291 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 739 "dhcp6_parser.cc" break; case 4: // $@2: %empty -#line 289 "dhcp6_parser.yy" +#line 292 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 745 "dhcp6_parser.cc" break; case 6: // $@3: %empty -#line 290 "dhcp6_parser.yy" +#line 293 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 751 "dhcp6_parser.cc" break; case 8: // $@4: %empty -#line 291 "dhcp6_parser.yy" +#line 294 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 757 "dhcp6_parser.cc" break; case 10: // $@5: %empty -#line 292 "dhcp6_parser.yy" +#line 295 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } #line 763 "dhcp6_parser.cc" break; case 12: // $@6: %empty -#line 293 "dhcp6_parser.yy" +#line 296 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 769 "dhcp6_parser.cc" break; case 14: // $@7: %empty -#line 294 "dhcp6_parser.yy" +#line 297 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } #line 775 "dhcp6_parser.cc" break; case 16: // $@8: %empty -#line 295 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 781 "dhcp6_parser.cc" break; case 18: // $@9: %empty -#line 296 "dhcp6_parser.yy" +#line 299 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 787 "dhcp6_parser.cc" break; case 20: // $@10: %empty -#line 297 "dhcp6_parser.yy" +#line 300 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 793 "dhcp6_parser.cc" break; case 22: // $@11: %empty -#line 298 "dhcp6_parser.yy" +#line 301 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 799 "dhcp6_parser.cc" break; case 24: // $@12: %empty -#line 299 "dhcp6_parser.yy" +#line 302 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 805 "dhcp6_parser.cc" break; case 26: // $@13: %empty -#line 300 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 811 "dhcp6_parser.cc" break; case 28: // $@14: %empty -#line 301 "dhcp6_parser.yy" +#line 304 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 817 "dhcp6_parser.cc" break; case 30: // value: "integer" -#line 309 "dhcp6_parser.yy" +#line 312 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 823 "dhcp6_parser.cc" break; case 31: // value: "floating point" -#line 310 "dhcp6_parser.yy" +#line 313 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 829 "dhcp6_parser.cc" break; case 32: // value: "boolean" -#line 311 "dhcp6_parser.yy" +#line 314 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 835 "dhcp6_parser.cc" break; case 33: // value: "constant string" -#line 312 "dhcp6_parser.yy" +#line 315 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 841 "dhcp6_parser.cc" break; case 34: // value: "null" -#line 313 "dhcp6_parser.yy" +#line 316 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 847 "dhcp6_parser.cc" break; case 35: // value: map2 -#line 314 "dhcp6_parser.yy" +#line 317 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 853 "dhcp6_parser.cc" break; case 36: // value: list_generic -#line 315 "dhcp6_parser.yy" +#line 318 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 859 "dhcp6_parser.cc" break; case 37: // sub_json: value -#line 318 "dhcp6_parser.yy" +#line 321 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -868,7 +868,7 @@ namespace isc { namespace dhcp { break; case 38: // $@15: %empty -#line 323 "dhcp6_parser.yy" +#line 326 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -879,7 +879,7 @@ namespace isc { namespace dhcp { break; case 39: // map2: "{" $@15 map_content "}" -#line 328 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -889,13 +889,13 @@ namespace isc { namespace dhcp { break; case 40: // map_value: map2 -#line 334 "dhcp6_parser.yy" +#line 337 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 895 "dhcp6_parser.cc" break; case 43: // not_empty_map: "constant string" ":" value -#line 341 "dhcp6_parser.yy" +#line 344 "dhcp6_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -905,7 +905,7 @@ namespace isc { namespace dhcp { break; case 44: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 346 "dhcp6_parser.yy" +#line 349 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -916,7 +916,7 @@ namespace isc { namespace dhcp { break; case 45: // $@16: %empty -#line 354 "dhcp6_parser.yy" +#line 357 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -925,7 +925,7 @@ namespace isc { namespace dhcp { break; case 46: // list_generic: "[" $@16 list_content "]" -#line 357 "dhcp6_parser.yy" +#line 360 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -933,7 +933,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: value -#line 365 "dhcp6_parser.yy" +#line 368 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -942,7 +942,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," value -#line 369 "dhcp6_parser.yy" +#line 372 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -951,7 +951,7 @@ namespace isc { namespace dhcp { break; case 51: // $@17: %empty -#line 376 "dhcp6_parser.yy" +#line 379 "dhcp6_parser.yy" { // List parsing about to start } @@ -959,7 +959,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@17 list_strings_content "]" -#line 378 "dhcp6_parser.yy" +#line 381 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -968,7 +968,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 387 "dhcp6_parser.yy" +#line 390 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -977,7 +977,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 391 "dhcp6_parser.yy" +#line 394 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -986,7 +986,7 @@ namespace isc { namespace dhcp { break; case 57: // unknown_map_entry: "constant string" ":" -#line 402 "dhcp6_parser.yy" +#line 405 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -997,7 +997,7 @@ namespace isc { namespace dhcp { break; case 58: // $@18: %empty -#line 411 "dhcp6_parser.yy" +#line 414 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1008,7 +1008,7 @@ namespace isc { namespace dhcp { break; case 59: // syntax_map: "{" $@18 global_object "}" -#line 416 "dhcp6_parser.yy" +#line 419 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1021,7 +1021,7 @@ namespace isc { namespace dhcp { break; case 60: // $@19: %empty -#line 426 "dhcp6_parser.yy" +#line 429 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1036,7 +1036,7 @@ namespace isc { namespace dhcp { break; case 61: // global_object: "Dhcp6" $@19 ":" "{" global_params "}" -#line 435 "dhcp6_parser.yy" +#line 438 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1046,7 +1046,7 @@ namespace isc { namespace dhcp { break; case 62: // $@20: %empty -#line 443 "dhcp6_parser.yy" +#line 446 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1056,7 +1056,7 @@ namespace isc { namespace dhcp { break; case 63: // sub_dhcp6: "{" $@20 global_params "}" -#line 447 "dhcp6_parser.yy" +#line 450 "dhcp6_parser.yy" { // No global parameter is required // parsing completed @@ -1064,8 +1064,8 @@ namespace isc { namespace dhcp { #line 1065 "dhcp6_parser.cc" break; - case 124: // $@21: %empty -#line 518 "dhcp6_parser.yy" + case 126: // $@21: %empty +#line 523 "dhcp6_parser.yy" { ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1073,8 +1073,8 @@ namespace isc { namespace dhcp { #line 1074 "dhcp6_parser.cc" break; - case 125: // data_directory: "data-directory" $@21 ":" "constant string" -#line 521 "dhcp6_parser.yy" + case 127: // data_directory: "data-directory" $@21 ":" "constant string" +#line 526 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data-directory", datadir); @@ -1083,8 +1083,8 @@ namespace isc { namespace dhcp { #line 1084 "dhcp6_parser.cc" break; - case 126: // preferred_lifetime: "preferred-lifetime" ":" "integer" -#line 527 "dhcp6_parser.yy" + case 128: // preferred_lifetime: "preferred-lifetime" ":" "integer" +#line 532 "dhcp6_parser.yy" { ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1093,8 +1093,8 @@ namespace isc { namespace dhcp { #line 1094 "dhcp6_parser.cc" break; - case 127: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" -#line 533 "dhcp6_parser.yy" + case 129: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" +#line 538 "dhcp6_parser.yy" { ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1103,8 +1103,8 @@ namespace isc { namespace dhcp { #line 1104 "dhcp6_parser.cc" break; - case 128: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" -#line 539 "dhcp6_parser.yy" + case 130: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" +#line 544 "dhcp6_parser.yy" { ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1113,8 +1113,8 @@ namespace isc { namespace dhcp { #line 1114 "dhcp6_parser.cc" break; - case 129: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 545 "dhcp6_parser.yy" + case 131: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 550 "dhcp6_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))); @@ -1123,8 +1123,8 @@ namespace isc { namespace dhcp { #line 1124 "dhcp6_parser.cc" break; - case 130: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 551 "dhcp6_parser.yy" + case 132: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 556 "dhcp6_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))); @@ -1133,8 +1133,8 @@ namespace isc { namespace dhcp { #line 1134 "dhcp6_parser.cc" break; - case 131: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 557 "dhcp6_parser.yy" + case 133: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 562 "dhcp6_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))); @@ -1143,8 +1143,8 @@ namespace isc { namespace dhcp { #line 1144 "dhcp6_parser.cc" break; - case 132: // renew_timer: "renew-timer" ":" "integer" -#line 563 "dhcp6_parser.yy" + case 134: // renew_timer: "renew-timer" ":" "integer" +#line 568 "dhcp6_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))); @@ -1153,8 +1153,8 @@ namespace isc { namespace dhcp { #line 1154 "dhcp6_parser.cc" break; - case 133: // rebind_timer: "rebind-timer" ":" "integer" -#line 569 "dhcp6_parser.yy" + case 135: // rebind_timer: "rebind-timer" ":" "integer" +#line 574 "dhcp6_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))); @@ -1163,8 +1163,8 @@ namespace isc { namespace dhcp { #line 1164 "dhcp6_parser.cc" break; - case 134: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 575 "dhcp6_parser.yy" + case 136: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 580 "dhcp6_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))); @@ -1173,8 +1173,8 @@ namespace isc { namespace dhcp { #line 1174 "dhcp6_parser.cc" break; - case 135: // t1_percent: "t1-percent" ":" "floating point" -#line 581 "dhcp6_parser.yy" + case 137: // t1_percent: "t1-percent" ":" "floating point" +#line 586 "dhcp6_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))); @@ -1183,8 +1183,8 @@ namespace isc { namespace dhcp { #line 1184 "dhcp6_parser.cc" break; - case 136: // t2_percent: "t2-percent" ":" "floating point" -#line 587 "dhcp6_parser.yy" + case 138: // t2_percent: "t2-percent" ":" "floating point" +#line 592 "dhcp6_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))); @@ -1193,8 +1193,8 @@ namespace isc { namespace dhcp { #line 1194 "dhcp6_parser.cc" break; - case 137: // cache_threshold: "cache-threshold" ":" "floating point" -#line 593 "dhcp6_parser.yy" + case 139: // cache_threshold: "cache-threshold" ":" "floating point" +#line 598 "dhcp6_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))); @@ -1203,8 +1203,8 @@ namespace isc { namespace dhcp { #line 1204 "dhcp6_parser.cc" break; - case 138: // cache_max_age: "cache-max-age" ":" "integer" -#line 599 "dhcp6_parser.yy" + case 140: // cache_max_age: "cache-max-age" ":" "integer" +#line 604 "dhcp6_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))); @@ -1213,8 +1213,8 @@ namespace isc { namespace dhcp { #line 1214 "dhcp6_parser.cc" break; - case 139: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 605 "dhcp6_parser.yy" + case 141: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 610 "dhcp6_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))); @@ -1223,8 +1223,8 @@ namespace isc { namespace dhcp { #line 1224 "dhcp6_parser.cc" break; - case 140: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 611 "dhcp6_parser.yy" + case 142: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 616 "dhcp6_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))); @@ -1233,8 +1233,8 @@ namespace isc { namespace dhcp { #line 1234 "dhcp6_parser.cc" break; - case 141: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 617 "dhcp6_parser.yy" + case 143: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 622 "dhcp6_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))); @@ -1243,8 +1243,8 @@ namespace isc { namespace dhcp { #line 1244 "dhcp6_parser.cc" break; - case 142: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 623 "dhcp6_parser.yy" + case 144: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 628 "dhcp6_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))); @@ -1253,8 +1253,8 @@ namespace isc { namespace dhcp { #line 1254 "dhcp6_parser.cc" break; - case 143: // $@22: %empty -#line 629 "dhcp6_parser.yy" + case 145: // $@22: %empty +#line 634 "dhcp6_parser.yy" { ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); @@ -1262,8 +1262,8 @@ namespace isc { namespace dhcp { #line 1263 "dhcp6_parser.cc" break; - case 144: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 632 "dhcp6_parser.yy" + case 146: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 637 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1271,40 +1271,40 @@ namespace isc { namespace dhcp { #line 1272 "dhcp6_parser.cc" break; - case 145: // ddns_replace_client_name_value: "when-present" -#line 638 "dhcp6_parser.yy" + case 147: // ddns_replace_client_name_value: "when-present" +#line 643 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1280 "dhcp6_parser.cc" break; - case 146: // ddns_replace_client_name_value: "never" -#line 641 "dhcp6_parser.yy" + case 148: // ddns_replace_client_name_value: "never" +#line 646 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1288 "dhcp6_parser.cc" break; - case 147: // ddns_replace_client_name_value: "always" -#line 644 "dhcp6_parser.yy" + case 149: // ddns_replace_client_name_value: "always" +#line 649 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1296 "dhcp6_parser.cc" break; - case 148: // ddns_replace_client_name_value: "when-not-present" -#line 647 "dhcp6_parser.yy" + case 150: // ddns_replace_client_name_value: "when-not-present" +#line 652 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1304 "dhcp6_parser.cc" break; - case 149: // ddns_replace_client_name_value: "boolean" -#line 650 "dhcp6_parser.yy" + case 151: // ddns_replace_client_name_value: "boolean" +#line 655 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1312,8 +1312,8 @@ namespace isc { namespace dhcp { #line 1313 "dhcp6_parser.cc" break; - case 150: // $@23: %empty -#line 656 "dhcp6_parser.yy" + case 152: // $@23: %empty +#line 661 "dhcp6_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1321,8 +1321,8 @@ namespace isc { namespace dhcp { #line 1322 "dhcp6_parser.cc" break; - case 151: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 659 "dhcp6_parser.yy" + case 153: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 664 "dhcp6_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); @@ -1331,8 +1331,8 @@ namespace isc { namespace dhcp { #line 1332 "dhcp6_parser.cc" break; - case 152: // $@24: %empty -#line 665 "dhcp6_parser.yy" + case 154: // $@24: %empty +#line 670 "dhcp6_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1340,8 +1340,8 @@ namespace isc { namespace dhcp { #line 1341 "dhcp6_parser.cc" break; - case 153: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 668 "dhcp6_parser.yy" + case 155: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 673 "dhcp6_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); @@ -1350,8 +1350,8 @@ namespace isc { namespace dhcp { #line 1351 "dhcp6_parser.cc" break; - case 154: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 674 "dhcp6_parser.yy" + case 156: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 679 "dhcp6_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))); @@ -1360,115 +1360,105 @@ namespace isc { namespace dhcp { #line 1361 "dhcp6_parser.cc" break; - case 155: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 680 "dhcp6_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))); - ctx.stack_.back()->set("ddns-use-conflict-resolution", b); -} -#line 1371 "dhcp6_parser.cc" - break; - - case 156: // $@25: %empty -#line 686 "dhcp6_parser.yy" + case 157: // $@25: %empty +#line 685 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1380 "dhcp6_parser.cc" +#line 1370 "dhcp6_parser.cc" break; - case 157: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" -#line 689 "dhcp6_parser.yy" + case 158: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" +#line 688 "dhcp6_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); ctx.leave(); } -#line 1390 "dhcp6_parser.cc" +#line 1380 "dhcp6_parser.cc" break; - case 158: // $@26: %empty -#line 695 "dhcp6_parser.yy" + case 159: // $@26: %empty +#line 694 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1399 "dhcp6_parser.cc" +#line 1389 "dhcp6_parser.cc" break; - case 159: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" -#line 698 "dhcp6_parser.yy" + case 160: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" +#line 697 "dhcp6_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); ctx.leave(); } -#line 1409 "dhcp6_parser.cc" +#line 1399 "dhcp6_parser.cc" break; - case 160: // store_extended_info: "store-extended-info" ":" "boolean" -#line 704 "dhcp6_parser.yy" + case 161: // store_extended_info: "store-extended-info" ":" "boolean" +#line 703 "dhcp6_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))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1419 "dhcp6_parser.cc" +#line 1409 "dhcp6_parser.cc" break; - case 161: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 710 "dhcp6_parser.yy" + case 162: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 709 "dhcp6_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))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1429 "dhcp6_parser.cc" +#line 1419 "dhcp6_parser.cc" break; - case 162: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 716 "dhcp6_parser.yy" + case 163: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 715 "dhcp6_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))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1439 "dhcp6_parser.cc" +#line 1429 "dhcp6_parser.cc" break; - case 163: // $@27: %empty -#line 722 "dhcp6_parser.yy" + case 164: // $@27: %empty +#line 721 "dhcp6_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1448 "dhcp6_parser.cc" +#line 1438 "dhcp6_parser.cc" break; - case 164: // server_tag: "server-tag" $@27 ":" "constant string" -#line 725 "dhcp6_parser.yy" + case 165: // server_tag: "server-tag" $@27 ":" "constant string" +#line 724 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1458 "dhcp6_parser.cc" +#line 1448 "dhcp6_parser.cc" break; - case 165: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 731 "dhcp6_parser.yy" + case 166: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 730 "dhcp6_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))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1468 "dhcp6_parser.cc" +#line 1458 "dhcp6_parser.cc" break; - case 166: // $@28: %empty -#line 737 "dhcp6_parser.yy" + case 167: // $@28: %empty +#line 736 "dhcp6_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1476,40 +1466,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1480 "dhcp6_parser.cc" +#line 1470 "dhcp6_parser.cc" break; - case 167: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 743 "dhcp6_parser.yy" + case 168: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 742 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1490 "dhcp6_parser.cc" +#line 1480 "dhcp6_parser.cc" break; - case 168: // $@29: %empty -#line 749 "dhcp6_parser.yy" + case 169: // $@29: %empty +#line 748 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1500 "dhcp6_parser.cc" +#line 1490 "dhcp6_parser.cc" break; - case 169: // sub_interfaces6: "{" $@29 interfaces_config_params "}" -#line 753 "dhcp6_parser.yy" + case 170: // sub_interfaces6: "{" $@29 interfaces_config_params "}" +#line 752 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1509 "dhcp6_parser.cc" +#line 1499 "dhcp6_parser.cc" break; - case 177: // $@30: %empty -#line 769 "dhcp6_parser.yy" + case 178: // $@30: %empty +#line 768 "dhcp6_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1517,30 +1507,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1521 "dhcp6_parser.cc" +#line 1511 "dhcp6_parser.cc" break; - case 178: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 775 "dhcp6_parser.yy" + case 179: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 774 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1530 "dhcp6_parser.cc" +#line 1520 "dhcp6_parser.cc" break; - case 179: // re_detect: "re-detect" ":" "boolean" -#line 780 "dhcp6_parser.yy" + case 180: // re_detect: "re-detect" ":" "boolean" +#line 779 "dhcp6_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))); ctx.stack_.back()->set("re-detect", b); } -#line 1540 "dhcp6_parser.cc" +#line 1530 "dhcp6_parser.cc" break; - case 180: // $@31: %empty -#line 786 "dhcp6_parser.yy" + case 181: // $@31: %empty +#line 785 "dhcp6_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1548,22 +1538,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1552 "dhcp6_parser.cc" +#line 1542 "dhcp6_parser.cc" break; - case 181: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 792 "dhcp6_parser.yy" + case 182: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 791 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1563 "dhcp6_parser.cc" +#line 1553 "dhcp6_parser.cc" break; - case 182: // $@32: %empty -#line 799 "dhcp6_parser.yy" + case 183: // $@32: %empty +#line 798 "dhcp6_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1571,22 +1561,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1575 "dhcp6_parser.cc" +#line 1565 "dhcp6_parser.cc" break; - case 183: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" -#line 805 "dhcp6_parser.yy" + case 184: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" +#line 804 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1586 "dhcp6_parser.cc" +#line 1576 "dhcp6_parser.cc" break; - case 184: // $@33: %empty -#line 812 "dhcp6_parser.yy" + case 185: // $@33: %empty +#line 811 "dhcp6_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1594,344 +1584,344 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1598 "dhcp6_parser.cc" +#line 1588 "dhcp6_parser.cc" break; - case 185: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" -#line 818 "dhcp6_parser.yy" + case 186: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" +#line 817 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1607 "dhcp6_parser.cc" +#line 1597 "dhcp6_parser.cc" break; - case 190: // $@34: %empty -#line 831 "dhcp6_parser.yy" + case 191: // $@34: %empty +#line 830 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1617 "dhcp6_parser.cc" +#line 1607 "dhcp6_parser.cc" break; - case 191: // database: "{" $@34 database_map_params "}" -#line 835 "dhcp6_parser.yy" + case 192: // database: "{" $@34 database_map_params "}" +#line 834 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1627 "dhcp6_parser.cc" +#line 1617 "dhcp6_parser.cc" break; - case 215: // $@35: %empty -#line 868 "dhcp6_parser.yy" + case 216: // $@35: %empty +#line 867 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1636 "dhcp6_parser.cc" +#line 1626 "dhcp6_parser.cc" break; - case 216: // database_type: "type" $@35 ":" db_type -#line 871 "dhcp6_parser.yy" + case 217: // database_type: "type" $@35 ":" db_type +#line 870 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1645 "dhcp6_parser.cc" +#line 1635 "dhcp6_parser.cc" break; - case 217: // db_type: "memfile" -#line 876 "dhcp6_parser.yy" + case 218: // db_type: "memfile" +#line 875 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1651 "dhcp6_parser.cc" +#line 1641 "dhcp6_parser.cc" break; - case 218: // db_type: "mysql" -#line 877 "dhcp6_parser.yy" + case 219: // db_type: "mysql" +#line 876 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1657 "dhcp6_parser.cc" +#line 1647 "dhcp6_parser.cc" break; - case 219: // db_type: "postgresql" -#line 878 "dhcp6_parser.yy" + case 220: // db_type: "postgresql" +#line 877 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1663 "dhcp6_parser.cc" +#line 1653 "dhcp6_parser.cc" break; - case 220: // db_type: "cql" -#line 879 "dhcp6_parser.yy" + case 221: // db_type: "cql" +#line 878 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1669 "dhcp6_parser.cc" +#line 1659 "dhcp6_parser.cc" break; - case 221: // $@36: %empty -#line 882 "dhcp6_parser.yy" + case 222: // $@36: %empty +#line 881 "dhcp6_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1678 "dhcp6_parser.cc" +#line 1668 "dhcp6_parser.cc" break; - case 222: // user: "user" $@36 ":" "constant string" -#line 885 "dhcp6_parser.yy" + case 223: // user: "user" $@36 ":" "constant string" +#line 884 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1688 "dhcp6_parser.cc" +#line 1678 "dhcp6_parser.cc" break; - case 223: // $@37: %empty -#line 891 "dhcp6_parser.yy" + case 224: // $@37: %empty +#line 890 "dhcp6_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1697 "dhcp6_parser.cc" +#line 1687 "dhcp6_parser.cc" break; - case 224: // password: "password" $@37 ":" "constant string" -#line 894 "dhcp6_parser.yy" + case 225: // password: "password" $@37 ":" "constant string" +#line 893 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1707 "dhcp6_parser.cc" +#line 1697 "dhcp6_parser.cc" break; - case 225: // $@38: %empty -#line 900 "dhcp6_parser.yy" + case 226: // $@38: %empty +#line 899 "dhcp6_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1716 "dhcp6_parser.cc" +#line 1706 "dhcp6_parser.cc" break; - case 226: // host: "host" $@38 ":" "constant string" -#line 903 "dhcp6_parser.yy" + case 227: // host: "host" $@38 ":" "constant string" +#line 902 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1726 "dhcp6_parser.cc" +#line 1716 "dhcp6_parser.cc" break; - case 227: // port: "port" ":" "integer" -#line 909 "dhcp6_parser.yy" + case 228: // port: "port" ":" "integer" +#line 908 "dhcp6_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))); ctx.stack_.back()->set("port", p); } -#line 1736 "dhcp6_parser.cc" +#line 1726 "dhcp6_parser.cc" break; - case 228: // $@39: %empty -#line 915 "dhcp6_parser.yy" + case 229: // $@39: %empty +#line 914 "dhcp6_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1745 "dhcp6_parser.cc" +#line 1735 "dhcp6_parser.cc" break; - case 229: // name: "name" $@39 ":" "constant string" -#line 918 "dhcp6_parser.yy" + case 230: // name: "name" $@39 ":" "constant string" +#line 917 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1755 "dhcp6_parser.cc" +#line 1745 "dhcp6_parser.cc" break; - case 230: // persist: "persist" ":" "boolean" -#line 924 "dhcp6_parser.yy" + case 231: // persist: "persist" ":" "boolean" +#line 923 "dhcp6_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1765 "dhcp6_parser.cc" +#line 1755 "dhcp6_parser.cc" break; - case 231: // lfc_interval: "lfc-interval" ":" "integer" -#line 930 "dhcp6_parser.yy" + case 232: // lfc_interval: "lfc-interval" ":" "integer" +#line 929 "dhcp6_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))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1775 "dhcp6_parser.cc" +#line 1765 "dhcp6_parser.cc" break; - case 232: // readonly: "readonly" ":" "boolean" -#line 936 "dhcp6_parser.yy" + case 233: // readonly: "readonly" ":" "boolean" +#line 935 "dhcp6_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1785 "dhcp6_parser.cc" +#line 1775 "dhcp6_parser.cc" break; - case 233: // connect_timeout: "connect-timeout" ":" "integer" -#line 942 "dhcp6_parser.yy" + case 234: // connect_timeout: "connect-timeout" ":" "integer" +#line 941 "dhcp6_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))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1795 "dhcp6_parser.cc" +#line 1785 "dhcp6_parser.cc" break; - case 234: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 948 "dhcp6_parser.yy" + case 235: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 947 "dhcp6_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))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 1805 "dhcp6_parser.cc" +#line 1795 "dhcp6_parser.cc" break; - case 235: // max_row_errors: "max-row-errors" ":" "integer" -#line 954 "dhcp6_parser.yy" + case 236: // max_row_errors: "max-row-errors" ":" "integer" +#line 953 "dhcp6_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))); ctx.stack_.back()->set("max-row-errors", n); } -#line 1815 "dhcp6_parser.cc" +#line 1805 "dhcp6_parser.cc" break; - case 236: // request_timeout: "request-timeout" ":" "integer" -#line 960 "dhcp6_parser.yy" + case 237: // request_timeout: "request-timeout" ":" "integer" +#line 959 "dhcp6_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1825 "dhcp6_parser.cc" +#line 1815 "dhcp6_parser.cc" break; - case 237: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 966 "dhcp6_parser.yy" + case 238: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 965 "dhcp6_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1835 "dhcp6_parser.cc" +#line 1825 "dhcp6_parser.cc" break; - case 238: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 972 "dhcp6_parser.yy" + case 239: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 971 "dhcp6_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1845 "dhcp6_parser.cc" +#line 1835 "dhcp6_parser.cc" break; - case 239: // $@40: %empty -#line 978 "dhcp6_parser.yy" + case 240: // $@40: %empty +#line 977 "dhcp6_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1854 "dhcp6_parser.cc" +#line 1844 "dhcp6_parser.cc" break; - case 240: // contact_points: "contact-points" $@40 ":" "constant string" -#line 981 "dhcp6_parser.yy" + case 241: // contact_points: "contact-points" $@40 ":" "constant string" +#line 980 "dhcp6_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1864 "dhcp6_parser.cc" +#line 1854 "dhcp6_parser.cc" break; - case 241: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 987 "dhcp6_parser.yy" + case 242: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 986 "dhcp6_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))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 1874 "dhcp6_parser.cc" +#line 1864 "dhcp6_parser.cc" break; - case 242: // $@41: %empty -#line 993 "dhcp6_parser.yy" + case 243: // $@41: %empty +#line 992 "dhcp6_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1883 "dhcp6_parser.cc" +#line 1873 "dhcp6_parser.cc" break; - case 243: // keyspace: "keyspace" $@41 ":" "constant string" -#line 996 "dhcp6_parser.yy" + case 244: // keyspace: "keyspace" $@41 ":" "constant string" +#line 995 "dhcp6_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1893 "dhcp6_parser.cc" +#line 1883 "dhcp6_parser.cc" break; - case 244: // $@42: %empty -#line 1002 "dhcp6_parser.yy" + case 245: // $@42: %empty +#line 1001 "dhcp6_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1902 "dhcp6_parser.cc" +#line 1892 "dhcp6_parser.cc" break; - case 245: // consistency: "consistency" $@42 ":" "constant string" -#line 1005 "dhcp6_parser.yy" + case 246: // consistency: "consistency" $@42 ":" "constant string" +#line 1004 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 1912 "dhcp6_parser.cc" +#line 1902 "dhcp6_parser.cc" break; - case 246: // $@43: %empty -#line 1011 "dhcp6_parser.yy" + case 247: // $@43: %empty +#line 1010 "dhcp6_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1921 "dhcp6_parser.cc" +#line 1911 "dhcp6_parser.cc" break; - case 247: // serial_consistency: "serial-consistency" $@43 ":" "constant string" -#line 1014 "dhcp6_parser.yy" + case 248: // serial_consistency: "serial-consistency" $@43 ":" "constant string" +#line 1013 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); ctx.leave(); } -#line 1931 "dhcp6_parser.cc" +#line 1921 "dhcp6_parser.cc" break; - case 248: // $@44: %empty -#line 1020 "dhcp6_parser.yy" + case 249: // $@44: %empty +#line 1019 "dhcp6_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1939,29 +1929,29 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1943 "dhcp6_parser.cc" +#line 1933 "dhcp6_parser.cc" break; - case 249: // sanity_checks: "sanity-checks" $@44 ":" "{" sanity_checks_params "}" -#line 1026 "dhcp6_parser.yy" + case 250: // sanity_checks: "sanity-checks" $@44 ":" "{" sanity_checks_params "}" +#line 1025 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1952 "dhcp6_parser.cc" +#line 1942 "dhcp6_parser.cc" break; - case 253: // $@45: %empty -#line 1036 "dhcp6_parser.yy" + case 254: // $@45: %empty +#line 1035 "dhcp6_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1961 "dhcp6_parser.cc" +#line 1951 "dhcp6_parser.cc" break; - case 254: // lease_checks: "lease-checks" $@45 ":" "constant string" -#line 1039 "dhcp6_parser.yy" + case 255: // lease_checks: "lease-checks" $@45 ":" "constant string" +#line 1038 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1977,11 +1967,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1981 "dhcp6_parser.cc" +#line 1971 "dhcp6_parser.cc" break; - case 255: // $@46: %empty -#line 1055 "dhcp6_parser.yy" + case 256: // $@46: %empty +#line 1054 "dhcp6_parser.yy" { ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1989,38 +1979,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 1993 "dhcp6_parser.cc" +#line 1983 "dhcp6_parser.cc" break; - case 256: // mac_sources: "mac-sources" $@46 ":" "[" mac_sources_list "]" -#line 1061 "dhcp6_parser.yy" + case 257: // mac_sources: "mac-sources" $@46 ":" "[" mac_sources_list "]" +#line 1060 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2002 "dhcp6_parser.cc" +#line 1992 "dhcp6_parser.cc" break; - case 261: // duid_id: "duid" -#line 1074 "dhcp6_parser.yy" - { + case 262: // duid_id: "duid" +#line 1073 "dhcp6_parser.yy" + { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2011 "dhcp6_parser.cc" +#line 2001 "dhcp6_parser.cc" break; - case 262: // string_id: "constant string" -#line 1079 "dhcp6_parser.yy" - { + case 263: // string_id: "constant string" +#line 1078 "dhcp6_parser.yy" + { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2020 "dhcp6_parser.cc" +#line 2010 "dhcp6_parser.cc" break; - case 263: // $@47: %empty -#line 1084 "dhcp6_parser.yy" + case 264: // $@47: %empty +#line 1083 "dhcp6_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2028,38 +2018,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2032 "dhcp6_parser.cc" +#line 2022 "dhcp6_parser.cc" break; - case 264: // host_reservation_identifiers: "host-reservation-identifiers" $@47 ":" "[" host_reservation_identifiers_list "]" -#line 1090 "dhcp6_parser.yy" + case 265: // host_reservation_identifiers: "host-reservation-identifiers" $@47 ":" "[" host_reservation_identifiers_list "]" +#line 1089 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2041 "dhcp6_parser.cc" +#line 2031 "dhcp6_parser.cc" break; - case 270: // hw_address_id: "hw-address" -#line 1104 "dhcp6_parser.yy" - { + case 271: // hw_address_id: "hw-address" +#line 1103 "dhcp6_parser.yy" + { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2050 "dhcp6_parser.cc" +#line 2040 "dhcp6_parser.cc" break; - case 271: // flex_id: "flex-id" -#line 1109 "dhcp6_parser.yy" - { + case 272: // flex_id: "flex-id" +#line 1108 "dhcp6_parser.yy" + { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2059 "dhcp6_parser.cc" +#line 2049 "dhcp6_parser.cc" break; - case 272: // $@48: %empty -#line 1116 "dhcp6_parser.yy" + case 273: // $@48: %empty +#line 1115 "dhcp6_parser.yy" { ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2067,20 +2057,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2071 "dhcp6_parser.cc" +#line 2061 "dhcp6_parser.cc" break; - case 273: // relay_supplied_options: "relay-supplied-options" $@48 ":" "[" list_content "]" -#line 1122 "dhcp6_parser.yy" + case 274: // relay_supplied_options: "relay-supplied-options" $@48 ":" "[" list_content "]" +#line 1121 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2080 "dhcp6_parser.cc" +#line 2070 "dhcp6_parser.cc" break; - case 274: // $@49: %empty -#line 1129 "dhcp6_parser.yy" + case 275: // $@49: %empty +#line 1128 "dhcp6_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2088,52 +2078,52 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2092 "dhcp6_parser.cc" +#line 2082 "dhcp6_parser.cc" break; - case 275: // dhcp_multi_threading: "multi-threading" $@49 ":" "{" multi_threading_params "}" -#line 1135 "dhcp6_parser.yy" + case 276: // dhcp_multi_threading: "multi-threading" $@49 ":" "{" multi_threading_params "}" +#line 1134 "dhcp6_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2103 "dhcp6_parser.cc" +#line 2093 "dhcp6_parser.cc" break; - case 284: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1154 "dhcp6_parser.yy" + case 285: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1153 "dhcp6_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))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2113 "dhcp6_parser.cc" +#line 2103 "dhcp6_parser.cc" break; - case 285: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1160 "dhcp6_parser.yy" + case 286: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1159 "dhcp6_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))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2123 "dhcp6_parser.cc" +#line 2113 "dhcp6_parser.cc" break; - case 286: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1166 "dhcp6_parser.yy" + case 287: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1165 "dhcp6_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))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2133 "dhcp6_parser.cc" +#line 2123 "dhcp6_parser.cc" break; - case 287: // $@50: %empty -#line 1172 "dhcp6_parser.yy" + case 288: // $@50: %empty +#line 1171 "dhcp6_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2141,97 +2131,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2145 "dhcp6_parser.cc" +#line 2135 "dhcp6_parser.cc" break; - case 288: // hooks_libraries: "hooks-libraries" $@50 ":" "[" hooks_libraries_list "]" -#line 1178 "dhcp6_parser.yy" + case 289: // hooks_libraries: "hooks-libraries" $@50 ":" "[" hooks_libraries_list "]" +#line 1177 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2154 "dhcp6_parser.cc" +#line 2144 "dhcp6_parser.cc" break; - case 293: // $@51: %empty -#line 1191 "dhcp6_parser.yy" + case 294: // $@51: %empty +#line 1190 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2164 "dhcp6_parser.cc" +#line 2154 "dhcp6_parser.cc" break; - case 294: // hooks_library: "{" $@51 hooks_params "}" -#line 1195 "dhcp6_parser.yy" + case 295: // hooks_library: "{" $@51 hooks_params "}" +#line 1194 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2174 "dhcp6_parser.cc" +#line 2164 "dhcp6_parser.cc" break; - case 295: // $@52: %empty -#line 1201 "dhcp6_parser.yy" + case 296: // $@52: %empty +#line 1200 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2184 "dhcp6_parser.cc" +#line 2174 "dhcp6_parser.cc" break; - case 296: // sub_hooks_library: "{" $@52 hooks_params "}" -#line 1205 "dhcp6_parser.yy" + case 297: // sub_hooks_library: "{" $@52 hooks_params "}" +#line 1204 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2194 "dhcp6_parser.cc" +#line 2184 "dhcp6_parser.cc" break; - case 302: // $@53: %empty -#line 1220 "dhcp6_parser.yy" + case 303: // $@53: %empty +#line 1219 "dhcp6_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2203 "dhcp6_parser.cc" +#line 2193 "dhcp6_parser.cc" break; - case 303: // library: "library" $@53 ":" "constant string" -#line 1223 "dhcp6_parser.yy" + case 304: // library: "library" $@53 ":" "constant string" +#line 1222 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2213 "dhcp6_parser.cc" +#line 2203 "dhcp6_parser.cc" break; - case 304: // $@54: %empty -#line 1229 "dhcp6_parser.yy" + case 305: // $@54: %empty +#line 1228 "dhcp6_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2222 "dhcp6_parser.cc" +#line 2212 "dhcp6_parser.cc" break; - case 305: // parameters: "parameters" $@54 ":" map_value -#line 1232 "dhcp6_parser.yy" + case 306: // parameters: "parameters" $@54 ":" map_value +#line 1231 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2231 "dhcp6_parser.cc" +#line 2221 "dhcp6_parser.cc" break; - case 306: // $@55: %empty -#line 1238 "dhcp6_parser.yy" + case 307: // $@55: %empty +#line 1237 "dhcp6_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2239,81 +2229,81 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2243 "dhcp6_parser.cc" +#line 2233 "dhcp6_parser.cc" break; - case 307: // expired_leases_processing: "expired-leases-processing" $@55 ":" "{" expired_leases_params "}" -#line 1244 "dhcp6_parser.yy" + case 308: // expired_leases_processing: "expired-leases-processing" $@55 ":" "{" expired_leases_params "}" +#line 1243 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2253 "dhcp6_parser.cc" +#line 2243 "dhcp6_parser.cc" break; - case 316: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1262 "dhcp6_parser.yy" + case 317: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1261 "dhcp6_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))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2263 "dhcp6_parser.cc" +#line 2253 "dhcp6_parser.cc" break; - case 317: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1268 "dhcp6_parser.yy" + case 318: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1267 "dhcp6_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))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2273 "dhcp6_parser.cc" +#line 2263 "dhcp6_parser.cc" break; - case 318: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1274 "dhcp6_parser.yy" + case 319: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1273 "dhcp6_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))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2283 "dhcp6_parser.cc" +#line 2273 "dhcp6_parser.cc" break; - case 319: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1280 "dhcp6_parser.yy" + case 320: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1279 "dhcp6_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))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2293 "dhcp6_parser.cc" +#line 2283 "dhcp6_parser.cc" break; - case 320: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1286 "dhcp6_parser.yy" + case 321: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1285 "dhcp6_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))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2303 "dhcp6_parser.cc" +#line 2293 "dhcp6_parser.cc" break; - case 321: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1292 "dhcp6_parser.yy" + case 322: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1291 "dhcp6_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))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2313 "dhcp6_parser.cc" +#line 2303 "dhcp6_parser.cc" break; - case 322: // $@56: %empty -#line 1301 "dhcp6_parser.yy" + case 323: // $@56: %empty +#line 1300 "dhcp6_parser.yy" { ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2321,30 +2311,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 2325 "dhcp6_parser.cc" +#line 2315 "dhcp6_parser.cc" break; - case 323: // subnet6_list: "subnet6" $@56 ":" "[" subnet6_list_content "]" -#line 1307 "dhcp6_parser.yy" + case 324: // subnet6_list: "subnet6" $@56 ":" "[" subnet6_list_content "]" +#line 1306 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2334 "dhcp6_parser.cc" +#line 2324 "dhcp6_parser.cc" break; - case 328: // $@57: %empty -#line 1327 "dhcp6_parser.yy" + case 329: // $@57: %empty +#line 1326 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2344 "dhcp6_parser.cc" +#line 2334 "dhcp6_parser.cc" break; - case 329: // subnet6: "{" $@57 subnet6_params "}" -#line 1331 "dhcp6_parser.yy" + case 330: // subnet6: "{" $@57 subnet6_params "}" +#line 1330 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2366,107 +2356,107 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2370 "dhcp6_parser.cc" +#line 2360 "dhcp6_parser.cc" break; - case 330: // $@58: %empty -#line 1353 "dhcp6_parser.yy" + case 331: // $@58: %empty +#line 1352 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2380 "dhcp6_parser.cc" +#line 2370 "dhcp6_parser.cc" break; - case 331: // sub_subnet6: "{" $@58 subnet6_params "}" -#line 1357 "dhcp6_parser.yy" + case 332: // sub_subnet6: "{" $@58 subnet6_params "}" +#line 1356 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2390 "dhcp6_parser.cc" +#line 2380 "dhcp6_parser.cc" break; - case 374: // $@59: %empty -#line 1411 "dhcp6_parser.yy" + case 377: // $@59: %empty +#line 1412 "dhcp6_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2399 "dhcp6_parser.cc" +#line 2389 "dhcp6_parser.cc" break; - case 375: // subnet: "subnet" $@59 ":" "constant string" -#line 1414 "dhcp6_parser.yy" + case 378: // subnet: "subnet" $@59 ":" "constant string" +#line 1415 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2409 "dhcp6_parser.cc" +#line 2399 "dhcp6_parser.cc" break; - case 376: // $@60: %empty -#line 1420 "dhcp6_parser.yy" + case 379: // $@60: %empty +#line 1421 "dhcp6_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2418 "dhcp6_parser.cc" +#line 2408 "dhcp6_parser.cc" break; - case 377: // interface: "interface" $@60 ":" "constant string" -#line 1423 "dhcp6_parser.yy" + case 380: // interface: "interface" $@60 ":" "constant string" +#line 1424 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2428 "dhcp6_parser.cc" +#line 2418 "dhcp6_parser.cc" break; - case 378: // $@61: %empty -#line 1429 "dhcp6_parser.yy" + case 381: // $@61: %empty +#line 1430 "dhcp6_parser.yy" { ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2437 "dhcp6_parser.cc" +#line 2427 "dhcp6_parser.cc" break; - case 379: // interface_id: "interface-id" $@61 ":" "constant string" -#line 1432 "dhcp6_parser.yy" + case 382: // interface_id: "interface-id" $@61 ":" "constant string" +#line 1433 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 2447 "dhcp6_parser.cc" +#line 2437 "dhcp6_parser.cc" break; - case 380: // $@62: %empty -#line 1438 "dhcp6_parser.yy" + case 383: // $@62: %empty +#line 1439 "dhcp6_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2456 "dhcp6_parser.cc" +#line 2446 "dhcp6_parser.cc" break; - case 381: // client_class: "client-class" $@62 ":" "constant string" -#line 1441 "dhcp6_parser.yy" + case 384: // client_class: "client-class" $@62 ":" "constant string" +#line 1442 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2466 "dhcp6_parser.cc" +#line 2456 "dhcp6_parser.cc" break; - case 382: // $@63: %empty -#line 1447 "dhcp6_parser.yy" + case 385: // $@63: %empty +#line 1448 "dhcp6_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2474,82 +2464,112 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2478 "dhcp6_parser.cc" +#line 2468 "dhcp6_parser.cc" break; - case 383: // require_client_classes: "require-client-classes" $@63 ":" list_strings -#line 1453 "dhcp6_parser.yy" + case 386: // require_client_classes: "require-client-classes" $@63 ":" list_strings +#line 1454 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } +#line 2477 "dhcp6_parser.cc" + break; + + case 387: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1459 "dhcp6_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))); + ctx.stack_.back()->set("reservations-out-of-pool", b); +} #line 2487 "dhcp6_parser.cc" break; - case 384: // $@64: %empty -#line 1458 "dhcp6_parser.yy" + case 388: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1465 "dhcp6_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))); + ctx.stack_.back()->set("reservations-in-subnet", b); +} +#line 2497 "dhcp6_parser.cc" + break; + + case 389: // reservations_global: "reservations-global" ":" "boolean" +#line 1471 "dhcp6_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))); + ctx.stack_.back()->set("reservations-global", b); +} +#line 2507 "dhcp6_parser.cc" + break; + + case 390: // $@64: %empty +#line 1477 "dhcp6_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2496 "dhcp6_parser.cc" +#line 2516 "dhcp6_parser.cc" break; - case 385: // reservation_mode: "reservation-mode" $@64 ":" hr_mode -#line 1461 "dhcp6_parser.yy" + case 391: // reservation_mode: "reservation-mode" $@64 ":" hr_mode +#line 1480 "dhcp6_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2505 "dhcp6_parser.cc" +#line 2525 "dhcp6_parser.cc" break; - case 386: // hr_mode: "disabled" -#line 1466 "dhcp6_parser.yy" + case 392: // hr_mode: "disabled" +#line 1485 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2511 "dhcp6_parser.cc" +#line 2531 "dhcp6_parser.cc" break; - case 387: // hr_mode: "out-of-pool" -#line 1467 "dhcp6_parser.yy" + case 393: // hr_mode: "out-of-pool" +#line 1486 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2517 "dhcp6_parser.cc" +#line 2537 "dhcp6_parser.cc" break; - case 388: // hr_mode: "global" -#line 1468 "dhcp6_parser.yy" + case 394: // hr_mode: "global" +#line 1487 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2523 "dhcp6_parser.cc" +#line 2543 "dhcp6_parser.cc" break; - case 389: // hr_mode: "all" -#line 1469 "dhcp6_parser.yy" + case 395: // hr_mode: "all" +#line 1488 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2529 "dhcp6_parser.cc" +#line 2549 "dhcp6_parser.cc" break; - case 390: // id: "id" ":" "integer" -#line 1472 "dhcp6_parser.yy" + case 396: // id: "id" ":" "integer" +#line 1491 "dhcp6_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))); ctx.stack_.back()->set("id", id); } -#line 2539 "dhcp6_parser.cc" +#line 2559 "dhcp6_parser.cc" break; - case 391: // rapid_commit: "rapid-commit" ":" "boolean" -#line 1478 "dhcp6_parser.yy" + case 397: // rapid_commit: "rapid-commit" ":" "boolean" +#line 1497 "dhcp6_parser.yy" { ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location)); ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 2549 "dhcp6_parser.cc" +#line 2569 "dhcp6_parser.cc" break; - case 392: // $@65: %empty -#line 1486 "dhcp6_parser.yy" + case 398: // $@65: %empty +#line 1505 "dhcp6_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2557,38 +2577,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2561 "dhcp6_parser.cc" +#line 2581 "dhcp6_parser.cc" break; - case 393: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" -#line 1492 "dhcp6_parser.yy" + case 399: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" +#line 1511 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2570 "dhcp6_parser.cc" +#line 2590 "dhcp6_parser.cc" break; - case 398: // $@66: %empty -#line 1507 "dhcp6_parser.yy" + case 404: // $@66: %empty +#line 1526 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2580 "dhcp6_parser.cc" +#line 2600 "dhcp6_parser.cc" break; - case 399: // shared_network: "{" $@66 shared_network_params "}" -#line 1511 "dhcp6_parser.yy" + case 405: // shared_network: "{" $@66 shared_network_params "}" +#line 1530 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 2588 "dhcp6_parser.cc" +#line 2608 "dhcp6_parser.cc" break; - case 439: // $@67: %empty -#line 1562 "dhcp6_parser.yy" + case 447: // $@67: %empty +#line 1583 "dhcp6_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2596,47 +2616,47 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2600 "dhcp6_parser.cc" +#line 2620 "dhcp6_parser.cc" break; - case 440: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" -#line 1568 "dhcp6_parser.yy" + case 448: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" +#line 1589 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2609 "dhcp6_parser.cc" +#line 2629 "dhcp6_parser.cc" break; - case 441: // $@68: %empty -#line 1576 "dhcp6_parser.yy" + case 449: // $@68: %empty +#line 1597 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2618 "dhcp6_parser.cc" +#line 2638 "dhcp6_parser.cc" break; - case 442: // sub_option_def_list: "{" $@68 option_def_list "}" -#line 1579 "dhcp6_parser.yy" + case 450: // sub_option_def_list: "{" $@68 option_def_list "}" +#line 1600 "dhcp6_parser.yy" { // parsing completed } -#line 2626 "dhcp6_parser.cc" +#line 2646 "dhcp6_parser.cc" break; - case 447: // $@69: %empty -#line 1595 "dhcp6_parser.yy" + case 455: // $@69: %empty +#line 1616 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2636 "dhcp6_parser.cc" +#line 2656 "dhcp6_parser.cc" break; - case 448: // option_def_entry: "{" $@69 option_def_params "}" -#line 1599 "dhcp6_parser.yy" + case 456: // option_def_entry: "{" $@69 option_def_params "}" +#line 1620 "dhcp6_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)); @@ -2644,21 +2664,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2648 "dhcp6_parser.cc" +#line 2668 "dhcp6_parser.cc" break; - case 449: // $@70: %empty -#line 1610 "dhcp6_parser.yy" + case 457: // $@70: %empty +#line 1631 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2658 "dhcp6_parser.cc" +#line 2678 "dhcp6_parser.cc" break; - case 450: // sub_option_def: "{" $@70 option_def_params "}" -#line 1614 "dhcp6_parser.yy" + case 458: // sub_option_def: "{" $@70 option_def_params "}" +#line 1635 "dhcp6_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)); @@ -2666,107 +2686,107 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2670 "dhcp6_parser.cc" +#line 2690 "dhcp6_parser.cc" break; - case 466: // code: "code" ":" "integer" -#line 1646 "dhcp6_parser.yy" + case 474: // code: "code" ":" "integer" +#line 1667 "dhcp6_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))); ctx.stack_.back()->set("code", code); } -#line 2680 "dhcp6_parser.cc" +#line 2700 "dhcp6_parser.cc" break; - case 468: // $@71: %empty -#line 1654 "dhcp6_parser.yy" + case 476: // $@71: %empty +#line 1675 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2689 "dhcp6_parser.cc" +#line 2709 "dhcp6_parser.cc" break; - case 469: // option_def_type: "type" $@71 ":" "constant string" -#line 1657 "dhcp6_parser.yy" + case 477: // option_def_type: "type" $@71 ":" "constant string" +#line 1678 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2699 "dhcp6_parser.cc" +#line 2719 "dhcp6_parser.cc" break; - case 470: // $@72: %empty -#line 1663 "dhcp6_parser.yy" + case 478: // $@72: %empty +#line 1684 "dhcp6_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2708 "dhcp6_parser.cc" +#line 2728 "dhcp6_parser.cc" break; - case 471: // option_def_record_types: "record-types" $@72 ":" "constant string" -#line 1666 "dhcp6_parser.yy" + case 479: // option_def_record_types: "record-types" $@72 ":" "constant string" +#line 1687 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2718 "dhcp6_parser.cc" +#line 2738 "dhcp6_parser.cc" break; - case 472: // $@73: %empty -#line 1672 "dhcp6_parser.yy" + case 480: // $@73: %empty +#line 1693 "dhcp6_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2727 "dhcp6_parser.cc" +#line 2747 "dhcp6_parser.cc" break; - case 473: // space: "space" $@73 ":" "constant string" -#line 1675 "dhcp6_parser.yy" + case 481: // space: "space" $@73 ":" "constant string" +#line 1696 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2737 "dhcp6_parser.cc" +#line 2757 "dhcp6_parser.cc" break; - case 475: // $@74: %empty -#line 1683 "dhcp6_parser.yy" + case 483: // $@74: %empty +#line 1704 "dhcp6_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2746 "dhcp6_parser.cc" +#line 2766 "dhcp6_parser.cc" break; - case 476: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" -#line 1686 "dhcp6_parser.yy" + case 484: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" +#line 1707 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2756 "dhcp6_parser.cc" +#line 2776 "dhcp6_parser.cc" break; - case 477: // option_def_array: "array" ":" "boolean" -#line 1692 "dhcp6_parser.yy" + case 485: // option_def_array: "array" ":" "boolean" +#line 1713 "dhcp6_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2766 "dhcp6_parser.cc" +#line 2786 "dhcp6_parser.cc" break; - case 478: // $@75: %empty -#line 1702 "dhcp6_parser.yy" + case 486: // $@75: %empty +#line 1723 "dhcp6_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2774,97 +2794,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2778 "dhcp6_parser.cc" +#line 2798 "dhcp6_parser.cc" break; - case 479: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" -#line 1708 "dhcp6_parser.yy" + case 487: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" +#line 1729 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2787 "dhcp6_parser.cc" +#line 2807 "dhcp6_parser.cc" break; - case 484: // $@76: %empty -#line 1727 "dhcp6_parser.yy" + case 492: // $@76: %empty +#line 1748 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2797 "dhcp6_parser.cc" +#line 2817 "dhcp6_parser.cc" break; - case 485: // option_data_entry: "{" $@76 option_data_params "}" -#line 1731 "dhcp6_parser.yy" + case 493: // option_data_entry: "{" $@76 option_data_params "}" +#line 1752 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2806 "dhcp6_parser.cc" +#line 2826 "dhcp6_parser.cc" break; - case 486: // $@77: %empty -#line 1739 "dhcp6_parser.yy" + case 494: // $@77: %empty +#line 1760 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2816 "dhcp6_parser.cc" +#line 2836 "dhcp6_parser.cc" break; - case 487: // sub_option_data: "{" $@77 option_data_params "}" -#line 1743 "dhcp6_parser.yy" + case 495: // sub_option_data: "{" $@77 option_data_params "}" +#line 1764 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 2825 "dhcp6_parser.cc" +#line 2845 "dhcp6_parser.cc" break; - case 502: // $@78: %empty -#line 1776 "dhcp6_parser.yy" + case 510: // $@78: %empty +#line 1797 "dhcp6_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2834 "dhcp6_parser.cc" +#line 2854 "dhcp6_parser.cc" break; - case 503: // option_data_data: "data" $@78 ":" "constant string" -#line 1779 "dhcp6_parser.yy" + case 511: // option_data_data: "data" $@78 ":" "constant string" +#line 1800 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2844 "dhcp6_parser.cc" +#line 2864 "dhcp6_parser.cc" break; - case 506: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1789 "dhcp6_parser.yy" + case 514: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1810 "dhcp6_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2854 "dhcp6_parser.cc" +#line 2874 "dhcp6_parser.cc" break; - case 507: // option_data_always_send: "always-send" ":" "boolean" -#line 1795 "dhcp6_parser.yy" + case 515: // option_data_always_send: "always-send" ":" "boolean" +#line 1816 "dhcp6_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))); ctx.stack_.back()->set("always-send", persist); } -#line 2864 "dhcp6_parser.cc" +#line 2884 "dhcp6_parser.cc" break; - case 508: // $@79: %empty -#line 1804 "dhcp6_parser.yy" + case 516: // $@79: %empty +#line 1825 "dhcp6_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2872,87 +2892,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2876 "dhcp6_parser.cc" +#line 2896 "dhcp6_parser.cc" break; - case 509: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" -#line 1810 "dhcp6_parser.yy" + case 517: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" +#line 1831 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2885 "dhcp6_parser.cc" +#line 2905 "dhcp6_parser.cc" break; - case 514: // $@80: %empty -#line 1825 "dhcp6_parser.yy" + case 522: // $@80: %empty +#line 1846 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2895 "dhcp6_parser.cc" +#line 2915 "dhcp6_parser.cc" break; - case 515: // pool_list_entry: "{" $@80 pool_params "}" -#line 1829 "dhcp6_parser.yy" + case 523: // pool_list_entry: "{" $@80 pool_params "}" +#line 1850 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2905 "dhcp6_parser.cc" +#line 2925 "dhcp6_parser.cc" break; - case 516: // $@81: %empty -#line 1835 "dhcp6_parser.yy" + case 524: // $@81: %empty +#line 1856 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2915 "dhcp6_parser.cc" +#line 2935 "dhcp6_parser.cc" break; - case 517: // sub_pool6: "{" $@81 pool_params "}" -#line 1839 "dhcp6_parser.yy" + case 525: // sub_pool6: "{" $@81 pool_params "}" +#line 1860 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2925 "dhcp6_parser.cc" +#line 2945 "dhcp6_parser.cc" break; - case 527: // $@82: %empty -#line 1858 "dhcp6_parser.yy" + case 535: // $@82: %empty +#line 1879 "dhcp6_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2934 "dhcp6_parser.cc" +#line 2954 "dhcp6_parser.cc" break; - case 528: // pool_entry: "pool" $@82 ":" "constant string" -#line 1861 "dhcp6_parser.yy" + case 536: // pool_entry: "pool" $@82 ":" "constant string" +#line 1882 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2944 "dhcp6_parser.cc" +#line 2964 "dhcp6_parser.cc" break; - case 529: // $@83: %empty -#line 1867 "dhcp6_parser.yy" + case 537: // $@83: %empty +#line 1888 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2952 "dhcp6_parser.cc" +#line 2972 "dhcp6_parser.cc" break; - case 530: // user_context: "user-context" $@83 ":" map_value -#line 1869 "dhcp6_parser.yy" + case 538: // user_context: "user-context" $@83 ":" map_value +#line 1890 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -2975,19 +2995,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 2979 "dhcp6_parser.cc" +#line 2999 "dhcp6_parser.cc" break; - case 531: // $@84: %empty -#line 1892 "dhcp6_parser.yy" + case 539: // $@84: %empty +#line 1913 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2987 "dhcp6_parser.cc" +#line 3007 "dhcp6_parser.cc" break; - case 532: // comment: "comment" $@84 ":" "constant string" -#line 1894 "dhcp6_parser.yy" + case 540: // comment: "comment" $@84 ":" "constant string" +#line 1915 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3012,11 +3032,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3016 "dhcp6_parser.cc" +#line 3036 "dhcp6_parser.cc" break; - case 533: // $@85: %empty -#line 1922 "dhcp6_parser.yy" + case 541: // $@85: %empty +#line 1943 "dhcp6_parser.yy" { ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3024,30 +3044,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 3028 "dhcp6_parser.cc" +#line 3048 "dhcp6_parser.cc" break; - case 534: // pd_pools_list: "pd-pools" $@85 ":" "[" pd_pools_list_content "]" -#line 1928 "dhcp6_parser.yy" + case 542: // pd_pools_list: "pd-pools" $@85 ":" "[" pd_pools_list_content "]" +#line 1949 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3037 "dhcp6_parser.cc" +#line 3057 "dhcp6_parser.cc" break; - case 539: // $@86: %empty -#line 1943 "dhcp6_parser.yy" + case 547: // $@86: %empty +#line 1964 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3047 "dhcp6_parser.cc" +#line 3067 "dhcp6_parser.cc" break; - case 540: // pd_pool_entry: "{" $@86 pd_pool_params "}" -#line 1947 "dhcp6_parser.yy" + case 548: // pd_pool_entry: "{" $@86 pd_pool_params "}" +#line 1968 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3055,21 +3075,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3059 "dhcp6_parser.cc" +#line 3079 "dhcp6_parser.cc" break; - case 541: // $@87: %empty -#line 1955 "dhcp6_parser.yy" + case 549: // $@87: %empty +#line 1976 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3069 "dhcp6_parser.cc" +#line 3089 "dhcp6_parser.cc" break; - case 542: // sub_pd_pool: "{" $@87 pd_pool_params "}" -#line 1959 "dhcp6_parser.yy" + case 550: // sub_pd_pool: "{" $@87 pd_pool_params "}" +#line 1980 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3077,79 +3097,79 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3081 "dhcp6_parser.cc" +#line 3101 "dhcp6_parser.cc" break; - case 556: // $@88: %empty -#line 1984 "dhcp6_parser.yy" + case 564: // $@88: %empty +#line 2005 "dhcp6_parser.yy" { ctx.unique("prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3090 "dhcp6_parser.cc" +#line 3110 "dhcp6_parser.cc" break; - case 557: // pd_prefix: "prefix" $@88 ":" "constant string" -#line 1987 "dhcp6_parser.yy" + case 565: // pd_prefix: "prefix" $@88 ":" "constant string" +#line 2008 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 3100 "dhcp6_parser.cc" +#line 3120 "dhcp6_parser.cc" break; - case 558: // pd_prefix_len: "prefix-len" ":" "integer" -#line 1993 "dhcp6_parser.yy" + case 566: // pd_prefix_len: "prefix-len" ":" "integer" +#line 2014 "dhcp6_parser.yy" { ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 3110 "dhcp6_parser.cc" +#line 3130 "dhcp6_parser.cc" break; - case 559: // $@89: %empty -#line 1999 "dhcp6_parser.yy" + case 567: // $@89: %empty +#line 2020 "dhcp6_parser.yy" { ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3119 "dhcp6_parser.cc" +#line 3139 "dhcp6_parser.cc" break; - case 560: // excluded_prefix: "excluded-prefix" $@89 ":" "constant string" -#line 2002 "dhcp6_parser.yy" + case 568: // excluded_prefix: "excluded-prefix" $@89 ":" "constant string" +#line 2023 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 3129 "dhcp6_parser.cc" +#line 3149 "dhcp6_parser.cc" break; - case 561: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" -#line 2008 "dhcp6_parser.yy" + case 569: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" +#line 2029 "dhcp6_parser.yy" { ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 3139 "dhcp6_parser.cc" +#line 3159 "dhcp6_parser.cc" break; - case 562: // pd_delegated_len: "delegated-len" ":" "integer" -#line 2014 "dhcp6_parser.yy" + case 570: // pd_delegated_len: "delegated-len" ":" "integer" +#line 2035 "dhcp6_parser.yy" { ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location)); ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 3149 "dhcp6_parser.cc" +#line 3169 "dhcp6_parser.cc" break; - case 563: // $@90: %empty -#line 2023 "dhcp6_parser.yy" + case 571: // $@90: %empty +#line 2044 "dhcp6_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3157,58 +3177,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3161 "dhcp6_parser.cc" +#line 3181 "dhcp6_parser.cc" break; - case 564: // reservations: "reservations" $@90 ":" "[" reservations_list "]" -#line 2029 "dhcp6_parser.yy" + case 572: // reservations: "reservations" $@90 ":" "[" reservations_list "]" +#line 2050 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3170 "dhcp6_parser.cc" +#line 3190 "dhcp6_parser.cc" break; - case 569: // $@91: %empty -#line 2042 "dhcp6_parser.yy" + case 577: // $@91: %empty +#line 2063 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3180 "dhcp6_parser.cc" +#line 3200 "dhcp6_parser.cc" break; - case 570: // reservation: "{" $@91 reservation_params "}" -#line 2046 "dhcp6_parser.yy" + case 578: // reservation: "{" $@91 reservation_params "}" +#line 2067 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3189 "dhcp6_parser.cc" +#line 3209 "dhcp6_parser.cc" break; - case 571: // $@92: %empty -#line 2051 "dhcp6_parser.yy" + case 579: // $@92: %empty +#line 2072 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3199 "dhcp6_parser.cc" +#line 3219 "dhcp6_parser.cc" break; - case 572: // sub_reservation: "{" $@92 reservation_params "}" -#line 2055 "dhcp6_parser.yy" + case 580: // sub_reservation: "{" $@92 reservation_params "}" +#line 2076 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3208 "dhcp6_parser.cc" +#line 3228 "dhcp6_parser.cc" break; - case 588: // $@93: %empty -#line 2082 "dhcp6_parser.yy" + case 596: // $@93: %empty +#line 2103 "dhcp6_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3216,20 +3236,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3220 "dhcp6_parser.cc" +#line 3240 "dhcp6_parser.cc" break; - case 589: // ip_addresses: "ip-addresses" $@93 ":" list_strings -#line 2088 "dhcp6_parser.yy" + case 597: // ip_addresses: "ip-addresses" $@93 ":" list_strings +#line 2109 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3229 "dhcp6_parser.cc" +#line 3249 "dhcp6_parser.cc" break; - case 590: // $@94: %empty -#line 2093 "dhcp6_parser.yy" + case 598: // $@94: %empty +#line 2114 "dhcp6_parser.yy" { ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3237,96 +3257,96 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3241 "dhcp6_parser.cc" +#line 3261 "dhcp6_parser.cc" break; - case 591: // prefixes: "prefixes" $@94 ":" list_strings -#line 2099 "dhcp6_parser.yy" + case 599: // prefixes: "prefixes" $@94 ":" list_strings +#line 2120 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3250 "dhcp6_parser.cc" +#line 3270 "dhcp6_parser.cc" break; - case 592: // $@95: %empty -#line 2104 "dhcp6_parser.yy" + case 600: // $@95: %empty +#line 2125 "dhcp6_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3259 "dhcp6_parser.cc" +#line 3279 "dhcp6_parser.cc" break; - case 593: // duid: "duid" $@95 ":" "constant string" -#line 2107 "dhcp6_parser.yy" + case 601: // duid: "duid" $@95 ":" "constant string" +#line 2128 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3269 "dhcp6_parser.cc" +#line 3289 "dhcp6_parser.cc" break; - case 594: // $@96: %empty -#line 2113 "dhcp6_parser.yy" + case 602: // $@96: %empty +#line 2134 "dhcp6_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3278 "dhcp6_parser.cc" +#line 3298 "dhcp6_parser.cc" break; - case 595: // hw_address: "hw-address" $@96 ":" "constant string" -#line 2116 "dhcp6_parser.yy" + case 603: // hw_address: "hw-address" $@96 ":" "constant string" +#line 2137 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3288 "dhcp6_parser.cc" +#line 3308 "dhcp6_parser.cc" break; - case 596: // $@97: %empty -#line 2122 "dhcp6_parser.yy" + case 604: // $@97: %empty +#line 2143 "dhcp6_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3297 "dhcp6_parser.cc" +#line 3317 "dhcp6_parser.cc" break; - case 597: // hostname: "hostname" $@97 ":" "constant string" -#line 2125 "dhcp6_parser.yy" + case 605: // hostname: "hostname" $@97 ":" "constant string" +#line 2146 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3307 "dhcp6_parser.cc" +#line 3327 "dhcp6_parser.cc" break; - case 598: // $@98: %empty -#line 2131 "dhcp6_parser.yy" + case 606: // $@98: %empty +#line 2152 "dhcp6_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3316 "dhcp6_parser.cc" +#line 3336 "dhcp6_parser.cc" break; - case 599: // flex_id_value: "flex-id" $@98 ":" "constant string" -#line 2134 "dhcp6_parser.yy" + case 607: // flex_id_value: "flex-id" $@98 ":" "constant string" +#line 2155 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3326 "dhcp6_parser.cc" +#line 3346 "dhcp6_parser.cc" break; - case 600: // $@99: %empty -#line 2140 "dhcp6_parser.yy" + case 608: // $@99: %empty +#line 2161 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3334,20 +3354,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3338 "dhcp6_parser.cc" +#line 3358 "dhcp6_parser.cc" break; - case 601: // reservation_client_classes: "client-classes" $@99 ":" list_strings -#line 2146 "dhcp6_parser.yy" + case 609: // reservation_client_classes: "client-classes" $@99 ":" list_strings +#line 2167 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3347 "dhcp6_parser.cc" +#line 3367 "dhcp6_parser.cc" break; - case 602: // $@100: %empty -#line 2154 "dhcp6_parser.yy" + case 610: // $@100: %empty +#line 2175 "dhcp6_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3355,39 +3375,39 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3359 "dhcp6_parser.cc" +#line 3379 "dhcp6_parser.cc" break; - case 603: // relay: "relay" $@100 ":" "{" relay_map "}" -#line 2160 "dhcp6_parser.yy" + case 611: // relay: "relay" $@100 ":" "{" relay_map "}" +#line 2181 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3368 "dhcp6_parser.cc" +#line 3388 "dhcp6_parser.cc" break; - case 606: // $@101: %empty -#line 2169 "dhcp6_parser.yy" + case 614: // $@101: %empty +#line 2190 "dhcp6_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3377 "dhcp6_parser.cc" +#line 3397 "dhcp6_parser.cc" break; - case 607: // ip_address: "ip-address" $@101 ":" "constant string" -#line 2172 "dhcp6_parser.yy" + case 615: // ip_address: "ip-address" $@101 ":" "constant string" +#line 2193 "dhcp6_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3387 "dhcp6_parser.cc" +#line 3407 "dhcp6_parser.cc" break; - case 608: // $@102: %empty -#line 2181 "dhcp6_parser.yy" + case 616: // $@102: %empty +#line 2202 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3395,69 +3415,69 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3399 "dhcp6_parser.cc" +#line 3419 "dhcp6_parser.cc" break; - case 609: // client_classes: "client-classes" $@102 ":" "[" client_classes_list "]" -#line 2187 "dhcp6_parser.yy" + case 617: // client_classes: "client-classes" $@102 ":" "[" client_classes_list "]" +#line 2208 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3408 "dhcp6_parser.cc" +#line 3428 "dhcp6_parser.cc" break; - case 612: // $@103: %empty -#line 2196 "dhcp6_parser.yy" + case 620: // $@103: %empty +#line 2217 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3418 "dhcp6_parser.cc" +#line 3438 "dhcp6_parser.cc" break; - case 613: // client_class_entry: "{" $@103 client_class_params "}" -#line 2200 "dhcp6_parser.yy" + case 621: // client_class_entry: "{" $@103 client_class_params "}" +#line 2221 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3428 "dhcp6_parser.cc" +#line 3448 "dhcp6_parser.cc" break; - case 626: // $@104: %empty -#line 2225 "dhcp6_parser.yy" + case 634: // $@104: %empty +#line 2246 "dhcp6_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3437 "dhcp6_parser.cc" +#line 3457 "dhcp6_parser.cc" break; - case 627: // client_class_test: "test" $@104 ":" "constant string" -#line 2228 "dhcp6_parser.yy" + case 635: // client_class_test: "test" $@104 ":" "constant string" +#line 2249 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3447 "dhcp6_parser.cc" +#line 3467 "dhcp6_parser.cc" break; - case 628: // only_if_required: "only-if-required" ":" "boolean" -#line 2234 "dhcp6_parser.yy" + case 636: // only_if_required: "only-if-required" ":" "boolean" +#line 2255 "dhcp6_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))); ctx.stack_.back()->set("only-if-required", b); } -#line 3457 "dhcp6_parser.cc" +#line 3477 "dhcp6_parser.cc" break; - case 629: // $@105: %empty -#line 2243 "dhcp6_parser.yy" + case 637: // $@105: %empty +#line 2264 "dhcp6_parser.yy" { ctx.unique("server-id", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3465,117 +3485,117 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 3469 "dhcp6_parser.cc" +#line 3489 "dhcp6_parser.cc" break; - case 630: // server_id: "server-id" $@105 ":" "{" server_id_params "}" -#line 2249 "dhcp6_parser.yy" + case 638: // server_id: "server-id" $@105 ":" "{" server_id_params "}" +#line 2270 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3480 "dhcp6_parser.cc" +#line 3500 "dhcp6_parser.cc" break; - case 642: // $@106: %empty -#line 2271 "dhcp6_parser.yy" + case 650: // $@106: %empty +#line 2292 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DUID_TYPE); } -#line 3489 "dhcp6_parser.cc" +#line 3509 "dhcp6_parser.cc" break; - case 643: // server_id_type: "type" $@106 ":" duid_type -#line 2274 "dhcp6_parser.yy" + case 651: // server_id_type: "type" $@106 ":" duid_type +#line 2295 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3498 "dhcp6_parser.cc" +#line 3518 "dhcp6_parser.cc" break; - case 644: // duid_type: "LLT" -#line 2279 "dhcp6_parser.yy" + case 652: // duid_type: "LLT" +#line 2300 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 3504 "dhcp6_parser.cc" +#line 3524 "dhcp6_parser.cc" break; - case 645: // duid_type: "EN" -#line 2280 "dhcp6_parser.yy" + case 653: // duid_type: "EN" +#line 2301 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 3510 "dhcp6_parser.cc" +#line 3530 "dhcp6_parser.cc" break; - case 646: // duid_type: "LL" -#line 2281 "dhcp6_parser.yy" + case 654: // duid_type: "LL" +#line 2302 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 3516 "dhcp6_parser.cc" +#line 3536 "dhcp6_parser.cc" break; - case 647: // htype: "htype" ":" "integer" -#line 2284 "dhcp6_parser.yy" + case 655: // htype: "htype" ":" "integer" +#line 2305 "dhcp6_parser.yy" { ctx.unique("htype", ctx.loc2pos(yystack_[2].location)); ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 3526 "dhcp6_parser.cc" +#line 3546 "dhcp6_parser.cc" break; - case 648: // $@107: %empty -#line 2290 "dhcp6_parser.yy" + case 656: // $@107: %empty +#line 2311 "dhcp6_parser.yy" { ctx.unique("identifier", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3535 "dhcp6_parser.cc" +#line 3555 "dhcp6_parser.cc" break; - case 649: // identifier: "identifier" $@107 ":" "constant string" -#line 2293 "dhcp6_parser.yy" + case 657: // identifier: "identifier" $@107 ":" "constant string" +#line 2314 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 3545 "dhcp6_parser.cc" +#line 3565 "dhcp6_parser.cc" break; - case 650: // time: "time" ":" "integer" -#line 2299 "dhcp6_parser.yy" + case 658: // time: "time" ":" "integer" +#line 2320 "dhcp6_parser.yy" { ctx.unique("time", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 3555 "dhcp6_parser.cc" +#line 3575 "dhcp6_parser.cc" break; - case 651: // enterprise_id: "enterprise-id" ":" "integer" -#line 2305 "dhcp6_parser.yy" + case 659: // enterprise_id: "enterprise-id" ":" "integer" +#line 2326 "dhcp6_parser.yy" { ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 3565 "dhcp6_parser.cc" +#line 3585 "dhcp6_parser.cc" break; - case 652: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2313 "dhcp6_parser.yy" + case 660: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2334 "dhcp6_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))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3575 "dhcp6_parser.cc" +#line 3595 "dhcp6_parser.cc" break; - case 653: // $@108: %empty -#line 2321 "dhcp6_parser.yy" + case 661: // $@108: %empty +#line 2342 "dhcp6_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3583,58 +3603,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3587 "dhcp6_parser.cc" +#line 3607 "dhcp6_parser.cc" break; - case 654: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" -#line 2327 "dhcp6_parser.yy" + case 662: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" +#line 2348 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3596 "dhcp6_parser.cc" +#line 3616 "dhcp6_parser.cc" break; - case 662: // $@109: %empty -#line 2343 "dhcp6_parser.yy" + case 670: // $@109: %empty +#line 2364 "dhcp6_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3605 "dhcp6_parser.cc" +#line 3625 "dhcp6_parser.cc" break; - case 663: // socket_type: "socket-type" $@109 ":" "constant string" -#line 2346 "dhcp6_parser.yy" + case 671: // socket_type: "socket-type" $@109 ":" "constant string" +#line 2367 "dhcp6_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 3615 "dhcp6_parser.cc" +#line 3635 "dhcp6_parser.cc" break; - case 664: // $@110: %empty -#line 2352 "dhcp6_parser.yy" + case 672: // $@110: %empty +#line 2373 "dhcp6_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3624 "dhcp6_parser.cc" +#line 3644 "dhcp6_parser.cc" break; - case 665: // socket_name: "socket-name" $@110 ":" "constant string" -#line 2355 "dhcp6_parser.yy" + case 673: // socket_name: "socket-name" $@110 ":" "constant string" +#line 2376 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 3634 "dhcp6_parser.cc" +#line 3654 "dhcp6_parser.cc" break; - case 666: // $@111: %empty -#line 2364 "dhcp6_parser.yy" + case 674: // $@111: %empty +#line 2385 "dhcp6_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3642,79 +3662,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3646 "dhcp6_parser.cc" +#line 3666 "dhcp6_parser.cc" break; - case 667: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" -#line 2370 "dhcp6_parser.yy" + case 675: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" +#line 2391 "dhcp6_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3657 "dhcp6_parser.cc" +#line 3677 "dhcp6_parser.cc" break; - case 676: // enable_queue: "enable-queue" ":" "boolean" -#line 2389 "dhcp6_parser.yy" + case 684: // enable_queue: "enable-queue" ":" "boolean" +#line 2410 "dhcp6_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))); ctx.stack_.back()->set("enable-queue", b); } -#line 3667 "dhcp6_parser.cc" +#line 3687 "dhcp6_parser.cc" break; - case 677: // $@112: %empty -#line 2395 "dhcp6_parser.yy" + case 685: // $@112: %empty +#line 2416 "dhcp6_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3676 "dhcp6_parser.cc" +#line 3696 "dhcp6_parser.cc" break; - case 678: // queue_type: "queue-type" $@112 ":" "constant string" -#line 2398 "dhcp6_parser.yy" + case 686: // queue_type: "queue-type" $@112 ":" "constant string" +#line 2419 "dhcp6_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 3686 "dhcp6_parser.cc" +#line 3706 "dhcp6_parser.cc" break; - case 679: // capacity: "capacity" ":" "integer" -#line 2404 "dhcp6_parser.yy" + case 687: // capacity: "capacity" ":" "integer" +#line 2425 "dhcp6_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))); ctx.stack_.back()->set("capacity", c); } -#line 3696 "dhcp6_parser.cc" +#line 3716 "dhcp6_parser.cc" break; - case 680: // $@113: %empty -#line 2410 "dhcp6_parser.yy" + case 688: // $@113: %empty +#line 2431 "dhcp6_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3705 "dhcp6_parser.cc" +#line 3725 "dhcp6_parser.cc" break; - case 681: // arbitrary_map_entry: "constant string" $@113 ":" value -#line 2413 "dhcp6_parser.yy" + case 689: // arbitrary_map_entry: "constant string" $@113 ":" value +#line 2434 "dhcp6_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3714 "dhcp6_parser.cc" +#line 3734 "dhcp6_parser.cc" break; - case 682: // $@114: %empty -#line 2420 "dhcp6_parser.yy" + case 690: // $@114: %empty +#line 2441 "dhcp6_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3722,283 +3742,283 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3726 "dhcp6_parser.cc" +#line 3746 "dhcp6_parser.cc" break; - case 683: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" -#line 2426 "dhcp6_parser.yy" + case 691: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" +#line 2447 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3737 "dhcp6_parser.cc" +#line 3757 "dhcp6_parser.cc" break; - case 684: // $@115: %empty -#line 2433 "dhcp6_parser.yy" + case 692: // $@115: %empty +#line 2454 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3747 "dhcp6_parser.cc" +#line 3767 "dhcp6_parser.cc" break; - case 685: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" -#line 2437 "dhcp6_parser.yy" + case 693: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" +#line 2458 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3757 "dhcp6_parser.cc" +#line 3777 "dhcp6_parser.cc" break; - case 706: // enable_updates: "enable-updates" ":" "boolean" -#line 2467 "dhcp6_parser.yy" + case 714: // enable_updates: "enable-updates" ":" "boolean" +#line 2488 "dhcp6_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))); ctx.stack_.back()->set("enable-updates", b); } -#line 3767 "dhcp6_parser.cc" +#line 3787 "dhcp6_parser.cc" break; - case 707: // $@116: %empty -#line 2474 "dhcp6_parser.yy" + case 715: // $@116: %empty +#line 2495 "dhcp6_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3776 "dhcp6_parser.cc" +#line 3796 "dhcp6_parser.cc" break; - case 708: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" -#line 2477 "dhcp6_parser.yy" + case 716: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" +#line 2498 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3786 "dhcp6_parser.cc" +#line 3806 "dhcp6_parser.cc" break; - case 709: // $@117: %empty -#line 2483 "dhcp6_parser.yy" + case 717: // $@117: %empty +#line 2504 "dhcp6_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3795 "dhcp6_parser.cc" +#line 3815 "dhcp6_parser.cc" break; - case 710: // server_ip: "server-ip" $@117 ":" "constant string" -#line 2486 "dhcp6_parser.yy" + case 718: // server_ip: "server-ip" $@117 ":" "constant string" +#line 2507 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3805 "dhcp6_parser.cc" +#line 3825 "dhcp6_parser.cc" break; - case 711: // server_port: "server-port" ":" "integer" -#line 2492 "dhcp6_parser.yy" + case 719: // server_port: "server-port" ":" "integer" +#line 2513 "dhcp6_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))); ctx.stack_.back()->set("server-port", i); } -#line 3815 "dhcp6_parser.cc" +#line 3835 "dhcp6_parser.cc" break; - case 712: // $@118: %empty -#line 2498 "dhcp6_parser.yy" + case 720: // $@118: %empty +#line 2519 "dhcp6_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3824 "dhcp6_parser.cc" +#line 3844 "dhcp6_parser.cc" break; - case 713: // sender_ip: "sender-ip" $@118 ":" "constant string" -#line 2501 "dhcp6_parser.yy" + case 721: // sender_ip: "sender-ip" $@118 ":" "constant string" +#line 2522 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3834 "dhcp6_parser.cc" +#line 3854 "dhcp6_parser.cc" break; - case 714: // sender_port: "sender-port" ":" "integer" -#line 2507 "dhcp6_parser.yy" + case 722: // sender_port: "sender-port" ":" "integer" +#line 2528 "dhcp6_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))); ctx.stack_.back()->set("sender-port", i); } -#line 3844 "dhcp6_parser.cc" +#line 3864 "dhcp6_parser.cc" break; - case 715: // max_queue_size: "max-queue-size" ":" "integer" -#line 2513 "dhcp6_parser.yy" + case 723: // max_queue_size: "max-queue-size" ":" "integer" +#line 2534 "dhcp6_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))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3854 "dhcp6_parser.cc" +#line 3874 "dhcp6_parser.cc" break; - case 716: // $@119: %empty -#line 2519 "dhcp6_parser.yy" + case 724: // $@119: %empty +#line 2540 "dhcp6_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 3863 "dhcp6_parser.cc" +#line 3883 "dhcp6_parser.cc" break; - case 717: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value -#line 2522 "dhcp6_parser.yy" + case 725: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value +#line 2543 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3872 "dhcp6_parser.cc" +#line 3892 "dhcp6_parser.cc" break; - case 718: // ncr_protocol_value: "UDP" -#line 2528 "dhcp6_parser.yy" + case 726: // ncr_protocol_value: "UDP" +#line 2549 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3878 "dhcp6_parser.cc" +#line 3898 "dhcp6_parser.cc" break; - case 719: // ncr_protocol_value: "TCP" -#line 2529 "dhcp6_parser.yy" + case 727: // ncr_protocol_value: "TCP" +#line 2550 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3884 "dhcp6_parser.cc" +#line 3904 "dhcp6_parser.cc" break; - case 720: // $@120: %empty -#line 2532 "dhcp6_parser.yy" + case 728: // $@120: %empty +#line 2553 "dhcp6_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 3893 "dhcp6_parser.cc" +#line 3913 "dhcp6_parser.cc" break; - case 721: // ncr_format: "ncr-format" $@120 ":" "JSON" -#line 2535 "dhcp6_parser.yy" + case 729: // ncr_format: "ncr-format" $@120 ":" "JSON" +#line 2556 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3903 "dhcp6_parser.cc" +#line 3923 "dhcp6_parser.cc" break; - case 722: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2542 "dhcp6_parser.yy" + case 730: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2563 "dhcp6_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))); ctx.stack_.back()->set("override-no-update", b); } -#line 3913 "dhcp6_parser.cc" +#line 3933 "dhcp6_parser.cc" break; - case 723: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2549 "dhcp6_parser.yy" + case 731: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2570 "dhcp6_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))); ctx.stack_.back()->set("override-client-update", b); } -#line 3923 "dhcp6_parser.cc" +#line 3943 "dhcp6_parser.cc" break; - case 724: // $@121: %empty -#line 2556 "dhcp6_parser.yy" + case 732: // $@121: %empty +#line 2577 "dhcp6_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3932 "dhcp6_parser.cc" +#line 3952 "dhcp6_parser.cc" break; - case 725: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value -#line 2559 "dhcp6_parser.yy" + case 733: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value +#line 2580 "dhcp6_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3941 "dhcp6_parser.cc" +#line 3961 "dhcp6_parser.cc" break; - case 726: // $@122: %empty -#line 2565 "dhcp6_parser.yy" + case 734: // $@122: %empty +#line 2586 "dhcp6_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3950 "dhcp6_parser.cc" +#line 3970 "dhcp6_parser.cc" break; - case 727: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" -#line 2568 "dhcp6_parser.yy" + case 735: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" +#line 2589 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3960 "dhcp6_parser.cc" +#line 3980 "dhcp6_parser.cc" break; - case 728: // $@123: %empty -#line 2575 "dhcp6_parser.yy" + case 736: // $@123: %empty +#line 2596 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3969 "dhcp6_parser.cc" +#line 3989 "dhcp6_parser.cc" break; - case 729: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" -#line 2578 "dhcp6_parser.yy" + case 737: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" +#line 2599 "dhcp6_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); ctx.leave(); } -#line 3979 "dhcp6_parser.cc" +#line 3999 "dhcp6_parser.cc" break; - case 730: // $@124: %empty -#line 2585 "dhcp6_parser.yy" + case 738: // $@124: %empty +#line 2606 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3988 "dhcp6_parser.cc" +#line 4008 "dhcp6_parser.cc" break; - case 731: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" -#line 2588 "dhcp6_parser.yy" + case 739: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" +#line 2609 "dhcp6_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); ctx.leave(); } -#line 3998 "dhcp6_parser.cc" +#line 4018 "dhcp6_parser.cc" break; - case 732: // $@125: %empty -#line 2597 "dhcp6_parser.yy" + case 740: // $@125: %empty +#line 2618 "dhcp6_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4006,40 +4026,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4010 "dhcp6_parser.cc" +#line 4030 "dhcp6_parser.cc" break; - case 733: // config_control: "config-control" $@125 ":" "{" config_control_params "}" -#line 2603 "dhcp6_parser.yy" + case 741: // config_control: "config-control" $@125 ":" "{" config_control_params "}" +#line 2624 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4020 "dhcp6_parser.cc" +#line 4040 "dhcp6_parser.cc" break; - case 734: // $@126: %empty -#line 2609 "dhcp6_parser.yy" + case 742: // $@126: %empty +#line 2630 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4030 "dhcp6_parser.cc" +#line 4050 "dhcp6_parser.cc" break; - case 735: // sub_config_control: "{" $@126 config_control_params "}" -#line 2613 "dhcp6_parser.yy" + case 743: // sub_config_control: "{" $@126 config_control_params "}" +#line 2634 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 4039 "dhcp6_parser.cc" +#line 4059 "dhcp6_parser.cc" break; - case 740: // $@127: %empty -#line 2628 "dhcp6_parser.yy" + case 748: // $@127: %empty +#line 2649 "dhcp6_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4047,30 +4067,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4051 "dhcp6_parser.cc" +#line 4071 "dhcp6_parser.cc" break; - case 741: // config_databases: "config-databases" $@127 ":" "[" database_list "]" -#line 2634 "dhcp6_parser.yy" + case 749: // config_databases: "config-databases" $@127 ":" "[" database_list "]" +#line 2655 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4060 "dhcp6_parser.cc" +#line 4080 "dhcp6_parser.cc" break; - case 742: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2639 "dhcp6_parser.yy" + case 750: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2660 "dhcp6_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))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4070 "dhcp6_parser.cc" +#line 4090 "dhcp6_parser.cc" break; - case 743: // $@128: %empty -#line 2647 "dhcp6_parser.yy" + case 751: // $@128: %empty +#line 2668 "dhcp6_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4078,67 +4098,67 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4082 "dhcp6_parser.cc" +#line 4102 "dhcp6_parser.cc" break; - case 744: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" -#line 2653 "dhcp6_parser.yy" + case 752: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" +#line 2674 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4091 "dhcp6_parser.cc" +#line 4111 "dhcp6_parser.cc" break; - case 747: // $@129: %empty -#line 2665 "dhcp6_parser.yy" + case 755: // $@129: %empty +#line 2686 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4101 "dhcp6_parser.cc" +#line 4121 "dhcp6_parser.cc" break; - case 748: // logger_entry: "{" $@129 logger_params "}" -#line 2669 "dhcp6_parser.yy" + case 756: // logger_entry: "{" $@129 logger_params "}" +#line 2690 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4109 "dhcp6_parser.cc" +#line 4129 "dhcp6_parser.cc" break; - case 758: // debuglevel: "debuglevel" ":" "integer" -#line 2686 "dhcp6_parser.yy" + case 766: // debuglevel: "debuglevel" ":" "integer" +#line 2707 "dhcp6_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))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4119 "dhcp6_parser.cc" +#line 4139 "dhcp6_parser.cc" break; - case 759: // $@130: %empty -#line 2692 "dhcp6_parser.yy" + case 767: // $@130: %empty +#line 2713 "dhcp6_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4128 "dhcp6_parser.cc" +#line 4148 "dhcp6_parser.cc" break; - case 760: // severity: "severity" $@130 ":" "constant string" -#line 2695 "dhcp6_parser.yy" + case 768: // severity: "severity" $@130 ":" "constant string" +#line 2716 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4138 "dhcp6_parser.cc" +#line 4158 "dhcp6_parser.cc" break; - case 761: // $@131: %empty -#line 2701 "dhcp6_parser.yy" + case 769: // $@131: %empty +#line 2722 "dhcp6_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4146,106 +4166,106 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4150 "dhcp6_parser.cc" +#line 4170 "dhcp6_parser.cc" break; - case 762: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" -#line 2707 "dhcp6_parser.yy" + case 770: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" +#line 2728 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4159 "dhcp6_parser.cc" +#line 4179 "dhcp6_parser.cc" break; - case 765: // $@132: %empty -#line 2716 "dhcp6_parser.yy" + case 773: // $@132: %empty +#line 2737 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4169 "dhcp6_parser.cc" +#line 4189 "dhcp6_parser.cc" break; - case 766: // output_entry: "{" $@132 output_params_list "}" -#line 2720 "dhcp6_parser.yy" + case 774: // output_entry: "{" $@132 output_params_list "}" +#line 2741 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4177 "dhcp6_parser.cc" +#line 4197 "dhcp6_parser.cc" break; - case 774: // $@133: %empty -#line 2735 "dhcp6_parser.yy" + case 782: // $@133: %empty +#line 2756 "dhcp6_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4186 "dhcp6_parser.cc" +#line 4206 "dhcp6_parser.cc" break; - case 775: // output: "output" $@133 ":" "constant string" -#line 2738 "dhcp6_parser.yy" + case 783: // output: "output" $@133 ":" "constant string" +#line 2759 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4196 "dhcp6_parser.cc" +#line 4216 "dhcp6_parser.cc" break; - case 776: // flush: "flush" ":" "boolean" -#line 2744 "dhcp6_parser.yy" + case 784: // flush: "flush" ":" "boolean" +#line 2765 "dhcp6_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4206 "dhcp6_parser.cc" +#line 4226 "dhcp6_parser.cc" break; - case 777: // maxsize: "maxsize" ":" "integer" -#line 2750 "dhcp6_parser.yy" + case 785: // maxsize: "maxsize" ":" "integer" +#line 2771 "dhcp6_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))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4216 "dhcp6_parser.cc" +#line 4236 "dhcp6_parser.cc" break; - case 778: // maxver: "maxver" ":" "integer" -#line 2756 "dhcp6_parser.yy" + case 786: // maxver: "maxver" ":" "integer" +#line 2777 "dhcp6_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))); ctx.stack_.back()->set("maxver", maxver); } -#line 4226 "dhcp6_parser.cc" +#line 4246 "dhcp6_parser.cc" break; - case 779: // $@134: %empty -#line 2762 "dhcp6_parser.yy" + case 787: // $@134: %empty +#line 2783 "dhcp6_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4235 "dhcp6_parser.cc" +#line 4255 "dhcp6_parser.cc" break; - case 780: // pattern: "pattern" $@134 ":" "constant string" -#line 2765 "dhcp6_parser.yy" + case 788: // pattern: "pattern" $@134 ":" "constant string" +#line 2786 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4245 "dhcp6_parser.cc" +#line 4265 "dhcp6_parser.cc" break; -#line 4249 "dhcp6_parser.cc" +#line 4269 "dhcp6_parser.cc" default: break; @@ -4594,140 +4614,141 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -949; + const short Dhcp6Parser::yypact_ninf_ = -959; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 190, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, 39, 33, 62, 64, 78, - 89, 99, 103, 107, 131, 138, 217, 231, 244, 254, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, 33, -132, - 119, 115, 49, 505, 258, 235, 221, 127, 120, 283, - -75, 537, 144, -949, 311, 226, 239, 242, 294, -949, - 323, -949, -949, -949, -949, -949, -949, 328, 338, 339, - 358, 386, 404, 405, 408, 409, 411, 414, 417, 424, - 426, -949, 428, 433, 436, 437, 439, -949, -949, -949, - 440, 442, 448, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, 452, - -949, -949, -949, -949, -949, -949, 457, -949, 462, -949, - 60, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - 464, -949, 94, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, 467, 468, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, 101, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, 109, -949, -949, -949, -949, - -949, 469, -949, 472, 473, -949, -949, -949, -949, -949, - -949, 113, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, 357, - 343, -949, -949, -949, -949, -949, -949, -949, -949, 390, - -949, -949, 476, -949, -949, -949, 479, -949, -949, 477, - 481, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 482, 484, -949, -949, -949, -949, - 485, 489, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 128, -949, -949, -949, 491, -949, - -949, 492, -949, 493, 494, -949, -949, 495, 496, -949, - -949, -949, -949, -949, -949, -949, 129, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 498, 186, -949, -949, -949, -949, - 33, 33, -949, 306, 500, -949, 508, 510, 512, 513, - 515, 520, 309, 327, 329, 331, 333, 334, 335, 336, - 337, 341, 344, 346, 340, 362, 534, 363, 364, 373, - 374, 376, 539, 561, 575, 378, 379, 380, 579, 580, - 581, 582, 584, 586, 587, 588, 589, 590, 599, 600, - 601, 602, 604, 605, 412, 607, 609, 611, 612, 615, - 616, 419, 618, -949, 115, -949, 619, 422, 49, -949, - 625, 626, 627, 628, 629, 434, 435, 631, 632, 634, - 505, -949, 635, 258, -949, 636, 441, 638, 446, 449, - 235, -949, 644, 646, 647, 648, 649, 650, 651, -949, - 221, -949, 652, 653, 458, 660, 661, 662, 466, -949, - 120, 665, 470, 471, -949, 283, 666, 667, 67, -949, - 474, 670, 671, 480, 673, 483, 486, 677, 680, 487, - 501, 681, 683, 684, 701, 537, -949, 702, 507, 144, - -949, -949, -949, 704, 705, 514, 707, 726, 727, 728, - 742, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, 551, -949, -949, -949, -949, - -949, -110, 552, 553, -949, -949, -949, 748, 749, 750, - 751, 557, 326, 752, 754, 755, 756, 757, 758, 760, - 763, 764, 767, -949, 768, 769, 770, 771, 563, 583, - -949, 774, -949, 775, -949, -949, 776, 778, 585, 591, - 592, -949, -949, 775, 593, 779, -949, 594, -949, 595, - -949, 596, -949, -949, -949, 775, 775, 775, 598, 603, - 606, 608, -949, 610, 613, -949, 614, 617, 620, -949, - -949, 621, -949, -949, -949, 622, 751, -949, -949, 623, - 624, -949, 630, -949, -949, -113, 541, -949, -949, -110, - 633, 637, 639, -949, 782, -949, -949, 33, 115, -949, - 144, 49, 243, 243, 791, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 792, 793, 794, -949, -949, -949, - -949, -949, -949, -949, -949, 796, -79, 33, 149, 682, - 797, 799, 801, 23, 167, 4, 9, -7, 537, -949, - -949, 803, -949, -949, 804, 807, -949, -949, -949, -949, - -949, -70, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, 791, -949, 199, 201, 219, -949, -949, -949, -949, - 811, 813, 814, 820, 821, -949, 822, 823, -949, -949, - -949, 824, 826, 827, 829, -949, 222, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, 223, -949, - 828, 832, -949, -949, 831, 836, -949, -949, 834, 838, - -949, -949, 837, 839, -949, -949, 840, 841, -949, -949, - -949, 75, -949, -949, -949, 842, -949, -949, -949, 122, - -949, -949, -949, -949, 233, -949, -949, -949, 236, -949, - -949, 845, 844, -949, -949, 846, 850, -949, 851, 852, - 853, 854, 855, 856, 246, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 857, 858, 859, -949, -949, -949, - -949, 284, -949, -949, -949, -949, -949, -949, 860, 861, - 862, -949, 291, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, 292, -949, -949, -949, 863, -949, - 864, -949, -949, -949, 293, -949, -949, -949, -949, -949, - 305, -949, 256, -949, 655, -949, 865, 866, -949, -949, - 867, 869, -949, -949, -949, 868, -949, 871, -949, -949, - -949, 870, 874, 875, 876, 645, 668, 685, 679, 686, - 878, 687, 688, 879, 880, 885, 690, 691, 692, 693, - 243, -949, -949, 243, -949, 791, 505, -949, 792, 120, - -949, 793, 283, -949, 794, 676, -949, 796, -79, -949, - -949, 149, -949, 888, 682, -949, 261, 797, -949, 221, - -949, 799, -75, -949, 801, 696, 697, 699, 700, 703, - 710, 23, -949, 908, 909, 722, 729, 730, 167, -949, - 739, 744, 781, 4, -949, 924, 946, 9, -949, 773, - 952, 785, 965, -7, -949, -949, 237, 803, -949, -949, - 972, 979, 258, -949, 804, 235, -949, 807, 985, -949, - -949, 191, 798, 812, 817, -949, -949, -949, -949, -949, - 830, -949, -949, 833, 835, 843, -949, -949, -949, -949, - -949, 342, -949, 360, -949, 1004, -949, 1012, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, 361, -949, -949, -949, -949, -949, -949, -949, - -949, 847, -949, -949, 1017, -949, -949, -949, -949, -949, - 1014, 1022, -949, -949, -949, -949, -949, 1018, -949, 388, - -949, -949, -949, -949, -949, -949, -949, -949, 220, 848, - -949, -949, -949, -949, -949, -949, -949, -949, 872, 873, - -949, -949, 882, -949, 33, -949, -949, 1024, -949, -949, - -949, -949, -949, 394, -949, -949, -949, -949, -949, -949, - 883, 396, -949, 402, -949, 886, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, 676, -949, -949, 1026, 849, -949, 261, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - 1027, 877, 1031, 237, -949, -949, -949, -949, -949, -949, - 887, -949, -949, 1032, -949, 889, -949, -949, 1033, -949, - -949, 312, -949, 211, 1033, -949, -949, 1034, 1035, 1037, - -949, 403, -949, -949, -949, -949, -949, -949, -949, 1039, - 890, 884, 891, 1040, 211, -949, 894, -949, -949, -949, - 895, -949, -949, -949 + 199, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, 63, 33, 89, 99, 103, + 123, 126, 142, 185, 212, 221, 238, 253, 290, 294, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, 33, -132, + 61, 116, 50, 534, 127, 225, 233, 53, 121, 283, + -72, 633, 219, -959, 110, 154, 295, 234, 302, -959, + 312, -959, -959, -959, -959, -959, -959, 327, 358, 365, + 368, 378, 406, 412, 415, 420, 421, 424, 425, 428, + 429, -959, 431, 434, 438, 440, 441, -959, -959, -959, + 448, 450, -959, -959, -959, -959, -959, -959, -959, 456, + 460, 461, -959, -959, -959, -959, -959, -959, -959, -959, + -959, 464, -959, -959, -959, -959, -959, -959, 465, -959, + 470, -959, 92, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 472, -959, 94, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, 475, 476, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, 96, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, 106, -959, -959, -959, -959, -959, 477, -959, 481, + 484, -959, -959, -959, -959, -959, -959, 109, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, 326, 399, -959, -959, -959, + -959, -959, -959, -959, -959, 363, -959, -959, 486, -959, + -959, -959, 487, -959, -959, 393, 411, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + 488, 489, -959, -959, -959, -959, 492, 491, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + 129, -959, -959, -959, 497, -959, -959, 499, -959, 500, + 501, -959, -959, 502, 503, -959, -959, -959, -959, -959, + -959, -959, 140, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + 504, 144, -959, -959, -959, -959, 33, 33, -959, 309, + 508, -959, 509, 513, 516, 518, 520, 521, 325, 333, + 335, 337, 339, 340, 343, 344, 328, 293, 346, 347, + 345, 349, 549, 354, 355, 356, 357, 359, 554, 558, + 560, 361, 362, 563, 564, 565, 566, 567, 568, 569, + 370, 371, 372, 573, 587, 588, 589, 590, 599, 600, + 602, 603, 407, 604, 606, 607, 608, 609, 610, 417, + 611, -959, 116, -959, 615, 418, 50, -959, 619, 631, + 634, 635, 636, 435, 437, 638, 639, 640, 534, -959, + 642, 127, -959, 643, 449, 646, 457, 458, 225, -959, + 648, 654, 657, 658, 659, 660, 661, -959, 233, -959, + 662, 663, 466, 670, 671, 672, 474, -959, 121, 675, + 478, 479, -959, 283, 676, 677, 146, -959, 480, 681, + 682, 485, 684, 505, 506, 685, 686, 526, 527, 687, + 689, 716, 728, 633, -959, 729, 532, 219, -959, -959, + -959, 732, 730, 537, 735, 738, 744, 745, 734, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, 552, -959, -959, -959, -959, -959, -112, + 553, 555, -959, -959, 750, 752, 753, 754, 755, 559, + 87, -959, -959, -959, 758, 760, 761, 762, 763, 765, + 766, 767, 768, -959, 769, 770, 771, 772, 572, 579, + -959, 776, -959, 777, -959, -959, 778, 779, 584, 585, + 586, -959, -959, 777, 601, 794, -959, 605, -959, 612, + -959, 613, -959, -959, -959, 777, 777, 777, 614, 616, + 617, 618, -959, 620, 621, -959, 622, 623, 626, -959, + -959, 627, -959, -959, -959, 628, 755, -959, -959, 629, + 630, -959, 632, -959, -959, 176, 597, -959, -959, -112, + 637, 641, 644, -959, 798, -959, -959, 33, 116, -959, + 219, 50, 247, 247, 797, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 800, 803, 804, 805, -959, -959, + -959, -959, -959, -959, -959, -959, -77, 33, -70, 696, + 809, 813, 825, 248, 64, 239, 60, -7, 633, -959, + -959, 828, -959, -959, 829, 830, -959, -959, -959, -959, + -959, -79, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, 797, -959, 150, 217, 236, -959, -959, -959, -959, + 835, 836, 837, 839, 840, -959, 842, 843, -959, -959, + -959, 844, 845, 846, 848, -959, 249, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, 259, -959, + 847, 851, -959, -959, 849, 853, -959, -959, 852, 854, + -959, -959, 855, 856, -959, -959, 857, 859, -959, -959, + -959, 62, -959, -959, -959, 858, -959, -959, -959, 75, + -959, -959, -959, -959, 261, -959, -959, -959, 153, -959, + -959, 860, 862, -959, -959, 861, 865, -959, 866, 867, + 868, 869, 870, 871, 292, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 872, 873, 874, -959, -959, -959, + -959, 300, -959, -959, -959, -959, -959, -959, 875, 876, + 877, -959, 324, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 330, -959, -959, -959, 878, -959, + 879, -959, -959, -959, 332, -959, -959, -959, -959, -959, + 334, -959, 250, -959, 668, -959, 880, 881, -959, -959, + 882, 884, -959, -959, -959, 883, -959, 886, -959, -959, + -959, 885, 889, 890, 891, 683, 656, 688, 692, 695, + 894, 697, 698, 897, 898, 899, 702, 704, 703, 707, + 247, -959, -959, 247, -959, 797, 534, -959, 800, 121, + -959, 803, 283, -959, 804, 650, -959, 805, -77, -959, + -959, -70, -959, 906, 696, -959, 235, 809, -959, 233, + -959, 813, -72, -959, 825, 711, 718, 720, 721, 736, + 737, 248, -959, 928, 936, 749, 764, 783, 64, -959, + 756, 786, 789, 239, -959, 950, 975, 60, -959, 788, + 991, 824, 995, -7, -959, -959, 48, 828, -959, -959, + 1001, 1026, 127, -959, 829, 225, -959, 830, 1029, -959, + -959, 398, 834, 838, 841, -959, -959, -959, -959, -959, + 850, -959, -959, 863, 864, 887, -959, -959, -959, -959, + -959, 338, -959, 360, -959, 1030, -959, 1032, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 367, -959, -959, -959, -959, -959, + -959, -959, -959, 893, -959, -959, 1037, -959, -959, -959, + -959, -959, 1036, 1042, -959, -959, -959, -959, -959, 1039, + -959, 397, -959, -959, -959, -959, -959, -959, -959, -959, + 314, 896, -959, -959, -959, -959, -959, -959, -959, -959, + 900, 901, -959, -959, 902, -959, 33, -959, -959, 1044, + -959, -959, -959, -959, -959, 400, -959, -959, -959, -959, + -959, -959, 903, 401, -959, 409, -959, 904, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, 650, -959, -959, 1045, 895, -959, + 235, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, 1046, 888, 1048, 48, -959, -959, -959, -959, + -959, -959, 905, -959, -959, 1049, -959, 907, -959, -959, + 1050, -959, -959, 315, -959, 181, 1050, -959, -959, 1052, + 1055, 1056, -959, 410, -959, -959, -959, -959, -959, -959, + -959, 1057, 908, 909, 911, 1058, 181, -959, 913, -959, + -959, -959, 914, -959, -959, -959 }; const short @@ -4737,177 +4758,178 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 45, 38, 34, 33, 30, 31, 32, 37, 3, - 35, 36, 58, 5, 62, 7, 168, 9, 330, 11, - 516, 13, 541, 15, 571, 17, 441, 19, 449, 21, - 486, 23, 295, 25, 684, 27, 734, 29, 47, 41, - 0, 0, 0, 0, 0, 0, 573, 0, 451, 488, + 35, 36, 58, 5, 62, 7, 169, 9, 331, 11, + 524, 13, 549, 15, 579, 17, 449, 19, 457, 21, + 494, 23, 296, 25, 692, 27, 742, 29, 47, 41, + 0, 0, 0, 0, 0, 0, 581, 0, 459, 496, 0, 0, 0, 49, 0, 48, 0, 0, 42, 60, - 0, 124, 732, 166, 180, 182, 184, 0, 0, 0, + 0, 126, 740, 167, 181, 183, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 0, 0, 0, 0, 143, 150, 152, - 0, 0, 0, 322, 439, 478, 529, 531, 384, 392, - 255, 272, 263, 248, 608, 563, 287, 306, 629, 0, - 274, 653, 666, 682, 156, 158, 0, 743, 0, 123, - 0, 64, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 102, 103, 104, 105, 106, 75, 110, 111, 112, - 113, 114, 115, 116, 117, 108, 109, 118, 119, 120, - 100, 122, 78, 79, 80, 81, 97, 82, 84, 83, - 121, 88, 89, 76, 101, 77, 86, 87, 95, 96, - 98, 85, 90, 91, 92, 93, 94, 99, 107, 177, - 0, 176, 0, 170, 172, 173, 174, 175, 508, 533, - 374, 376, 378, 0, 0, 382, 380, 602, 373, 334, - 335, 336, 337, 338, 339, 340, 341, 357, 358, 359, - 360, 361, 364, 365, 366, 367, 368, 369, 370, 371, - 362, 363, 372, 0, 332, 345, 346, 347, 350, 351, - 353, 348, 349, 342, 343, 355, 356, 344, 352, 354, - 527, 526, 522, 523, 521, 0, 518, 520, 524, 525, - 556, 0, 559, 0, 0, 555, 549, 550, 548, 553, - 554, 0, 543, 545, 546, 551, 552, 547, 600, 588, - 590, 592, 594, 596, 598, 587, 584, 585, 586, 0, - 574, 575, 579, 580, 577, 581, 582, 583, 578, 0, - 468, 228, 0, 472, 470, 475, 0, 464, 465, 0, - 452, 453, 455, 467, 456, 457, 458, 474, 459, 460, - 461, 462, 463, 502, 0, 0, 500, 501, 504, 505, - 0, 489, 490, 492, 493, 494, 495, 496, 497, 498, - 499, 302, 304, 299, 0, 297, 300, 301, 0, 707, - 709, 0, 712, 0, 0, 716, 720, 0, 0, 724, - 726, 728, 730, 705, 703, 704, 0, 686, 688, 700, - 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, - 699, 701, 702, 740, 0, 0, 736, 738, 739, 46, - 0, 0, 39, 0, 0, 59, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 145, 152, 154, + 0, 0, 323, 447, 486, 398, 537, 539, 390, 0, + 0, 0, 256, 273, 264, 249, 616, 571, 288, 307, + 637, 0, 275, 661, 674, 690, 157, 159, 0, 751, + 0, 125, 0, 64, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 105, 106, 107, 108, 109, 75, 113, + 114, 115, 116, 117, 118, 119, 111, 112, 120, 121, + 122, 100, 124, 78, 79, 80, 81, 97, 82, 84, + 83, 123, 88, 89, 76, 102, 103, 104, 101, 77, + 86, 87, 95, 96, 98, 85, 90, 91, 92, 93, + 94, 99, 110, 178, 0, 177, 0, 171, 173, 174, + 175, 176, 516, 541, 377, 379, 381, 0, 0, 385, + 383, 610, 376, 335, 336, 337, 338, 339, 340, 341, + 342, 361, 362, 363, 364, 365, 368, 369, 370, 371, + 372, 373, 374, 366, 367, 375, 0, 333, 346, 347, + 348, 351, 352, 355, 356, 357, 354, 349, 350, 343, + 344, 359, 360, 345, 353, 358, 535, 534, 530, 531, + 529, 0, 526, 528, 532, 533, 564, 0, 567, 0, + 0, 563, 557, 558, 556, 561, 562, 0, 551, 553, + 554, 559, 560, 555, 608, 596, 598, 600, 602, 604, + 606, 595, 592, 593, 594, 0, 582, 583, 587, 588, + 585, 589, 590, 591, 586, 0, 476, 229, 0, 480, + 478, 483, 0, 472, 473, 0, 460, 461, 463, 475, + 464, 465, 466, 482, 467, 468, 469, 470, 471, 510, + 0, 0, 508, 509, 512, 513, 0, 497, 498, 500, + 501, 502, 503, 504, 505, 506, 507, 303, 305, 300, + 0, 298, 301, 302, 0, 715, 717, 0, 720, 0, + 0, 724, 728, 0, 0, 732, 734, 736, 738, 713, + 711, 712, 0, 694, 696, 708, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 709, 710, 748, + 0, 0, 744, 746, 747, 46, 0, 0, 39, 0, + 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 57, 0, 63, 0, 0, 0, 169, + 0, 57, 0, 63, 0, 0, 0, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, + 0, 0, 525, 0, 0, 0, 0, 0, 0, 550, + 0, 0, 0, 0, 0, 0, 0, 580, 0, 450, + 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, + 0, 0, 495, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 331, 0, 0, 517, 0, 0, 0, 0, 0, - 0, 542, 0, 0, 0, 0, 0, 0, 0, 572, - 0, 442, 0, 0, 0, 0, 0, 0, 0, 450, - 0, 0, 0, 0, 487, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 693, 0, 0, 0, 743, 50, + 43, 0, 0, 0, 0, 0, 0, 0, 0, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 0, 162, 163, 142, 143, 144, 0, + 0, 0, 156, 161, 0, 0, 0, 0, 0, 0, + 0, 387, 388, 389, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 660, 0, 0, 0, 0, 0, 0, + 166, 0, 65, 0, 180, 172, 0, 0, 0, 0, + 0, 396, 397, 0, 0, 0, 334, 0, 527, 0, + 566, 0, 569, 570, 552, 0, 0, 0, 0, 0, + 0, 0, 584, 0, 0, 474, 0, 0, 0, 485, + 462, 0, 514, 515, 499, 0, 0, 299, 714, 0, + 0, 719, 0, 722, 723, 0, 0, 730, 731, 0, + 0, 0, 0, 695, 0, 750, 745, 0, 0, 127, + 0, 0, 0, 0, 187, 165, 147, 148, 149, 150, + 151, 146, 153, 155, 325, 451, 488, 400, 40, 538, + 540, 392, 393, 394, 395, 391, 0, 47, 0, 0, + 0, 573, 290, 0, 0, 0, 0, 0, 0, 158, + 160, 0, 51, 179, 518, 543, 378, 380, 382, 386, + 384, 0, 536, 565, 568, 609, 597, 599, 601, 603, + 605, 607, 477, 230, 481, 479, 484, 511, 304, 306, + 716, 718, 721, 726, 727, 725, 729, 733, 735, 737, + 739, 187, 44, 0, 0, 0, 216, 222, 224, 226, + 0, 0, 0, 0, 0, 240, 0, 0, 243, 245, + 247, 0, 0, 0, 0, 215, 0, 193, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 207, 214, + 208, 209, 210, 205, 206, 211, 212, 213, 0, 191, + 0, 188, 189, 329, 0, 326, 327, 455, 0, 452, + 453, 492, 0, 489, 490, 404, 0, 401, 402, 262, + 263, 0, 258, 260, 261, 0, 271, 272, 268, 0, + 266, 269, 270, 254, 0, 251, 253, 620, 0, 618, + 577, 0, 574, 575, 294, 0, 291, 292, 0, 0, + 0, 0, 0, 0, 0, 309, 311, 312, 313, 314, + 315, 316, 650, 656, 0, 0, 0, 649, 646, 647, + 648, 0, 639, 641, 644, 642, 643, 645, 0, 0, + 0, 284, 0, 277, 279, 280, 281, 282, 283, 670, + 672, 669, 667, 668, 0, 663, 665, 666, 0, 685, + 0, 688, 681, 682, 0, 676, 678, 679, 680, 683, + 0, 755, 0, 753, 53, 522, 0, 519, 520, 547, + 0, 544, 545, 614, 613, 0, 612, 0, 61, 741, + 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 685, 0, 0, 0, - 735, 50, 43, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 0, 161, 162, 140, 141, - 142, 0, 0, 0, 154, 155, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 652, 0, 0, 0, 0, 0, 0, - 165, 0, 65, 0, 179, 171, 0, 0, 0, 0, - 0, 390, 391, 0, 0, 0, 333, 0, 519, 0, - 558, 0, 561, 562, 544, 0, 0, 0, 0, 0, - 0, 0, 576, 0, 0, 466, 0, 0, 0, 477, - 454, 0, 506, 507, 491, 0, 0, 298, 706, 0, - 0, 711, 0, 714, 715, 0, 0, 722, 723, 0, - 0, 0, 0, 687, 0, 742, 737, 0, 0, 125, - 0, 0, 0, 0, 186, 164, 145, 146, 147, 148, - 149, 144, 151, 153, 324, 443, 480, 40, 530, 532, - 386, 387, 388, 389, 385, 394, 0, 47, 0, 0, - 0, 565, 289, 0, 0, 0, 0, 0, 0, 157, - 159, 0, 51, 178, 510, 535, 375, 377, 379, 383, - 381, 0, 528, 557, 560, 601, 589, 591, 593, 595, - 597, 599, 469, 229, 473, 471, 476, 503, 303, 305, - 708, 710, 713, 718, 719, 717, 721, 725, 727, 729, - 731, 186, 44, 0, 0, 0, 215, 221, 223, 225, - 0, 0, 0, 0, 0, 239, 0, 0, 242, 244, - 246, 0, 0, 0, 0, 214, 0, 192, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 206, 213, - 207, 208, 209, 204, 205, 210, 211, 212, 0, 190, - 0, 187, 188, 328, 0, 325, 326, 447, 0, 444, - 445, 484, 0, 481, 482, 398, 0, 395, 396, 261, - 262, 0, 257, 259, 260, 0, 270, 271, 267, 0, - 265, 268, 269, 253, 0, 250, 252, 612, 0, 610, - 569, 0, 566, 567, 293, 0, 290, 291, 0, 0, - 0, 0, 0, 0, 0, 308, 310, 311, 312, 313, - 314, 315, 642, 648, 0, 0, 0, 641, 638, 639, - 640, 0, 631, 633, 636, 634, 635, 637, 0, 0, - 0, 283, 0, 276, 278, 279, 280, 281, 282, 662, - 664, 661, 659, 660, 0, 655, 657, 658, 0, 677, - 0, 680, 673, 674, 0, 668, 670, 671, 672, 675, - 0, 747, 0, 745, 53, 514, 0, 511, 512, 539, - 0, 536, 537, 606, 605, 0, 604, 0, 61, 733, - 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 181, 183, 0, 185, 0, 0, 323, 0, 451, - 440, 0, 488, 479, 0, 0, 393, 0, 0, 256, - 273, 0, 264, 0, 0, 249, 614, 0, 609, 573, - 564, 0, 0, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 307, 0, 0, 0, 0, 0, 0, 630, - 0, 0, 0, 0, 275, 0, 0, 0, 654, 0, - 0, 0, 0, 0, 667, 683, 0, 0, 744, 55, - 0, 54, 0, 509, 0, 0, 534, 0, 0, 603, - 741, 0, 0, 0, 0, 227, 230, 231, 232, 233, - 0, 241, 234, 0, 0, 0, 236, 237, 238, 235, - 193, 0, 189, 0, 327, 0, 446, 0, 483, 438, - 413, 414, 415, 417, 418, 419, 406, 407, 422, 423, - 424, 425, 426, 429, 430, 431, 432, 433, 434, 435, - 436, 427, 428, 437, 402, 403, 404, 405, 411, 412, - 410, 416, 0, 400, 408, 420, 421, 409, 397, 258, - 266, 0, 251, 626, 0, 624, 625, 621, 622, 623, - 0, 615, 616, 618, 619, 620, 611, 0, 568, 0, - 292, 316, 317, 318, 319, 320, 321, 309, 0, 0, - 647, 650, 651, 632, 284, 285, 286, 277, 0, 0, - 656, 676, 0, 679, 0, 669, 761, 0, 759, 757, - 751, 755, 756, 0, 749, 753, 754, 752, 746, 52, - 0, 0, 513, 0, 538, 0, 217, 218, 219, 220, - 216, 222, 224, 226, 240, 243, 245, 247, 191, 329, - 448, 485, 0, 399, 254, 0, 0, 613, 0, 570, - 294, 644, 645, 646, 643, 649, 663, 665, 678, 681, - 0, 0, 0, 0, 748, 56, 515, 540, 607, 401, - 0, 628, 617, 0, 758, 0, 750, 627, 0, 760, - 765, 0, 763, 0, 0, 762, 774, 0, 0, 0, - 779, 0, 767, 769, 770, 771, 772, 773, 764, 0, - 0, 0, 0, 0, 0, 766, 0, 776, 777, 778, - 0, 768, 775, 780 + 0, 182, 184, 0, 186, 0, 0, 324, 0, 459, + 448, 0, 496, 487, 0, 0, 399, 0, 0, 257, + 274, 0, 265, 0, 0, 250, 622, 0, 617, 581, + 572, 0, 0, 289, 0, 0, 0, 0, 0, 0, + 0, 0, 308, 0, 0, 0, 0, 0, 0, 638, + 0, 0, 0, 0, 276, 0, 0, 0, 662, 0, + 0, 0, 0, 0, 675, 691, 0, 0, 752, 55, + 0, 54, 0, 517, 0, 0, 542, 0, 0, 611, + 749, 0, 0, 0, 0, 228, 231, 232, 233, 234, + 0, 242, 235, 0, 0, 0, 237, 238, 239, 236, + 194, 0, 190, 0, 328, 0, 454, 0, 491, 446, + 422, 423, 424, 426, 427, 428, 412, 413, 431, 432, + 433, 434, 435, 438, 439, 440, 441, 442, 443, 444, + 436, 437, 445, 408, 409, 410, 411, 420, 421, 417, + 418, 419, 416, 425, 0, 406, 414, 429, 430, 415, + 403, 259, 267, 0, 252, 634, 0, 632, 633, 629, + 630, 631, 0, 623, 624, 626, 627, 628, 619, 0, + 576, 0, 293, 317, 318, 319, 320, 321, 322, 310, + 0, 0, 655, 658, 659, 640, 285, 286, 287, 278, + 0, 0, 664, 684, 0, 687, 0, 677, 769, 0, + 767, 765, 759, 763, 764, 0, 757, 761, 762, 760, + 754, 52, 0, 0, 521, 0, 546, 0, 218, 219, + 220, 221, 217, 223, 225, 227, 241, 244, 246, 248, + 192, 330, 456, 493, 0, 405, 255, 0, 0, 621, + 0, 578, 295, 652, 653, 654, 651, 657, 671, 673, + 686, 689, 0, 0, 0, 0, 756, 56, 523, 548, + 615, 407, 0, 636, 625, 0, 766, 0, 758, 635, + 0, 768, 773, 0, 771, 0, 0, 770, 782, 0, + 0, 0, 787, 0, 775, 777, 778, 779, 780, 781, + 772, 0, 0, 0, 0, 0, 0, 774, 0, 784, + 785, 786, 0, 776, 783, 788 }; const short Dhcp6Parser::yypgoto_[] = { - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -10, -949, -549, -949, - 393, -949, -949, -949, -949, 345, -949, -580, -949, -949, - -949, -71, -949, -949, -949, -949, -949, -949, 372, 640, - -949, -949, -59, -43, -42, -40, -39, -28, -27, -26, - -23, -21, -15, -9, -3, -949, -1, 17, 18, 20, - -949, 384, 25, -949, 28, -949, 30, 32, 35, -949, - 38, -949, 40, -949, -949, -949, -949, -949, -949, -949, - -949, -949, 375, 576, -949, -949, -949, -949, -949, -949, - -949, -949, -949, 296, -949, 90, -949, -661, 98, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -67, - -949, -699, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, 76, -949, -949, -949, -949, -949, 81, -683, - -949, -949, -949, -949, 80, -949, -949, -949, -949, -949, - -949, -949, 50, -949, -949, -949, -949, -949, -949, -949, - 68, -949, -949, -949, 72, 538, -949, -949, -949, -949, - -949, -949, -949, 66, -949, -949, -949, -949, -949, -949, - -948, -949, -949, -949, 97, -949, -949, -949, 102, 597, - -949, -949, -947, -949, -946, -949, 44, -949, 48, -949, - 42, -949, -949, -949, -940, -949, -949, -949, -949, 92, - -949, -949, -122, 996, -949, -949, -949, -949, -949, 104, - -949, -949, -949, 105, -949, 558, -949, -66, -949, -949, - -949, -949, -949, -47, -949, -949, -949, -949, -949, 13, - -949, -949, -949, 116, -949, -949, -949, 117, -949, 570, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, 63, -949, -949, -949, 69, 641, -949, -949, -55, - -949, 1, -949, -949, -949, -949, -949, 59, -949, -949, - -949, 65, 654, -949, -949, -949, -949, -949, -949, -949, - -57, -949, -949, -949, 108, -949, -949, -949, 114, -949, - 657, 367, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -939, -949, -949, -949, -949, - -949, -949, -949, 118, -949, -949, -949, -96, -949, -949, - -949, -949, -949, -949, -949, 96, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, 91, -949, - -949, -949, -949, -949, -949, -949, 83, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, 389, 564, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, -949, -949, - -949, -949, -949, -949, -949, -949, -949, -949, 430, 562, - -949, -949, -949, -949, -949, -949, 85, -949, -949, -100, - -949, -949, -949, -949, -949, -949, -119, -949, -949, -138, - -949, -949, -949, -949, -949, -949, -949 + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -10, -959, -559, -959, + 387, -959, -959, -959, -959, 350, -959, -590, -959, -959, + -959, -71, -959, -959, -959, -959, -959, -959, 375, 591, + -959, -959, -59, -43, -42, -40, -39, -28, -27, -26, + -23, -21, -15, -9, -3, -959, -1, 17, 18, 20, + -959, 389, 25, -959, 28, -959, 30, 32, -959, 35, + -959, 38, -959, -959, -959, -959, -959, -959, -959, -959, + -959, 379, 580, -959, -959, -959, -959, -959, -959, -959, + -959, -959, 298, -959, 97, -959, -671, 101, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -67, -959, + -709, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, 80, -959, -959, -959, -959, -959, 88, -693, -959, + -959, -959, -959, 84, -959, -959, -959, -959, -959, -959, + -959, 54, -959, -959, -959, -959, -959, -959, -959, 74, + -959, -959, -959, 77, 544, -959, -959, -959, -959, -959, + -959, -959, 70, -959, -959, -959, -959, -959, -959, -958, + -959, -959, -959, 104, -959, -959, -959, 107, 593, -959, + -959, -957, -959, -956, -959, 47, -959, 51, -959, 40, + 42, 45, 46, -959, -959, -959, -950, -959, -959, -959, + -959, 98, -959, -959, -120, 1009, -959, -959, -959, -959, + -959, 114, -959, -959, -959, 108, -959, 570, -959, -66, + -959, -959, -959, -959, -959, -47, -959, -959, -959, -959, + -959, 13, -959, -959, -959, 125, -959, -959, -959, 118, + -959, 574, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, 66, -959, -959, -959, 76, 624, -959, + -959, -55, -959, 1, -959, -959, -959, -959, -959, 69, + -959, -959, -959, 72, 645, -959, -959, -959, -959, -959, + -959, -959, -57, -959, -959, -959, 119, -959, -959, -959, + 120, -959, 649, 380, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -949, -959, -959, + -959, -959, -959, -959, -959, 130, -959, -959, -959, -88, + -959, -959, -959, -959, -959, -959, -959, 105, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + 102, -959, -959, -959, -959, -959, -959, -959, 91, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, 402, + 575, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, + 436, 577, -959, -959, -959, -959, -959, -959, 95, -959, + -959, -94, -959, -959, -959, -959, -959, -959, -111, -959, + -959, -130, -959, -959, -959, -959, -959, -959, -959 }; const short @@ -4915,523 +4937,526 @@ namespace isc { namespace dhcp { { -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, - 698, 87, 88, 41, 68, 84, 85, 723, 924, 1030, - 1031, 785, 43, 70, 90, 414, 45, 71, 150, 151, - 152, 416, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 442, 691, 171, 443, 172, 444, 173, 174, 175, 469, - 176, 470, 177, 178, 179, 180, 436, 181, 182, 418, - 47, 72, 212, 213, 214, 476, 215, 183, 419, 184, - 420, 185, 421, 810, 811, 812, 963, 786, 787, 788, - 941, 1180, 789, 942, 790, 943, 791, 944, 792, 793, - 513, 794, 795, 796, 797, 798, 799, 800, 801, 802, - 803, 950, 804, 805, 953, 806, 954, 807, 955, 186, - 458, 844, 845, 846, 983, 187, 455, 831, 832, 833, - 834, 188, 457, 839, 840, 841, 842, 189, 456, 190, - 465, 892, 893, 894, 895, 896, 191, 461, 855, 856, - 857, 992, 63, 80, 364, 365, 366, 526, 367, 527, - 192, 462, 864, 865, 866, 867, 868, 869, 870, 871, - 193, 448, 814, 815, 816, 966, 49, 73, 253, 254, - 255, 482, 256, 483, 257, 484, 258, 488, 259, 487, - 194, 453, 704, 261, 262, 195, 454, 826, 827, 828, - 975, 1102, 1103, 196, 449, 57, 77, 818, 819, 820, - 969, 59, 78, 329, 330, 331, 332, 333, 334, 335, - 512, 336, 516, 337, 515, 338, 339, 517, 340, 197, - 450, 822, 823, 824, 972, 61, 79, 350, 351, 352, - 353, 354, 521, 355, 356, 357, 358, 264, 480, 926, - 927, 928, 1032, 51, 74, 275, 276, 277, 492, 198, - 451, 199, 452, 267, 481, 930, 931, 932, 1035, 53, - 75, 291, 292, 293, 495, 294, 295, 497, 296, 297, - 200, 460, 851, 852, 853, 989, 55, 76, 309, 310, - 311, 312, 503, 313, 504, 314, 505, 315, 506, 316, - 507, 317, 508, 318, 502, 269, 489, 935, 936, 1038, - 201, 459, 848, 849, 986, 1120, 1121, 1122, 1123, 1124, - 1195, 1125, 202, 463, 881, 882, 883, 1003, 1204, 884, - 885, 1004, 886, 887, 203, 204, 466, 904, 905, 906, - 1015, 907, 1016, 205, 467, 914, 915, 916, 917, 1020, - 918, 919, 1022, 206, 468, 65, 81, 386, 387, 388, - 389, 531, 390, 532, 391, 392, 534, 393, 394, 395, - 537, 755, 396, 538, 397, 398, 399, 541, 400, 542, - 401, 543, 402, 544, 207, 417, 67, 82, 405, 406, - 407, 547, 408, 208, 472, 922, 923, 1026, 1163, 1164, - 1165, 1166, 1212, 1167, 1210, 1231, 1232, 1233, 1241, 1242, - 1243, 1249, 1244, 1245, 1246, 1247, 1253 + 709, 87, 88, 41, 68, 84, 85, 733, 934, 1040, + 1041, 795, 43, 70, 90, 420, 45, 71, 152, 153, + 154, 422, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 448, 701, 173, 449, 174, 450, 175, 176, 477, 177, + 478, 178, 179, 180, 181, 442, 182, 183, 424, 47, + 72, 216, 217, 218, 484, 219, 184, 425, 185, 426, + 186, 427, 820, 821, 822, 973, 796, 797, 798, 951, + 1192, 799, 952, 800, 953, 801, 954, 802, 803, 521, + 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, + 960, 814, 815, 963, 816, 964, 817, 965, 187, 466, + 854, 855, 856, 993, 188, 463, 841, 842, 843, 844, + 189, 465, 849, 850, 851, 852, 190, 464, 191, 473, + 902, 903, 904, 905, 906, 192, 469, 865, 866, 867, + 1002, 63, 80, 370, 371, 372, 534, 373, 535, 193, + 470, 874, 875, 876, 877, 878, 879, 880, 881, 194, + 453, 824, 825, 826, 976, 49, 73, 256, 257, 258, + 490, 259, 491, 260, 492, 261, 496, 262, 495, 195, + 196, 197, 198, 459, 715, 267, 268, 199, 456, 836, + 837, 838, 985, 1114, 1115, 200, 454, 57, 77, 828, + 829, 830, 979, 59, 78, 335, 336, 337, 338, 339, + 340, 341, 520, 342, 524, 343, 523, 344, 345, 525, + 346, 201, 455, 832, 833, 834, 982, 61, 79, 356, + 357, 358, 359, 360, 529, 361, 362, 363, 364, 270, + 488, 936, 937, 938, 1042, 51, 74, 281, 282, 283, + 500, 202, 457, 203, 458, 273, 489, 940, 941, 942, + 1045, 53, 75, 297, 298, 299, 503, 300, 301, 505, + 302, 303, 204, 468, 861, 862, 863, 999, 55, 76, + 315, 316, 317, 318, 511, 319, 512, 320, 513, 321, + 514, 322, 515, 323, 516, 324, 510, 275, 497, 945, + 946, 1048, 205, 467, 858, 859, 996, 1132, 1133, 1134, + 1135, 1136, 1207, 1137, 206, 471, 891, 892, 893, 1013, + 1216, 894, 895, 1014, 896, 897, 207, 208, 474, 914, + 915, 916, 1025, 917, 1026, 209, 475, 924, 925, 926, + 927, 1030, 928, 929, 1032, 210, 476, 65, 81, 392, + 393, 394, 395, 539, 396, 540, 397, 398, 542, 399, + 400, 401, 545, 765, 402, 546, 403, 404, 405, 549, + 406, 550, 407, 551, 408, 552, 211, 423, 67, 82, + 411, 412, 413, 555, 414, 212, 480, 932, 933, 1036, + 1175, 1176, 1177, 1178, 1224, 1179, 1222, 1243, 1244, 1245, + 1253, 1254, 1255, 1261, 1256, 1257, 1258, 1259, 1265 }; const short Dhcp6Parser::yytable_[] = { - 149, 211, 228, 271, 285, 305, 38, 327, 346, 363, - 383, 328, 347, 348, 229, 878, 268, 216, 265, 278, - 289, 307, 808, 341, 359, 838, 384, 1095, 1096, 1097, - 230, 231, 349, 232, 233, 1101, 1107, 829, 31, 30, - 32, 697, 33, 729, 299, 234, 235, 236, 361, 362, - 237, 933, 238, 753, 754, 735, 736, 737, 239, 686, - 687, 688, 689, 474, 240, 209, 210, 86, 475, 42, - 241, 44, 242, 217, 266, 279, 290, 308, 978, 342, - 360, 979, 385, 126, 127, 46, 263, 274, 288, 306, - 243, 244, 690, 245, 126, 127, 48, 478, 246, 126, - 127, 247, 479, 248, 490, 249, 50, 697, 250, 491, - 52, 251, 493, 252, 54, 260, 500, 494, 272, 286, - 830, 501, 273, 287, 148, 981, 91, 92, 982, 89, - 93, 528, 545, 94, 95, 96, 529, 546, 56, 126, - 127, 320, 908, 909, 910, 58, 888, 889, 890, 858, - 859, 860, 861, 862, 863, 899, 900, 403, 404, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 872, 549, - 361, 362, 911, 321, 550, 322, 323, 771, 124, 324, - 325, 326, 474, 148, 549, 126, 127, 938, 148, 939, - 126, 127, 128, 1176, 1177, 1178, 1179, 129, 130, 131, - 132, 133, 478, 134, 60, 960, 960, 940, 135, 410, - 961, 962, 34, 35, 36, 37, 984, 136, 62, 987, - 137, 985, 988, 411, 1095, 1096, 1097, 138, 148, 1001, - 412, 64, 1101, 1107, 1002, 139, 140, 126, 127, 1027, - 141, 66, 1028, 142, 766, 829, 836, 143, 837, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, - 778, 779, 780, 781, 782, 783, 784, 1008, 144, 145, - 146, 147, 1009, 125, 1013, 1017, 1023, 413, 838, 1014, - 1018, 1024, 1061, 873, 874, 875, 876, 125, 545, 878, - 321, 126, 127, 1025, 148, 1234, 321, 409, 1235, 148, - 280, 281, 282, 283, 284, 126, 127, 126, 127, 298, - 125, 415, 422, 125, 321, 299, 300, 301, 302, 303, - 304, 270, 423, 424, 225, 960, 510, 226, 126, 127, - 1188, 126, 127, 1201, 1202, 1203, 321, 343, 322, 323, - 344, 345, 425, 490, 1192, 509, 148, 225, 1189, 1193, - 226, 1113, 1114, 126, 127, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 1236, - 426, 528, 1237, 1238, 1239, 1240, 1200, 1213, 511, 493, - 551, 552, 1214, 149, 1216, 500, 1254, 211, 427, 428, - 1217, 1255, 429, 430, 1156, 431, 1157, 1158, 432, 228, - 148, 433, 271, 216, 700, 701, 702, 703, 434, 285, - 435, 229, 437, 268, 148, 265, 148, 438, 278, 305, - 439, 440, 148, 441, 445, 289, 446, 230, 231, 327, - 232, 233, 447, 328, 346, 307, 464, 148, 347, 348, - 148, 471, 234, 235, 236, 341, 473, 237, 477, 238, - 359, 485, 486, 496, 383, 239, 498, 499, 349, 217, - 514, 240, 148, 518, 520, 519, 522, 241, 523, 242, - 384, 266, 525, 524, 279, 530, 533, 535, 536, 539, - 540, 290, 548, 263, 554, 553, 274, 243, 244, 561, - 245, 308, 555, 288, 556, 246, 557, 558, 247, 559, - 248, 342, 249, 306, 560, 250, 360, 562, 251, 563, - 252, 564, 260, 565, 566, 567, 568, 272, 575, 569, - 573, 273, 570, 581, 286, 571, 385, 572, 287, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 574, 576, 577, 582, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 578, 579, 125, 580, 583, - 584, 585, 586, 587, 588, 589, 590, 218, 591, 219, - 592, 593, 594, 595, 596, 126, 127, 220, 221, 222, - 223, 224, 128, 597, 598, 599, 600, 149, 601, 602, - 211, 604, 603, 605, 225, 606, 607, 226, 135, 608, - 609, 610, 611, 613, 614, 227, 216, 126, 127, 616, - 617, 618, 619, 620, 621, 623, 624, 622, 625, 627, - 629, 630, 631, 877, 891, 901, 632, 383, 635, 633, - 636, 637, 638, 639, 640, 641, 643, 644, 645, 879, - 897, 902, 912, 384, 646, 647, 648, 762, 649, 651, - 655, 656, 652, 653, 659, 660, 658, 662, 144, 145, - 661, 665, 217, 663, 666, 669, 664, 670, 671, 667, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 668, 148, 672, 674, 675, 677, 756, - 381, 382, 678, 679, 680, 880, 898, 903, 913, 385, + 151, 215, 232, 277, 291, 311, 38, 333, 352, 369, + 389, 334, 353, 354, 233, 888, 274, 220, 271, 284, + 295, 313, 818, 347, 365, 848, 390, 1104, 1105, 1106, + 234, 235, 355, 236, 237, 1113, 1119, 305, 31, 708, + 32, 839, 33, 739, 943, 238, 239, 240, 839, 846, + 241, 847, 242, 367, 368, 745, 746, 747, 243, 696, + 697, 698, 699, 30, 244, 988, 213, 214, 989, 86, + 245, 89, 246, 221, 272, 285, 296, 314, 991, 348, + 366, 992, 391, 126, 127, 882, 269, 280, 294, 312, + 247, 248, 700, 249, 781, 482, 42, 486, 250, 498, + 483, 251, 487, 252, 499, 253, 44, 708, 254, 501, + 46, 255, 508, 263, 502, 264, 415, 509, 265, 266, + 327, 278, 292, 123, 840, 279, 293, 91, 92, 150, + 48, 93, 536, 50, 94, 95, 96, 537, 126, 127, + 126, 127, 326, 553, 918, 919, 920, 557, 554, 52, + 126, 127, 558, 482, 126, 127, 997, 416, 948, 998, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 681, 682, 683, 148, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 684, 125, 321, - 685, 692, 693, 694, 695, 696, 699, 705, 32, 706, - 707, 708, 719, 710, 709, 711, 126, 127, 712, 221, - 222, 713, 224, 128, 714, 715, 716, 717, 718, 721, - 722, 724, 720, 725, 726, 225, 731, 761, 226, 843, - 727, 728, 730, 732, 733, 734, 227, 738, 809, 813, - 817, 821, 739, 825, 847, 740, 850, 741, 854, 742, - 921, 925, 743, 744, 929, 945, 745, 946, 947, 746, - 747, 748, 750, 751, 948, 949, 951, 952, 956, 752, - 957, 958, 758, 959, 964, 965, 759, 967, 760, 968, - 970, 971, 974, 973, 977, 1045, 976, 991, 980, 144, - 145, 990, 993, 994, 1029, 995, 996, 997, 998, 999, - 1000, 1005, 1006, 1007, 1010, 1011, 1012, 1019, 1021, 1034, - 1046, 1033, 1037, 1036, 1041, 148, 1039, 1040, 1042, 1043, - 1044, 1048, 1050, 1053, 1054, 1047, 1049, 1051, 1052, 1055, - 1056, 1057, 1111, 1059, 1058, 228, 1131, 1132, 327, 1133, - 1134, 346, 328, 1135, 1069, 347, 348, 229, 1094, 268, - 1136, 265, 1138, 1139, 341, 1115, 1070, 359, 305, 1116, - 1105, 363, 1140, 230, 231, 349, 232, 233, 1148, 1141, - 1142, 1118, 1071, 1072, 307, 1073, 1074, 877, 234, 235, - 236, 1144, 891, 237, 1145, 238, 901, 1075, 1076, 1077, - 1149, 239, 1078, 879, 1079, 1159, 1152, 240, 897, 1160, - 1080, 271, 902, 241, 285, 242, 1081, 266, 912, 1154, - 342, 1161, 1082, 360, 1083, 1151, 1106, 278, 1169, 263, - 289, 1146, 1170, 243, 244, 1153, 245, 1119, 1104, 1175, - 308, 246, 1084, 1085, 247, 1086, 248, 1181, 249, 1117, - 1087, 250, 306, 1088, 251, 1089, 252, 1090, 260, 880, - 1091, 1182, 1190, 1092, 898, 1093, 1183, 1100, 903, 1098, - 1191, 1196, 1197, 1099, 913, 1198, 1199, 1162, 1211, 1184, - 1220, 1223, 1185, 279, 1186, 1225, 290, 1228, 1250, 1251, - 1230, 1252, 1187, 1256, 1260, 274, 1194, 1205, 288, 749, - 763, 1221, 835, 757, 615, 1062, 765, 937, 1060, 1109, - 1112, 1110, 1130, 1147, 1129, 1064, 657, 1137, 1063, 1108, - 1219, 1206, 1207, 319, 1065, 1066, 272, 1224, 650, 286, - 273, 1208, 1215, 287, 1258, 1218, 1227, 626, 1229, 1067, - 1068, 1259, 1257, 1262, 1263, 654, 1174, 1172, 934, 1128, - 1173, 1171, 1222, 1127, 1143, 1126, 1155, 920, 1150, 673, - 764, 676, 1168, 1226, 612, 1248, 1261, 0, 0, 0, - 0, 1069, 0, 0, 0, 1094, 0, 1115, 0, 0, - 0, 1116, 0, 1070, 628, 0, 0, 1105, 0, 0, - 0, 0, 1159, 1118, 1209, 0, 1160, 0, 0, 1071, - 1072, 0, 1073, 1074, 634, 0, 0, 0, 1161, 0, - 0, 0, 0, 0, 1075, 1076, 1077, 642, 0, 1078, - 0, 1079, 0, 0, 0, 0, 0, 1080, 0, 0, - 0, 0, 0, 1081, 0, 0, 0, 0, 0, 1082, - 0, 1083, 0, 1106, 0, 0, 0, 0, 0, 1119, - 0, 0, 0, 0, 0, 1104, 0, 0, 0, 1084, - 1085, 1117, 1086, 0, 1162, 0, 0, 1087, 0, 0, - 1088, 0, 1089, 0, 1090, 0, 0, 1091, 0, 0, - 1092, 0, 1093, 0, 1100, 0, 1098, 0, 0, 0, - 1099 + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 711, 712, + 713, 714, 54, 327, 921, 328, 329, 125, 124, 330, + 331, 332, 883, 884, 885, 886, 126, 127, 909, 910, + 276, 126, 127, 128, 129, 130, 131, 126, 127, 56, + 557, 132, 133, 134, 135, 949, 136, 1168, 58, 1169, + 1170, 137, 409, 410, 34, 35, 36, 37, 229, 486, + 138, 230, 418, 139, 950, 60, 1104, 1105, 1106, 150, + 140, 150, 970, 1037, 1113, 1119, 1038, 971, 141, 142, + 62, 150, 970, 143, 994, 150, 144, 972, 776, 995, + 145, 367, 368, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, + 794, 146, 147, 148, 149, 1011, 124, 64, 848, 417, + 1012, 66, 1071, 1018, 124, 419, 124, 327, 1019, 888, + 286, 287, 288, 289, 290, 126, 127, 150, 1246, 327, + 421, 1247, 150, 126, 127, 126, 127, 1023, 150, 126, + 127, 428, 1024, 1027, 517, 1033, 229, 553, 1028, 230, + 1034, 970, 1035, 304, 763, 764, 1200, 1125, 1126, 305, + 306, 307, 308, 309, 310, 327, 349, 328, 329, 350, + 351, 1248, 429, 498, 1249, 1250, 1251, 1252, 1201, 430, + 1204, 519, 431, 126, 127, 1205, 868, 869, 870, 871, + 872, 873, 432, 898, 899, 900, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 536, 527, 518, 1225, 501, 1212, 559, 560, 1226, 1228, + 433, 151, 508, 1266, 528, 215, 434, 1229, 1267, 435, + 1188, 1189, 1190, 1191, 436, 437, 150, 232, 438, 439, + 277, 220, 440, 441, 150, 443, 150, 291, 444, 233, + 150, 274, 445, 271, 446, 447, 284, 311, 150, 1213, + 1214, 1215, 451, 295, 452, 234, 235, 333, 236, 237, + 460, 334, 352, 313, 461, 462, 353, 354, 472, 479, + 238, 239, 240, 347, 481, 241, 485, 242, 365, 493, + 494, 504, 389, 243, 150, 506, 355, 221, 507, 244, + 522, 526, 530, 531, 533, 245, 578, 246, 390, 272, + 532, 538, 285, 541, 543, 544, 547, 548, 556, 296, + 561, 269, 562, 563, 280, 247, 248, 564, 249, 314, + 565, 294, 566, 250, 567, 568, 251, 569, 252, 348, + 253, 312, 577, 254, 366, 570, 255, 571, 263, 572, + 264, 573, 574, 265, 266, 575, 576, 581, 278, 579, + 580, 582, 279, 583, 391, 292, 584, 585, 589, 293, + 586, 587, 590, 588, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 605, 606, 607, 608, 114, 115, 116, 117, 118, + 119, 120, 121, 609, 610, 124, 611, 612, 614, 613, + 615, 616, 617, 618, 619, 621, 222, 151, 223, 623, + 215, 620, 624, 626, 126, 127, 224, 225, 226, 227, + 228, 128, 129, 130, 131, 627, 220, 631, 628, 629, + 630, 632, 633, 634, 635, 229, 637, 639, 230, 137, + 641, 640, 645, 887, 901, 911, 231, 389, 646, 642, + 643, 647, 648, 649, 650, 651, 653, 654, 655, 889, + 907, 912, 922, 390, 656, 657, 658, 772, 659, 661, + 665, 666, 662, 663, 668, 669, 670, 671, 672, 675, + 676, 679, 221, 680, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 673, 674, 146, + 147, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 681, 124, 327, 126, 127, 890, 908, 913, 923, 391, + 677, 678, 682, 684, 685, 150, 687, 688, 689, 694, + 126, 127, 690, 225, 226, 691, 228, 128, 129, 130, + 131, 692, 693, 695, 702, 704, 703, 705, 706, 707, + 710, 229, 32, 716, 230, 717, 718, 766, 720, 719, + 721, 722, 231, 729, 723, 724, 725, 726, 727, 728, + 730, 731, 732, 734, 735, 736, 737, 738, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 741, 740, 771, 819, 853, 742, 823, 387, 388, + 827, 831, 835, 743, 744, 748, 857, 749, 750, 751, + 860, 752, 753, 754, 755, 146, 147, 756, 757, 758, + 760, 761, 864, 762, 150, 931, 935, 939, 768, 955, + 956, 957, 769, 958, 959, 770, 961, 962, 966, 967, + 968, 150, 969, 974, 975, 977, 978, 981, 980, 984, + 1056, 983, 987, 986, 990, 1001, 1000, 1003, 1004, 1039, + 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1017, 1020, + 1021, 1022, 1029, 1031, 1044, 1055, 1043, 1047, 1046, 1051, + 1057, 1049, 1050, 1052, 1053, 1054, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 232, 1067, 1068, 333, 1069, + 1123, 352, 334, 1143, 1079, 353, 354, 233, 1103, 274, + 1144, 271, 1145, 1146, 347, 1127, 1080, 365, 311, 1128, + 1117, 369, 1150, 234, 235, 355, 236, 237, 1147, 1148, + 1151, 1130, 1081, 1082, 313, 1083, 1084, 887, 238, 239, + 240, 1152, 901, 241, 1160, 242, 911, 1085, 1086, 1087, + 1156, 243, 1088, 889, 1089, 1171, 1153, 244, 907, 1172, + 1090, 277, 912, 245, 291, 246, 1091, 272, 922, 1161, + 348, 1173, 1092, 366, 1093, 1154, 1118, 284, 1157, 269, + 295, 1158, 1163, 247, 248, 1164, 249, 1131, 1116, 1166, + 314, 250, 1094, 1095, 251, 1096, 252, 1181, 253, 1129, + 1097, 254, 312, 1098, 255, 1099, 263, 1100, 264, 890, + 1101, 265, 266, 1102, 908, 1109, 1165, 1110, 913, 1182, + 1111, 1112, 1107, 1187, 923, 1193, 1108, 1174, 1202, 1194, + 1203, 1208, 1195, 285, 1209, 1210, 296, 1211, 1223, 1232, + 1235, 1196, 1237, 759, 1240, 280, 1262, 1242, 294, 1263, + 1264, 1268, 1272, 773, 1197, 1198, 625, 845, 767, 947, + 775, 1070, 1072, 622, 1124, 1122, 1121, 1159, 1142, 1141, + 667, 1149, 1074, 1073, 1231, 1120, 325, 1075, 1199, 278, + 1236, 636, 292, 279, 1206, 1076, 293, 1217, 660, 1233, + 1077, 1218, 1219, 1220, 1227, 1230, 1239, 664, 1241, 1078, + 1184, 1270, 1269, 1271, 1274, 1275, 1186, 1185, 1183, 1139, + 1140, 944, 1234, 1155, 1167, 638, 774, 1138, 683, 1162, + 930, 1238, 1180, 1079, 686, 1260, 1273, 1103, 0, 1127, + 0, 0, 0, 1128, 0, 1080, 0, 0, 0, 1117, + 0, 0, 0, 644, 1171, 1130, 1221, 0, 1172, 0, + 0, 1081, 1082, 0, 1083, 1084, 0, 652, 0, 0, + 1173, 0, 0, 0, 0, 0, 1085, 1086, 1087, 0, + 0, 1088, 0, 1089, 0, 0, 0, 0, 0, 1090, + 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, + 0, 1092, 0, 1093, 0, 1118, 0, 0, 0, 0, + 0, 1131, 0, 0, 0, 0, 0, 1116, 0, 0, + 0, 1094, 1095, 1129, 1096, 0, 1174, 0, 0, 1097, + 0, 0, 1098, 0, 1099, 0, 1100, 0, 0, 1101, + 0, 0, 1102, 0, 1109, 0, 1110, 0, 0, 1111, + 1112, 1107, 0, 0, 0, 1108 }; const short Dhcp6Parser::yycheck_[] = { 71, 72, 73, 74, 75, 76, 16, 78, 79, 80, - 81, 78, 79, 79, 73, 714, 73, 72, 73, 74, - 75, 76, 683, 78, 79, 708, 81, 975, 975, 975, - 73, 73, 79, 73, 73, 975, 975, 116, 5, 0, - 7, 590, 9, 623, 114, 73, 73, 73, 123, 124, - 73, 121, 73, 166, 167, 635, 636, 637, 73, 169, - 170, 171, 172, 3, 73, 16, 17, 199, 8, 7, - 73, 7, 73, 72, 73, 74, 75, 76, 3, 78, - 79, 6, 81, 90, 91, 7, 73, 74, 75, 76, - 73, 73, 202, 73, 90, 91, 7, 3, 73, 90, - 91, 73, 8, 73, 3, 73, 7, 656, 73, 8, - 7, 73, 3, 73, 7, 73, 3, 8, 74, 75, - 199, 8, 74, 75, 199, 3, 11, 12, 6, 10, - 15, 3, 3, 18, 19, 20, 8, 8, 7, 90, - 91, 21, 149, 150, 151, 7, 142, 143, 144, 126, - 127, 128, 129, 130, 131, 146, 147, 13, 14, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 21, 3, - 123, 124, 199, 73, 8, 75, 76, 30, 71, 79, - 80, 81, 3, 199, 3, 90, 91, 8, 199, 8, - 90, 91, 97, 22, 23, 24, 25, 102, 103, 104, - 105, 106, 3, 108, 7, 3, 3, 8, 113, 3, - 8, 8, 199, 200, 201, 202, 3, 122, 7, 3, - 125, 8, 6, 4, 1192, 1192, 1192, 132, 199, 3, - 8, 7, 1192, 1192, 8, 140, 141, 90, 91, 3, - 145, 7, 6, 148, 21, 116, 117, 152, 119, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 3, 173, 174, - 175, 176, 8, 72, 3, 3, 3, 3, 981, 8, - 8, 8, 963, 136, 137, 138, 139, 72, 3, 1008, - 73, 90, 91, 8, 199, 3, 73, 6, 6, 199, - 85, 86, 87, 88, 89, 90, 91, 90, 91, 108, - 72, 8, 4, 72, 73, 114, 115, 116, 117, 118, - 119, 83, 4, 4, 109, 3, 3, 112, 90, 91, - 8, 90, 91, 133, 134, 135, 73, 74, 75, 76, - 77, 78, 4, 3, 3, 8, 199, 109, 8, 8, - 112, 110, 111, 90, 91, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 178, - 4, 3, 181, 182, 183, 184, 8, 3, 8, 3, - 410, 411, 8, 474, 8, 3, 3, 478, 4, 4, - 8, 8, 4, 4, 177, 4, 179, 180, 4, 490, - 199, 4, 493, 478, 98, 99, 100, 101, 4, 500, - 4, 490, 4, 490, 199, 490, 199, 4, 493, 510, - 4, 4, 199, 4, 4, 500, 4, 490, 490, 520, - 490, 490, 4, 520, 525, 510, 4, 199, 525, 525, - 199, 4, 490, 490, 490, 520, 4, 490, 4, 490, - 525, 4, 4, 4, 545, 490, 4, 4, 525, 478, - 4, 490, 199, 4, 3, 8, 4, 490, 4, 490, - 545, 490, 3, 8, 493, 4, 4, 4, 4, 4, - 4, 500, 4, 490, 4, 199, 493, 490, 490, 200, - 490, 510, 4, 500, 4, 490, 4, 4, 490, 4, - 490, 520, 490, 510, 4, 490, 525, 200, 490, 200, - 490, 200, 490, 200, 200, 200, 200, 493, 4, 202, - 200, 493, 201, 4, 500, 201, 545, 201, 500, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 200, 200, 200, 4, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 202, 202, 72, 202, 4, - 202, 202, 202, 4, 4, 4, 4, 82, 4, 84, - 4, 4, 4, 4, 4, 90, 91, 92, 93, 94, - 95, 96, 97, 4, 4, 4, 4, 678, 4, 4, - 681, 4, 200, 4, 109, 4, 4, 112, 113, 4, - 4, 202, 4, 4, 202, 120, 681, 90, 91, 4, - 4, 4, 4, 4, 200, 4, 4, 202, 4, 4, - 4, 200, 4, 714, 715, 716, 200, 718, 4, 200, - 4, 4, 4, 4, 4, 4, 4, 4, 200, 714, - 715, 716, 717, 718, 4, 4, 4, 677, 202, 4, - 4, 4, 202, 202, 4, 4, 202, 4, 173, 174, - 200, 4, 681, 200, 4, 4, 200, 4, 4, 202, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 202, 199, 4, 4, 200, 4, 168, - 173, 174, 7, 199, 7, 714, 715, 716, 717, 718, + 81, 78, 79, 79, 73, 724, 73, 72, 73, 74, + 75, 76, 693, 78, 79, 718, 81, 985, 985, 985, + 73, 73, 79, 73, 73, 985, 985, 116, 5, 598, + 7, 118, 9, 633, 123, 73, 73, 73, 118, 119, + 73, 121, 73, 125, 126, 645, 646, 647, 73, 171, + 172, 173, 174, 0, 73, 3, 16, 17, 6, 201, + 73, 10, 73, 72, 73, 74, 75, 76, 3, 78, + 79, 6, 81, 90, 91, 21, 73, 74, 75, 76, + 73, 73, 204, 73, 30, 3, 7, 3, 73, 3, + 8, 73, 8, 73, 8, 73, 7, 666, 73, 3, + 7, 73, 3, 73, 8, 73, 6, 8, 73, 73, + 72, 74, 75, 70, 201, 74, 75, 11, 12, 201, + 7, 15, 3, 7, 18, 19, 20, 8, 90, 91, + 90, 91, 21, 3, 151, 152, 153, 3, 8, 7, + 90, 91, 8, 3, 90, 91, 3, 3, 8, 6, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 7, 7, 7, 199, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 5, 72, 73, - 199, 199, 199, 5, 5, 5, 199, 5, 7, 5, - 5, 5, 199, 5, 7, 5, 90, 91, 5, 93, - 94, 7, 96, 97, 7, 7, 7, 7, 7, 5, - 5, 5, 199, 5, 199, 109, 7, 5, 112, 107, - 199, 199, 199, 199, 199, 199, 120, 199, 7, 7, - 7, 7, 199, 7, 7, 199, 7, 199, 7, 199, - 7, 7, 199, 199, 7, 4, 199, 4, 4, 199, - 199, 199, 199, 199, 4, 4, 4, 4, 4, 199, - 4, 4, 199, 4, 6, 3, 199, 6, 199, 3, - 6, 3, 3, 6, 3, 200, 6, 3, 6, 173, - 174, 6, 6, 3, 199, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, - 202, 6, 3, 6, 4, 199, 8, 6, 4, 4, - 4, 202, 4, 4, 4, 200, 200, 200, 200, 4, - 200, 200, 4, 200, 202, 966, 200, 200, 969, 200, - 200, 972, 969, 200, 975, 972, 972, 966, 975, 966, - 200, 966, 4, 4, 969, 986, 975, 972, 989, 986, - 975, 992, 200, 966, 966, 972, 966, 966, 4, 200, - 200, 986, 975, 975, 989, 975, 975, 1008, 966, 966, - 966, 202, 1013, 966, 200, 966, 1017, 975, 975, 975, - 4, 966, 975, 1008, 975, 1026, 4, 966, 1013, 1026, - 975, 1032, 1017, 966, 1035, 966, 975, 966, 1023, 4, - 969, 1026, 975, 972, 975, 202, 975, 1032, 6, 966, - 1035, 200, 3, 966, 966, 200, 966, 986, 975, 4, - 989, 966, 975, 975, 966, 975, 966, 199, 966, 986, - 975, 966, 989, 975, 966, 975, 966, 975, 966, 1008, - 975, 199, 8, 975, 1013, 975, 199, 975, 1017, 975, - 8, 4, 8, 975, 1023, 3, 8, 1026, 4, 199, - 4, 4, 199, 1032, 199, 4, 1035, 5, 4, 4, - 7, 4, 199, 4, 4, 1032, 199, 199, 1035, 656, - 678, 202, 707, 669, 478, 965, 681, 761, 960, 978, - 984, 981, 994, 1013, 992, 968, 528, 1001, 966, 977, - 1192, 199, 199, 77, 969, 971, 1032, 200, 520, 1035, - 1032, 199, 199, 1035, 200, 199, 199, 490, 199, 972, - 974, 200, 202, 199, 199, 525, 1037, 1034, 731, 991, - 1035, 1032, 1198, 989, 1008, 987, 1023, 718, 1017, 545, - 680, 549, 1027, 1213, 474, 1234, 1254, -1, -1, -1, - -1, 1192, -1, -1, -1, 1192, -1, 1198, -1, -1, - -1, 1198, -1, 1192, 493, -1, -1, 1192, -1, -1, - -1, -1, 1213, 1198, 1154, -1, 1213, -1, -1, 1192, - 1192, -1, 1192, 1192, 500, -1, -1, -1, 1213, -1, - -1, -1, -1, -1, 1192, 1192, 1192, 510, -1, 1192, - -1, 1192, -1, -1, -1, -1, -1, 1192, -1, -1, - -1, -1, -1, 1192, -1, -1, -1, -1, -1, 1192, - -1, 1192, -1, 1192, -1, -1, -1, -1, -1, 1198, - -1, -1, -1, -1, -1, 1192, -1, -1, -1, 1192, - 1192, 1198, 1192, -1, 1213, -1, -1, 1192, -1, -1, - 1192, -1, 1192, -1, 1192, -1, -1, 1192, -1, -1, - 1192, -1, 1192, -1, 1192, -1, 1192, -1, -1, -1, - 1192 + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 101, 102, + 103, 104, 7, 72, 201, 74, 75, 81, 71, 78, + 79, 80, 138, 139, 140, 141, 90, 91, 148, 149, + 83, 90, 91, 97, 98, 99, 100, 90, 91, 7, + 3, 105, 106, 107, 108, 8, 110, 179, 7, 181, + 182, 115, 13, 14, 201, 202, 203, 204, 111, 3, + 124, 114, 8, 127, 8, 7, 1204, 1204, 1204, 201, + 134, 201, 3, 3, 1204, 1204, 6, 8, 142, 143, + 7, 201, 3, 147, 3, 201, 150, 8, 21, 8, + 154, 125, 126, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 175, 176, 177, 178, 3, 71, 7, 991, 4, + 8, 7, 973, 3, 71, 3, 71, 72, 8, 1018, + 85, 86, 87, 88, 89, 90, 91, 201, 3, 72, + 8, 6, 201, 90, 91, 90, 91, 3, 201, 90, + 91, 4, 8, 3, 8, 3, 111, 3, 8, 114, + 8, 3, 8, 110, 168, 169, 8, 112, 113, 116, + 117, 118, 119, 120, 121, 72, 73, 74, 75, 76, + 77, 180, 4, 3, 183, 184, 185, 186, 8, 4, + 3, 8, 4, 90, 91, 8, 128, 129, 130, 131, + 132, 133, 4, 144, 145, 146, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 3, 8, 3, 3, 3, 8, 416, 417, 8, 8, + 4, 482, 3, 3, 3, 486, 4, 8, 8, 4, + 22, 23, 24, 25, 4, 4, 201, 498, 4, 4, + 501, 486, 4, 4, 201, 4, 201, 508, 4, 498, + 201, 498, 4, 498, 4, 4, 501, 518, 201, 135, + 136, 137, 4, 508, 4, 498, 498, 528, 498, 498, + 4, 528, 533, 518, 4, 4, 533, 533, 4, 4, + 498, 498, 498, 528, 4, 498, 4, 498, 533, 4, + 4, 4, 553, 498, 201, 4, 533, 486, 4, 498, + 4, 4, 4, 4, 3, 498, 203, 498, 553, 498, + 8, 4, 501, 4, 4, 4, 4, 4, 4, 508, + 201, 498, 4, 4, 501, 498, 498, 4, 498, 518, + 4, 508, 4, 498, 4, 4, 498, 202, 498, 528, + 498, 518, 204, 498, 533, 202, 498, 202, 498, 202, + 498, 202, 202, 498, 498, 202, 202, 202, 501, 203, + 203, 202, 501, 4, 553, 508, 202, 202, 4, 508, + 204, 204, 4, 204, 4, 204, 204, 4, 4, 4, + 4, 4, 4, 4, 204, 204, 204, 4, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 4, 4, 4, 4, 61, 62, 63, 64, 65, + 66, 67, 68, 4, 4, 71, 4, 4, 4, 202, + 4, 4, 4, 4, 4, 4, 82, 688, 84, 4, + 691, 204, 204, 4, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 4, 691, 202, 4, 4, + 4, 204, 4, 4, 4, 111, 4, 4, 114, 115, + 4, 202, 4, 724, 725, 726, 122, 728, 4, 202, + 202, 4, 4, 4, 4, 4, 4, 4, 202, 724, + 725, 726, 727, 728, 4, 4, 4, 687, 204, 4, + 4, 4, 204, 204, 204, 4, 4, 202, 4, 4, + 4, 4, 691, 4, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 202, 202, 175, + 176, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 4, 71, 72, 90, 91, 724, 725, 726, 727, 728, + 204, 204, 4, 4, 202, 201, 4, 7, 201, 5, + 90, 91, 7, 93, 94, 7, 96, 97, 98, 99, + 100, 7, 7, 201, 201, 5, 201, 5, 5, 5, + 201, 111, 7, 5, 114, 5, 5, 170, 5, 7, + 5, 5, 122, 201, 7, 7, 7, 7, 7, 7, + 201, 5, 5, 5, 5, 201, 201, 201, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 7, 201, 5, 7, 109, 201, 7, 175, 176, + 7, 7, 7, 201, 201, 201, 7, 201, 201, 201, + 7, 201, 201, 201, 201, 175, 176, 201, 201, 201, + 201, 201, 7, 201, 201, 7, 7, 7, 201, 4, + 4, 4, 201, 4, 4, 201, 4, 4, 4, 4, + 4, 201, 4, 6, 3, 6, 3, 3, 6, 3, + 204, 6, 3, 6, 6, 3, 6, 6, 3, 201, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 3, 202, 6, 3, 6, 4, + 202, 8, 6, 4, 4, 4, 204, 202, 4, 202, + 202, 4, 4, 4, 202, 976, 202, 204, 979, 202, + 4, 982, 979, 202, 985, 982, 982, 976, 985, 976, + 202, 976, 202, 202, 979, 996, 985, 982, 999, 996, + 985, 1002, 4, 976, 976, 982, 976, 976, 202, 202, + 4, 996, 985, 985, 999, 985, 985, 1018, 976, 976, + 976, 202, 1023, 976, 4, 976, 1027, 985, 985, 985, + 204, 976, 985, 1018, 985, 1036, 202, 976, 1023, 1036, + 985, 1042, 1027, 976, 1045, 976, 985, 976, 1033, 4, + 979, 1036, 985, 982, 985, 202, 985, 1042, 202, 976, + 1045, 202, 204, 976, 976, 4, 976, 996, 985, 4, + 999, 976, 985, 985, 976, 985, 976, 6, 976, 996, + 985, 976, 999, 985, 976, 985, 976, 985, 976, 1018, + 985, 976, 976, 985, 1023, 985, 202, 985, 1027, 3, + 985, 985, 985, 4, 1033, 201, 985, 1036, 8, 201, + 8, 4, 201, 1042, 8, 3, 1045, 8, 4, 4, + 4, 201, 4, 666, 5, 1042, 4, 7, 1045, 4, + 4, 4, 4, 688, 201, 201, 486, 717, 679, 771, + 691, 970, 975, 482, 994, 991, 988, 1023, 1004, 1002, + 536, 1011, 978, 976, 1204, 987, 77, 979, 201, 1042, + 202, 498, 1045, 1042, 201, 981, 1045, 201, 528, 204, + 982, 201, 201, 201, 201, 201, 201, 533, 201, 984, + 1044, 202, 204, 202, 201, 201, 1047, 1045, 1042, 999, + 1001, 741, 1210, 1018, 1033, 501, 690, 997, 553, 1027, + 728, 1225, 1037, 1204, 557, 1246, 1266, 1204, -1, 1210, + -1, -1, -1, 1210, -1, 1204, -1, -1, -1, 1204, + -1, -1, -1, 508, 1225, 1210, 1166, -1, 1225, -1, + -1, 1204, 1204, -1, 1204, 1204, -1, 518, -1, -1, + 1225, -1, -1, -1, -1, -1, 1204, 1204, 1204, -1, + -1, 1204, -1, 1204, -1, -1, -1, -1, -1, 1204, + -1, -1, -1, -1, -1, 1204, -1, -1, -1, -1, + -1, 1204, -1, 1204, -1, 1204, -1, -1, -1, -1, + -1, 1210, -1, -1, -1, -1, -1, 1204, -1, -1, + -1, 1204, 1204, 1210, 1204, -1, 1225, -1, -1, 1204, + -1, -1, 1204, -1, 1204, -1, 1204, -1, -1, 1204, + -1, -1, 1204, -1, 1204, -1, 1204, -1, -1, 1204, + 1204, 1204, -1, -1, -1, 1204 }; const short Dhcp6Parser::yystos_[] = { - 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 0, 5, 7, 9, 199, 200, 201, 202, 219, 220, - 221, 226, 7, 235, 7, 239, 7, 283, 7, 389, - 7, 466, 7, 482, 7, 499, 7, 418, 7, 424, - 7, 448, 7, 365, 7, 568, 7, 599, 227, 222, - 236, 240, 284, 390, 467, 483, 500, 419, 425, 449, - 366, 569, 600, 219, 228, 229, 199, 224, 225, 10, - 237, 11, 12, 15, 18, 19, 20, 44, 45, 46, + 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 0, 5, 7, 9, 201, 202, 203, 204, 221, 222, + 223, 228, 7, 237, 7, 241, 7, 284, 7, 390, + 7, 470, 7, 486, 7, 503, 7, 422, 7, 428, + 7, 452, 7, 366, 7, 572, 7, 603, 229, 224, + 238, 242, 285, 391, 471, 487, 504, 423, 429, 453, + 367, 573, 604, 221, 230, 231, 201, 226, 227, 10, + 239, 11, 12, 15, 18, 19, 20, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 90, 91, 97, 102, - 103, 104, 105, 106, 108, 113, 122, 125, 132, 140, - 141, 145, 148, 152, 173, 174, 175, 176, 199, 234, - 241, 242, 243, 245, 246, 247, 248, 249, 250, 251, + 67, 68, 69, 70, 71, 81, 90, 91, 97, 98, + 99, 100, 105, 106, 107, 108, 110, 115, 124, 127, + 134, 142, 143, 147, 150, 154, 175, 176, 177, 178, + 201, 236, 243, 244, 245, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 265, 267, 269, 270, 271, 273, 275, 276, 277, - 278, 280, 281, 290, 292, 294, 332, 338, 344, 350, - 352, 359, 373, 383, 403, 408, 416, 442, 472, 474, - 493, 523, 535, 547, 548, 556, 566, 597, 606, 16, - 17, 234, 285, 286, 287, 289, 472, 474, 82, 84, - 92, 93, 94, 95, 96, 109, 112, 120, 234, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 259, 260, 261, 262, 265, 267, 269, 270, - 271, 273, 275, 391, 392, 393, 395, 397, 399, 401, - 403, 406, 407, 442, 460, 472, 474, 476, 493, 518, - 83, 234, 399, 401, 442, 468, 469, 470, 472, 474, - 85, 86, 87, 88, 89, 234, 399, 401, 442, 472, - 474, 484, 485, 486, 488, 489, 491, 492, 108, 114, - 115, 116, 117, 118, 119, 234, 442, 472, 474, 501, - 502, 503, 504, 506, 508, 510, 512, 514, 516, 416, - 21, 73, 75, 76, 79, 80, 81, 234, 312, 426, - 427, 428, 429, 430, 431, 432, 434, 436, 438, 439, - 441, 472, 474, 74, 77, 78, 234, 312, 430, 436, - 450, 451, 452, 453, 454, 456, 457, 458, 459, 472, - 474, 123, 124, 234, 367, 368, 369, 371, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 173, 174, 234, 472, 474, 570, 571, 572, 573, - 575, 577, 578, 580, 581, 582, 585, 587, 588, 589, - 591, 593, 595, 13, 14, 601, 602, 603, 605, 6, - 3, 4, 8, 3, 238, 8, 244, 598, 282, 291, - 293, 295, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 279, 4, 4, 4, - 4, 4, 263, 266, 268, 4, 4, 4, 384, 417, - 443, 473, 475, 404, 409, 339, 351, 345, 333, 524, - 494, 360, 374, 536, 4, 353, 549, 557, 567, 272, - 274, 4, 607, 4, 3, 8, 288, 4, 3, 8, - 461, 477, 394, 396, 398, 4, 4, 402, 400, 519, - 3, 8, 471, 3, 8, 487, 4, 490, 4, 4, - 3, 8, 517, 505, 507, 509, 511, 513, 515, 8, - 3, 8, 433, 313, 4, 437, 435, 440, 4, 8, - 3, 455, 4, 4, 8, 3, 370, 372, 3, 8, - 4, 574, 576, 4, 579, 4, 4, 583, 586, 4, - 4, 590, 592, 594, 596, 3, 8, 604, 4, 3, - 8, 219, 219, 199, 4, 4, 4, 4, 4, 4, - 4, 200, 200, 200, 200, 200, 200, 200, 200, 202, - 201, 201, 201, 200, 200, 4, 200, 200, 202, 202, - 202, 4, 4, 4, 202, 202, 202, 4, 4, 4, + 262, 263, 264, 267, 269, 271, 272, 274, 276, 277, + 278, 279, 281, 282, 291, 293, 295, 333, 339, 345, + 351, 353, 360, 374, 384, 404, 405, 406, 407, 412, + 420, 446, 476, 478, 497, 527, 539, 551, 552, 560, + 570, 601, 610, 16, 17, 236, 286, 287, 288, 290, + 476, 478, 82, 84, 92, 93, 94, 95, 96, 111, + 114, 122, 236, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 261, 262, 263, 264, + 267, 269, 271, 272, 274, 276, 392, 393, 394, 396, + 398, 400, 402, 404, 405, 406, 407, 410, 411, 446, + 464, 476, 478, 480, 497, 522, 83, 236, 400, 402, + 446, 472, 473, 474, 476, 478, 85, 86, 87, 88, + 89, 236, 400, 402, 446, 476, 478, 488, 489, 490, + 492, 493, 495, 496, 110, 116, 117, 118, 119, 120, + 121, 236, 446, 476, 478, 505, 506, 507, 508, 510, + 512, 514, 516, 518, 520, 420, 21, 72, 74, 75, + 78, 79, 80, 236, 313, 430, 431, 432, 433, 434, + 435, 436, 438, 440, 442, 443, 445, 476, 478, 73, + 76, 77, 236, 313, 434, 440, 454, 455, 456, 457, + 458, 460, 461, 462, 463, 476, 478, 125, 126, 236, + 368, 369, 370, 372, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 175, 176, 236, + 476, 478, 574, 575, 576, 577, 579, 581, 582, 584, + 585, 586, 589, 591, 592, 593, 595, 597, 599, 13, + 14, 605, 606, 607, 609, 6, 3, 4, 8, 3, + 240, 8, 246, 602, 283, 292, 294, 296, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 200, 4, 4, 4, 4, 4, 4, - 202, 4, 242, 4, 202, 286, 4, 4, 4, 4, - 4, 200, 202, 4, 4, 4, 392, 4, 469, 4, - 200, 4, 200, 200, 485, 4, 4, 4, 4, 4, - 4, 4, 503, 4, 4, 200, 4, 4, 4, 202, - 428, 4, 202, 202, 452, 4, 4, 368, 202, 4, - 4, 200, 4, 200, 200, 4, 4, 202, 202, 4, - 4, 4, 4, 571, 4, 200, 602, 4, 7, 199, - 7, 7, 7, 7, 5, 199, 169, 170, 171, 172, - 202, 264, 199, 199, 5, 5, 5, 221, 223, 199, - 98, 99, 100, 101, 405, 5, 5, 5, 5, 7, - 5, 5, 5, 7, 7, 7, 7, 7, 7, 199, - 199, 5, 5, 230, 5, 5, 199, 199, 199, 230, - 199, 7, 199, 199, 199, 230, 230, 230, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 223, - 199, 199, 199, 166, 167, 584, 168, 264, 199, 199, - 199, 5, 219, 241, 601, 285, 21, 26, 27, 28, + 4, 4, 280, 4, 4, 4, 4, 4, 265, 268, + 270, 4, 4, 385, 421, 447, 413, 477, 479, 408, + 4, 4, 4, 340, 352, 346, 334, 528, 498, 361, + 375, 540, 4, 354, 553, 561, 571, 273, 275, 4, + 611, 4, 3, 8, 289, 4, 3, 8, 465, 481, + 395, 397, 399, 4, 4, 403, 401, 523, 3, 8, + 475, 3, 8, 491, 4, 494, 4, 4, 3, 8, + 521, 509, 511, 513, 515, 517, 519, 8, 3, 8, + 437, 314, 4, 441, 439, 444, 4, 8, 3, 459, + 4, 4, 8, 3, 371, 373, 3, 8, 4, 578, + 580, 4, 583, 4, 4, 587, 590, 4, 4, 594, + 596, 598, 600, 3, 8, 608, 4, 3, 8, 221, + 221, 201, 4, 4, 4, 4, 4, 4, 4, 202, + 202, 202, 202, 202, 202, 202, 202, 204, 203, 203, + 203, 202, 202, 4, 202, 202, 204, 204, 204, 4, + 4, 4, 204, 204, 4, 4, 4, 4, 4, 4, + 4, 204, 204, 204, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 202, 4, 4, 4, 4, 4, 4, + 204, 4, 244, 4, 204, 287, 4, 4, 4, 4, + 4, 202, 204, 4, 4, 4, 393, 4, 473, 4, + 202, 4, 202, 202, 489, 4, 4, 4, 4, 4, + 4, 4, 507, 4, 4, 202, 4, 4, 4, 204, + 432, 4, 204, 204, 456, 4, 4, 369, 204, 4, + 4, 202, 4, 202, 202, 4, 4, 204, 204, 4, + 4, 4, 4, 575, 4, 202, 606, 4, 7, 201, + 7, 7, 7, 7, 5, 201, 171, 172, 173, 174, + 204, 266, 201, 201, 5, 5, 5, 5, 223, 225, + 201, 101, 102, 103, 104, 409, 5, 5, 5, 7, + 5, 5, 5, 7, 7, 7, 7, 7, 7, 201, + 201, 5, 5, 232, 5, 5, 201, 201, 201, 232, + 201, 7, 201, 201, 201, 232, 232, 232, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 225, + 201, 201, 201, 168, 169, 588, 170, 266, 201, 201, + 201, 5, 221, 243, 605, 286, 21, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 234, 300, 301, 302, 305, - 307, 309, 311, 312, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 325, 326, 328, 330, 300, 7, - 296, 297, 298, 7, 385, 386, 387, 7, 420, 421, - 422, 7, 444, 445, 446, 7, 410, 411, 412, 116, - 199, 340, 341, 342, 343, 228, 117, 119, 342, 346, - 347, 348, 349, 107, 334, 335, 336, 7, 525, 526, - 7, 495, 496, 497, 7, 361, 362, 363, 126, 127, - 128, 129, 130, 131, 375, 376, 377, 378, 379, 380, - 381, 382, 21, 136, 137, 138, 139, 234, 314, 472, - 474, 537, 538, 539, 542, 543, 545, 546, 142, 143, - 144, 234, 354, 355, 356, 357, 358, 472, 474, 146, - 147, 234, 472, 474, 550, 551, 552, 554, 149, 150, - 151, 199, 472, 474, 558, 559, 560, 561, 563, 564, - 570, 7, 608, 609, 231, 7, 462, 463, 464, 7, - 478, 479, 480, 121, 504, 520, 521, 296, 8, 8, - 8, 303, 306, 308, 310, 4, 4, 4, 4, 4, - 324, 4, 4, 327, 329, 331, 4, 4, 4, 4, - 3, 8, 8, 299, 6, 3, 388, 6, 3, 423, - 6, 3, 447, 6, 3, 413, 6, 3, 3, 6, - 6, 3, 6, 337, 3, 8, 527, 3, 6, 498, - 6, 3, 364, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 540, 544, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 553, 555, 3, 8, 4, - 562, 4, 565, 3, 8, 8, 610, 3, 6, 199, - 232, 233, 465, 6, 3, 481, 6, 3, 522, 8, - 6, 4, 4, 4, 4, 200, 202, 200, 202, 200, - 4, 200, 200, 4, 4, 4, 200, 200, 202, 200, - 301, 300, 298, 391, 387, 426, 422, 450, 446, 234, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 259, 260, 261, 262, 265, 267, 269, - 270, 271, 273, 275, 312, 383, 395, 397, 399, 401, - 403, 407, 414, 415, 442, 472, 474, 518, 412, 341, - 347, 4, 335, 110, 111, 234, 312, 442, 472, 474, - 528, 529, 530, 531, 532, 534, 526, 501, 497, 367, - 363, 200, 200, 200, 200, 200, 200, 376, 4, 4, - 200, 200, 200, 538, 202, 200, 200, 355, 4, 4, - 551, 202, 4, 200, 4, 559, 177, 179, 180, 234, - 312, 472, 474, 611, 612, 613, 614, 616, 609, 6, - 3, 468, 464, 484, 480, 4, 22, 23, 24, 25, - 304, 199, 199, 199, 199, 199, 199, 199, 8, 8, - 8, 8, 3, 8, 199, 533, 4, 8, 3, 8, - 8, 133, 134, 135, 541, 199, 199, 199, 199, 219, - 617, 4, 615, 3, 8, 199, 8, 8, 199, 415, - 4, 202, 530, 4, 200, 4, 612, 199, 5, 199, - 7, 618, 619, 620, 3, 6, 178, 181, 182, 183, - 184, 621, 622, 623, 625, 626, 627, 628, 619, 624, - 4, 4, 4, 629, 3, 8, 4, 202, 200, 200, - 4, 622, 199, 199 + 39, 40, 41, 42, 43, 236, 301, 302, 303, 306, + 308, 310, 312, 313, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 326, 327, 329, 331, 301, 7, + 297, 298, 299, 7, 386, 387, 388, 7, 424, 425, + 426, 7, 448, 449, 450, 7, 414, 415, 416, 118, + 201, 341, 342, 343, 344, 230, 119, 121, 343, 347, + 348, 349, 350, 109, 335, 336, 337, 7, 529, 530, + 7, 499, 500, 501, 7, 362, 363, 364, 128, 129, + 130, 131, 132, 133, 376, 377, 378, 379, 380, 381, + 382, 383, 21, 138, 139, 140, 141, 236, 315, 476, + 478, 541, 542, 543, 546, 547, 549, 550, 144, 145, + 146, 236, 355, 356, 357, 358, 359, 476, 478, 148, + 149, 236, 476, 478, 554, 555, 556, 558, 151, 152, + 153, 201, 476, 478, 562, 563, 564, 565, 567, 568, + 574, 7, 612, 613, 233, 7, 466, 467, 468, 7, + 482, 483, 484, 123, 508, 524, 525, 297, 8, 8, + 8, 304, 307, 309, 311, 4, 4, 4, 4, 4, + 325, 4, 4, 328, 330, 332, 4, 4, 4, 4, + 3, 8, 8, 300, 6, 3, 389, 6, 3, 427, + 6, 3, 451, 6, 3, 417, 6, 3, 3, 6, + 6, 3, 6, 338, 3, 8, 531, 3, 6, 502, + 6, 3, 365, 6, 3, 4, 4, 4, 4, 4, + 4, 3, 8, 544, 548, 4, 4, 4, 3, 8, + 4, 4, 4, 3, 8, 557, 559, 3, 8, 4, + 566, 4, 569, 3, 8, 8, 614, 3, 6, 201, + 234, 235, 469, 6, 3, 485, 6, 3, 526, 8, + 6, 4, 4, 4, 4, 202, 204, 202, 204, 202, + 4, 202, 202, 4, 4, 4, 202, 202, 204, 202, + 302, 301, 299, 392, 388, 430, 426, 454, 450, 236, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 261, 262, 263, 264, 267, 269, 271, + 272, 274, 276, 313, 384, 396, 398, 400, 402, 404, + 405, 406, 407, 411, 418, 419, 446, 476, 478, 522, + 416, 342, 348, 4, 336, 112, 113, 236, 313, 446, + 476, 478, 532, 533, 534, 535, 536, 538, 530, 505, + 501, 368, 364, 202, 202, 202, 202, 202, 202, 377, + 4, 4, 202, 202, 202, 542, 204, 202, 202, 356, + 4, 4, 555, 204, 4, 202, 4, 563, 179, 181, + 182, 236, 313, 476, 478, 615, 616, 617, 618, 620, + 613, 6, 3, 472, 468, 488, 484, 4, 22, 23, + 24, 25, 305, 201, 201, 201, 201, 201, 201, 201, + 8, 8, 8, 8, 3, 8, 201, 537, 4, 8, + 3, 8, 8, 135, 136, 137, 545, 201, 201, 201, + 201, 221, 621, 4, 619, 3, 8, 201, 8, 8, + 201, 419, 4, 204, 534, 4, 202, 4, 616, 201, + 5, 201, 7, 622, 623, 624, 3, 6, 180, 183, + 184, 185, 186, 625, 626, 627, 629, 630, 631, 632, + 623, 628, 4, 4, 4, 633, 3, 8, 4, 204, + 202, 202, 4, 626, 201, 201 }; const short Dhcp6Parser::yyr1_[] = { - 0, 203, 205, 204, 206, 204, 207, 204, 208, 204, - 209, 204, 210, 204, 211, 204, 212, 204, 213, 204, - 214, 204, 215, 204, 216, 204, 217, 204, 218, 204, - 219, 219, 219, 219, 219, 219, 219, 220, 222, 221, - 223, 224, 224, 225, 225, 227, 226, 228, 228, 229, - 229, 231, 230, 232, 232, 233, 233, 234, 236, 235, - 238, 237, 240, 239, 241, 241, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 244, 243, 245, 246, 247, 248, + 0, 205, 207, 206, 208, 206, 209, 206, 210, 206, + 211, 206, 212, 206, 213, 206, 214, 206, 215, 206, + 216, 206, 217, 206, 218, 206, 219, 206, 220, 206, + 221, 221, 221, 221, 221, 221, 221, 222, 224, 223, + 225, 226, 226, 227, 227, 229, 228, 230, 230, 231, + 231, 233, 232, 234, 234, 235, 235, 236, 238, 237, + 240, 239, 242, 241, 243, 243, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 246, 245, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 263, 262, 264, 264, 264, 264, 264, - 266, 265, 268, 267, 269, 270, 272, 271, 274, 273, - 275, 276, 277, 279, 278, 280, 282, 281, 284, 283, - 285, 285, 286, 286, 286, 286, 286, 288, 287, 289, - 291, 290, 293, 292, 295, 294, 296, 296, 297, 297, - 299, 298, 300, 300, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 303, 302, 304, 304, 304, - 304, 306, 305, 308, 307, 310, 309, 311, 313, 312, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 324, - 323, 325, 327, 326, 329, 328, 331, 330, 333, 332, - 334, 334, 335, 337, 336, 339, 338, 340, 340, 341, - 341, 342, 343, 345, 344, 346, 346, 347, 347, 347, - 348, 349, 351, 350, 353, 352, 354, 354, 355, 355, - 355, 355, 355, 355, 356, 357, 358, 360, 359, 361, - 361, 362, 362, 364, 363, 366, 365, 367, 367, 367, - 368, 368, 370, 369, 372, 371, 374, 373, 375, 375, - 376, 376, 376, 376, 376, 376, 377, 378, 379, 380, - 381, 382, 384, 383, 385, 385, 386, 386, 388, 387, - 390, 389, 391, 391, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 392, 392, 394, 393, 396, 395, 398, 397, - 400, 399, 402, 401, 404, 403, 405, 405, 405, 405, - 406, 407, 409, 408, 410, 410, 411, 411, 413, 412, - 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, 417, - 416, 419, 418, 420, 420, 421, 421, 423, 422, 425, - 424, 426, 426, 427, 427, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 429, 430, 431, 433, 432, - 435, 434, 437, 436, 438, 440, 439, 441, 443, 442, - 444, 444, 445, 445, 447, 446, 449, 448, 450, 450, - 451, 451, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 453, 455, 454, 456, 457, 458, 459, 461, 460, - 462, 462, 463, 463, 465, 464, 467, 466, 468, 468, - 469, 469, 469, 469, 469, 469, 469, 471, 470, 473, - 472, 475, 474, 477, 476, 478, 478, 479, 479, 481, - 480, 483, 482, 484, 484, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 487, 486, 488, 490, - 489, 491, 492, 494, 493, 495, 495, 496, 496, 498, - 497, 500, 499, 501, 501, 502, 502, 503, 503, 503, - 503, 503, 503, 503, 503, 503, 503, 503, 505, 504, - 507, 506, 509, 508, 511, 510, 513, 512, 515, 514, - 517, 516, 519, 518, 520, 520, 522, 521, 524, 523, - 525, 525, 527, 526, 528, 528, 529, 529, 530, 530, - 530, 530, 530, 530, 530, 531, 533, 532, 534, 536, - 535, 537, 537, 538, 538, 538, 538, 538, 538, 538, - 538, 538, 540, 539, 541, 541, 541, 542, 544, 543, - 545, 546, 547, 549, 548, 550, 550, 551, 551, 551, - 551, 551, 553, 552, 555, 554, 557, 556, 558, 558, - 559, 559, 559, 559, 559, 559, 560, 562, 561, 563, - 565, 564, 567, 566, 569, 568, 570, 570, 571, 571, - 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 571, 571, 572, 574, 573, 576, - 575, 577, 579, 578, 580, 581, 583, 582, 584, 584, - 586, 585, 587, 588, 590, 589, 592, 591, 594, 593, - 596, 595, 598, 597, 600, 599, 601, 601, 602, 602, - 604, 603, 605, 607, 606, 608, 608, 610, 609, 611, - 611, 612, 612, 612, 612, 612, 612, 612, 613, 615, - 614, 617, 616, 618, 618, 620, 619, 621, 621, 622, - 622, 622, 622, 622, 624, 623, 625, 626, 627, 629, - 628 + 259, 260, 261, 262, 263, 265, 264, 266, 266, 266, + 266, 266, 268, 267, 270, 269, 271, 273, 272, 275, + 274, 276, 277, 278, 280, 279, 281, 283, 282, 285, + 284, 286, 286, 287, 287, 287, 287, 287, 289, 288, + 290, 292, 291, 294, 293, 296, 295, 297, 297, 298, + 298, 300, 299, 301, 301, 302, 302, 302, 302, 302, + 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, + 302, 302, 302, 302, 302, 302, 304, 303, 305, 305, + 305, 305, 307, 306, 309, 308, 311, 310, 312, 314, + 313, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 325, 324, 326, 328, 327, 330, 329, 332, 331, 334, + 333, 335, 335, 336, 338, 337, 340, 339, 341, 341, + 342, 342, 343, 344, 346, 345, 347, 347, 348, 348, + 348, 349, 350, 352, 351, 354, 353, 355, 355, 356, + 356, 356, 356, 356, 356, 357, 358, 359, 361, 360, + 362, 362, 363, 363, 365, 364, 367, 366, 368, 368, + 368, 369, 369, 371, 370, 373, 372, 375, 374, 376, + 376, 377, 377, 377, 377, 377, 377, 378, 379, 380, + 381, 382, 383, 385, 384, 386, 386, 387, 387, 389, + 388, 391, 390, 392, 392, 393, 393, 393, 393, 393, + 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, + 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, + 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, + 393, 393, 393, 393, 393, 393, 393, 395, 394, 397, + 396, 399, 398, 401, 400, 403, 402, 404, 405, 406, + 408, 407, 409, 409, 409, 409, 410, 411, 413, 412, + 414, 414, 415, 415, 417, 416, 418, 418, 419, 419, + 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, + 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, + 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, + 419, 419, 419, 419, 419, 419, 419, 421, 420, 423, + 422, 424, 424, 425, 425, 427, 426, 429, 428, 430, + 430, 431, 431, 432, 432, 432, 432, 432, 432, 432, + 432, 432, 432, 433, 434, 435, 437, 436, 439, 438, + 441, 440, 442, 444, 443, 445, 447, 446, 448, 448, + 449, 449, 451, 450, 453, 452, 454, 454, 455, 455, + 456, 456, 456, 456, 456, 456, 456, 456, 456, 457, + 459, 458, 460, 461, 462, 463, 465, 464, 466, 466, + 467, 467, 469, 468, 471, 470, 472, 472, 473, 473, + 473, 473, 473, 473, 473, 475, 474, 477, 476, 479, + 478, 481, 480, 482, 482, 483, 483, 485, 484, 487, + 486, 488, 488, 489, 489, 489, 489, 489, 489, 489, + 489, 489, 489, 489, 491, 490, 492, 494, 493, 495, + 496, 498, 497, 499, 499, 500, 500, 502, 501, 504, + 503, 505, 505, 506, 506, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 509, 508, 511, 510, + 513, 512, 515, 514, 517, 516, 519, 518, 521, 520, + 523, 522, 524, 524, 526, 525, 528, 527, 529, 529, + 531, 530, 532, 532, 533, 533, 534, 534, 534, 534, + 534, 534, 534, 535, 537, 536, 538, 540, 539, 541, + 541, 542, 542, 542, 542, 542, 542, 542, 542, 542, + 544, 543, 545, 545, 545, 546, 548, 547, 549, 550, + 551, 553, 552, 554, 554, 555, 555, 555, 555, 555, + 557, 556, 559, 558, 561, 560, 562, 562, 563, 563, + 563, 563, 563, 563, 564, 566, 565, 567, 569, 568, + 571, 570, 573, 572, 574, 574, 575, 575, 575, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 575, 575, 575, 575, 576, 578, 577, 580, 579, 581, + 583, 582, 584, 585, 587, 586, 588, 588, 590, 589, + 591, 592, 594, 593, 596, 595, 598, 597, 600, 599, + 602, 601, 604, 603, 605, 605, 606, 606, 608, 607, + 609, 611, 610, 612, 612, 614, 613, 615, 615, 616, + 616, 616, 616, 616, 616, 616, 617, 619, 618, 621, + 620, 622, 622, 624, 623, 625, 625, 626, 626, 626, + 626, 626, 628, 627, 629, 630, 631, 633, 632 }; const signed char @@ -5449,73 +5474,73 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 3, 3, 0, 4, 0, 4, - 3, 3, 3, 0, 4, 3, 0, 6, 0, 4, - 1, 3, 1, 1, 1, 1, 1, 0, 4, 3, - 0, 6, 0, 6, 0, 6, 0, 1, 1, 3, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 0, 4, 1, 1, 1, + 1, 1, 0, 4, 0, 4, 3, 0, 4, 0, + 4, 3, 3, 3, 0, 4, 3, 0, 6, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 6, 0, 6, 0, 6, 0, 1, 1, + 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 3, 0, 4, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, - 4, 3, 0, 4, 0, 4, 0, 4, 0, 6, - 1, 3, 1, 0, 4, 0, 6, 1, 3, 1, - 1, 1, 1, 0, 6, 1, 3, 1, 1, 1, - 1, 1, 0, 6, 0, 6, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 0, 6, 0, - 1, 1, 3, 0, 4, 0, 4, 1, 3, 1, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 1, 1, 1, 1, - 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 6, 0, 4, 0, 1, 1, 3, 0, 4, 0, - 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 0, 4, - 0, 4, 0, 4, 1, 0, 4, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 1, 3, 3, 0, 6, + 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, + 1, 1, 0, 4, 0, 4, 0, 4, 3, 0, + 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 0, 4, 3, 0, 4, 0, 4, 0, 4, 0, + 6, 1, 3, 1, 0, 4, 0, 6, 1, 3, + 1, 1, 1, 1, 0, 6, 1, 3, 1, 1, + 1, 1, 1, 0, 6, 0, 6, 1, 3, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 6, 0, 1, 1, 3, 0, + 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, + 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 4, 3, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 6, 1, 1, 0, 4, 0, 6, - 1, 3, 0, 4, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 6, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 1, 1, 3, 0, 4, - 3, 3, 3, 0, 6, 1, 3, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 1, 1, 1, 1, 1, 1, 3, 0, 4, 3, - 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, + 0, 4, 1, 1, 1, 1, 3, 3, 0, 6, + 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, + 4, 0, 1, 1, 3, 0, 4, 0, 4, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 0, 4, 0, 4, + 0, 4, 1, 0, 4, 3, 0, 6, 0, 1, + 1, 3, 0, 4, 0, 4, 0, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 1, 3, 3, 0, 6, 0, 1, + 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 0, 6, 0, 1, 1, 3, 0, 4, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 3, 0, 4, 3, + 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, + 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 6, 1, 1, 0, 4, 0, 6, 1, 3, + 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 3, 0, 6, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 1, 1, 3, 0, 4, 3, 3, + 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, + 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 0, 4, 3, + 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, + 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 6, 0, 4, 1, 3, 1, 1, 0, 6, + 3, 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, - 4, 3, 0, 4, 3, 3, 0, 4, 1, 1, - 0, 4, 3, 3, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, - 0, 6, 3, 0, 6, 1, 3, 0, 4, 1, - 3, 1, 1, 1, 1, 1, 1, 1, 3, 0, - 4, 0, 6, 1, 3, 0, 4, 1, 3, 1, - 1, 1, 1, 1, 0, 4, 3, 3, 3, 0, - 4 + 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, + 1, 1, 0, 4, 3, 3, 3, 0, 4 }; @@ -5546,17 +5571,17 @@ namespace isc { namespace dhcp { "\"ddns-send-updates\"", "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", - "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"", - "\"store-extended-info\"", "\"subnet6\"", "\"option-def\"", - "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"", - "\"csv-format\"", "\"always-send\"", "\"record-types\"", - "\"encapsulate\"", "\"array\"", "\"pools\"", "\"pool\"", "\"pd-pools\"", - "\"prefix\"", "\"prefix-len\"", "\"excluded-prefix\"", - "\"excluded-prefix-len\"", "\"delegated-len\"", "\"user-context\"", - "\"comment\"", "\"subnet\"", "\"interface\"", "\"interface-id\"", - "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", "\"disabled\"", - "\"out-of-pool\"", "\"global\"", "\"all\"", "\"shared-networks\"", - "\"mac-sources\"", "\"relay-supplied-options\"", + "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet6\"", + "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", + "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"", + "\"encapsulate\"", "\"array\"", "\"shared-networks\"", "\"pools\"", + "\"pool\"", "\"pd-pools\"", "\"prefix\"", "\"prefix-len\"", + "\"excluded-prefix\"", "\"excluded-prefix-len\"", "\"delegated-len\"", + "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"", + "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", + "\"reservations-out-of-pool\"", "\"reservations-in-subnet\"", + "\"reservations-global\"", "\"disabled\"", "\"out-of-pool\"", + "\"global\"", "\"all\"", "\"mac-sources\"", "\"relay-supplied-options\"", "\"host-reservation-identifiers\"", "\"sanity-checks\"", "\"lease-checks\"", "\"client-classes\"", "\"require-client-classes\"", "\"test\"", "\"only-if-required\"", "\"client-class\"", @@ -5603,23 +5628,22 @@ namespace isc { namespace dhcp { "ddns_override_client_update", "ddns_replace_client_name", "$@22", "ddns_replace_client_name_value", "ddns_generated_prefix", "$@23", "ddns_qualifying_suffix", "$@24", "ddns_update_on_renew", - "ddns_use_conflict_resolution", "hostname_char_set", "$@25", - "hostname_char_replacement", "$@26", "store_extended_info", - "statistic_default_sample_count", "statistic_default_sample_age", - "server_tag", "$@27", "ip_reservations_unique", "interfaces_config", - "$@28", "sub_interfaces6", "$@29", "interfaces_config_params", - "interfaces_config_param", "interfaces_list", "$@30", "re_detect", - "lease_database", "$@31", "hosts_database", "$@32", "hosts_databases", - "$@33", "database_list", "not_empty_database_list", "database", "$@34", - "database_map_params", "database_map_param", "database_type", "$@35", - "db_type", "user", "$@36", "password", "$@37", "host", "$@38", "port", - "name", "$@39", "persist", "lfc_interval", "readonly", "connect_timeout", - "reconnect_wait_time", "max_row_errors", "request_timeout", - "tcp_keepalive", "tcp_nodelay", "contact_points", "$@40", - "max_reconnect_tries", "keyspace", "$@41", "consistency", "$@42", - "serial_consistency", "$@43", "sanity_checks", "$@44", - "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@45", - "mac_sources", "$@46", "mac_sources_list", "mac_sources_value", + "hostname_char_set", "$@25", "hostname_char_replacement", "$@26", + "store_extended_info", "statistic_default_sample_count", + "statistic_default_sample_age", "server_tag", "$@27", + "ip_reservations_unique", "interfaces_config", "$@28", "sub_interfaces6", + "$@29", "interfaces_config_params", "interfaces_config_param", + "interfaces_list", "$@30", "re_detect", "lease_database", "$@31", + "hosts_database", "$@32", "hosts_databases", "$@33", "database_list", + "not_empty_database_list", "database", "$@34", "database_map_params", + "database_map_param", "database_type", "$@35", "db_type", "user", "$@36", + "password", "$@37", "host", "$@38", "port", "name", "$@39", "persist", + "lfc_interval", "readonly", "connect_timeout", "reconnect_wait_time", + "max_row_errors", "request_timeout", "tcp_keepalive", "tcp_nodelay", + "contact_points", "$@40", "max_reconnect_tries", "keyspace", "$@41", + "consistency", "$@42", "serial_consistency", "$@43", "sanity_checks", + "$@44", "sanity_checks_params", "sanity_checks_param", "lease_checks", + "$@45", "mac_sources", "$@46", "mac_sources_list", "mac_sources_value", "duid_id", "string_id", "host_reservation_identifiers", "$@47", "host_reservation_identifiers_list", "host_reservation_identifier", "hw_address_id", "flex_id", "relay_supplied_options", "$@48", @@ -5636,8 +5660,9 @@ namespace isc { namespace dhcp { "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@57", "sub_subnet6", "$@58", "subnet6_params", "subnet6_param", "subnet", "$@59", "interface", "$@60", "interface_id", "$@61", "client_class", - "$@62", "require_client_classes", "$@63", "reservation_mode", "$@64", - "hr_mode", "id", "rapid_commit", "shared_networks", "$@65", + "$@62", "require_client_classes", "$@63", "reservations_out_of_pool", + "reservations_in_subnet", "reservations_global", "reservation_mode", + "$@64", "hr_mode", "id", "rapid_commit", "shared_networks", "$@65", "shared_networks_content", "shared_networks_list", "shared_network", "$@66", "shared_network_params", "shared_network_param", "option_def_list", "$@67", "sub_option_def_list", "$@68", @@ -5701,85 +5726,85 @@ namespace isc { namespace dhcp { const short Dhcp6Parser::yyrline_[] = { - 0, 288, 288, 288, 289, 289, 290, 290, 291, 291, - 292, 292, 293, 293, 294, 294, 295, 295, 296, 296, - 297, 297, 298, 298, 299, 299, 300, 300, 301, 301, - 309, 310, 311, 312, 313, 314, 315, 318, 323, 323, - 334, 337, 338, 341, 346, 354, 354, 361, 362, 365, - 369, 376, 376, 383, 384, 387, 391, 402, 411, 411, - 426, 426, 443, 443, 452, 453, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 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, 518, 518, 527, 533, 539, 545, - 551, 557, 563, 569, 575, 581, 587, 593, 599, 605, - 611, 617, 623, 629, 629, 638, 641, 644, 647, 650, - 656, 656, 665, 665, 674, 680, 686, 686, 695, 695, - 704, 710, 716, 722, 722, 731, 737, 737, 749, 749, - 758, 759, 762, 763, 764, 765, 766, 769, 769, 780, - 786, 786, 799, 799, 812, 812, 823, 824, 827, 828, - 831, 831, 841, 842, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 868, 868, 876, 877, 878, - 879, 882, 882, 891, 891, 900, 900, 909, 915, 915, - 924, 930, 936, 942, 948, 954, 960, 966, 972, 978, - 978, 987, 993, 993, 1002, 1002, 1011, 1011, 1020, 1020, - 1031, 1032, 1034, 1036, 1036, 1055, 1055, 1066, 1067, 1070, - 1071, 1074, 1079, 1084, 1084, 1095, 1096, 1099, 1100, 1101, - 1104, 1109, 1116, 1116, 1129, 1129, 1142, 1143, 1146, 1147, - 1148, 1149, 1150, 1151, 1154, 1160, 1166, 1172, 1172, 1183, - 1184, 1187, 1188, 1191, 1191, 1201, 1201, 1211, 1212, 1213, - 1216, 1217, 1220, 1220, 1229, 1229, 1238, 1238, 1250, 1251, - 1254, 1255, 1256, 1257, 1258, 1259, 1262, 1268, 1274, 1280, - 1286, 1292, 1301, 1301, 1315, 1316, 1319, 1320, 1327, 1327, - 1353, 1353, 1364, 1365, 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, - 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, - 1405, 1406, 1407, 1408, 1411, 1411, 1420, 1420, 1429, 1429, - 1438, 1438, 1447, 1447, 1458, 1458, 1466, 1467, 1468, 1469, - 1472, 1478, 1486, 1486, 1498, 1499, 1503, 1504, 1507, 1507, - 1515, 1516, 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, 1562, - 1562, 1576, 1576, 1585, 1586, 1589, 1590, 1595, 1595, 1610, - 1610, 1624, 1625, 1628, 1629, 1632, 1633, 1634, 1635, 1636, - 1637, 1638, 1639, 1640, 1641, 1644, 1646, 1652, 1654, 1654, - 1663, 1663, 1672, 1672, 1681, 1683, 1683, 1692, 1702, 1702, - 1715, 1716, 1721, 1722, 1727, 1727, 1739, 1739, 1751, 1752, - 1757, 1758, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, - 1771, 1774, 1776, 1776, 1785, 1787, 1789, 1795, 1804, 1804, - 1817, 1818, 1821, 1822, 1825, 1825, 1835, 1835, 1845, 1846, - 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1858, 1858, 1867, - 1867, 1892, 1892, 1922, 1922, 1935, 1936, 1939, 1940, 1943, - 1943, 1955, 1955, 1967, 1968, 1971, 1972, 1973, 1974, 1975, - 1976, 1977, 1978, 1979, 1980, 1981, 1984, 1984, 1993, 1999, - 1999, 2008, 2014, 2023, 2023, 2034, 2035, 2038, 2039, 2042, - 2042, 2051, 2051, 2060, 2061, 2064, 2065, 2069, 2070, 2071, - 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2082, - 2093, 2093, 2104, 2104, 2113, 2113, 2122, 2122, 2131, 2131, - 2140, 2140, 2154, 2154, 2165, 2166, 2169, 2169, 2181, 2181, - 2192, 2193, 2196, 2196, 2206, 2207, 2210, 2211, 2214, 2215, - 2216, 2217, 2218, 2219, 2220, 2223, 2225, 2225, 2234, 2243, - 2243, 2256, 2257, 2260, 2261, 2262, 2263, 2264, 2265, 2266, - 2267, 2268, 2271, 2271, 2279, 2280, 2281, 2284, 2290, 2290, - 2299, 2305, 2313, 2321, 2321, 2332, 2333, 2336, 2337, 2338, - 2339, 2340, 2343, 2343, 2352, 2352, 2364, 2364, 2377, 2378, - 2381, 2382, 2383, 2384, 2385, 2386, 2389, 2395, 2395, 2404, - 2410, 2410, 2420, 2420, 2433, 2433, 2443, 2444, 2447, 2448, - 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, - 2459, 2460, 2461, 2462, 2463, 2464, 2467, 2474, 2474, 2483, - 2483, 2492, 2498, 2498, 2507, 2513, 2519, 2519, 2528, 2529, - 2532, 2532, 2542, 2549, 2556, 2556, 2565, 2565, 2575, 2575, - 2585, 2585, 2597, 2597, 2609, 2609, 2619, 2620, 2624, 2625, - 2628, 2628, 2639, 2647, 2647, 2660, 2661, 2665, 2665, 2673, - 2674, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2686, 2692, - 2692, 2701, 2701, 2712, 2713, 2716, 2716, 2724, 2725, 2728, - 2729, 2730, 2731, 2732, 2735, 2735, 2744, 2750, 2756, 2762, - 2762 + 0, 291, 291, 291, 292, 292, 293, 293, 294, 294, + 295, 295, 296, 296, 297, 297, 298, 298, 299, 299, + 300, 300, 301, 301, 302, 302, 303, 303, 304, 304, + 312, 313, 314, 315, 316, 317, 318, 321, 326, 326, + 337, 340, 341, 344, 349, 357, 357, 364, 365, 368, + 372, 379, 379, 386, 387, 390, 394, 405, 414, 414, + 429, 429, 446, 446, 455, 456, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 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, 523, 523, 532, 538, + 544, 550, 556, 562, 568, 574, 580, 586, 592, 598, + 604, 610, 616, 622, 628, 634, 634, 643, 646, 649, + 652, 655, 661, 661, 670, 670, 679, 685, 685, 694, + 694, 703, 709, 715, 721, 721, 730, 736, 736, 748, + 748, 757, 758, 761, 762, 763, 764, 765, 768, 768, + 779, 785, 785, 798, 798, 811, 811, 822, 823, 826, + 827, 830, 830, 840, 841, 844, 845, 846, 847, 848, + 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, + 859, 860, 861, 862, 863, 864, 867, 867, 875, 876, + 877, 878, 881, 881, 890, 890, 899, 899, 908, 914, + 914, 923, 929, 935, 941, 947, 953, 959, 965, 971, + 977, 977, 986, 992, 992, 1001, 1001, 1010, 1010, 1019, + 1019, 1030, 1031, 1033, 1035, 1035, 1054, 1054, 1065, 1066, + 1069, 1070, 1073, 1078, 1083, 1083, 1094, 1095, 1098, 1099, + 1100, 1103, 1108, 1115, 1115, 1128, 1128, 1141, 1142, 1145, + 1146, 1147, 1148, 1149, 1150, 1153, 1159, 1165, 1171, 1171, + 1182, 1183, 1186, 1187, 1190, 1190, 1200, 1200, 1210, 1211, + 1212, 1215, 1216, 1219, 1219, 1228, 1228, 1237, 1237, 1249, + 1250, 1253, 1254, 1255, 1256, 1257, 1258, 1261, 1267, 1273, + 1279, 1285, 1291, 1300, 1300, 1314, 1315, 1318, 1319, 1326, + 1326, 1352, 1352, 1363, 1364, 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, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1412, 1412, 1421, + 1421, 1430, 1430, 1439, 1439, 1448, 1448, 1459, 1465, 1471, + 1477, 1477, 1485, 1486, 1487, 1488, 1491, 1497, 1505, 1505, + 1517, 1518, 1522, 1523, 1526, 1526, 1534, 1535, 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, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1583, 1583, 1597, + 1597, 1606, 1607, 1610, 1611, 1616, 1616, 1631, 1631, 1645, + 1646, 1649, 1650, 1653, 1654, 1655, 1656, 1657, 1658, 1659, + 1660, 1661, 1662, 1665, 1667, 1673, 1675, 1675, 1684, 1684, + 1693, 1693, 1702, 1704, 1704, 1713, 1723, 1723, 1736, 1737, + 1742, 1743, 1748, 1748, 1760, 1760, 1772, 1773, 1778, 1779, + 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1795, + 1797, 1797, 1806, 1808, 1810, 1816, 1825, 1825, 1838, 1839, + 1842, 1843, 1846, 1846, 1856, 1856, 1866, 1867, 1870, 1871, + 1872, 1873, 1874, 1875, 1876, 1879, 1879, 1888, 1888, 1913, + 1913, 1943, 1943, 1956, 1957, 1960, 1961, 1964, 1964, 1976, + 1976, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001, 2002, 2005, 2005, 2014, 2020, 2020, 2029, + 2035, 2044, 2044, 2055, 2056, 2059, 2060, 2063, 2063, 2072, + 2072, 2081, 2082, 2085, 2086, 2090, 2091, 2092, 2093, 2094, + 2095, 2096, 2097, 2098, 2099, 2100, 2103, 2103, 2114, 2114, + 2125, 2125, 2134, 2134, 2143, 2143, 2152, 2152, 2161, 2161, + 2175, 2175, 2186, 2187, 2190, 2190, 2202, 2202, 2213, 2214, + 2217, 2217, 2227, 2228, 2231, 2232, 2235, 2236, 2237, 2238, + 2239, 2240, 2241, 2244, 2246, 2246, 2255, 2264, 2264, 2277, + 2278, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, + 2292, 2292, 2300, 2301, 2302, 2305, 2311, 2311, 2320, 2326, + 2334, 2342, 2342, 2353, 2354, 2357, 2358, 2359, 2360, 2361, + 2364, 2364, 2373, 2373, 2385, 2385, 2398, 2399, 2402, 2403, + 2404, 2405, 2406, 2407, 2410, 2416, 2416, 2425, 2431, 2431, + 2441, 2441, 2454, 2454, 2464, 2465, 2468, 2469, 2470, 2471, + 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, + 2482, 2483, 2484, 2485, 2488, 2495, 2495, 2504, 2504, 2513, + 2519, 2519, 2528, 2534, 2540, 2540, 2549, 2550, 2553, 2553, + 2563, 2570, 2577, 2577, 2586, 2586, 2596, 2596, 2606, 2606, + 2618, 2618, 2630, 2630, 2640, 2641, 2645, 2646, 2649, 2649, + 2660, 2668, 2668, 2681, 2682, 2686, 2686, 2694, 2695, 2698, + 2699, 2700, 2701, 2702, 2703, 2704, 2707, 2713, 2713, 2722, + 2722, 2733, 2734, 2737, 2737, 2745, 2746, 2749, 2750, 2751, + 2752, 2753, 2756, 2756, 2765, 2771, 2777, 2783, 2783 }; void @@ -5812,9 +5837,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5816 "dhcp6_parser.cc" +#line 5841 "dhcp6_parser.cc" -#line 2771 "dhcp6_parser.yy" +#line 2792 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index 0301471ea2..c53f3a042f 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -550,20 +550,20 @@ namespace isc { namespace dhcp { TOKEN_DDNS_GENERATED_PREFIX = 320, // "ddns-generated-prefix" TOKEN_DDNS_QUALIFYING_SUFFIX = 321, // "ddns-qualifying-suffix" TOKEN_DDNS_UPDATE_ON_RENEW = 322, // "ddns-update-on-renew" - TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 323, // "ddns-use-conflict-resolution" - TOKEN_STORE_EXTENDED_INFO = 324, // "store-extended-info" - TOKEN_SUBNET6 = 325, // "subnet6" - TOKEN_OPTION_DEF = 326, // "option-def" - TOKEN_OPTION_DATA = 327, // "option-data" - TOKEN_NAME = 328, // "name" - TOKEN_DATA = 329, // "data" - TOKEN_CODE = 330, // "code" - TOKEN_SPACE = 331, // "space" - TOKEN_CSV_FORMAT = 332, // "csv-format" - TOKEN_ALWAYS_SEND = 333, // "always-send" - TOKEN_RECORD_TYPES = 334, // "record-types" - TOKEN_ENCAPSULATE = 335, // "encapsulate" - TOKEN_ARRAY = 336, // "array" + TOKEN_STORE_EXTENDED_INFO = 323, // "store-extended-info" + TOKEN_SUBNET6 = 324, // "subnet6" + TOKEN_OPTION_DEF = 325, // "option-def" + TOKEN_OPTION_DATA = 326, // "option-data" + TOKEN_NAME = 327, // "name" + TOKEN_DATA = 328, // "data" + TOKEN_CODE = 329, // "code" + TOKEN_SPACE = 330, // "space" + TOKEN_CSV_FORMAT = 331, // "csv-format" + TOKEN_ALWAYS_SEND = 332, // "always-send" + TOKEN_RECORD_TYPES = 333, // "record-types" + TOKEN_ENCAPSULATE = 334, // "encapsulate" + TOKEN_ARRAY = 335, // "array" + TOKEN_SHARED_NETWORKS = 336, // "shared-networks" TOKEN_POOLS = 337, // "pools" TOKEN_POOL = 338, // "pool" TOKEN_PD_POOLS = 339, // "pd-pools" @@ -580,111 +580,113 @@ namespace isc { namespace dhcp { TOKEN_ID = 350, // "id" TOKEN_RAPID_COMMIT = 351, // "rapid-commit" TOKEN_RESERVATION_MODE = 352, // "reservation-mode" - TOKEN_DISABLED = 353, // "disabled" - TOKEN_OUT_OF_POOL = 354, // "out-of-pool" - TOKEN_GLOBAL = 355, // "global" - TOKEN_ALL = 356, // "all" - TOKEN_SHARED_NETWORKS = 357, // "shared-networks" - TOKEN_MAC_SOURCES = 358, // "mac-sources" - TOKEN_RELAY_SUPPLIED_OPTIONS = 359, // "relay-supplied-options" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 360, // "host-reservation-identifiers" - TOKEN_SANITY_CHECKS = 361, // "sanity-checks" - TOKEN_LEASE_CHECKS = 362, // "lease-checks" - TOKEN_CLIENT_CLASSES = 363, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 364, // "require-client-classes" - TOKEN_TEST = 365, // "test" - TOKEN_ONLY_IF_REQUIRED = 366, // "only-if-required" - TOKEN_CLIENT_CLASS = 367, // "client-class" - TOKEN_RESERVATIONS = 368, // "reservations" - TOKEN_IP_ADDRESSES = 369, // "ip-addresses" - TOKEN_PREFIXES = 370, // "prefixes" - TOKEN_DUID = 371, // "duid" - TOKEN_HW_ADDRESS = 372, // "hw-address" - TOKEN_HOSTNAME = 373, // "hostname" - TOKEN_FLEX_ID = 374, // "flex-id" - TOKEN_RELAY = 375, // "relay" - TOKEN_IP_ADDRESS = 376, // "ip-address" - TOKEN_HOOKS_LIBRARIES = 377, // "hooks-libraries" - TOKEN_LIBRARY = 378, // "library" - TOKEN_PARAMETERS = 379, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 380, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 381, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 382, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 383, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 384, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 385, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 386, // "unwarned-reclaim-cycles" - TOKEN_SERVER_ID = 387, // "server-id" - TOKEN_LLT = 388, // "LLT" - TOKEN_EN = 389, // "EN" - TOKEN_LL = 390, // "LL" - TOKEN_IDENTIFIER = 391, // "identifier" - TOKEN_HTYPE = 392, // "htype" - TOKEN_TIME = 393, // "time" - TOKEN_ENTERPRISE_ID = 394, // "enterprise-id" - TOKEN_DHCP4O6_PORT = 395, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 396, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 397, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 398, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 399, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 400, // "control-socket" - TOKEN_SOCKET_TYPE = 401, // "socket-type" - TOKEN_SOCKET_NAME = 402, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 403, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 404, // "enable-queue" - TOKEN_QUEUE_TYPE = 405, // "queue-type" - TOKEN_CAPACITY = 406, // "capacity" - TOKEN_DHCP_DDNS = 407, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 408, // "enable-updates" - TOKEN_QUALIFYING_SUFFIX = 409, // "qualifying-suffix" - TOKEN_SERVER_IP = 410, // "server-ip" - TOKEN_SERVER_PORT = 411, // "server-port" - TOKEN_SENDER_IP = 412, // "sender-ip" - TOKEN_SENDER_PORT = 413, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 414, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 415, // "ncr-protocol" - TOKEN_NCR_FORMAT = 416, // "ncr-format" - TOKEN_OVERRIDE_NO_UPDATE = 417, // "override-no-update" - TOKEN_OVERRIDE_CLIENT_UPDATE = 418, // "override-client-update" - TOKEN_REPLACE_CLIENT_NAME = 419, // "replace-client-name" - TOKEN_GENERATED_PREFIX = 420, // "generated-prefix" - TOKEN_UDP = 421, // "UDP" - TOKEN_TCP = 422, // "TCP" - TOKEN_JSON = 423, // "JSON" - TOKEN_WHEN_PRESENT = 424, // "when-present" - TOKEN_NEVER = 425, // "never" - TOKEN_ALWAYS = 426, // "always" - TOKEN_WHEN_NOT_PRESENT = 427, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 428, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 429, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 430, // "ip-reservations-unique" - TOKEN_LOGGERS = 431, // "loggers" - TOKEN_OUTPUT_OPTIONS = 432, // "output_options" - TOKEN_OUTPUT = 433, // "output" - TOKEN_DEBUGLEVEL = 434, // "debuglevel" - TOKEN_SEVERITY = 435, // "severity" - TOKEN_FLUSH = 436, // "flush" - TOKEN_MAXSIZE = 437, // "maxsize" - TOKEN_MAXVER = 438, // "maxver" - TOKEN_PATTERN = 439, // "pattern" - TOKEN_TOPLEVEL_JSON = 440, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP6 = 441, // TOPLEVEL_DHCP6 - TOKEN_SUB_DHCP6 = 442, // SUB_DHCP6 - TOKEN_SUB_INTERFACES6 = 443, // SUB_INTERFACES6 - TOKEN_SUB_SUBNET6 = 444, // SUB_SUBNET6 - TOKEN_SUB_POOL6 = 445, // SUB_POOL6 - TOKEN_SUB_PD_POOL = 446, // SUB_PD_POOL - TOKEN_SUB_RESERVATION = 447, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 448, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 449, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 450, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 451, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 452, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 453, // SUB_CONFIG_CONTROL - TOKEN_STRING = 454, // "constant string" - TOKEN_INTEGER = 455, // "integer" - TOKEN_FLOAT = 456, // "floating point" - TOKEN_BOOLEAN = 457 // "boolean" + TOKEN_RESERVATIONS_OUT_OF_POOL = 353, // "reservations-out-of-pool" + TOKEN_RESERVATIONS_IN_SUBNET = 354, // "reservations-in-subnet" + TOKEN_RESERVATIONS_GLOBAL = 355, // "reservations-global" + TOKEN_DISABLED = 356, // "disabled" + TOKEN_OUT_OF_POOL = 357, // "out-of-pool" + TOKEN_GLOBAL = 358, // "global" + TOKEN_ALL = 359, // "all" + TOKEN_MAC_SOURCES = 360, // "mac-sources" + TOKEN_RELAY_SUPPLIED_OPTIONS = 361, // "relay-supplied-options" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 362, // "host-reservation-identifiers" + TOKEN_SANITY_CHECKS = 363, // "sanity-checks" + TOKEN_LEASE_CHECKS = 364, // "lease-checks" + TOKEN_CLIENT_CLASSES = 365, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 366, // "require-client-classes" + TOKEN_TEST = 367, // "test" + TOKEN_ONLY_IF_REQUIRED = 368, // "only-if-required" + TOKEN_CLIENT_CLASS = 369, // "client-class" + TOKEN_RESERVATIONS = 370, // "reservations" + TOKEN_IP_ADDRESSES = 371, // "ip-addresses" + TOKEN_PREFIXES = 372, // "prefixes" + TOKEN_DUID = 373, // "duid" + TOKEN_HW_ADDRESS = 374, // "hw-address" + TOKEN_HOSTNAME = 375, // "hostname" + TOKEN_FLEX_ID = 376, // "flex-id" + TOKEN_RELAY = 377, // "relay" + TOKEN_IP_ADDRESS = 378, // "ip-address" + TOKEN_HOOKS_LIBRARIES = 379, // "hooks-libraries" + TOKEN_LIBRARY = 380, // "library" + TOKEN_PARAMETERS = 381, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 382, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 383, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 384, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 385, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 386, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 387, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 388, // "unwarned-reclaim-cycles" + TOKEN_SERVER_ID = 389, // "server-id" + TOKEN_LLT = 390, // "LLT" + TOKEN_EN = 391, // "EN" + TOKEN_LL = 392, // "LL" + TOKEN_IDENTIFIER = 393, // "identifier" + TOKEN_HTYPE = 394, // "htype" + TOKEN_TIME = 395, // "time" + TOKEN_ENTERPRISE_ID = 396, // "enterprise-id" + TOKEN_DHCP4O6_PORT = 397, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 398, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 399, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 400, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 401, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 402, // "control-socket" + TOKEN_SOCKET_TYPE = 403, // "socket-type" + TOKEN_SOCKET_NAME = 404, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 405, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 406, // "enable-queue" + TOKEN_QUEUE_TYPE = 407, // "queue-type" + TOKEN_CAPACITY = 408, // "capacity" + TOKEN_DHCP_DDNS = 409, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 410, // "enable-updates" + TOKEN_QUALIFYING_SUFFIX = 411, // "qualifying-suffix" + TOKEN_SERVER_IP = 412, // "server-ip" + TOKEN_SERVER_PORT = 413, // "server-port" + TOKEN_SENDER_IP = 414, // "sender-ip" + TOKEN_SENDER_PORT = 415, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 416, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 417, // "ncr-protocol" + TOKEN_NCR_FORMAT = 418, // "ncr-format" + TOKEN_OVERRIDE_NO_UPDATE = 419, // "override-no-update" + TOKEN_OVERRIDE_CLIENT_UPDATE = 420, // "override-client-update" + TOKEN_REPLACE_CLIENT_NAME = 421, // "replace-client-name" + TOKEN_GENERATED_PREFIX = 422, // "generated-prefix" + TOKEN_UDP = 423, // "UDP" + TOKEN_TCP = 424, // "TCP" + TOKEN_JSON = 425, // "JSON" + TOKEN_WHEN_PRESENT = 426, // "when-present" + TOKEN_NEVER = 427, // "never" + TOKEN_ALWAYS = 428, // "always" + TOKEN_WHEN_NOT_PRESENT = 429, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 430, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 431, // "hostname-char-replacement" + TOKEN_IP_RESERVATIONS_UNIQUE = 432, // "ip-reservations-unique" + TOKEN_LOGGERS = 433, // "loggers" + TOKEN_OUTPUT_OPTIONS = 434, // "output_options" + TOKEN_OUTPUT = 435, // "output" + TOKEN_DEBUGLEVEL = 436, // "debuglevel" + TOKEN_SEVERITY = 437, // "severity" + TOKEN_FLUSH = 438, // "flush" + TOKEN_MAXSIZE = 439, // "maxsize" + TOKEN_MAXVER = 440, // "maxver" + TOKEN_PATTERN = 441, // "pattern" + TOKEN_TOPLEVEL_JSON = 442, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP6 = 443, // TOPLEVEL_DHCP6 + TOKEN_SUB_DHCP6 = 444, // SUB_DHCP6 + TOKEN_SUB_INTERFACES6 = 445, // SUB_INTERFACES6 + TOKEN_SUB_SUBNET6 = 446, // SUB_SUBNET6 + TOKEN_SUB_POOL6 = 447, // SUB_POOL6 + TOKEN_SUB_PD_POOL = 448, // SUB_PD_POOL + TOKEN_SUB_RESERVATION = 449, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 450, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 451, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 452, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 453, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 454, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 455, // SUB_CONFIG_CONTROL + TOKEN_STRING = 456, // "constant string" + TOKEN_INTEGER = 457, // "integer" + TOKEN_FLOAT = 458, // "floating point" + TOKEN_BOOLEAN = 459 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -701,7 +703,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 203, ///< Number of tokens. + YYNTOKENS = 205, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -771,20 +773,20 @@ namespace isc { namespace dhcp { S_DDNS_GENERATED_PREFIX = 65, // "ddns-generated-prefix" S_DDNS_QUALIFYING_SUFFIX = 66, // "ddns-qualifying-suffix" S_DDNS_UPDATE_ON_RENEW = 67, // "ddns-update-on-renew" - S_DDNS_USE_CONFLICT_RESOLUTION = 68, // "ddns-use-conflict-resolution" - S_STORE_EXTENDED_INFO = 69, // "store-extended-info" - S_SUBNET6 = 70, // "subnet6" - S_OPTION_DEF = 71, // "option-def" - S_OPTION_DATA = 72, // "option-data" - S_NAME = 73, // "name" - S_DATA = 74, // "data" - S_CODE = 75, // "code" - S_SPACE = 76, // "space" - S_CSV_FORMAT = 77, // "csv-format" - S_ALWAYS_SEND = 78, // "always-send" - S_RECORD_TYPES = 79, // "record-types" - S_ENCAPSULATE = 80, // "encapsulate" - S_ARRAY = 81, // "array" + S_STORE_EXTENDED_INFO = 68, // "store-extended-info" + S_SUBNET6 = 69, // "subnet6" + S_OPTION_DEF = 70, // "option-def" + S_OPTION_DATA = 71, // "option-data" + S_NAME = 72, // "name" + S_DATA = 73, // "data" + S_CODE = 74, // "code" + S_SPACE = 75, // "space" + S_CSV_FORMAT = 76, // "csv-format" + S_ALWAYS_SEND = 77, // "always-send" + S_RECORD_TYPES = 78, // "record-types" + S_ENCAPSULATE = 79, // "encapsulate" + S_ARRAY = 80, // "array" + S_SHARED_NETWORKS = 81, // "shared-networks" S_POOLS = 82, // "pools" S_POOL = 83, // "pool" S_PD_POOLS = 84, // "pd-pools" @@ -801,538 +803,542 @@ namespace isc { namespace dhcp { S_ID = 95, // "id" S_RAPID_COMMIT = 96, // "rapid-commit" S_RESERVATION_MODE = 97, // "reservation-mode" - S_DISABLED = 98, // "disabled" - S_OUT_OF_POOL = 99, // "out-of-pool" - S_GLOBAL = 100, // "global" - S_ALL = 101, // "all" - S_SHARED_NETWORKS = 102, // "shared-networks" - S_MAC_SOURCES = 103, // "mac-sources" - S_RELAY_SUPPLIED_OPTIONS = 104, // "relay-supplied-options" - S_HOST_RESERVATION_IDENTIFIERS = 105, // "host-reservation-identifiers" - S_SANITY_CHECKS = 106, // "sanity-checks" - S_LEASE_CHECKS = 107, // "lease-checks" - S_CLIENT_CLASSES = 108, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 109, // "require-client-classes" - S_TEST = 110, // "test" - S_ONLY_IF_REQUIRED = 111, // "only-if-required" - S_CLIENT_CLASS = 112, // "client-class" - S_RESERVATIONS = 113, // "reservations" - S_IP_ADDRESSES = 114, // "ip-addresses" - S_PREFIXES = 115, // "prefixes" - S_DUID = 116, // "duid" - S_HW_ADDRESS = 117, // "hw-address" - S_HOSTNAME = 118, // "hostname" - S_FLEX_ID = 119, // "flex-id" - S_RELAY = 120, // "relay" - S_IP_ADDRESS = 121, // "ip-address" - S_HOOKS_LIBRARIES = 122, // "hooks-libraries" - S_LIBRARY = 123, // "library" - S_PARAMETERS = 124, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 125, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 126, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 127, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 128, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 129, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 130, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 131, // "unwarned-reclaim-cycles" - S_SERVER_ID = 132, // "server-id" - S_LLT = 133, // "LLT" - S_EN = 134, // "EN" - S_LL = 135, // "LL" - S_IDENTIFIER = 136, // "identifier" - S_HTYPE = 137, // "htype" - S_TIME = 138, // "time" - S_ENTERPRISE_ID = 139, // "enterprise-id" - S_DHCP4O6_PORT = 140, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 141, // "multi-threading" - S_ENABLE_MULTI_THREADING = 142, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 143, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 144, // "packet-queue-size" - S_CONTROL_SOCKET = 145, // "control-socket" - S_SOCKET_TYPE = 146, // "socket-type" - S_SOCKET_NAME = 147, // "socket-name" - S_DHCP_QUEUE_CONTROL = 148, // "dhcp-queue-control" - S_ENABLE_QUEUE = 149, // "enable-queue" - S_QUEUE_TYPE = 150, // "queue-type" - S_CAPACITY = 151, // "capacity" - S_DHCP_DDNS = 152, // "dhcp-ddns" - S_ENABLE_UPDATES = 153, // "enable-updates" - S_QUALIFYING_SUFFIX = 154, // "qualifying-suffix" - S_SERVER_IP = 155, // "server-ip" - S_SERVER_PORT = 156, // "server-port" - S_SENDER_IP = 157, // "sender-ip" - S_SENDER_PORT = 158, // "sender-port" - S_MAX_QUEUE_SIZE = 159, // "max-queue-size" - S_NCR_PROTOCOL = 160, // "ncr-protocol" - S_NCR_FORMAT = 161, // "ncr-format" - S_OVERRIDE_NO_UPDATE = 162, // "override-no-update" - S_OVERRIDE_CLIENT_UPDATE = 163, // "override-client-update" - S_REPLACE_CLIENT_NAME = 164, // "replace-client-name" - S_GENERATED_PREFIX = 165, // "generated-prefix" - S_UDP = 166, // "UDP" - S_TCP = 167, // "TCP" - S_JSON = 168, // "JSON" - S_WHEN_PRESENT = 169, // "when-present" - S_NEVER = 170, // "never" - S_ALWAYS = 171, // "always" - S_WHEN_NOT_PRESENT = 172, // "when-not-present" - S_HOSTNAME_CHAR_SET = 173, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 174, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 175, // "ip-reservations-unique" - S_LOGGERS = 176, // "loggers" - S_OUTPUT_OPTIONS = 177, // "output_options" - S_OUTPUT = 178, // "output" - S_DEBUGLEVEL = 179, // "debuglevel" - S_SEVERITY = 180, // "severity" - S_FLUSH = 181, // "flush" - S_MAXSIZE = 182, // "maxsize" - S_MAXVER = 183, // "maxver" - S_PATTERN = 184, // "pattern" - S_TOPLEVEL_JSON = 185, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP6 = 186, // TOPLEVEL_DHCP6 - S_SUB_DHCP6 = 187, // SUB_DHCP6 - S_SUB_INTERFACES6 = 188, // SUB_INTERFACES6 - S_SUB_SUBNET6 = 189, // SUB_SUBNET6 - S_SUB_POOL6 = 190, // SUB_POOL6 - S_SUB_PD_POOL = 191, // SUB_PD_POOL - S_SUB_RESERVATION = 192, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 193, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 194, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 195, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 196, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 197, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 198, // SUB_CONFIG_CONTROL - S_STRING = 199, // "constant string" - S_INTEGER = 200, // "integer" - S_FLOAT = 201, // "floating point" - S_BOOLEAN = 202, // "boolean" - S_YYACCEPT = 203, // $accept - S_start = 204, // start - S_205_1 = 205, // $@1 - S_206_2 = 206, // $@2 - S_207_3 = 207, // $@3 - S_208_4 = 208, // $@4 - S_209_5 = 209, // $@5 - S_210_6 = 210, // $@6 - S_211_7 = 211, // $@7 - S_212_8 = 212, // $@8 - S_213_9 = 213, // $@9 - S_214_10 = 214, // $@10 - S_215_11 = 215, // $@11 - S_216_12 = 216, // $@12 - S_217_13 = 217, // $@13 - S_218_14 = 218, // $@14 - S_value = 219, // value - S_sub_json = 220, // sub_json - S_map2 = 221, // map2 - S_222_15 = 222, // $@15 - S_map_value = 223, // map_value - S_map_content = 224, // map_content - S_not_empty_map = 225, // not_empty_map - S_list_generic = 226, // list_generic - S_227_16 = 227, // $@16 - S_list_content = 228, // list_content - S_not_empty_list = 229, // not_empty_list - S_list_strings = 230, // list_strings - S_231_17 = 231, // $@17 - S_list_strings_content = 232, // list_strings_content - S_not_empty_list_strings = 233, // not_empty_list_strings - S_unknown_map_entry = 234, // unknown_map_entry - S_syntax_map = 235, // syntax_map - S_236_18 = 236, // $@18 - S_global_object = 237, // global_object - S_238_19 = 238, // $@19 - S_sub_dhcp6 = 239, // sub_dhcp6 - S_240_20 = 240, // $@20 - S_global_params = 241, // global_params - S_global_param = 242, // global_param - S_data_directory = 243, // data_directory - S_244_21 = 244, // $@21 - S_preferred_lifetime = 245, // preferred_lifetime - S_min_preferred_lifetime = 246, // min_preferred_lifetime - S_max_preferred_lifetime = 247, // max_preferred_lifetime - S_valid_lifetime = 248, // valid_lifetime - S_min_valid_lifetime = 249, // min_valid_lifetime - S_max_valid_lifetime = 250, // max_valid_lifetime - S_renew_timer = 251, // renew_timer - S_rebind_timer = 252, // rebind_timer - S_calculate_tee_times = 253, // calculate_tee_times - S_t1_percent = 254, // t1_percent - S_t2_percent = 255, // t2_percent - S_cache_threshold = 256, // cache_threshold - S_cache_max_age = 257, // cache_max_age - S_decline_probation_period = 258, // decline_probation_period - S_ddns_send_updates = 259, // ddns_send_updates - S_ddns_override_no_update = 260, // ddns_override_no_update - S_ddns_override_client_update = 261, // ddns_override_client_update - S_ddns_replace_client_name = 262, // ddns_replace_client_name - S_263_22 = 263, // $@22 - S_ddns_replace_client_name_value = 264, // ddns_replace_client_name_value - S_ddns_generated_prefix = 265, // ddns_generated_prefix - S_266_23 = 266, // $@23 - S_ddns_qualifying_suffix = 267, // ddns_qualifying_suffix - S_268_24 = 268, // $@24 - S_ddns_update_on_renew = 269, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 270, // ddns_use_conflict_resolution - S_hostname_char_set = 271, // hostname_char_set - S_272_25 = 272, // $@25 - S_hostname_char_replacement = 273, // hostname_char_replacement - S_274_26 = 274, // $@26 - S_store_extended_info = 275, // store_extended_info - S_statistic_default_sample_count = 276, // statistic_default_sample_count - S_statistic_default_sample_age = 277, // statistic_default_sample_age - S_server_tag = 278, // server_tag - S_279_27 = 279, // $@27 - S_ip_reservations_unique = 280, // ip_reservations_unique - S_interfaces_config = 281, // interfaces_config - S_282_28 = 282, // $@28 - S_sub_interfaces6 = 283, // sub_interfaces6 - S_284_29 = 284, // $@29 - S_interfaces_config_params = 285, // interfaces_config_params - S_interfaces_config_param = 286, // interfaces_config_param - S_interfaces_list = 287, // interfaces_list - S_288_30 = 288, // $@30 - S_re_detect = 289, // re_detect - S_lease_database = 290, // lease_database - S_291_31 = 291, // $@31 - S_hosts_database = 292, // hosts_database - S_293_32 = 293, // $@32 - S_hosts_databases = 294, // hosts_databases - S_295_33 = 295, // $@33 - S_database_list = 296, // database_list - S_not_empty_database_list = 297, // not_empty_database_list - S_database = 298, // database - S_299_34 = 299, // $@34 - S_database_map_params = 300, // database_map_params - S_database_map_param = 301, // database_map_param - S_database_type = 302, // database_type - S_303_35 = 303, // $@35 - S_db_type = 304, // db_type - S_user = 305, // user - S_306_36 = 306, // $@36 - S_password = 307, // password - S_308_37 = 308, // $@37 - S_host = 309, // host - S_310_38 = 310, // $@38 - S_port = 311, // port - S_name = 312, // name - S_313_39 = 313, // $@39 - S_persist = 314, // persist - S_lfc_interval = 315, // lfc_interval - S_readonly = 316, // readonly - S_connect_timeout = 317, // connect_timeout - S_reconnect_wait_time = 318, // reconnect_wait_time - S_max_row_errors = 319, // max_row_errors - S_request_timeout = 320, // request_timeout - S_tcp_keepalive = 321, // tcp_keepalive - S_tcp_nodelay = 322, // tcp_nodelay - S_contact_points = 323, // contact_points - S_324_40 = 324, // $@40 - S_max_reconnect_tries = 325, // max_reconnect_tries - S_keyspace = 326, // keyspace - S_327_41 = 327, // $@41 - S_consistency = 328, // consistency - S_329_42 = 329, // $@42 - S_serial_consistency = 330, // serial_consistency - S_331_43 = 331, // $@43 - S_sanity_checks = 332, // sanity_checks - S_333_44 = 333, // $@44 - S_sanity_checks_params = 334, // sanity_checks_params - S_sanity_checks_param = 335, // sanity_checks_param - S_lease_checks = 336, // lease_checks - S_337_45 = 337, // $@45 - S_mac_sources = 338, // mac_sources - S_339_46 = 339, // $@46 - S_mac_sources_list = 340, // mac_sources_list - S_mac_sources_value = 341, // mac_sources_value - S_duid_id = 342, // duid_id - S_string_id = 343, // string_id - S_host_reservation_identifiers = 344, // host_reservation_identifiers - S_345_47 = 345, // $@47 - S_host_reservation_identifiers_list = 346, // host_reservation_identifiers_list - S_host_reservation_identifier = 347, // host_reservation_identifier - S_hw_address_id = 348, // hw_address_id - S_flex_id = 349, // flex_id - S_relay_supplied_options = 350, // relay_supplied_options - S_351_48 = 351, // $@48 - S_dhcp_multi_threading = 352, // dhcp_multi_threading - S_353_49 = 353, // $@49 - S_multi_threading_params = 354, // multi_threading_params - S_multi_threading_param = 355, // multi_threading_param - S_enable_multi_threading = 356, // enable_multi_threading - S_thread_pool_size = 357, // thread_pool_size - S_packet_queue_size = 358, // packet_queue_size - S_hooks_libraries = 359, // hooks_libraries - S_360_50 = 360, // $@50 - S_hooks_libraries_list = 361, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 362, // not_empty_hooks_libraries_list - S_hooks_library = 363, // hooks_library - S_364_51 = 364, // $@51 - S_sub_hooks_library = 365, // sub_hooks_library - S_366_52 = 366, // $@52 - S_hooks_params = 367, // hooks_params - S_hooks_param = 368, // hooks_param - S_library = 369, // library - S_370_53 = 370, // $@53 - S_parameters = 371, // parameters - S_372_54 = 372, // $@54 - S_expired_leases_processing = 373, // expired_leases_processing - S_374_55 = 374, // $@55 - S_expired_leases_params = 375, // expired_leases_params - S_expired_leases_param = 376, // expired_leases_param - S_reclaim_timer_wait_time = 377, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 378, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 379, // hold_reclaimed_time - S_max_reclaim_leases = 380, // max_reclaim_leases - S_max_reclaim_time = 381, // max_reclaim_time - S_unwarned_reclaim_cycles = 382, // unwarned_reclaim_cycles - S_subnet6_list = 383, // subnet6_list - S_384_56 = 384, // $@56 - S_subnet6_list_content = 385, // subnet6_list_content - S_not_empty_subnet6_list = 386, // not_empty_subnet6_list - S_subnet6 = 387, // subnet6 - S_388_57 = 388, // $@57 - S_sub_subnet6 = 389, // sub_subnet6 - S_390_58 = 390, // $@58 - S_subnet6_params = 391, // subnet6_params - S_subnet6_param = 392, // subnet6_param - S_subnet = 393, // subnet - S_394_59 = 394, // $@59 - S_interface = 395, // interface - S_396_60 = 396, // $@60 - S_interface_id = 397, // interface_id - S_398_61 = 398, // $@61 - S_client_class = 399, // client_class - S_400_62 = 400, // $@62 - S_require_client_classes = 401, // require_client_classes - S_402_63 = 402, // $@63 - S_reservation_mode = 403, // reservation_mode - S_404_64 = 404, // $@64 - S_hr_mode = 405, // hr_mode - S_id = 406, // id - S_rapid_commit = 407, // rapid_commit - S_shared_networks = 408, // shared_networks - S_409_65 = 409, // $@65 - S_shared_networks_content = 410, // shared_networks_content - S_shared_networks_list = 411, // shared_networks_list - S_shared_network = 412, // shared_network - S_413_66 = 413, // $@66 - S_shared_network_params = 414, // shared_network_params - S_shared_network_param = 415, // shared_network_param - S_option_def_list = 416, // option_def_list - S_417_67 = 417, // $@67 - S_sub_option_def_list = 418, // sub_option_def_list - S_419_68 = 419, // $@68 - S_option_def_list_content = 420, // option_def_list_content - S_not_empty_option_def_list = 421, // not_empty_option_def_list - S_option_def_entry = 422, // option_def_entry - S_423_69 = 423, // $@69 - S_sub_option_def = 424, // sub_option_def - S_425_70 = 425, // $@70 - S_option_def_params = 426, // option_def_params - S_not_empty_option_def_params = 427, // not_empty_option_def_params - S_option_def_param = 428, // option_def_param - S_option_def_name = 429, // option_def_name - S_code = 430, // code - S_option_def_code = 431, // option_def_code - S_option_def_type = 432, // option_def_type - S_433_71 = 433, // $@71 - S_option_def_record_types = 434, // option_def_record_types - S_435_72 = 435, // $@72 - S_space = 436, // space - S_437_73 = 437, // $@73 - S_option_def_space = 438, // option_def_space - S_option_def_encapsulate = 439, // option_def_encapsulate - S_440_74 = 440, // $@74 - S_option_def_array = 441, // option_def_array - S_option_data_list = 442, // option_data_list - S_443_75 = 443, // $@75 - S_option_data_list_content = 444, // option_data_list_content - S_not_empty_option_data_list = 445, // not_empty_option_data_list - S_option_data_entry = 446, // option_data_entry - S_447_76 = 447, // $@76 - S_sub_option_data = 448, // sub_option_data - S_449_77 = 449, // $@77 - S_option_data_params = 450, // option_data_params - S_not_empty_option_data_params = 451, // not_empty_option_data_params - S_option_data_param = 452, // option_data_param - S_option_data_name = 453, // option_data_name - S_option_data_data = 454, // option_data_data - S_455_78 = 455, // $@78 - S_option_data_code = 456, // option_data_code - S_option_data_space = 457, // option_data_space - S_option_data_csv_format = 458, // option_data_csv_format - S_option_data_always_send = 459, // option_data_always_send - S_pools_list = 460, // pools_list - S_461_79 = 461, // $@79 - S_pools_list_content = 462, // pools_list_content - S_not_empty_pools_list = 463, // not_empty_pools_list - S_pool_list_entry = 464, // pool_list_entry - S_465_80 = 465, // $@80 - S_sub_pool6 = 466, // sub_pool6 - S_467_81 = 467, // $@81 - S_pool_params = 468, // pool_params - S_pool_param = 469, // pool_param - S_pool_entry = 470, // pool_entry - S_471_82 = 471, // $@82 - S_user_context = 472, // user_context - S_473_83 = 473, // $@83 - S_comment = 474, // comment - S_475_84 = 475, // $@84 - S_pd_pools_list = 476, // pd_pools_list - S_477_85 = 477, // $@85 - S_pd_pools_list_content = 478, // pd_pools_list_content - S_not_empty_pd_pools_list = 479, // not_empty_pd_pools_list - S_pd_pool_entry = 480, // pd_pool_entry - S_481_86 = 481, // $@86 - S_sub_pd_pool = 482, // sub_pd_pool - S_483_87 = 483, // $@87 - S_pd_pool_params = 484, // pd_pool_params - S_pd_pool_param = 485, // pd_pool_param - S_pd_prefix = 486, // pd_prefix - S_487_88 = 487, // $@88 - S_pd_prefix_len = 488, // pd_prefix_len - S_excluded_prefix = 489, // excluded_prefix - S_490_89 = 490, // $@89 - S_excluded_prefix_len = 491, // excluded_prefix_len - S_pd_delegated_len = 492, // pd_delegated_len - S_reservations = 493, // reservations - S_494_90 = 494, // $@90 - S_reservations_list = 495, // reservations_list - S_not_empty_reservations_list = 496, // not_empty_reservations_list - S_reservation = 497, // reservation - S_498_91 = 498, // $@91 - S_sub_reservation = 499, // sub_reservation - S_500_92 = 500, // $@92 - S_reservation_params = 501, // reservation_params - S_not_empty_reservation_params = 502, // not_empty_reservation_params - S_reservation_param = 503, // reservation_param - S_ip_addresses = 504, // ip_addresses - S_505_93 = 505, // $@93 - S_prefixes = 506, // prefixes - S_507_94 = 507, // $@94 - S_duid = 508, // duid - S_509_95 = 509, // $@95 - S_hw_address = 510, // hw_address - S_511_96 = 511, // $@96 - S_hostname = 512, // hostname - S_513_97 = 513, // $@97 - S_flex_id_value = 514, // flex_id_value - S_515_98 = 515, // $@98 - S_reservation_client_classes = 516, // reservation_client_classes - S_517_99 = 517, // $@99 - S_relay = 518, // relay - S_519_100 = 519, // $@100 - S_relay_map = 520, // relay_map - S_ip_address = 521, // ip_address - S_522_101 = 522, // $@101 - S_client_classes = 523, // client_classes - S_524_102 = 524, // $@102 - S_client_classes_list = 525, // client_classes_list - S_client_class_entry = 526, // client_class_entry - S_527_103 = 527, // $@103 - S_client_class_params = 528, // client_class_params - S_not_empty_client_class_params = 529, // not_empty_client_class_params - S_client_class_param = 530, // client_class_param - S_client_class_name = 531, // client_class_name - S_client_class_test = 532, // client_class_test - S_533_104 = 533, // $@104 - S_only_if_required = 534, // only_if_required - S_server_id = 535, // server_id - S_536_105 = 536, // $@105 - S_server_id_params = 537, // server_id_params - S_server_id_param = 538, // server_id_param - S_server_id_type = 539, // server_id_type - S_540_106 = 540, // $@106 - S_duid_type = 541, // duid_type - S_htype = 542, // htype - S_identifier = 543, // identifier - S_544_107 = 544, // $@107 - S_time = 545, // time - S_enterprise_id = 546, // enterprise_id - S_dhcp4o6_port = 547, // dhcp4o6_port - S_control_socket = 548, // control_socket - S_549_108 = 549, // $@108 - S_control_socket_params = 550, // control_socket_params - S_control_socket_param = 551, // control_socket_param - S_socket_type = 552, // socket_type - S_553_109 = 553, // $@109 - S_socket_name = 554, // socket_name - S_555_110 = 555, // $@110 - S_dhcp_queue_control = 556, // dhcp_queue_control - S_557_111 = 557, // $@111 - S_queue_control_params = 558, // queue_control_params - S_queue_control_param = 559, // queue_control_param - S_enable_queue = 560, // enable_queue - S_queue_type = 561, // queue_type - S_562_112 = 562, // $@112 - S_capacity = 563, // capacity - S_arbitrary_map_entry = 564, // arbitrary_map_entry - S_565_113 = 565, // $@113 - S_dhcp_ddns = 566, // dhcp_ddns - S_567_114 = 567, // $@114 - S_sub_dhcp_ddns = 568, // sub_dhcp_ddns - S_569_115 = 569, // $@115 - S_dhcp_ddns_params = 570, // dhcp_ddns_params - S_dhcp_ddns_param = 571, // dhcp_ddns_param - S_enable_updates = 572, // enable_updates - S_dep_qualifying_suffix = 573, // dep_qualifying_suffix - S_574_116 = 574, // $@116 - S_server_ip = 575, // server_ip - S_576_117 = 576, // $@117 - S_server_port = 577, // server_port - S_sender_ip = 578, // sender_ip - S_579_118 = 579, // $@118 - S_sender_port = 580, // sender_port - S_max_queue_size = 581, // max_queue_size - S_ncr_protocol = 582, // ncr_protocol - S_583_119 = 583, // $@119 - S_ncr_protocol_value = 584, // ncr_protocol_value - S_ncr_format = 585, // ncr_format - S_586_120 = 586, // $@120 - S_dep_override_no_update = 587, // dep_override_no_update - S_dep_override_client_update = 588, // dep_override_client_update - S_dep_replace_client_name = 589, // dep_replace_client_name - S_590_121 = 590, // $@121 - S_dep_generated_prefix = 591, // dep_generated_prefix - S_592_122 = 592, // $@122 - S_dep_hostname_char_set = 593, // dep_hostname_char_set - S_594_123 = 594, // $@123 - S_dep_hostname_char_replacement = 595, // dep_hostname_char_replacement - S_596_124 = 596, // $@124 - S_config_control = 597, // config_control - S_598_125 = 598, // $@125 - S_sub_config_control = 599, // sub_config_control - S_600_126 = 600, // $@126 - S_config_control_params = 601, // config_control_params - S_config_control_param = 602, // config_control_param - S_config_databases = 603, // config_databases - S_604_127 = 604, // $@127 - S_config_fetch_wait_time = 605, // config_fetch_wait_time - S_loggers = 606, // loggers - S_607_128 = 607, // $@128 - S_loggers_entries = 608, // loggers_entries - S_logger_entry = 609, // logger_entry - S_610_129 = 610, // $@129 - S_logger_params = 611, // logger_params - S_logger_param = 612, // logger_param - S_debuglevel = 613, // debuglevel - S_severity = 614, // severity - S_615_130 = 615, // $@130 - S_output_options_list = 616, // output_options_list - S_617_131 = 617, // $@131 - S_output_options_list_content = 618, // output_options_list_content - S_output_entry = 619, // output_entry - S_620_132 = 620, // $@132 - S_output_params_list = 621, // output_params_list - S_output_params = 622, // output_params - S_output = 623, // output - S_624_133 = 624, // $@133 - S_flush = 625, // flush - S_maxsize = 626, // maxsize - S_maxver = 627, // maxver - S_pattern = 628, // pattern - S_629_134 = 629 // $@134 + S_RESERVATIONS_OUT_OF_POOL = 98, // "reservations-out-of-pool" + S_RESERVATIONS_IN_SUBNET = 99, // "reservations-in-subnet" + S_RESERVATIONS_GLOBAL = 100, // "reservations-global" + S_DISABLED = 101, // "disabled" + S_OUT_OF_POOL = 102, // "out-of-pool" + S_GLOBAL = 103, // "global" + S_ALL = 104, // "all" + S_MAC_SOURCES = 105, // "mac-sources" + S_RELAY_SUPPLIED_OPTIONS = 106, // "relay-supplied-options" + S_HOST_RESERVATION_IDENTIFIERS = 107, // "host-reservation-identifiers" + S_SANITY_CHECKS = 108, // "sanity-checks" + S_LEASE_CHECKS = 109, // "lease-checks" + S_CLIENT_CLASSES = 110, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 111, // "require-client-classes" + S_TEST = 112, // "test" + S_ONLY_IF_REQUIRED = 113, // "only-if-required" + S_CLIENT_CLASS = 114, // "client-class" + S_RESERVATIONS = 115, // "reservations" + S_IP_ADDRESSES = 116, // "ip-addresses" + S_PREFIXES = 117, // "prefixes" + S_DUID = 118, // "duid" + S_HW_ADDRESS = 119, // "hw-address" + S_HOSTNAME = 120, // "hostname" + S_FLEX_ID = 121, // "flex-id" + S_RELAY = 122, // "relay" + S_IP_ADDRESS = 123, // "ip-address" + S_HOOKS_LIBRARIES = 124, // "hooks-libraries" + S_LIBRARY = 125, // "library" + S_PARAMETERS = 126, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 127, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 128, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 129, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 130, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 131, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 132, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 133, // "unwarned-reclaim-cycles" + S_SERVER_ID = 134, // "server-id" + S_LLT = 135, // "LLT" + S_EN = 136, // "EN" + S_LL = 137, // "LL" + S_IDENTIFIER = 138, // "identifier" + S_HTYPE = 139, // "htype" + S_TIME = 140, // "time" + S_ENTERPRISE_ID = 141, // "enterprise-id" + S_DHCP4O6_PORT = 142, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 143, // "multi-threading" + S_ENABLE_MULTI_THREADING = 144, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 145, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 146, // "packet-queue-size" + S_CONTROL_SOCKET = 147, // "control-socket" + S_SOCKET_TYPE = 148, // "socket-type" + S_SOCKET_NAME = 149, // "socket-name" + S_DHCP_QUEUE_CONTROL = 150, // "dhcp-queue-control" + S_ENABLE_QUEUE = 151, // "enable-queue" + S_QUEUE_TYPE = 152, // "queue-type" + S_CAPACITY = 153, // "capacity" + S_DHCP_DDNS = 154, // "dhcp-ddns" + S_ENABLE_UPDATES = 155, // "enable-updates" + S_QUALIFYING_SUFFIX = 156, // "qualifying-suffix" + S_SERVER_IP = 157, // "server-ip" + S_SERVER_PORT = 158, // "server-port" + S_SENDER_IP = 159, // "sender-ip" + S_SENDER_PORT = 160, // "sender-port" + S_MAX_QUEUE_SIZE = 161, // "max-queue-size" + S_NCR_PROTOCOL = 162, // "ncr-protocol" + S_NCR_FORMAT = 163, // "ncr-format" + S_OVERRIDE_NO_UPDATE = 164, // "override-no-update" + S_OVERRIDE_CLIENT_UPDATE = 165, // "override-client-update" + S_REPLACE_CLIENT_NAME = 166, // "replace-client-name" + S_GENERATED_PREFIX = 167, // "generated-prefix" + S_UDP = 168, // "UDP" + S_TCP = 169, // "TCP" + S_JSON = 170, // "JSON" + S_WHEN_PRESENT = 171, // "when-present" + S_NEVER = 172, // "never" + S_ALWAYS = 173, // "always" + S_WHEN_NOT_PRESENT = 174, // "when-not-present" + S_HOSTNAME_CHAR_SET = 175, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 176, // "hostname-char-replacement" + S_IP_RESERVATIONS_UNIQUE = 177, // "ip-reservations-unique" + S_LOGGERS = 178, // "loggers" + S_OUTPUT_OPTIONS = 179, // "output_options" + S_OUTPUT = 180, // "output" + S_DEBUGLEVEL = 181, // "debuglevel" + S_SEVERITY = 182, // "severity" + S_FLUSH = 183, // "flush" + S_MAXSIZE = 184, // "maxsize" + S_MAXVER = 185, // "maxver" + S_PATTERN = 186, // "pattern" + S_TOPLEVEL_JSON = 187, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP6 = 188, // TOPLEVEL_DHCP6 + S_SUB_DHCP6 = 189, // SUB_DHCP6 + S_SUB_INTERFACES6 = 190, // SUB_INTERFACES6 + S_SUB_SUBNET6 = 191, // SUB_SUBNET6 + S_SUB_POOL6 = 192, // SUB_POOL6 + S_SUB_PD_POOL = 193, // SUB_PD_POOL + S_SUB_RESERVATION = 194, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 195, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 196, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 197, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 198, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 199, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 200, // SUB_CONFIG_CONTROL + S_STRING = 201, // "constant string" + S_INTEGER = 202, // "integer" + S_FLOAT = 203, // "floating point" + S_BOOLEAN = 204, // "boolean" + S_YYACCEPT = 205, // $accept + S_start = 206, // start + S_207_1 = 207, // $@1 + S_208_2 = 208, // $@2 + S_209_3 = 209, // $@3 + S_210_4 = 210, // $@4 + S_211_5 = 211, // $@5 + S_212_6 = 212, // $@6 + S_213_7 = 213, // $@7 + S_214_8 = 214, // $@8 + S_215_9 = 215, // $@9 + S_216_10 = 216, // $@10 + S_217_11 = 217, // $@11 + S_218_12 = 218, // $@12 + S_219_13 = 219, // $@13 + S_220_14 = 220, // $@14 + S_value = 221, // value + S_sub_json = 222, // sub_json + S_map2 = 223, // map2 + S_224_15 = 224, // $@15 + S_map_value = 225, // map_value + S_map_content = 226, // map_content + S_not_empty_map = 227, // not_empty_map + S_list_generic = 228, // list_generic + S_229_16 = 229, // $@16 + S_list_content = 230, // list_content + S_not_empty_list = 231, // not_empty_list + S_list_strings = 232, // list_strings + S_233_17 = 233, // $@17 + S_list_strings_content = 234, // list_strings_content + S_not_empty_list_strings = 235, // not_empty_list_strings + S_unknown_map_entry = 236, // unknown_map_entry + S_syntax_map = 237, // syntax_map + S_238_18 = 238, // $@18 + S_global_object = 239, // global_object + S_240_19 = 240, // $@19 + S_sub_dhcp6 = 241, // sub_dhcp6 + S_242_20 = 242, // $@20 + S_global_params = 243, // global_params + S_global_param = 244, // global_param + S_data_directory = 245, // data_directory + S_246_21 = 246, // $@21 + S_preferred_lifetime = 247, // preferred_lifetime + S_min_preferred_lifetime = 248, // min_preferred_lifetime + S_max_preferred_lifetime = 249, // max_preferred_lifetime + S_valid_lifetime = 250, // valid_lifetime + S_min_valid_lifetime = 251, // min_valid_lifetime + S_max_valid_lifetime = 252, // max_valid_lifetime + S_renew_timer = 253, // renew_timer + S_rebind_timer = 254, // rebind_timer + S_calculate_tee_times = 255, // calculate_tee_times + S_t1_percent = 256, // t1_percent + S_t2_percent = 257, // t2_percent + S_cache_threshold = 258, // cache_threshold + S_cache_max_age = 259, // cache_max_age + S_decline_probation_period = 260, // decline_probation_period + S_ddns_send_updates = 261, // ddns_send_updates + S_ddns_override_no_update = 262, // ddns_override_no_update + S_ddns_override_client_update = 263, // ddns_override_client_update + S_ddns_replace_client_name = 264, // ddns_replace_client_name + S_265_22 = 265, // $@22 + S_ddns_replace_client_name_value = 266, // ddns_replace_client_name_value + S_ddns_generated_prefix = 267, // ddns_generated_prefix + S_268_23 = 268, // $@23 + S_ddns_qualifying_suffix = 269, // ddns_qualifying_suffix + S_270_24 = 270, // $@24 + S_ddns_update_on_renew = 271, // ddns_update_on_renew + S_hostname_char_set = 272, // hostname_char_set + S_273_25 = 273, // $@25 + S_hostname_char_replacement = 274, // hostname_char_replacement + S_275_26 = 275, // $@26 + S_store_extended_info = 276, // store_extended_info + S_statistic_default_sample_count = 277, // statistic_default_sample_count + S_statistic_default_sample_age = 278, // statistic_default_sample_age + S_server_tag = 279, // server_tag + S_280_27 = 280, // $@27 + S_ip_reservations_unique = 281, // ip_reservations_unique + S_interfaces_config = 282, // interfaces_config + S_283_28 = 283, // $@28 + S_sub_interfaces6 = 284, // sub_interfaces6 + S_285_29 = 285, // $@29 + S_interfaces_config_params = 286, // interfaces_config_params + S_interfaces_config_param = 287, // interfaces_config_param + S_interfaces_list = 288, // interfaces_list + S_289_30 = 289, // $@30 + S_re_detect = 290, // re_detect + S_lease_database = 291, // lease_database + S_292_31 = 292, // $@31 + S_hosts_database = 293, // hosts_database + S_294_32 = 294, // $@32 + S_hosts_databases = 295, // hosts_databases + S_296_33 = 296, // $@33 + S_database_list = 297, // database_list + S_not_empty_database_list = 298, // not_empty_database_list + S_database = 299, // database + S_300_34 = 300, // $@34 + S_database_map_params = 301, // database_map_params + S_database_map_param = 302, // database_map_param + S_database_type = 303, // database_type + S_304_35 = 304, // $@35 + S_db_type = 305, // db_type + S_user = 306, // user + S_307_36 = 307, // $@36 + S_password = 308, // password + S_309_37 = 309, // $@37 + S_host = 310, // host + S_311_38 = 311, // $@38 + S_port = 312, // port + S_name = 313, // name + S_314_39 = 314, // $@39 + S_persist = 315, // persist + S_lfc_interval = 316, // lfc_interval + S_readonly = 317, // readonly + S_connect_timeout = 318, // connect_timeout + S_reconnect_wait_time = 319, // reconnect_wait_time + S_max_row_errors = 320, // max_row_errors + S_request_timeout = 321, // request_timeout + S_tcp_keepalive = 322, // tcp_keepalive + S_tcp_nodelay = 323, // tcp_nodelay + S_contact_points = 324, // contact_points + S_325_40 = 325, // $@40 + S_max_reconnect_tries = 326, // max_reconnect_tries + S_keyspace = 327, // keyspace + S_328_41 = 328, // $@41 + S_consistency = 329, // consistency + S_330_42 = 330, // $@42 + S_serial_consistency = 331, // serial_consistency + S_332_43 = 332, // $@43 + S_sanity_checks = 333, // sanity_checks + S_334_44 = 334, // $@44 + S_sanity_checks_params = 335, // sanity_checks_params + S_sanity_checks_param = 336, // sanity_checks_param + S_lease_checks = 337, // lease_checks + S_338_45 = 338, // $@45 + S_mac_sources = 339, // mac_sources + S_340_46 = 340, // $@46 + S_mac_sources_list = 341, // mac_sources_list + S_mac_sources_value = 342, // mac_sources_value + S_duid_id = 343, // duid_id + S_string_id = 344, // string_id + S_host_reservation_identifiers = 345, // host_reservation_identifiers + S_346_47 = 346, // $@47 + S_host_reservation_identifiers_list = 347, // host_reservation_identifiers_list + S_host_reservation_identifier = 348, // host_reservation_identifier + S_hw_address_id = 349, // hw_address_id + S_flex_id = 350, // flex_id + S_relay_supplied_options = 351, // relay_supplied_options + S_352_48 = 352, // $@48 + S_dhcp_multi_threading = 353, // dhcp_multi_threading + S_354_49 = 354, // $@49 + S_multi_threading_params = 355, // multi_threading_params + S_multi_threading_param = 356, // multi_threading_param + S_enable_multi_threading = 357, // enable_multi_threading + S_thread_pool_size = 358, // thread_pool_size + S_packet_queue_size = 359, // packet_queue_size + S_hooks_libraries = 360, // hooks_libraries + S_361_50 = 361, // $@50 + S_hooks_libraries_list = 362, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 363, // not_empty_hooks_libraries_list + S_hooks_library = 364, // hooks_library + S_365_51 = 365, // $@51 + S_sub_hooks_library = 366, // sub_hooks_library + S_367_52 = 367, // $@52 + S_hooks_params = 368, // hooks_params + S_hooks_param = 369, // hooks_param + S_library = 370, // library + S_371_53 = 371, // $@53 + S_parameters = 372, // parameters + S_373_54 = 373, // $@54 + S_expired_leases_processing = 374, // expired_leases_processing + S_375_55 = 375, // $@55 + S_expired_leases_params = 376, // expired_leases_params + S_expired_leases_param = 377, // expired_leases_param + S_reclaim_timer_wait_time = 378, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 379, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 380, // hold_reclaimed_time + S_max_reclaim_leases = 381, // max_reclaim_leases + S_max_reclaim_time = 382, // max_reclaim_time + S_unwarned_reclaim_cycles = 383, // unwarned_reclaim_cycles + S_subnet6_list = 384, // subnet6_list + S_385_56 = 385, // $@56 + S_subnet6_list_content = 386, // subnet6_list_content + S_not_empty_subnet6_list = 387, // not_empty_subnet6_list + S_subnet6 = 388, // subnet6 + S_389_57 = 389, // $@57 + S_sub_subnet6 = 390, // sub_subnet6 + S_391_58 = 391, // $@58 + S_subnet6_params = 392, // subnet6_params + S_subnet6_param = 393, // subnet6_param + S_subnet = 394, // subnet + S_395_59 = 395, // $@59 + S_interface = 396, // interface + S_397_60 = 397, // $@60 + S_interface_id = 398, // interface_id + S_399_61 = 399, // $@61 + S_client_class = 400, // client_class + S_401_62 = 401, // $@62 + S_require_client_classes = 402, // require_client_classes + S_403_63 = 403, // $@63 + S_reservations_out_of_pool = 404, // reservations_out_of_pool + S_reservations_in_subnet = 405, // reservations_in_subnet + S_reservations_global = 406, // reservations_global + S_reservation_mode = 407, // reservation_mode + S_408_64 = 408, // $@64 + S_hr_mode = 409, // hr_mode + S_id = 410, // id + S_rapid_commit = 411, // rapid_commit + S_shared_networks = 412, // shared_networks + S_413_65 = 413, // $@65 + S_shared_networks_content = 414, // shared_networks_content + S_shared_networks_list = 415, // shared_networks_list + S_shared_network = 416, // shared_network + S_417_66 = 417, // $@66 + S_shared_network_params = 418, // shared_network_params + S_shared_network_param = 419, // shared_network_param + S_option_def_list = 420, // option_def_list + S_421_67 = 421, // $@67 + S_sub_option_def_list = 422, // sub_option_def_list + S_423_68 = 423, // $@68 + S_option_def_list_content = 424, // option_def_list_content + S_not_empty_option_def_list = 425, // not_empty_option_def_list + S_option_def_entry = 426, // option_def_entry + S_427_69 = 427, // $@69 + S_sub_option_def = 428, // sub_option_def + S_429_70 = 429, // $@70 + S_option_def_params = 430, // option_def_params + S_not_empty_option_def_params = 431, // not_empty_option_def_params + S_option_def_param = 432, // option_def_param + S_option_def_name = 433, // option_def_name + S_code = 434, // code + S_option_def_code = 435, // option_def_code + S_option_def_type = 436, // option_def_type + S_437_71 = 437, // $@71 + S_option_def_record_types = 438, // option_def_record_types + S_439_72 = 439, // $@72 + S_space = 440, // space + S_441_73 = 441, // $@73 + S_option_def_space = 442, // option_def_space + S_option_def_encapsulate = 443, // option_def_encapsulate + S_444_74 = 444, // $@74 + S_option_def_array = 445, // option_def_array + S_option_data_list = 446, // option_data_list + S_447_75 = 447, // $@75 + S_option_data_list_content = 448, // option_data_list_content + S_not_empty_option_data_list = 449, // not_empty_option_data_list + S_option_data_entry = 450, // option_data_entry + S_451_76 = 451, // $@76 + S_sub_option_data = 452, // sub_option_data + S_453_77 = 453, // $@77 + S_option_data_params = 454, // option_data_params + S_not_empty_option_data_params = 455, // not_empty_option_data_params + S_option_data_param = 456, // option_data_param + S_option_data_name = 457, // option_data_name + S_option_data_data = 458, // option_data_data + S_459_78 = 459, // $@78 + S_option_data_code = 460, // option_data_code + S_option_data_space = 461, // option_data_space + S_option_data_csv_format = 462, // option_data_csv_format + S_option_data_always_send = 463, // option_data_always_send + S_pools_list = 464, // pools_list + S_465_79 = 465, // $@79 + S_pools_list_content = 466, // pools_list_content + S_not_empty_pools_list = 467, // not_empty_pools_list + S_pool_list_entry = 468, // pool_list_entry + S_469_80 = 469, // $@80 + S_sub_pool6 = 470, // sub_pool6 + S_471_81 = 471, // $@81 + S_pool_params = 472, // pool_params + S_pool_param = 473, // pool_param + S_pool_entry = 474, // pool_entry + S_475_82 = 475, // $@82 + S_user_context = 476, // user_context + S_477_83 = 477, // $@83 + S_comment = 478, // comment + S_479_84 = 479, // $@84 + S_pd_pools_list = 480, // pd_pools_list + S_481_85 = 481, // $@85 + S_pd_pools_list_content = 482, // pd_pools_list_content + S_not_empty_pd_pools_list = 483, // not_empty_pd_pools_list + S_pd_pool_entry = 484, // pd_pool_entry + S_485_86 = 485, // $@86 + S_sub_pd_pool = 486, // sub_pd_pool + S_487_87 = 487, // $@87 + S_pd_pool_params = 488, // pd_pool_params + S_pd_pool_param = 489, // pd_pool_param + S_pd_prefix = 490, // pd_prefix + S_491_88 = 491, // $@88 + S_pd_prefix_len = 492, // pd_prefix_len + S_excluded_prefix = 493, // excluded_prefix + S_494_89 = 494, // $@89 + S_excluded_prefix_len = 495, // excluded_prefix_len + S_pd_delegated_len = 496, // pd_delegated_len + S_reservations = 497, // reservations + S_498_90 = 498, // $@90 + S_reservations_list = 499, // reservations_list + S_not_empty_reservations_list = 500, // not_empty_reservations_list + S_reservation = 501, // reservation + S_502_91 = 502, // $@91 + S_sub_reservation = 503, // sub_reservation + S_504_92 = 504, // $@92 + S_reservation_params = 505, // reservation_params + S_not_empty_reservation_params = 506, // not_empty_reservation_params + S_reservation_param = 507, // reservation_param + S_ip_addresses = 508, // ip_addresses + S_509_93 = 509, // $@93 + S_prefixes = 510, // prefixes + S_511_94 = 511, // $@94 + S_duid = 512, // duid + S_513_95 = 513, // $@95 + S_hw_address = 514, // hw_address + S_515_96 = 515, // $@96 + S_hostname = 516, // hostname + S_517_97 = 517, // $@97 + S_flex_id_value = 518, // flex_id_value + S_519_98 = 519, // $@98 + S_reservation_client_classes = 520, // reservation_client_classes + S_521_99 = 521, // $@99 + S_relay = 522, // relay + S_523_100 = 523, // $@100 + S_relay_map = 524, // relay_map + S_ip_address = 525, // ip_address + S_526_101 = 526, // $@101 + S_client_classes = 527, // client_classes + S_528_102 = 528, // $@102 + S_client_classes_list = 529, // client_classes_list + S_client_class_entry = 530, // client_class_entry + S_531_103 = 531, // $@103 + S_client_class_params = 532, // client_class_params + S_not_empty_client_class_params = 533, // not_empty_client_class_params + S_client_class_param = 534, // client_class_param + S_client_class_name = 535, // client_class_name + S_client_class_test = 536, // client_class_test + S_537_104 = 537, // $@104 + S_only_if_required = 538, // only_if_required + S_server_id = 539, // server_id + S_540_105 = 540, // $@105 + S_server_id_params = 541, // server_id_params + S_server_id_param = 542, // server_id_param + S_server_id_type = 543, // server_id_type + S_544_106 = 544, // $@106 + S_duid_type = 545, // duid_type + S_htype = 546, // htype + S_identifier = 547, // identifier + S_548_107 = 548, // $@107 + S_time = 549, // time + S_enterprise_id = 550, // enterprise_id + S_dhcp4o6_port = 551, // dhcp4o6_port + S_control_socket = 552, // control_socket + S_553_108 = 553, // $@108 + S_control_socket_params = 554, // control_socket_params + S_control_socket_param = 555, // control_socket_param + S_socket_type = 556, // socket_type + S_557_109 = 557, // $@109 + S_socket_name = 558, // socket_name + S_559_110 = 559, // $@110 + S_dhcp_queue_control = 560, // dhcp_queue_control + S_561_111 = 561, // $@111 + S_queue_control_params = 562, // queue_control_params + S_queue_control_param = 563, // queue_control_param + S_enable_queue = 564, // enable_queue + S_queue_type = 565, // queue_type + S_566_112 = 566, // $@112 + S_capacity = 567, // capacity + S_arbitrary_map_entry = 568, // arbitrary_map_entry + S_569_113 = 569, // $@113 + S_dhcp_ddns = 570, // dhcp_ddns + S_571_114 = 571, // $@114 + S_sub_dhcp_ddns = 572, // sub_dhcp_ddns + S_573_115 = 573, // $@115 + S_dhcp_ddns_params = 574, // dhcp_ddns_params + S_dhcp_ddns_param = 575, // dhcp_ddns_param + S_enable_updates = 576, // enable_updates + S_dep_qualifying_suffix = 577, // dep_qualifying_suffix + S_578_116 = 578, // $@116 + S_server_ip = 579, // server_ip + S_580_117 = 580, // $@117 + S_server_port = 581, // server_port + S_sender_ip = 582, // sender_ip + S_583_118 = 583, // $@118 + S_sender_port = 584, // sender_port + S_max_queue_size = 585, // max_queue_size + S_ncr_protocol = 586, // ncr_protocol + S_587_119 = 587, // $@119 + S_ncr_protocol_value = 588, // ncr_protocol_value + S_ncr_format = 589, // ncr_format + S_590_120 = 590, // $@120 + S_dep_override_no_update = 591, // dep_override_no_update + S_dep_override_client_update = 592, // dep_override_client_update + S_dep_replace_client_name = 593, // dep_replace_client_name + S_594_121 = 594, // $@121 + S_dep_generated_prefix = 595, // dep_generated_prefix + S_596_122 = 596, // $@122 + S_dep_hostname_char_set = 597, // dep_hostname_char_set + S_598_123 = 598, // $@123 + S_dep_hostname_char_replacement = 599, // dep_hostname_char_replacement + S_600_124 = 600, // $@124 + S_config_control = 601, // config_control + S_602_125 = 602, // $@125 + S_sub_config_control = 603, // sub_config_control + S_604_126 = 604, // $@126 + S_config_control_params = 605, // config_control_params + S_config_control_param = 606, // config_control_param + S_config_databases = 607, // config_databases + S_608_127 = 608, // $@127 + S_config_fetch_wait_time = 609, // config_fetch_wait_time + S_loggers = 610, // loggers + S_611_128 = 611, // $@128 + S_loggers_entries = 612, // loggers_entries + S_logger_entry = 613, // logger_entry + S_614_129 = 614, // $@129 + S_logger_params = 615, // logger_params + S_logger_param = 616, // logger_param + S_debuglevel = 617, // debuglevel + S_severity = 618, // severity + S_619_130 = 619, // $@130 + S_output_options_list = 620, // output_options_list + S_621_131 = 621, // $@131 + S_output_options_list_content = 622, // output_options_list_content + S_output_entry = 623, // output_entry + S_624_132 = 624, // $@132 + S_output_params_list = 625, // output_params_list + S_output_params = 626, // output_params + S_output = 627, // output + S_628_133 = 628, // $@133 + S_flush = 629, // flush + S_maxsize = 630, // maxsize + S_maxver = 631, // maxver + S_pattern = 632, // pattern + S_633_134 = 633 // $@134 }; }; @@ -1621,13 +1627,13 @@ switch (yykind) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -2750,21 +2756,6 @@ switch (yykind) return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_DDNS_USE_CONFLICT_RESOLUTION (location_type l) - { - return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l)); - } -#else - static - symbol_type - make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l) - { - return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -2960,6 +2951,21 @@ switch (yykind) return symbol_type (token::TOKEN_ARRAY, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_SHARED_NETWORKS (location_type l) + { + return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l)); + } +#else + static + symbol_type + make_SHARED_NETWORKS (const location_type& l) + { + return symbol_type (token::TOKEN_SHARED_NETWORKS, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -3200,6 +3206,51 @@ switch (yykind) return symbol_type (token::TOKEN_RESERVATION_MODE, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_OUT_OF_POOL (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_OUT_OF_POOL (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_IN_SUBNET (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_IN_SUBNET (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RESERVATIONS_GLOBAL (location_type l) + { + return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l)); + } +#else + static + symbol_type + make_RESERVATIONS_GLOBAL (const location_type& l) + { + return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -3260,21 +3311,6 @@ switch (yykind) return symbol_type (token::TOKEN_ALL, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_SHARED_NETWORKS (location_type l) - { - return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l)); - } -#else - static - symbol_type - make_SHARED_NETWORKS (const location_type& l) - { - return symbol_type (token::TOKEN_SHARED_NETWORKS, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5105,8 +5141,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1240, ///< Last index in yytable_. - yynnts_ = 427, ///< Number of nonterminal symbols. + yylast_ = 1255, ///< Last index in yytable_. + yynnts_ = 429, ///< Number of nonterminal symbols. yyfinal_ = 30 ///< Termination state number. }; @@ -5171,10 +5207,10 @@ switch (yykind) 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 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 + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204 }; // Last valid token kind. - const int code_max = 457; + const int code_max = 459; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5337,7 +5373,7 @@ switch (yykind) #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5341 "dhcp6_parser.h" +#line 5377 "dhcp6_parser.h" diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 05c39c2556..a0668e03e1 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index 9ab5e94f40..5a22e1b354 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index 1fd7ec528c..7b495979e3 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,4 +1,4 @@ -// Generated 202010231220 +// Generated 202010151708 // A Bison parser, made by GNU Bison 3.7.2. // Starting with Bison 3.2, this file is useless: the structure it