From: Thomas Markwalder Date: Thu, 8 Nov 2018 14:06:49 +0000 (-0500) Subject: [master] Adds initial congestion handling X-Git-Tag: Kea-1.5.0-beta1~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=09d5ffebc8f9bfab2ab99c384eec9c3a3c915f39;p=thirdparty%2Fkea.git [master] Adds initial congestion handling Merge branch '42-congestion-handler-exp-1' --- 09d5ffebc8f9bfab2ab99c384eec9c3a3c915f39 diff --cc src/bin/dhcp4/dhcp4_lexer.cc index f79aef1fda,afa86bf449..b62bc16fe5 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@@ -691,8 -691,8 +691,8 @@@ static void yynoreturn yy_fatal_error /* %% [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 175 --#define YY_END_OF_BUFFER 176 ++#define YY_NUM_RULES 176 ++#define YY_END_OF_BUFFER 177 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@@ -700,169 -700,169 +700,170 @@@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; - static const flex_int16_t yy_accept[1467] = -static const flex_int16_t yy_accept[1468] = ++static const flex_int16_t yy_accept[1481] = { 0, -- 168, 168, 0, 0, 0, 0, 0, 0, 0, 0, -- 176, 174, 10, 11, 174, 1, 168, 165, 168, 168, -- 174, 167, 166, 174, 174, 174, 174, 174, 161, 162, -- 174, 174, 174, 163, 164, 5, 5, 5, 174, 174, -- 174, 10, 11, 0, 0, 157, 0, 0, 0, 0, ++ 169, 169, 0, 0, 0, 0, 0, 0, 0, 0, ++ 177, 175, 10, 11, 175, 1, 169, 166, 169, 169, ++ 175, 168, 167, 175, 175, 175, 175, 175, 162, 163, ++ 175, 175, 175, 164, 165, 5, 5, 5, 175, 175, ++ 175, 10, 11, 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, 0, 0, 0, 0, 0, 1, -- 168, 168, 0, 167, 168, 3, 2, 6, 0, 168, ++ 169, 169, 0, 168, 169, 3, 2, 6, 0, 169, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, -- 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, ++ 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 173, 171, 0, - 170, 169, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 171, 0, 170, 169, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 174, 172, 0, ++ 171, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 0, 136, 0, 0, 73, 0, 0, - 138, 0, 137, 0, 0, 73, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 138, 0, 137, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 0, 0, 0, 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, 18, - 0, 0, 0, 0, 172, 169, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 139, 0, 0, 141, - 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, - 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, 0, 0, 0, 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, 18, 0, 0, 0, 0, 172, 169, 0, ++ 0, 0, 18, 0, 0, 0, 0, 173, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, - 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, - 0, 88, 30, 0, 0, 35, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 146, 0, 143, 0, 142, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, ++ 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 62, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 0, 144, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 88, 30, 0, 0, 35, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 145, - 0, 142, 0, 141, 0, 0, 0, 101, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 12, 146, ++ 0, 143, 0, 142, 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, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 72, 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, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, - 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, ++ 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, ++ 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 0, 143, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, ++ 0, 0, 0, 0, 0, 0, 7, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 76, 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, 0, 0, 72, 0, - 0, 0, 0, 0, 0, 0, 0, 95, 0, 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, 79, 0, 0, 0, - 0, 0, 107, 77, 0, 0, 0, 0, 82, 31, ++ 72, 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, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 54, 0, 0, - 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, ++ 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 107, 77, 0, 0, - 0, 0, 82, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, ++ 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, ++ 77, 0, 0, 0, 0, 82, 31, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 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, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, - 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, + - 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 0, 0, 42, 0, - 0, 0, 0, 36, 0, 0, 0, 29, 0, 0, ++ 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, ++ 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, ++ 0, 36, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, - 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 93, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, ++ 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 151, 0, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 98, 80, 0, 0, ++ 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 125, 0, 0, 123, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - - 0, 98, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 22, 0, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, - 106, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, ++ 0, 151, 0, 0, 0, 0, 0, 0, 0, 94, + ++ 0, 0, 0, 0, 0, 0, 98, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, + 0, 0, 0, 92, 22, 0, 103, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 106, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 154, 0, 57, 71, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 124, 0, 118, 117, 0, 46, - 0, 21, 0, 0, 0, 0, 0, 140, 0, 0, - 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 15, 0, 40, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, 51, 0, - 0, 99, 0, 0, 0, 0, 90, 0, 0, 0, - 0, 0, 0, 63, 0, 149, 0, 148, 0, 0, ++ 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 0, 57, 71, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 123, 0, - 118, 117, 0, 46, 0, 21, 0, 0, 0, 0, - 0, 139, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 104, 15, 0, 40, - 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, - 0, 0, 51, 0, 0, 99, 0, 0, 0, 0, - 90, 0, 0, 0, 0, 0, 0, 63, 0, 148, - - 0, 147, 0, 0, 153, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 155, 0, 57, 71, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, ++ 0, 0, 0, 126, 0, 124, 0, 118, 117, 0, ++ 46, 0, 21, 0, 0, 0, 0, 0, 140, 0, ++ 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 104, 15, 0, 40, 0, 0, ++ 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, ++ 51, 0, 0, 99, 0, 0, 0, 0, 90, 0, ++ ++ 0, 0, 0, 0, 0, 63, 0, 149, 0, 148, ++ 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 45, 0, 0, - 0, 0, 0, 156, 85, 27, 0, 0, 47, 116, - 0, 0, 151, 120, 0, 0, 0, 0, 0, 0, - 0, 0, 25, 0, 0, 24, 0, 126, 0, 0, - 14, 0, 0, 45, 0, 0, 0, 0, 0, 156, - 85, 27, 0, 0, 47, 116, 0, 0, 0, 152, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 24, 0, 127, 0, 0, 0, 0, 0, - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 0, 0, 0, 0, 41, - - 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, - 0, 26, 0, 153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 20, 155, - 55, 0, 150, 145, 0, 28, 0, 0, 16, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 113, 0, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 68, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, - 13, 0, 0, 0, 0, 0, 122, 0, 0, 0, - 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, - 112, 0, 19, 0, 131, 0, 0, 0, 0, 0, - - 130, 0, 0, 0, 111, 0, 0, 48, 0, 0, - 43, 133, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 14, 0, 0, 45, 0, 0, 0, ++ 0, 0, 157, 85, 27, 0, 0, 47, 116, 0, ++ 0, 0, 152, 121, 0, 0, 0, 0, 0, 0, ++ 0, 0, 25, 0, 0, 24, 0, 127, 0, 0, + 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, + - 0, 0, 41, 0, 0, 0, 0, 0, 0, 105, - 0, 0, 0, 26, 0, 152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 20, 155, 55, 0, 149, 144, 0, 28, 0, 16, - 0, 0, 133, 0, 0, 0, 0, 0, 0, 113, - 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 134, - 13, 0, 0, 0, 0, 0, 121, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 0, 19, 0, 130, 0, 0, 0, 0, 0, 129, - - 0, 0, 0, 111, 0, 0, 48, 0, 0, 43, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, ++ 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, ++ 105, 0, 0, 0, 26, 0, 153, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, ++ 0, 20, 156, 55, 0, 150, 145, 0, 28, 0, ++ 0, 16, 0, 0, 134, 0, 0, 0, 0, 0, ++ 0, 113, 0, 89, 0, 0, 0, 0, 0, 0, ++ 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 135, 13, 0, 0, 0, 0, 0, 122, ++ 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, ++ ++ 0, 0, 0, 112, 0, 19, 0, 131, 0, 0, ++ 0, 0, 0, 130, 0, 0, 0, 111, 0, 0, ++ 48, 0, 0, 43, 133, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 0, 86, - 0, 0, 0, 0, 0, 0, 109, 114, 52, 0, - 0, 0, 0, 108, 0, 0, 136, 0, 0, 0, - 0, 0, 75, 0, 0, 110, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 0, 86, 0, - 0, 0, 0, 0, 0, 109, 114, 52, 0, 0, - 0, 0, 108, 0, 0, 135, 0, 0, 0, 0, - 0, 75, 0, 0, 110, 0 ++ 132, 0, 86, 0, 0, 0, 0, 0, 0, 109, ++ 114, 52, 0, 0, 0, 0, 108, 0, 0, 136, ++ 0, 0, 0, 0, 0, 75, 0, 0, 110, 0 } ; static const YY_CHAR yy_ec[256] = @@@ -909,355 -909,355 +910,361 @@@ static const YY_CHAR yy_meta[72] 3 } ; - static const flex_int16_t yy_base[1479] = -static const flex_int16_t yy_base[1480] = ++static const flex_int16_t yy_base[1493] = { 0, 0, 70, 19, 29, 41, 49, 52, 58, 87, 95, - 1829, 1830, 32, 1825, 141, 0, 201, 1830, 206, 88, - 11, 213, 1830, 1807, 114, 25, 2, 6, 1830, 1830, - 73, 11, 17, 1830, 1830, 1830, 104, 1813, 1768, 0, - 1805, 107, 1820, 217, 247, 1830, 1764, 185, 1763, 1769, - 93, 58, 1761, 91, 211, 195, 14, 273, 195, 1760, - 181, 275, 207, 211, 76, 68, 188, 1769, 232, 219, - 296, 284, 280, 1752, 204, 302, 322, 305, 1771, 0, - 349, 357, 370, 377, 362, 1830, 0, 1830, 301, 342, - 296, 325, 201, 346, 359, 224, 1830, 1768, 1807, 1830, - 1831, 1832, 32, 1827, 141, 0, 201, 1832, 206, 88, - 11, 213, 1832, 1809, 114, 25, 2, 6, 1832, 1832, - 73, 11, 17, 1832, 1832, 1832, 104, 1815, 1770, 0, - 1807, 107, 1822, 217, 247, 1832, 1766, 185, 1765, 1771, - 93, 58, 1763, 91, 211, 195, 14, 273, 195, 1762, - 181, 275, 202, 209, 76, 68, 188, 1771, 232, 219, - 296, 284, 207, 1754, 230, 287, 324, 305, 1773, 0, - 339, 359, 367, 374, 379, 1832, 0, 1832, 301, 344, - 295, 336, 196, 348, 350, 292, 1832, 1770, 1809, 1832, -- - 353, 1830, 390, 1796, 357, 1754, 1764, 369, 220, 1759, - 362, 288, 364, 374, 221, 1802, 0, 441, 366, 1746, - 1743, 1747, 1743, 1751, 360, 1747, 1736, 1737, 76, 1753, - 1736, 1745, 1745, 365, 1736, 365, 1737, 1735, 357, 1781, - 1785, 1727, 1778, 1720, 1743, 1740, 1740, 1734, 268, 1727, - 1720, 1725, 1719, 371, 1730, 1723, 1714, 1713, 1727, 379, - 1713, 384, 1729, 1706, 415, 387, 419, 1727, 1724, 1725, - 1723, 390, 1705, 1707, 420, 1699, 1716, 1708, 0, 386, - 439, 425, 396, 440, 453, 1707, 1830, 0, 1750, 460, - 1697, 1700, 437, 452, 1708, 458, 1751, 466, 1750, 462, - 355, 1832, 395, 1798, 331, 1756, 1766, 351, 367, 1761, - 363, 370, 373, 379, 241, 1804, 0, 446, 375, 1748, - 1750, 1746, 1754, 363, 1750, 1739, 1740, 76, 1756, 1739, - 1748, 1748, 322, 1739, 367, 1740, 1738, 359, 1784, 1788, - 1730, 1781, 1723, 1746, 1743, 1743, 1737, 349, 1730, 1723, - 1728, 1722, 381, 1733, 1726, 1717, 1716, 1730, 362, 1716, - 381, 1732, 1709, 442, 376, 390, 1730, 1727, 1728, 1726, - 417, 1708, 1710, 418, 1702, 1719, 1711, 0, 392, 428, - 441, 401, 445, 448, 1710, 1832, 0, 1753, 454, 1700, - 1703, 444, 450, 1711, 457, 1754, 460, 1753, 454, 1752, -- - 1749, 1830, 506, 1748, 472, 1709, 1701, 1688, 1704, 1701, - 1700, 1691, 448, 1740, 1734, 1700, 1679, 1687, 1682, 1696, - 1692, 1680, 1692, 1692, 1683, 1667, 1671, 1684, 1686, 1683, - 1675, 1665, 1683, 1830, 1678, 1681, 1662, 1661, 1711, 1660, - 1670, 1673, 496, 1669, 1657, 1668, 1704, 1651, 1707, 1644, - 1659, 489, 1649, 1665, 1646, 1645, 1651, 1642, 1641, 1648, - 1696, 1654, 1653, 1647, 77, 1654, 1649, 1641, 1631, 1646, - 1645, 1640, 1644, 1625, 1641, 1627, 1633, 1640, 1628, 492, - 1621, 1635, 1676, 1637, 485, 1628, 477, 1830, 1830, 485, - 1830, 1830, 1615, 0, 456, 473, 1617, 520, 490, 1671, - 1832, 498, 1751, 482, 1712, 1692, 1708, 1705, 1704, 1695, - 468, 1744, 1738, 1704, 1683, 1691, 1686, 1700, 1696, 1684, - 1696, 1696, 1687, 1671, 1675, 1688, 1690, 1687, 1679, 1669, - 1687, 1832, 1682, 1685, 1666, 1665, 1715, 1664, 1674, 1677, - 453, 1673, 1661, 1672, 1708, 1655, 1711, 1648, 1663, 505, - 1653, 1669, 1650, 1649, 1655, 1646, 1645, 1652, 1700, 1658, - 1657, 1651, 77, 1658, 1653, 1645, 1635, 1650, 1649, 1644, - 1648, 1629, 1645, 1631, 1637, 1644, 1632, 314, 1625, 1639, - 1680, 1641, 468, 1632, 484, 1832, 1832, 485, 1832, 1832, - 1619, 0, 475, 489, 1621, 524, 505, 1675, 1628, 501, -- - 1624, 484, 1830, 1669, 1830, 1663, 548, 1830, 474, 1605, - 1614, 1660, 1606, 1612, 1662, 1619, 1614, 1617, 479, 1830, - 1615, 1657, 1612, 1609, 528, 1615, 1653, 1647, 1602, 1597, - 1594, 1643, 1602, 1591, 1607, 1639, 1587, 554, 1601, 1586, - 1599, 1586, 1596, 1591, 1598, 1593, 1589, 496, 1587, 1590, - 1585, 1581, 1629, 488, 1623, 1830, 1622, 1574, 1573, 1572, - 1565, 1567, 1571, 1560, 1573, 518, 1618, 1573, 1570, 1830, - 1573, 1562, 1562, 1574, 518, 1549, 1550, 1571, 529, 1553, - 1602, 1549, 1563, 1562, 1548, 1560, 1559, 1558, 1557, 380, - 1598, 1597, 1830, 1541, 1540, 572, 1553, 1830, 1830, 1552, - 1832, 1673, 1832, 1667, 551, 1832, 502, 1609, 1665, 1611, - 1617, 1667, 1624, 1619, 1622, 491, 1832, 1620, 1662, 1617, - 1614, 540, 1620, 1658, 1652, 1607, 1602, 1599, 1648, 1607, - 1596, 1612, 1644, 1592, 548, 1606, 1591, 1604, 1591, 1601, - 1596, 1603, 1598, 1594, 500, 1592, 1595, 1590, 1586, 1634, - 509, 1628, 1832, 1627, 1579, 1578, 1577, 1570, 1572, 1576, - 1565, 1578, 530, 1623, 1578, 1575, 1832, 1578, 1567, 1567, - 1579, 521, 1554, 1555, 1576, 531, 1558, 1607, 1554, 1568, - 1567, 1553, 1565, 1564, 1563, 1562, 527, 1603, 1602, 1832, - 1546, 1545, 574, 1558, 1832, 1832, 1557, 0, 1546, 1538, -- - 0, 1541, 1533, 525, 1538, 1589, 1588, 1546, 1586, 1830, - 1534, 1584, 1830, 556, 603, 542, 1583, 1527, 1538, 1534, - 1522, 1830, 1527, 1533, 1536, 1535, 1522, 1521, 1830, 1523, - 1520, 520, 1518, 1520, 1830, 1528, 1525, 1510, 1523, 1518, - 578, 1525, 1513, 1506, 1555, 1830, 1504, 1520, 1552, 1515, - 1512, 1513, 1515, 1547, 1500, 1495, 1494, 1543, 1489, 1504, - 1482, 1489, 1494, 1542, 1830, 1489, 1485, 1483, 1492, 1486, - 1493, 1477, 1477, 1487, 1490, 1479, 1474, 1830, 1529, 1830, - 1473, 1484, 1469, 1474, 1483, 1477, 1471, 1480, 1520, 1514, - 1478, 1461, 1461, 1456, 1476, 1451, 1457, 1456, 1464, 1468, - 529, 1543, 1594, 1593, 1551, 1591, 1832, 1539, 1589, 1832, - 556, 602, 559, 1588, 1544, 1540, 1528, 1832, 1533, 1539, - 1542, 1541, 1528, 1527, 1832, 1529, 1526, 509, 1524, 1526, - 1832, 1534, 1531, 1516, 1529, 1524, 583, 1531, 1519, 1512, - 1561, 1832, 1510, 1526, 1558, 1521, 1518, 1519, 1521, 1553, - 1506, 1501, 1500, 1549, 1495, 1510, 1488, 1495, 1500, 1548, - 1832, 1495, 1491, 1489, 1498, 1492, 1499, 1483, 1483, 1493, - 1496, 1485, 1480, 1832, 1535, 1832, 1479, 1490, 1475, 1480, - 1489, 1483, 1477, 1486, 1526, 1520, 1484, 1467, 1467, 1462, - 1482, 1457, 1463, 1462, 1470, 1474, 1457, 1513, 1455, 1469, -- - 1451, 1507, 1449, 1463, 1452, 1830, 1830, 1452, 1450, 1830, - 1461, 1495, 1457, 0, 1441, 1458, 1496, 1446, 1830, 1830, - 1443, 1830, 1449, 1830, 554, 569, 592, 1830, 1446, 1445, - 1433, 1484, 1431, 1482, 1429, 1428, 1435, 1428, 1440, 1439, - 1439, 1427, 1468, 1435, 1427, 1470, 1416, 1432, 1431, 1830, - 1416, 1413, 1469, 1426, 1418, 1424, 1415, 1423, 1408, 1424, - 1406, 1420, 544, 1402, 1396, 1401, 1416, 1413, 1414, 1411, - 1452, 1409, 1830, 1395, 1397, 1406, 1404, 1441, 1440, 1393, - 562, 1402, 1385, 1386, 1383, 1830, 1397, 1376, 1395, 1387, - 1430, 1384, 1391, 1427, 1830, 1374, 1388, 1372, 1386, 1389, - 1458, 1832, 1832, 1458, 1456, 1832, 1467, 1501, 1463, 0, - 1447, 1464, 1502, 1452, 1832, 1832, 1449, 1832, 1455, 1832, - 556, 568, 596, 1832, 1452, 1440, 1491, 1438, 1489, 1436, - 1435, 1442, 1435, 1447, 1446, 1446, 1428, 1433, 1474, 1441, - 1433, 1476, 1422, 1438, 1437, 1832, 1422, 1419, 1475, 1432, - 1424, 1430, 1421, 1429, 1414, 1430, 1412, 1426, 557, 1408, - 1402, 1407, 1422, 1419, 1420, 1417, 1458, 1415, 1832, 1401, - 1403, 1412, 1410, 1447, 1446, 1399, 600, 1408, 1391, 1392, - 1389, 1832, 1403, 1382, 1401, 1393, 1436, 1390, 1397, 1433, - 1832, 1380, 1394, 1378, 1392, 1395, 1376, 1426, 1425, 1424, -- - 1370, 1420, 1419, 1418, 1365, 1416, 1415, 1830, 14, 1377, - 1377, 1375, 1358, 1363, 1365, 1830, 1371, 1361, 1830, 1406, - 1354, 1409, 571, 501, 547, 1351, 1358, 1401, 555, 1405, - 574, 1399, 1398, 1397, 1351, 1341, 1394, 1347, 1357, 1391, - 1354, 1348, 1335, 1343, 1386, 1390, 1347, 1346, 1830, 1347, - 1340, 1329, 1342, 1345, 1340, 1341, 1338, 1337, 1333, 1339, - 1334, 1375, 1374, 1324, 1314, 577, 1371, 1830, 1370, 1319, - 1311, 1312, 1361, 1324, 1311, 1322, 1830, 1310, 1319, 1318, - 1318, 1358, 1301, 1310, 1315, 1292, 1296, 1347, 1311, 1293, - 1303, 1343, 1342, 1341, 1288, 1339, 1303, 579, 594, 1280, - 1371, 1422, 1421, 1832, 14, 1383, 1383, 1381, 1364, 1369, - 1371, 1832, 1377, 1367, 1832, 1412, 1360, 1415, 573, 584, - 560, 1365, 1408, 200, 1412, 573, 1406, 1405, 1404, 1358, - 1348, 1401, 1354, 1362, 1363, 1397, 1360, 1354, 1341, 1349, - 1392, 1396, 1353, 1352, 1832, 1353, 1346, 1335, 1348, 1351, - 1346, 1347, 1344, 1343, 1339, 1345, 1340, 1381, 1380, 1330, - 1320, 575, 1377, 1832, 1376, 1325, 1317, 1318, 1367, 1330, - 1317, 1328, 1832, 1316, 1325, 1324, 1324, 1364, 1307, 1316, - 1321, 1298, 1302, 1353, 1317, 1299, 1309, 1349, 1348, 1347, - 1294, 1345, 1309, 579, 593, 1286, 1296, 577, 1832, 1346, -- - 1290, 551, 1830, 1340, 1286, 1296, 1296, 1279, 1284, 1288, - 1278, 1290, 1293, 1330, 1830, 1324, 599, 1277, 1285, 1288, - 1283, 7, 13, 91, 1830, 172, 245, 269, 359, 504, - 556, 562, 563, 561, 582, 578, 633, 592, 582, 598, - 588, 1830, 598, 607, 600, 611, 610, 653, 597, 600, - 615, 603, 660, 619, 605, 608, 1830, 1830, 618, 623, - 628, 616, 1830, 1830, 630, 617, 611, 616, 634, 621, - 669, 622, 672, 623, 679, 1830, 626, 630, 625, 683, - 638, 628, 629, 625, 638, 649, 633, 651, 646, 647, - 649, 642, 644, 645, 645, 647, 662, 701, 660, 665, - 1292, 1302, 1302, 1285, 1290, 1294, 1284, 1296, 1299, 1336, - 1832, 1330, 577, 1283, 1291, 1290, 1285, 1281, 1288, 1832, - 1276, 1289, 5, 79, 175, 244, 284, 304, 372, 381, - 411, 422, 532, 501, 531, 591, 582, 1832, 595, 595, - 598, 609, 607, 651, 595, 597, 612, 599, 657, 616, - 602, 605, 1832, 1832, 615, 620, 625, 613, 1832, 1832, - 627, 614, 608, 613, 631, 618, 666, 619, 669, 620, - 676, 1832, 623, 627, 622, 680, 635, 625, 626, 622, - 635, 646, 630, 648, 643, 644, 646, 639, 641, 642, - 642, 644, 659, 698, 657, 662, 639, 1832, 664, 654, -- - 642, 1830, 667, 657, 702, 662, 652, 667, 668, 655, - 669, 1830, 688, 696, 676, 666, 661, 714, 679, 683, - 722, 672, 667, 679, 674, 675, 671, 680, 675, 731, - 690, 681, 1830, 683, 694, 679, 695, 690, 735, 704, - 688, 689, 1830, 705, 708, 691, 748, 693, 1830, 710, - 713, 693, 711, 749, 709, 705, 700, 718, 717, 718, - 704, 719, 711, 718, 708, 726, 711, 1830, 719, 725, - 770, 1830, 721, 726, 768, 721, 733, 727, 732, 730, - 728, 730, 740, 783, 729, 729, 786, 732, 744, 1830, - 732, 740, 738, 743, 755, 739, 744, 754, 755, 760, - 699, 659, 649, 664, 665, 652, 666, 1832, 685, 693, - 673, 663, 710, 675, 679, 718, 668, 663, 675, 670, - 671, 667, 676, 671, 727, 686, 687, 678, 1832, 680, - 691, 676, 692, 687, 732, 701, 685, 686, 1832, 702, - 705, 688, 745, 690, 1832, 707, 710, 690, 708, 746, - 706, 702, 697, 715, 714, 715, 701, 716, 708, 715, - 705, 723, 708, 1832, 716, 722, 767, 1832, 718, 723, - 765, 718, 730, 724, 729, 727, 725, 727, 737, 780, - 726, 726, 783, 729, 741, 1832, 729, 737, 735, 740, - 752, 736, 741, 751, 752, 757, 796, 755, 771, 776, -- - 799, 758, 774, 779, 753, 764, 760, 756, 808, 753, - 1830, 753, 773, 762, 767, 774, 815, 816, 765, 1830, - 761, 764, 763, 783, 780, 785, 786, 772, 780, 789, - 769, 786, 793, 833, 1830, 834, 835, 788, 798, 800, - 789, 785, 792, 801, 844, 793, 791, 793, 810, 849, - 801, 800, 806, 804, 802, 855, 856, 852, 1830, 816, - 809, 800, 819, 807, 817, 814, 819, 815, 828, 828, - 1830, 812, 813, 1830, 814, 872, 813, 832, 833, 830, - 816, 837, 836, 820, 825, 843, 1830, 833, 866, 857, - 829, 888, 830, 852, 1830, 835, 837, 854, 852, 844, - 750, 761, 752, 804, 749, 1832, 749, 769, 758, 763, - 770, 811, 812, 761, 1832, 809, 758, 761, 760, 780, - 777, 782, 783, 769, 777, 786, 766, 783, 790, 830, - 1832, 831, 832, 785, 795, 797, 786, 782, 789, 798, - 841, 790, 788, 790, 807, 846, 798, 797, 803, 801, - 799, 852, 853, 849, 1832, 813, 806, 797, 816, 804, - 814, 811, 816, 812, 825, 825, 1832, 809, 810, 1832, - 811, 869, 810, 829, 830, 827, 813, 834, 833, 817, - 822, 840, 1832, 830, 863, 854, 826, 885, 848, 1832, - 831, 833, 850, 848, 840, 844, 1832, 1832, 854, 854, -- - 848, 1830, 1830, 858, 893, 842, 895, 844, 902, 847, - 858, 850, 856, 852, 871, 872, 873, 1830, 1830, 872, - 1830, 857, 859, 878, 868, 861, 873, 915, 881, 1830, - 873, 923, 866, 925, 1830, 926, 870, 876, 883, 925, - 1830, 1830, 875, 877, 891, 896, 879, 936, 895, 896, - 897, 935, 889, 894, 943, 893, 945, 1830, 894, 947, - 948, 890, 950, 911, 952, 896, 908, 913, 899, 929, - 958, 918, 1830, 918, 911, 962, 911, 926, 913, 909, - 925, 930, 912, 970, 925, 930, 1830, 931, 924, 933, - 934, 931, 921, 924, 924, 929, 982, 983, 928, 986, - 890, 839, 892, 841, 899, 844, 855, 847, 853, 849, - 868, 869, 870, 1832, 1832, 869, 1832, 854, 856, 875, - 865, 858, 870, 912, 878, 1832, 870, 920, 863, 922, - 1832, 923, 867, 873, 880, 922, 1832, 1832, 872, 874, - 888, 893, 876, 933, 892, 893, 894, 932, 886, 891, - 940, 890, 942, 1832, 891, 944, 945, 887, 947, 908, - 949, 893, 905, 910, 896, 926, 955, 915, 1832, 907, - 958, 907, 922, 909, 905, 921, 926, 913, 909, 967, - 922, 927, 1832, 928, 921, 930, 931, 928, 918, 921, - 921, 926, 979, 980, 925, 983, 979, 922, 937, 930, -- - 982, 925, 940, 933, 992, 1830, 947, 1830, 1830, 952, - 944, 954, 940, 941, 1000, 946, 956, 1003, 1830, 954, - 954, 956, 958, 1009, 952, 955, 1830, 974, 1830, 958, - 1830, 1830, 972, 1830, 966, 1830, 1016, 967, 1018, 1019, - 1001, 1830, 979, 1022, 982, 1830, 969, 977, 971, 970, - 973, 973, 974, 970, 1830, 992, 978, 979, 994, 994, - 997, 997, 994, 1036, 1000, 993, 1830, 1830, 1003, 1830, - 1000, 1005, 1006, 1003, 1045, 1830, 996, 997, 997, 1003, - 1002, 1013, 1830, 1052, 1001, 1830, 1002, 1002, 1004, 1010, - 1830, 1012, 1064, 1015, 1018, 1067, 1030, 1830, 1027, 1830, - 989, 1832, 944, 1832, 1832, 949, 941, 951, 937, 938, - 997, 943, 953, 1001, 1832, 951, 951, 953, 955, 1006, - 949, 952, 1832, 971, 1832, 955, 1832, 1832, 969, 1832, - 963, 1832, 1013, 964, 1015, 1016, 998, 1832, 976, 977, - 1832, 965, 973, 967, 966, 969, 969, 970, 977, 967, - 1832, 989, 975, 976, 991, 991, 994, 994, 991, 1033, - 997, 990, 1832, 1832, 1000, 1832, 997, 1002, 1003, 1000, - 1042, 1832, 993, 994, 994, 1000, 999, 1010, 1832, 1049, - 998, 1832, 999, 999, 1001, 1007, 1832, 1009, 1061, 1012, - 1015, 1064, 1027, 1832, 1024, 1832, 1021, 1832, 1044, 1064, -- - 1024, 1830, 1047, 1067, 1830, 1073, 1074, 1075, 1034, 1020, - 1078, 1079, 1034, 1028, 1082, 1083, 1079, 1044, 1040, 1082, - 1032, 1037, 1035, 1092, 1050, 1094, 1054, 1096, 1059, 1049, - 1043, 1059, 1059, 1103, 1047, 1064, 1063, 1047, 1103, 1104, - 1053, 1106, 1071, 1072, 1830, 1072, 1059, 1830, 1070, 1117, - 1077, 1090, 1077, 1830, 1830, 1830, 1065, 1122, 1830, 1830, - 1071, 1082, 1830, 1830, 1072, 1121, 1066, 1071, 1129, 1079, - 1089, 1090, 1830, 1133, 1088, 1830, 1135, 1830, 1080, 1095, - 1083, 1098, 1102, 1830, 1136, 1104, 1097, 1106, 1088, 1095, - 1149, 1110, 1109, 1152, 1153, 1154, 1105, 1830, 1156, 1157, - 1070, 1071, 1072, 1031, 1017, 1075, 1076, 1031, 1021, 1026, - 1080, 1081, 1077, 1042, 1038, 1080, 1030, 1035, 1033, 1090, - 1048, 1092, 1052, 1094, 1058, 1047, 1041, 1057, 1057, 1101, - 1045, 1062, 1061, 1045, 1101, 1102, 1051, 1104, 1069, 1070, - 1832, 1070, 1057, 1832, 1068, 1115, 1075, 1088, 1075, 1832, - 1832, 1832, 1063, 1120, 1832, 1832, 1069, 1067, 1081, 1832, - 1832, 1071, 1120, 1065, 1070, 1128, 1078, 1088, 1089, 1832, - 1132, 1087, 1832, 1134, 1832, 1079, 1094, 1082, 1097, 1101, - 1832, 1135, 1103, 1096, 1105, 1087, 1096, 1148, 1109, 1108, - 1151, 1152, 1153, 1104, 1832, 1155, 1156, 1103, 1158, 1832, -- - 1104, 1159, 1830, 1109, 1161, 1107, 1106, 1164, 1119, 1830, - 1161, 1114, 1111, 1830, 1125, 1830, 1128, 1171, 1126, 1173, - 1134, 1117, 1119, 1116, 1132, 1133, 1142, 1830, 1132, 1182, - 1830, 1830, 1830, 1178, 1830, 1830, 1143, 1830, 1180, 1830, - 1134, 1141, 1830, 1138, 1143, 1141, 1191, 1192, 1137, 1830, - 1152, 1830, 1153, 1143, 1155, 1198, 1142, 1150, 1151, 1164, - 1830, 1163, 1153, 1152, 1166, 1157, 1166, 1168, 1172, 1830, - 1830, 1211, 1156, 1213, 1173, 1215, 1830, 1211, 1175, 1176, - 1163, 1158, 1221, 1180, 1181, 1182, 1225, 1184, 1187, 1830, - 1228, 1830, 1191, 1830, 1173, 1231, 1232, 1177, 1194, 1830, - 1108, 1108, 1161, 1107, 1106, 1164, 1119, 1832, 1161, 1114, - 1111, 1832, 1125, 1832, 1128, 1171, 1126, 1173, 1134, 1117, - 1119, 1116, 1132, 1133, 1142, 1832, 1132, 1182, 1832, 1832, - 1832, 1178, 1832, 1832, 1143, 1832, 1180, 1137, 1832, 1135, - 1142, 1832, 1139, 1144, 1142, 1192, 1193, 1138, 1832, 1153, - 1832, 1154, 1144, 1156, 1199, 1143, 1151, 1152, 1165, 1832, - 1164, 1154, 1153, 1207, 1168, 1159, 1168, 1170, 1174, 1832, - 1832, 1213, 1158, 1215, 1175, 1217, 1832, 1213, 1177, 1178, - 1165, 1160, 1223, 1182, 1832, 1183, 1184, 1227, 1186, 1189, - 1832, 1230, 1832, 1193, 1832, 1175, 1233, 1234, 1179, 1196, -- - 1180, 1180, 1182, 1830, 1187, 1197, 1830, 1183, 1195, 1830, - 1830, 1200, 1194, 1198, 1189, 1241, 1190, 1198, 1207, 1200, - 1195, 1210, 1201, 1208, 1195, 1210, 1215, 1258, 1217, 1260, - 1205, 1221, 1212, 1226, 1222, 1215, 1830, 1267, 1830, 1268, - 1269, 1226, 1225, 1226, 1216, 1830, 1830, 1830, 1274, 1218, - 1234, 1277, 1830, 1273, 1224, 1830, 1223, 1225, 1236, 1283, - 1234, 1830, 1243, 1286, 1830, 1830, 1292, 1297, 1302, 1307, - 1312, 1317, 1322, 1325, 1299, 1304, 1306, 1319 - 1832, 1182, 1182, 1184, 1832, 1189, 1199, 1832, 1185, 1197, - 1832, 1832, 1202, 1196, 1200, 1191, 1243, 1192, 1200, 1209, - 1202, 1197, 1212, 1203, 1210, 1197, 1212, 1217, 1260, 1219, - 1262, 1207, 1223, 1214, 1228, 1224, 1217, 1832, 1269, 1832, - 1270, 1271, 1228, 1227, 1228, 1218, 1832, 1832, 1832, 1276, - 1220, 1236, 1279, 1832, 1275, 1226, 1832, 1225, 1227, 1238, - 1285, 1236, 1832, 1245, 1288, 1832, 1832, 1294, 1299, 1304, - 1309, 1314, 1319, 1324, 1327, 1301, 1306, 1308, 1321 ++ 1843, 1844, 32, 1839, 141, 0, 201, 1844, 206, 88, ++ 11, 213, 1844, 1821, 114, 25, 2, 6, 1844, 1844, ++ 73, 11, 17, 1844, 1844, 1844, 104, 1827, 1782, 0, ++ 1819, 107, 1834, 217, 247, 1844, 1778, 185, 1777, 1783, ++ 93, 58, 1775, 91, 211, 195, 14, 273, 195, 1774, ++ 181, 275, 207, 211, 76, 68, 188, 1783, 232, 219, ++ 296, 284, 280, 1766, 204, 302, 322, 305, 1785, 0, ++ 349, 357, 370, 377, 362, 1844, 0, 1844, 301, 342, ++ 296, 325, 201, 346, 359, 224, 1844, 1782, 1821, 1844, ++ ++ 353, 1844, 390, 1810, 357, 1768, 1778, 369, 220, 1773, ++ 362, 288, 364, 374, 221, 1816, 0, 441, 366, 1760, ++ 1757, 1761, 1757, 1765, 360, 1761, 1750, 1751, 76, 1767, ++ 1750, 1759, 1759, 365, 1750, 365, 1751, 1749, 357, 1795, ++ 1799, 1741, 1792, 1734, 1757, 1754, 1754, 1748, 268, 1741, ++ 1734, 1739, 1733, 371, 1744, 1737, 1728, 1727, 1741, 379, ++ 1727, 384, 1743, 1720, 415, 387, 419, 1741, 1738, 1739, ++ 1737, 390, 1719, 1721, 420, 1713, 1730, 1722, 0, 386, ++ 439, 425, 396, 440, 453, 1721, 1844, 0, 1764, 460, ++ 1711, 1714, 437, 452, 1722, 458, 1765, 466, 1764, 462, ++ ++ 1763, 1844, 506, 1762, 472, 1723, 1715, 1702, 1718, 1715, ++ 1714, 1705, 448, 1754, 1748, 1714, 1693, 1701, 1696, 1710, ++ 1706, 1694, 1706, 1706, 1697, 1681, 1685, 1698, 1700, 1697, ++ 1689, 1679, 1697, 1844, 1692, 1695, 1676, 1675, 1725, 1674, ++ 1684, 1687, 496, 1683, 1671, 1682, 1718, 1665, 1721, 1658, ++ 1673, 489, 1663, 1679, 1660, 1659, 1665, 1656, 1655, 1662, ++ 1710, 1668, 1667, 1661, 77, 1668, 1663, 1655, 1645, 1660, ++ 1659, 1654, 1658, 1639, 1655, 1641, 1647, 1654, 1642, 492, ++ 1635, 1649, 1690, 1651, 485, 1642, 477, 1844, 1844, 485, ++ 1844, 1844, 1629, 0, 456, 473, 1631, 520, 490, 1685, ++ ++ 1638, 484, 1844, 1683, 1844, 1677, 548, 1844, 474, 1619, ++ 1628, 1674, 1620, 1626, 1676, 1633, 1628, 1631, 479, 1844, ++ 1629, 1671, 1626, 1623, 528, 1629, 1667, 1661, 1616, 1611, ++ 1608, 1657, 1616, 1605, 1621, 1653, 1601, 554, 1615, 1600, ++ 1613, 1600, 1610, 1605, 1612, 1607, 1603, 496, 1601, 1604, ++ 1599, 1595, 1643, 488, 1637, 1844, 1636, 1588, 1587, 1586, ++ 1579, 1581, 1585, 1574, 1587, 518, 1632, 1587, 1584, 1844, ++ 1587, 1576, 1576, 1588, 518, 1563, 1564, 1585, 529, 1567, ++ 1616, 1563, 1577, 1576, 1562, 1574, 1573, 1572, 1571, 380, ++ 1612, 1611, 1844, 1555, 1554, 572, 1567, 1844, 1844, 1566, ++ ++ 0, 1555, 1547, 525, 1552, 1603, 1602, 1560, 1600, 1844, ++ 1548, 1598, 1844, 556, 603, 542, 1597, 1541, 1552, 1548, ++ 1536, 1844, 1541, 1547, 1550, 1549, 1536, 1535, 1844, 1537, ++ 1534, 538, 1532, 1534, 1844, 1542, 1539, 1524, 1537, 1532, ++ 578, 1539, 1527, 1520, 1569, 1844, 1518, 1534, 1566, 1529, ++ 1526, 1527, 1529, 1561, 1514, 1509, 1508, 1557, 1503, 1518, ++ 1496, 1503, 1508, 1556, 1844, 1503, 1499, 1497, 1506, 1500, ++ 1507, 1491, 1491, 1501, 1504, 1493, 1488, 1844, 1543, 1844, ++ 1487, 1498, 1483, 1488, 1497, 1491, 1485, 1494, 1534, 1528, ++ 1492, 1475, 1475, 1470, 1490, 1465, 1471, 1470, 1478, 1482, ++ ++ 1465, 1521, 1463, 1477, 1466, 1844, 1844, 1466, 1464, 1844, ++ 1475, 1509, 1471, 0, 1455, 1472, 1510, 1460, 1844, 1844, ++ 1457, 1844, 1463, 1844, 551, 569, 595, 1844, 1460, 1459, ++ 1447, 1498, 1445, 1496, 1443, 1442, 1449, 1442, 1454, 1453, ++ 1453, 1435, 1440, 1481, 1448, 1440, 1483, 1429, 1445, 1444, ++ 1844, 1429, 1426, 1482, 1439, 1431, 1437, 1428, 1436, 1421, ++ 1437, 1419, 1433, 520, 1415, 1409, 1414, 1429, 1426, 1427, ++ 1424, 1465, 1422, 1844, 1408, 1410, 1419, 1417, 1454, 1453, ++ 1406, 562, 1415, 1398, 1399, 1396, 1844, 1410, 1389, 1408, ++ 1400, 1443, 1397, 1404, 1440, 1844, 1387, 1401, 1385, 1399, ++ ++ 1402, 1383, 1433, 1432, 1431, 1378, 1429, 1428, 1844, 14, ++ 1390, 1390, 1388, 1371, 1376, 1378, 1844, 1384, 1374, 1844, ++ 1419, 1367, 1422, 568, 501, 558, 1364, 1371, 1414, 562, ++ 1418, 544, 1412, 1411, 1410, 1364, 1354, 1407, 1360, 1368, ++ 1369, 1403, 1366, 1360, 1347, 1355, 1398, 1402, 1359, 1358, ++ 1844, 1359, 1352, 1341, 1354, 1357, 1352, 1353, 1350, 1349, ++ 1345, 1351, 1346, 1387, 1386, 1336, 1326, 577, 1383, 1844, ++ 1382, 1331, 1323, 1324, 1373, 1336, 1323, 1334, 1844, 1322, ++ 1331, 1330, 1330, 1370, 1313, 1322, 1327, 1304, 1308, 1359, ++ 1323, 1305, 1315, 1355, 1354, 1353, 1300, 1351, 1315, 581, ++ ++ 594, 1292, 1302, 579, 1844, 1352, 1298, 1308, 1308, 1291, ++ 1296, 1300, 1290, 1302, 1305, 1342, 1844, 1336, 600, 1289, ++ 1297, 15, 20, 86, 175, 242, 1844, 274, 374, 536, ++ 548, 550, 577, 574, 564, 575, 574, 585, 582, 637, ++ 596, 595, 611, 601, 1844, 612, 612, 605, 616, 615, ++ 658, 602, 604, 619, 606, 664, 623, 609, 612, 1844, ++ 1844, 622, 627, 632, 620, 1844, 1844, 634, 621, 615, ++ 620, 638, 625, 673, 626, 676, 627, 683, 1844, 630, ++ 634, 629, 687, 642, 632, 633, 629, 642, 653, 637, ++ 655, 650, 651, 653, 646, 648, 649, 649, 651, 666, ++ ++ 705, 664, 669, 646, 1844, 671, 661, 706, 666, 656, ++ 671, 672, 659, 673, 1844, 692, 700, 680, 670, 665, ++ 718, 683, 687, 726, 676, 671, 683, 678, 679, 675, ++ 684, 679, 735, 694, 695, 686, 1844, 688, 699, 684, ++ 701, 695, 741, 709, 693, 694, 1844, 710, 713, 696, ++ 753, 698, 1844, 715, 718, 698, 716, 754, 714, 710, ++ 705, 723, 722, 723, 709, 724, 716, 723, 713, 731, ++ 716, 1844, 724, 730, 775, 1844, 726, 731, 773, 726, ++ 738, 732, 737, 735, 733, 735, 745, 788, 734, 734, ++ 791, 737, 749, 1844, 737, 745, 743, 748, 760, 744, ++ ++ 749, 759, 760, 765, 804, 763, 779, 784, 758, 769, ++ 765, 761, 813, 758, 1844, 758, 778, 767, 772, 779, ++ 820, 821, 770, 1844, 818, 767, 770, 769, 789, 786, ++ 791, 792, 778, 786, 795, 777, 792, 799, 839, 1844, ++ 840, 841, 794, 804, 806, 795, 791, 798, 807, 850, ++ 799, 797, 799, 816, 855, 807, 806, 812, 810, 808, ++ 861, 862, 858, 1844, 822, 815, 806, 825, 813, 823, ++ 820, 825, 821, 834, 834, 1844, 818, 819, 1844, 820, ++ 878, 819, 838, 839, 836, 822, 843, 842, 826, 831, ++ 849, 1844, 839, 872, 863, 835, 894, 836, 858, 1844, ++ ++ 841, 843, 860, 858, 850, 854, 1844, 1844, 864, 864, ++ 900, 849, 902, 851, 909, 854, 865, 857, 863, 860, ++ 878, 879, 880, 1844, 1844, 879, 1844, 865, 866, 885, ++ 875, 868, 880, 922, 888, 1844, 880, 930, 873, 932, ++ 1844, 933, 877, 883, 890, 932, 1844, 1844, 882, 884, ++ 898, 903, 886, 943, 902, 903, 904, 942, 896, 901, ++ 950, 900, 952, 1844, 901, 954, 955, 897, 957, 918, ++ 959, 903, 915, 920, 906, 936, 965, 925, 1844, 925, ++ 918, 969, 918, 933, 920, 916, 932, 937, 924, 920, ++ 978, 933, 938, 1844, 939, 932, 941, 942, 939, 929, ++ ++ 932, 932, 937, 990, 991, 937, 994, 990, 933, 948, ++ 942, 1000, 1844, 955, 1844, 1844, 960, 952, 962, 948, ++ 949, 1008, 954, 964, 1012, 1844, 962, 962, 964, 966, ++ 1017, 960, 963, 1844, 982, 1844, 966, 1844, 1844, 980, ++ 1844, 974, 1844, 1024, 975, 1026, 1027, 1009, 1844, 987, ++ 1030, 990, 1844, 977, 985, 979, 978, 981, 981, 982, ++ 989, 979, 1844, 1001, 987, 988, 1003, 1003, 1006, 1006, ++ 1003, 1045, 1010, 1002, 1844, 1844, 1012, 1844, 1009, 1014, ++ 1015, 1012, 1054, 1844, 1005, 1006, 1006, 1012, 1011, 1022, ++ 1844, 1061, 1010, 1844, 1011, 1011, 1013, 1019, 1844, 1021, ++ ++ 1073, 1024, 1027, 1076, 1039, 1844, 1036, 1844, 1033, 1844, ++ 1056, 1076, 1844, 1082, 1083, 1084, 1043, 1029, 1087, 1088, ++ 1043, 1033, 1038, 1092, 1093, 1089, 1054, 1050, 1092, 1042, ++ 1047, 1045, 1102, 1060, 1104, 1064, 1106, 1070, 1059, 1053, ++ 1069, 1069, 1113, 1057, 1074, 1073, 1057, 1113, 1114, 1063, ++ 1116, 1081, 1082, 1844, 1082, 1069, 1844, 1080, 1127, 1087, ++ 1100, 1087, 1844, 1844, 1844, 1075, 1132, 1844, 1844, 1081, ++ 1079, 1093, 1844, 1844, 1083, 1132, 1077, 1082, 1140, 1090, ++ 1100, 1101, 1844, 1144, 1099, 1844, 1146, 1844, 1091, 1106, ++ 1094, 1109, 1113, 1844, 1147, 1115, 1108, 1117, 1099, 1108, ++ ++ 1160, 1121, 1120, 1163, 1164, 1165, 1116, 1844, 1167, 1168, ++ 1115, 1170, 1844, 1120, 1120, 1173, 1119, 1118, 1176, 1131, ++ 1844, 1173, 1126, 1123, 1844, 1137, 1844, 1140, 1183, 1138, ++ 1185, 1146, 1129, 1131, 1128, 1144, 1145, 1154, 1844, 1144, ++ 1194, 1844, 1844, 1844, 1190, 1844, 1844, 1155, 1844, 1192, ++ 1149, 1844, 1147, 1154, 1844, 1151, 1156, 1154, 1204, 1205, ++ 1150, 1844, 1165, 1844, 1166, 1156, 1168, 1211, 1155, 1163, ++ 1164, 1177, 1844, 1176, 1166, 1165, 1219, 1180, 1171, 1180, ++ 1182, 1186, 1844, 1844, 1225, 1170, 1227, 1187, 1229, 1844, ++ 1225, 1189, 1190, 1177, 1172, 1235, 1194, 1844, 1195, 1196, ++ ++ 1239, 1198, 1201, 1844, 1242, 1844, 1205, 1844, 1187, 1245, ++ 1246, 1191, 1208, 1844, 1194, 1194, 1196, 1844, 1201, 1211, ++ 1844, 1197, 1209, 1844, 1844, 1214, 1208, 1212, 1203, 1255, ++ 1204, 1212, 1221, 1214, 1209, 1224, 1215, 1222, 1209, 1224, ++ 1229, 1272, 1231, 1274, 1219, 1235, 1226, 1240, 1236, 1229, ++ 1844, 1281, 1844, 1282, 1283, 1240, 1239, 1240, 1230, 1844, ++ 1844, 1844, 1288, 1232, 1248, 1291, 1844, 1287, 1238, 1844, ++ 1237, 1239, 1250, 1297, 1248, 1844, 1257, 1300, 1844, 1844, ++ 1306, 1311, 1316, 1321, 1326, 1331, 1336, 1339, 1313, 1318, ++ 1320, 1333 ++ } ; - static const flex_int16_t yy_def[1479] = -static const flex_int16_t yy_def[1480] = ++static const flex_int16_t yy_def[1493] = { 0, - 1467, 1467, 1468, 1468, 1467, 1467, 1467, 1467, 1467, 1467, - 1466, 1466, 1466, 1466, 1466, 1469, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1470, - 1466, 1466, 1466, 1471, 15, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1472, 45, 45, - 1468, 1468, 1469, 1469, 1468, 1468, 1468, 1468, 1468, 1468, - 1467, 1467, 1467, 1467, 1467, 1470, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1471, - 1467, 1467, 1467, 1472, 15, 1467, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1473, 45, 45, ++ 1481, 1481, 1482, 1482, 1481, 1481, 1481, 1481, 1481, 1481, ++ 1480, 1480, 1480, 1480, 1480, 1483, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1484, ++ 1480, 1480, 1480, 1485, 15, 1480, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1486, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1469, - 1466, 1466, 1466, 1466, 1466, 1466, 1473, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1470, 1466, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1470, - 1467, 1467, 1467, 1467, 1467, 1467, 1474, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1471, 1467, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1483, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1487, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1484, 1480, - 1471, 1466, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1474, 45, 1472, 45, 45, - 1472, 1467, 1467, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1475, 45, 1473, 45, 45, ++ 1485, 1480, 1480, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1488, 45, 1486, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1473, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1475, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1487, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1489, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1474, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1476, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1475, - 1474, 1466, 1472, 45, 45, 45, 45, 45, 45, 45, - 1467, 1473, 45, 45, 45, 45, 45, 45, 45, 45, ++ 1488, 1480, 1486, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1466, 45, 45, 45, 45, 45, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1476, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1477, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1490, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 1466, 45, 1472, 1466, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 1467, 45, 1467, 45, 1473, 1467, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, ++ 45, 45, 1480, 45, 1480, 45, 1486, 1480, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1467, - 45, 45, 45, 45, 1467, 1467, 1467, 1478, 45, 45, - - 45, 45, 45, 45, 45, 45, 1467, 45, 45, 1467, - 45, 1473, 45, 45, 45, 45, 45, 1467, 45, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1467, 45, 1467, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 1466, 1466, 1466, ++ 45, 45, 1480, 45, 45, 45, 45, 1480, 1480, 1480, - 1477, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 1466, 45, 1472, 45, 45, 45, 45, 45, - 45, 1466, 45, 45, 45, 45, 45, 45, 1466, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 1467, 1467, 45, 45, 1467, 45, 45, 1467, 1479, - 45, 45, 45, 45, 1467, 1467, 45, 1467, 45, 1467, - 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, ++ 1491, 45, 45, 45, 45, 45, 45, 45, 45, 1480, ++ 45, 45, 1480, 45, 1486, 45, 45, 45, 45, 45, ++ 45, 1480, 45, 45, 45, 45, 45, 45, 1480, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 1466, - 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1480, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 1466, 45, 45, 1466, - 45, 45, 1466, 1478, 45, 45, 45, 45, 1466, 1466, - 45, 1466, 45, 1466, 45, 45, 45, 1466, 45, 45, - 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, - 45, 1467, 45, 45, 1467, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 1480, 45, 45, 1480, ++ 45, 45, 1480, 1492, 45, 45, 45, 45, 1480, 1480, ++ 45, 1480, 45, 1480, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, - 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, ++ 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 45, 1466, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1466, 45, - 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 45, 45, 45, - 45, 45, 1467, 1467, 45, 45, 45, 45, 1467, 1467, ++ 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1480, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 1466, 45, 45, - 45, 45, 1466, 1466, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1480, ++ 1480, 45, 45, 45, 45, 1480, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1467, 45, 45, 45, 1467, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 45, 1466, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, - 45, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1467, 45, 45, 1467, ++ 45, 1480, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1467, 45, 45, 45, 45, 45, 45, 1467, - 45, 45, 45, 45, 45, 45, 1467, 1467, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1466, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 1467, 1467, 45, 1467, 45, 45, 45, - 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 1467, 1467, 45, 45, ++ 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1466, 45, - 45, 45, 1467, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1466, 45, 45, 1466, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - - 45, 1466, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 1466, 45, - 1466, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 1466, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, ++ 45, 1480, 45, 45, 45, 45, 45, 45, 45, 1480, + - 45, 1467, 45, 1467, 1467, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, - 45, 45, 1467, 45, 1467, 45, 1467, 1467, 45, 1467, - 45, 1467, 45, 45, 45, 45, 45, 1467, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1467, 1467, 45, 1467, 45, 45, 45, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 1467, 45, - 45, 1467, 45, 45, 45, 45, 1467, 45, 45, 45, - 45, 45, 45, 1467, 45, 1467, 45, 1467, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1480, 1480, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 45, 45, 45, ++ 45, 45, 45, 1480, 1480, 45, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, ++ 1480, 45, 45, 45, 45, 45, 1480, 1480, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1466, 45, 1466, 1466, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1466, 45, - 45, 45, 45, 45, 45, 45, 1466, 45, 1466, 45, - 1466, 1466, 45, 1466, 45, 1466, 45, 45, 45, 45, - 45, 1466, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 1466, 45, 1466, - 45, 45, 45, 45, 45, 1466, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 1466, 45, 45, 45, 45, - 1466, 45, 45, 45, 45, 45, 45, 1466, 45, 1466, - - 45, 1466, 45, 45, 1466, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1480, 45, 1480, 1480, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 1480, 45, 1480, 1480, 45, ++ 1480, 45, 1480, 45, 45, 45, 45, 45, 1480, 45, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1480, 1480, 45, 1480, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 1480, 45, 45, 1480, 45, 45, 45, 45, 1480, 45, ++ ++ 45, 45, 45, 45, 45, 1480, 45, 1480, 45, 1480, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 1480, 45, 45, 45, ++ 45, 45, 1480, 1480, 1480, 45, 45, 1480, 1480, 45, ++ 45, 45, 1480, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1480, 45, 45, 1480, 45, 1480, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 45, 45, 45, ++ ++ 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, ++ 1480, 45, 45, 45, 1480, 45, 1480, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1480, 45, ++ 45, 1480, 1480, 1480, 45, 1480, 1480, 45, 1480, 45, ++ 45, 1480, 45, 45, 1480, 45, 45, 45, 45, 45, ++ 45, 1480, 45, 1480, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1480, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1480, 1480, 45, 45, 45, 45, 45, 1480, ++ 45, 45, 45, 45, 45, 45, 45, 1480, 45, 45, ++ ++ 45, 45, 45, 1480, 45, 1480, 45, 1480, 45, 45, ++ 45, 45, 45, 1480, 45, 45, 45, 1480, 45, 45, ++ 1480, 45, 45, 1480, 1480, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1466, 45, 45, 1466, 45, 45, - 45, 45, 45, 1466, 1466, 1466, 45, 45, 1466, 1466, - 45, 45, 1466, 1466, 45, 45, 45, 45, 45, 45, - 45, 45, 1466, 45, 45, 1466, 45, 1466, 45, 45, - 45, 45, 45, 1466, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, - 1467, 45, 45, 1467, 45, 45, 45, 45, 45, 1467, - 1467, 1467, 45, 45, 1467, 1467, 45, 45, 45, 1467, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 1467, - 45, 45, 1467, 45, 1467, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 1467, -- - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 1466, 45, 1466, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1466, 45, 45, - 1466, 1466, 1466, 45, 1466, 1466, 45, 1466, 45, 1466, - 45, 45, 1466, 45, 45, 45, 45, 45, 45, 1466, - 45, 1466, 45, 45, 45, 45, 45, 45, 45, 45, - 1466, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 1466, 45, 45, 45, 45, 45, 1466, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1466, - 45, 1466, 45, 1466, 45, 45, 45, 45, 45, 1466, - 45, 45, 45, 45, 45, 45, 45, 1467, 45, 45, - 45, 1467, 45, 1467, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1467, 45, 45, 1467, 1467, - 1467, 45, 1467, 1467, 45, 1467, 45, 45, 1467, 45, - 45, 1467, 45, 45, 45, 45, 45, 45, 1467, 45, - 1467, 45, 45, 45, 45, 45, 45, 45, 45, 1467, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1467, - 1467, 45, 45, 45, 45, 45, 1467, 45, 45, 45, - 45, 45, 45, 45, 1467, 45, 45, 45, 45, 45, - 1467, 45, 1467, 45, 1467, 45, 45, 45, 45, 45, -- - 45, 45, 45, 1466, 45, 45, 1466, 45, 45, 1466, - 1466, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1467, 45, 45, 45, 1467, 45, 45, 1467, 45, 45, - 1467, 1467, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 45, 1466, 45, - 45, 45, 45, 45, 45, 1466, 1466, 1466, 45, 45, - 45, 45, 1466, 45, 45, 1466, 45, 45, 45, 45, - 45, 1466, 45, 45, 1466, 0, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466 - 45, 45, 45, 45, 45, 45, 45, 1467, 45, 1467, - 45, 45, 45, 45, 45, 45, 1467, 1467, 1467, 45, - 45, 45, 45, 1467, 45, 45, 1467, 45, 45, 45, - 45, 45, 1467, 45, 45, 1467, 0, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467 ++ 1480, 45, 1480, 45, 45, 45, 45, 45, 45, 1480, ++ 1480, 1480, 45, 45, 45, 45, 1480, 45, 45, 1480, ++ 45, 45, 45, 45, 45, 1480, 45, 45, 1480, 0, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480 ++ } ; - static const flex_int16_t yy_nxt[1902] = -static const flex_int16_t yy_nxt[1904] = ++static const flex_int16_t yy_nxt[1916] = { 0, - 1466, 13, 14, 13, 1466, 15, 16, 1466, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 86, 703, - 37, 14, 37, 87, 25, 26, 38, 1466, 704, 27, - 1467, 13, 14, 13, 1467, 15, 16, 1467, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 86, 699, - 37, 14, 37, 87, 25, 26, 38, 1467, 700, 27, ++ 1480, 13, 14, 13, 1480, 15, 16, 1480, 17, 18, ++ 19, 20, 21, 22, 22, 22, 23, 24, 86, 705, ++ 37, 14, 37, 87, 25, 26, 38, 1480, 706, 27, 37, 14, 37, 42, 28, 42, 38, 92, 93, 29, 115, 30, 13, 14, 13, 91, 92, 25, 31, 93, - 13, 14, 13, 13, 14, 13, 32, 40, 819, 13, - 14, 13, 33, 40, 115, 92, 93, 820, 91, 34, - 13, 14, 13, 13, 14, 13, 32, 40, 1467, 13, - 14, 13, 33, 40, 115, 92, 93, 819, 91, 34, ++ 13, 14, 13, 13, 14, 13, 32, 40, 820, 13, ++ 14, 13, 33, 40, 115, 92, 93, 821, 91, 34, 35, 13, 14, 13, 95, 15, 16, 96, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 13, 14, 13, 109, 39, 91, 25, 26, 13, 14, 13, 27, 39, 85, 85, 85, 28, 42, 41, 42, 42, 29, 42, 30, 83, 108, 41, 111, 94, 25, 31, 109, - 215, 216, 89, 136, 89, 138, 32, 90, 90, 90, - 137, 371, 33, 139, 372, 83, 108, 820, 111, 34, + 217, 218, 89, 137, 89, 139, 32, 90, 90, 90, - 138, 374, 33, 140, 375, 83, 108, 821, 111, 34, ++ 138, 374, 33, 140, 375, 83, 108, 822, 111, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 45, 45, 45, 48, 45, 49, 50, 45, 51, 45, 52, 53, @@@ -1267,202 -1267,202 +1274,203 @@@ 74, 75, 76, 77, 78, 79, 57, 45, 45, 45, 45, 45, 81, 105, 82, 82, 82, 81, 114, 84, - 84, 84, 102, 105, 81, 83, 84, 84, 84, 822, - 84, 84, 102, 105, 81, 83, 84, 84, 84, 108, - 83, 181, 122, 112, 140, 123, 821, 83, 124, 105, - 125, 114, 126, 113, 141, 718, 142, 132, 83, 119, - 159, 719, 108, 83, 160, 120, 112, 103, 133, 181, - 83, 45, 148, 135, 161, 199, 149, 45, 134, 45, - 45, 113, 45, 163, 45, 45, 45, 164, 117, 144, - 145, 45, 45, 146, 45, 45, 150, 822, 199, 147, ++ 84, 84, 102, 105, 81, 83, 84, 84, 84, 823, + 83, 108, 123, 112, 141, 124, 182, 83, 125, 105, + 126, 114, 127, 113, 142, 200, 143, 164, 83, 119, + 194, 165, 133, 83, 108, 120, 112, 103, 121, 182, + 83, 45, 149, 134, 182, 136, 150, 45, 200, 45, + 45, 113, 45, 135, 45, 45, 45, 194, 117, 145, - 146, 45, 45, 147, 45, 45, 151, 185, 823, 148, ++ 146, 45, 45, 147, 45, 45, 151, 185, 824, 148, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 90, 90, 90, 45, 127, 301, - 111, 45, 128, 179, 387, 129, 130, 181, 114, 45, - 165, 823, 154, 45, 166, 45, 118, 167, 131, 151, - 155, 152, 156, 153, 168, 169, 112, 157, 158, 179, - 170, 174, 85, 85, 85, 184, 113, 90, 90, 90, - 102, 175, 824, 83, 180, 221, 176, 222, 189, 171, - 81, 172, 82, 82, 82, 89, 179, 89, 180, 192, - 90, 90, 90, 83, 113, 81, 83, 84, 84, 84, - 180, 173, 85, 85, 85, 103, 189, 193, 83, 195, - - 101, 196, 182, 83, 183, 192, 83, 101, 197, 209, - 198, 240, 189, 228, 224, 241, 229, 195, 210, 211, - 230, 83, 252, 253, 193, 285, 83, 195, 196, 203, - 225, 269, 270, 825, 285, 101, 197, 198, 255, 101, - 204, 256, 257, 101, 826, 195, 271, 246, 196, 198, - 272, 101, 260, 285, 273, 101, 286, 101, 187, 202, - 202, 202, 288, 345, 827, 287, 202, 202, 202, 202, - 202, 202, 287, 286, 294, 278, 281, 297, 392, 298, - 828, 300, 286, 304, 302, 261, 262, 263, 287, 202, - 202, 202, 202, 202, 202, 290, 264, 294, 265, 289, - - 266, 267, 294, 268, 300, 297, 298, 302, 395, 395, - 304, 305, 305, 305, 346, 356, 314, 347, 305, 305, - 305, 305, 305, 305, 315, 307, 399, 401, 393, 406, - 316, 395, 396, 409, 422, 474, 400, 829, 403, 404, - 401, 305, 305, 305, 305, 305, 305, 405, 830, 357, - 428, 423, 406, 442, 429, 536, 401, 462, 443, 455, - 456, 409, 513, 358, 412, 412, 412, 463, 537, 413, - 538, 412, 412, 412, 412, 412, 412, 483, 488, 506, - 500, 484, 489, 501, 507, 521, 619, 522, 546, 831, - 513, 475, 513, 547, 412, 412, 412, 412, 412, 412, - - 620, 615, 655, 656, 444, 673, 621, 712, 713, 445, - 810, 714, 521, 619, 522, 45, 45, 45, 721, 722, - 523, 715, 45, 45, 45, 45, 45, 45, 620, 757, - 788, 713, 758, 796, 832, 712, 833, 789, 810, 797, - 834, 835, 674, 790, 791, 45, 45, 45, 45, 45, - 45, 792, 836, 837, 838, 793, 839, 841, 842, 843, - 844, 840, 845, 846, 847, 848, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 859, 860, 861, 858, 862, - 863, 864, 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, 900, 901, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, - 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, - 900, 923, 924, 899, 925, 926, 927, 928, 929, 930, - 931, 933, 934, 935, 936, 937, 938, 939, 940, 941, - 942, 943, 944, 945, 946, 947, 948, 949, 950, 952, - 953, 954, 955, 956, 957, 958, 959, 960, 961, 951, - 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, - 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, - - 982, 983, 984, 985, 987, 986, 932, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 985, 986, 1012, 1013, 1014, 1015, 1017, 1019, 1020, - 1021, 1016, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1018, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, - - 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, - 1066, 1089, 1090, 1091, 1092, 1093, 1067, 1094, 1095, 1096, - 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 1121, 1122, 1123, 1124, 1125, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1143, 1144, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, - 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1137, 1166, 1167, - 1168, 1169, 1171, 1120, 1172, 1173, 1174, 1175, 1176, 1170, - - 1177, 1178, 1179, 1180, 1181, 1142, 1182, 1183, 1184, 1185, - 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, - 1196, 1198, 1199, 1200, 1201, 1197, 1202, 1203, 1204, 1205, - 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, 1199, 1221, 1222, 1223, 1224, - 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, - 1235, 1236, 1237, 1238, 1239, 1240, 1241, 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, 1272, 1273, 1274, 1275, - - 1248, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, - 1285, 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, - 1297, 1271, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 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, 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, 1399, 1400, 1401, 1402, - 1403, 1404, 1405, 1406, 1407, 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, 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, 12, 12, 12, 12, 12, 36, - - 36, 36, 36, 36, 80, 292, 80, 80, 80, 99, - 398, 99, 510, 99, 101, 101, 101, 101, 101, 116, - 116, 116, 116, 116, 178, 101, 178, 178, 178, 200, - 200, 200, 818, 817, 816, 815, 814, 813, 812, 811, - 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, - 799, 798, 795, 794, 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, 736, 735, 734, 733, 732, 731, 730, - 729, 728, 727, 726, 725, 724, 723, 720, 717, 716, - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 698, 697, 696, 695, 694, 693, 692, 691, 690, - 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, - 679, 678, 677, 676, 675, 672, 671, 670, 669, 668, - 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, - 657, 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, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 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, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 550, 549, 548, 545, 544, 543, 542, 541, - 540, 539, 535, 534, 533, 532, 531, 530, 529, 528, - 527, 526, 525, 524, 520, 519, 518, 517, 516, 515, - - 514, 512, 511, 509, 508, 505, 504, 503, 502, 499, - 498, 497, 496, 495, 494, 493, 492, 491, 490, 487, - 486, 485, 482, 481, 480, 479, 478, 477, 476, 473, - 472, 471, 470, 469, 468, 467, 466, 465, 464, 461, - 460, 459, 458, 457, 454, 453, 452, 451, 450, 449, - 448, 447, 446, 441, 440, 439, 438, 437, 436, 435, - 434, 433, 432, 431, 430, 427, 426, 425, 424, 421, - 420, 419, 418, 417, 416, 415, 414, 411, 410, 408, - 407, 402, 397, 394, 391, 390, 389, 388, 386, 385, - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - - 374, 373, 370, 369, 368, 367, 366, 365, 364, 363, - 362, 361, 360, 359, 355, 354, 353, 352, 351, 350, - 349, 348, 344, 343, 342, 341, 340, 339, 338, 337, - 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, - 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, - 313, 312, 311, 310, 309, 308, 306, 201, 303, 301, - 299, 296, 295, 293, 291, 284, 283, 282, 280, 279, - 277, 276, 275, 274, 259, 258, 254, 251, 250, 249, - 248, 247, 245, 244, 243, 242, 239, 238, 237, 236, - 235, 234, 233, 232, 231, 227, 226, 223, 220, 219, - - 218, 217, 214, 213, 212, 208, 207, 206, 205, 201, - 194, 191, 190, 188, 186, 185, 177, 162, 143, 121, - 110, 107, 106, 104, 43, 100, 98, 97, 88, 43, - 1467, 11, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - - 1467, 1467, 1467 + 45, 45, 45, 45, 90, 90, 90, 45, 128, 197, + 111, 45, 129, 160, 180, 130, 131, 161, 114, 45, - 242, 824, 155, 45, 243, 45, 118, 162, 132, 152, ++ 242, 825, 155, 45, 243, 45, 118, 162, 132, 152, + 156, 153, 157, 154, 112, 166, 197, 158, 159, 167, + 180, 175, 168, 181, 113, 90, 90, 90, 102, 169, + 170, 176, 85, 85, 85, 171, 177, 172, 81, 173, + 82, 82, 82, 83, 180, 85, 85, 85, 89, 181, + 89, 83, 113, 90, 90, 90, 83, 181, 81, 174, + 84, 84, 84, 103, 190, 101, 83, 193, 196, 198, + + 183, 83, 101, 190, 83, 199, 211, 196, 223, 83, - 224, 230, 226, 184, 231, 212, 213, 825, 232, 287, ++ 224, 230, 226, 184, 231, 212, 213, 826, 232, 287, + 204, 197, 190, 193, 83, 262, 196, 198, 227, 287, + 101, 205, 199, 504, 101, 196, 505, 248, 101, 254, + 255, 257, 271, 272, 258, 259, 101, 287, 280, 289, + 101, 199, 101, 188, 203, 203, 203, 290, 263, 264, + 265, 203, 203, 203, 203, 203, 203, 288, 288, 266, + 299, 267, 289, 268, 269, 273, 270, 289, 283, 274, + 296, 300, 302, 275, 203, 203, 203, 203, 203, 203, + 304, 306, 296, 288, 291, 395, 317, 303, 299, 359, + + 292, 398, 390, 296, 318, 302, 348, 402, 300, 398, + 319, 404, 404, 304, 409, 309, 412, 403, 306, 307, - 307, 307, 426, 478, 398, 717, 307, 307, 307, 307, ++ 307, 307, 426, 478, 398, 719, 307, 307, 307, 307, + 307, 307, 399, 360, 406, 407, 466, 409, 432, 427, - 404, 416, 433, 408, 412, 396, 467, 361, 717, 307, ++ 404, 416, 433, 408, 412, 396, 467, 361, 719, 307, + 307, 307, 307, 307, 307, 459, 460, 349, 517, 446, - 350, 415, 415, 415, 447, 826, 541, 677, 415, 415, ++ 350, 415, 415, 415, 447, 661, 662, 679, 415, 415, + 415, 415, 415, 415, 487, 517, 492, 510, 488, 479, - 493, 542, 511, 550, 623, 525, 517, 526, 551, 659, - 660, 415, 415, 415, 415, 415, 415, 619, 718, 827, - - 723, 624, 625, 527, 678, 716, 724, 800, 719, 828, - 448, 623, 525, 801, 526, 449, 45, 45, 45, 726, - 727, 829, 830, 45, 45, 45, 45, 45, 45, 624, - 792, 761, 814, 716, 762, 831, 832, 793, 833, 834, - 835, 836, 837, 838, 794, 795, 45, 45, 45, 45, - 45, 45, 796, 839, 840, 841, 797, 842, 843, 845, - 814, 846, 847, 844, 848, 849, 850, 851, 852, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 863, 864, - 865, 862, 866, 867, 868, 869, 870, 871, 872, 873, ++ 493, 624, 511, 551, 541, 525, 517, 526, 552, 728, ++ 729, 415, 415, 415, 415, 415, 415, 542, 827, 543, ++ ++ 620, 625, 718, 527, 680, 626, 828, 725, 624, 720, ++ 448, 829, 525, 726, 526, 449, 45, 45, 45, 721, ++ 830, 831, 832, 45, 45, 45, 45, 45, 45, 625, ++ 718, 764, 795, 817, 765, 803, 833, 834, 835, 796, ++ 836, 804, 837, 838, 797, 798, 45, 45, 45, 45, ++ 45, 45, 799, 839, 840, 841, 800, 842, 843, 844, ++ 845, 817, 846, 847, 849, 850, 851, 852, 848, 853, ++ 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, ++ 864, 865, 867, 868, 869, 866, 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, 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, 904, 927, 928, 903, 929, 930, 931, - 932, 933, 934, 935, 937, 938, 939, 940, 941, 942, ++ 924, 925, 926, 927, 928, 929, 930, 908, 931, 932, ++ 907, 933, 934, 935, 936, 937, 938, 939, 940, 942, + 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, - 953, 954, 956, 957, 958, 959, 960, 961, 962, 963, - 964, 965, 955, 966, 967, 968, 969, 970, 971, 972, ++ 953, 954, 955, 956, 957, 958, 959, 961, 962, 963, ++ 964, 965, 966, 967, 968, 969, 970, 960, 971, 972, + 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, + - 983, 984, 985, 986, 987, 988, 989, 991, 990, 936, - 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, ++ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, ++ 993, 994, 996, 995, 941, 997, 998, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, - 1012, 1013, 1014, 1015, 989, 990, 1016, 1017, 1018, 1019, - 1021, 1023, 1024, 1025, 1020, 1026, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, ++ 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 994, ++ 995, 1021, 1022, 1023, 1024, 1025, 1027, 1029, 1030, 1031, ++ 1026, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, + 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1061, 1062, 1022, 1063, 1064, 1065, 1066, 1067, 1068, 1069, ++ 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1028, 1069, + 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1090, 1091, 1092, 1070, 1093, 1094, 1095, 1096, 1097, 1071, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, ++ 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1076, ++ 1099, 1100, 1101, 1102, 1103, 1077, 1104, 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, 1135, 1136, 1137, 1138, - 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1148, 1149, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, ++ 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, ++ 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1138, ++ 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, ++ 1149, 1150, 1151, 1152, 1153, 1155, 1156, 1157, 1158, 1159, + 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1141, 1170, 1171, 1172, 1173, 1175, 1124, 1176, 1177, 1178, - - 1179, 1180, 1174, 1181, 1182, 1183, 1184, 1185, 1186, 1147, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1201, 1206, - 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1203, 1225, - 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, ++ 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1148, 1177, 1178, ++ ++ 1179, 1180, 1181, 1131, 1183, 1184, 1185, 1186, 1187, 1188, ++ 1182, 1189, 1190, 1191, 1192, 1193, 1154, 1194, 1195, 1196, ++ 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, ++ 1207, 1208, 1210, 1211, 1212, 1213, 1209, 1214, 1215, 1216, ++ 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, ++ 1227, 1228, 1229, 1230, 1231, 1232, 1211, 1233, 1234, 1235, + 1236, 1237, 1238, 1239, 1240, 1241, 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, 1275, 1276, ++ 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + - 1277, 1278, 1279, 1252, 1280, 1281, 1282, 1283, 1284, 1285, - 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, ++ 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1286, ++ 1287, 1288, 1261, 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, 1300, 1274, 1328, 1329, 1330, 1331, 1332, 1333, - 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, ++ 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, ++ 1336, 1337, 1310, 1284, 1338, 1339, 1340, 1341, 1342, 1343, + 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 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, 1399, 1400, 1401, 1402, 1403, + 1404, 1405, 1406, 1407, 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, 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, 12, 12, 12, 12, 12, 36, 36, 36, - - 36, 36, 80, 294, 80, 80, 80, 99, 401, 99, - 514, 99, 101, 101, 101, 101, 101, 116, 116, 116, - 116, 116, 179, 101, 179, 179, 179, 201, 201, 201, - 818, 817, 816, 815, 813, 812, 811, 810, 809, 808, - 807, 806, 805, 804, 803, 802, 799, 798, 791, 790, - 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, - 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, - 769, 768, 767, 766, 765, 764, 763, 760, 759, 758, - 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, - 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, - - 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, - 725, 722, 721, 720, 715, 714, 713, 712, 711, 710, - 709, 708, 707, 706, 705, 702, 701, 700, 699, 698, - 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, - 687, 686, 685, 684, 683, 682, 681, 680, 679, 676, - 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, - 665, 664, 663, 662, 661, 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, 622, 621, - - 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, - 610, 609, 608, 607, 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, 576, 575, 574, 573, 572, 571, - 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 549, - 548, 547, 546, 545, 544, 543, 540, 539, 538, 537, - 536, 535, 534, 533, 532, 531, 530, 529, 528, 524, - 523, 522, 521, 520, 519, 518, 516, 515, 513, 512, - - 509, 508, 507, 506, 503, 502, 501, 500, 499, 498, - 497, 496, 495, 494, 491, 490, 489, 486, 485, 484, - 483, 482, 481, 480, 477, 476, 475, 474, 473, 472, - 471, 470, 469, 468, 465, 464, 463, 462, 461, 458, - 457, 456, 455, 454, 453, 452, 451, 450, 445, 444, - 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, - 431, 430, 429, 428, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 414, 413, 411, 410, 405, 400, 397, - 394, 393, 392, 391, 389, 388, 387, 386, 385, 384, - 383, 382, 381, 380, 379, 378, 377, 376, 373, 372, - - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 358, 357, 356, 355, 354, 353, 352, 351, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, - 325, 324, 323, 322, 321, 320, 316, 315, 314, 313, - 312, 311, 310, 308, 202, 305, 303, 301, 298, 297, - 295, 293, 286, 285, 284, 282, 281, 279, 278, 277, - 276, 261, 260, 256, 253, 252, 251, 250, 249, 247, - 246, 245, 244, 241, 240, 239, 238, 237, 236, 235, - 234, 233, 229, 228, 225, 222, 221, 220, 219, 216, - - 215, 214, 210, 209, 208, 207, 206, 202, 195, 192, - 191, 189, 187, 186, 178, 163, 144, 122, 110, 107, - 106, 104, 43, 100, 98, 97, 88, 43, 1466, 11, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - - 1466 ++ 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, ++ ++ 1474, 1475, 1476, 1477, 1478, 1479, 12, 12, 12, 12, ++ 12, 36, 36, 36, 36, 36, 80, 294, 80, 80, ++ 80, 99, 401, 99, 514, 99, 101, 101, 101, 101, ++ 101, 116, 116, 116, 116, 116, 179, 101, 179, 179, ++ 179, 201, 201, 201, 819, 818, 816, 815, 814, 813, ++ 812, 811, 810, 809, 808, 807, 806, 805, 802, 801, ++ 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, ++ 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, ++ 774, 773, 772, 771, 770, 769, 768, 767, 766, 763, ++ 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, ++ ++ 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, ++ 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, ++ 732, 731, 730, 727, 724, 723, 722, 717, 716, 715, ++ 714, 713, 712, 711, 710, 709, 708, 707, 704, 703, ++ 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, ++ 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, ++ 682, 681, 678, 677, 676, 675, 674, 673, 672, 671, ++ 670, 669, 668, 667, 666, 665, 664, 663, 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, 623, 622, 621, 620, 619, 618, 617, 616, ++ 615, 614, 613, 612, 611, 610, 609, 608, 607, 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, 576, ++ 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, ++ 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, ++ 555, 554, 553, 550, 549, 548, 547, 546, 545, 544, ++ 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, ++ ++ 530, 529, 528, 524, 523, 522, 521, 520, 519, 518, ++ 516, 515, 513, 512, 509, 508, 507, 506, 503, 502, ++ 501, 500, 499, 498, 497, 496, 495, 494, 491, 490, ++ 489, 486, 485, 484, 483, 482, 481, 480, 477, 476, ++ 475, 474, 473, 472, 471, 470, 469, 468, 465, 464, ++ 463, 462, 461, 458, 457, 456, 455, 454, 453, 452, ++ 451, 450, 445, 444, 443, 442, 441, 440, 439, 438, ++ 437, 436, 435, 434, 431, 430, 429, 428, 425, 424, ++ 423, 422, 421, 420, 419, 418, 417, 414, 413, 411, ++ 410, 405, 400, 397, 394, 393, 392, 391, 389, 388, ++ ++ 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, ++ 377, 376, 373, 372, 371, 370, 369, 368, 367, 366, ++ 365, 364, 363, 362, 358, 357, 356, 355, 354, 353, ++ 352, 351, 347, 346, 345, 344, 343, 342, 341, 340, ++ 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, ++ 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, ++ 316, 315, 314, 313, 312, 311, 310, 308, 202, 305, ++ 303, 301, 298, 297, 295, 293, 286, 285, 284, 282, ++ 281, 279, 278, 277, 276, 261, 260, 256, 253, 252, ++ 251, 250, 249, 247, 246, 245, 244, 241, 240, 239, ++ ++ 238, 237, 236, 235, 234, 233, 229, 228, 225, 222, ++ 221, 220, 219, 216, 215, 214, 210, 209, 208, 207, ++ 206, 202, 195, 192, 191, 189, 187, 186, 178, 163, ++ 144, 122, 110, 107, 106, 104, 43, 100, 98, 97, ++ 88, 43, 1480, 11, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480 } ; - static const flex_int16_t yy_chk[1902] = -static const flex_int16_t yy_chk[1904] = ++static const flex_int16_t yy_chk[1916] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 21, 609, - 3, 3, 3, 21, 1, 1, 3, 0, 609, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 21, 605, - 3, 3, 3, 21, 1, 1, 3, 0, 605, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 21, 610, ++ 3, 3, 3, 21, 1, 1, 3, 0, 610, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 57, 1, 5, 5, 5, 26, 32, 1, 1, 33, - 6, 6, 6, 7, 7, 7, 1, 7, 0, 8, + 6, 6, 6, 7, 7, 7, 1, 7, 722, 8, 8, 8, 1, 8, 57, 27, 28, 723, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, @@@ -1481,192 -1481,192 +1489,193 @@@ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 48, 17, 17, 17, 19, 56, 19, - 19, 19, 44, 59, 22, 17, 22, 22, 22, 726, - 19, 19, 44, 59, 22, 17, 22, 22, 22, 64, - 19, 93, 61, 55, 67, 61, 725, 22, 61, 48, - 61, 56, 61, 55, 67, 624, 67, 63, 17, 59, - 73, 624, 64, 19, 73, 59, 55, 44, 63, 93, - 22, 45, 70, 64, 73, 115, 70, 45, 63, 45, - 45, 55, 45, 75, 45, 45, 45, 75, 58, 69, - 69, 45, 45, 69, 45, 58, 70, 726, 115, 69, ++ 19, 19, 44, 59, 22, 17, 22, 22, 22, 725, + 19, 64, 61, 55, 67, 61, 93, 22, 61, 48, + 61, 56, 61, 55, 67, 115, 67, 75, 17, 59, + 109, 75, 63, 19, 64, 59, 55, 44, 59, 96, + 22, 45, 70, 63, 93, 64, 70, 45, 115, 45, + 45, 55, 45, 63, 45, 45, 45, 109, 58, 69, - 69, 45, 45, 69, 45, 58, 70, 96, 727, 69, ++ 69, 45, 45, 69, 45, 58, 70, 96, 726, 69, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 58, 89, 89, 89, 58, 62, 278, - 71, 58, 62, 91, 278, 62, 62, 96, 78, 58, - 76, 727, 72, 58, 76, 58, 58, 76, 62, 71, - 72, 71, 72, 71, 76, 76, 77, 72, 72, 91, - 76, 78, 81, 81, 81, 96, 77, 90, 90, 90, - 101, 78, 728, 81, 92, 133, 78, 133, 105, 77, - 82, 77, 82, 82, 82, 83, 94, 83, 95, 108, - 83, 83, 83, 82, 77, 84, 81, 84, 84, 84, - 92, 77, 85, 85, 85, 101, 105, 109, 84, 111, - - 103, 112, 94, 85, 95, 108, 82, 103, 113, 124, - 114, 148, 119, 138, 135, 148, 138, 153, 124, 124, - 138, 84, 159, 159, 109, 179, 85, 111, 112, 119, - 135, 165, 165, 729, 182, 103, 113, 114, 161, 103, - 119, 161, 161, 103, 730, 153, 166, 153, 171, 174, - 166, 103, 164, 179, 166, 103, 180, 103, 103, 118, - 118, 118, 182, 241, 731, 181, 118, 118, 118, 118, - 118, 118, 184, 183, 189, 171, 174, 192, 283, 193, - 732, 195, 180, 199, 197, 164, 164, 164, 181, 118, - 118, 118, 118, 118, 118, 184, 164, 189, 164, 183, - - 164, 164, 204, 164, 195, 192, 193, 197, 285, 288, - 199, 202, 202, 202, 241, 250, 211, 241, 202, 202, - 202, 202, 202, 202, 211, 204, 293, 294, 283, 297, - 211, 285, 288, 300, 316, 363, 293, 733, 296, 296, - 307, 202, 202, 202, 202, 202, 202, 296, 734, 250, - 322, 316, 297, 335, 322, 428, 294, 351, 335, 345, - 345, 300, 401, 250, 305, 305, 305, 351, 428, 307, - 428, 305, 305, 305, 305, 305, 305, 372, 376, 393, - 387, 372, 376, 387, 393, 411, 521, 411, 437, 735, - 401, 363, 413, 437, 305, 305, 305, 305, 305, 305, - - 522, 523, 559, 559, 335, 577, 523, 619, 620, 335, - 713, 621, 411, 521, 411, 412, 412, 412, 626, 626, - 413, 621, 412, 412, 412, 412, 412, 412, 522, 662, - 694, 620, 662, 698, 736, 619, 737, 694, 713, 698, - 739, 740, 577, 695, 695, 412, 412, 412, 412, 412, - 412, 695, 741, 742, 743, 695, 744, 745, 746, 747, - 748, 744, 749, 750, 751, 752, 755, 756, 757, 758, - 761, 762, 763, 764, 765, 766, 767, 768, 765, 769, - 770, 771, 773, 774, 775, 776, 777, 778, 779, 780, + 45, 45, 45, 58, 89, 89, 89, 58, 62, 112, + 71, 58, 62, 73, 91, 62, 62, 73, 78, 58, + 149, 728, 72, 58, 149, 58, 58, 73, 62, 71, + 72, 71, 72, 71, 77, 76, 112, 72, 72, 76, + 91, 78, 76, 92, 77, 90, 90, 90, 101, 76, + 76, 78, 81, 81, 81, 76, 78, 77, 82, 77, + 82, 82, 82, 81, 94, 85, 85, 85, 83, 92, + 83, 82, 77, 83, 83, 83, 85, 95, 84, 77, + 84, 84, 84, 101, 105, 103, 81, 108, 111, 113, + + 94, 84, 103, 119, 82, 114, 125, 154, 134, 85, + 134, 139, 136, 95, 139, 125, 125, 729, 139, 180, + 119, 172, 105, 108, 84, 165, 111, 113, 136, 183, + 103, 119, 114, 390, 103, 154, 390, 154, 103, 160, + 160, 162, 166, 166, 162, 162, 103, 180, 172, 182, + 103, 175, 103, 103, 118, 118, 118, 183, 165, 165, + 165, 118, 118, 118, 118, 118, 118, 181, 184, 165, + 193, 165, 182, 165, 165, 167, 165, 185, 175, 167, + 190, 194, 196, 167, 118, 118, 118, 118, 118, 118, + 198, 200, 205, 181, 184, 285, 213, 280, 193, 252, + + 185, 287, 280, 190, 213, 196, 243, 295, 194, 290, + 213, 296, 309, 198, 299, 205, 302, 295, 200, 203, - 203, 203, 319, 366, 287, 624, 203, 203, 203, 203, ++ 203, 203, 319, 366, 287, 625, 203, 203, 203, 203, + 203, 203, 290, 252, 298, 298, 354, 299, 325, 319, - 296, 309, 325, 298, 302, 285, 354, 252, 624, 203, ++ 296, 309, 325, 298, 302, 285, 354, 252, 625, 203, + 203, 203, 203, 203, 203, 348, 348, 243, 404, 338, - 243, 307, 307, 307, 338, 730, 432, 581, 307, 307, ++ 243, 307, 307, 307, 338, 564, 564, 582, 307, 307, + 307, 307, 307, 307, 375, 416, 379, 396, 375, 366, - 379, 432, 396, 441, 525, 414, 404, 414, 441, 563, - 563, 307, 307, 307, 307, 307, 307, 527, 625, 731, - - 629, 526, 527, 416, 581, 623, 629, 702, 625, 732, - 338, 525, 414, 702, 414, 338, 415, 415, 415, 631, - 631, 733, 734, 415, 415, 415, 415, 415, 415, 526, - 698, 666, 717, 623, 666, 735, 736, 698, 737, 738, - 739, 740, 741, 743, 699, 699, 415, 415, 415, 415, - 415, 415, 699, 744, 745, 746, 699, 747, 748, 749, - 717, 750, 751, 748, 752, 753, 754, 755, 756, 759, - 760, 761, 762, 765, 766, 767, 768, 769, 770, 771, - 772, 769, 773, 774, 775, 777, 778, 779, 780, 781, - 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 803, 804, 805, 806, 807, 808, 809, 810, 811, 813, - 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, - 824, 825, 826, 827, 828, 829, 830, 831, 832, 834, - 835, 836, 837, 814, 838, 839, 813, 840, 841, 842, - 844, 845, 846, 847, 848, 850, 851, 852, 853, 854, - 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, - 865, 866, 867, 869, 870, 871, 873, 874, 875, 876, - 877, 878, 866, 879, 880, 881, 882, 883, 884, 885, - 886, 887, 888, 889, 891, 892, 893, 894, 895, 896, - - 897, 898, 899, 900, 901, 902, 903, 905, 904, 847, - 906, 907, 908, 909, 910, 912, 913, 914, 915, 916, - 917, 918, 919, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 903, 904, 932, 933, 934, 936, - 937, 938, 939, 940, 936, 941, 942, 943, 944, 945, - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 969, 970, 972, 973, 975, 976, 977, 978, - 979, 980, 937, 981, 982, 983, 984, 985, 986, 988, - 989, 990, 991, 992, 993, 994, 996, 997, 998, 999, - - 1000, 1001, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, - 1012, 1013, 1014, 989, 1015, 1016, 1017, 1020, 1022, 990, - 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1031, 1032, 1033, - 1034, 1036, 1037, 1038, 1039, 1040, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, - 1057, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, - 1068, 1069, 1070, 1071, 1072, 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, - 1070, 1100, 1101, 1102, 1103, 1104, 1052, 1105, 1107, 1110, - - 1111, 1112, 1103, 1113, 1114, 1115, 1116, 1117, 1118, 1076, - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1128, 1130, 1133, - 1135, 1137, 1138, 1139, 1140, 1141, 1143, 1144, 1139, 1145, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1156, 1157, - 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1141, 1166, - 1169, 1171, 1172, 1173, 1174, 1175, 1177, 1178, 1179, 1180, - 1181, 1182, 1184, 1185, 1187, 1188, 1189, 1190, 1192, 1193, - 1194, 1195, 1196, 1197, 1199, 1201, 1203, 1204, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1223, 1224, 1225, 1226, - - 1227, 1228, 1229, 1203, 1230, 1231, 1232, 1233, 1234, 1235, - 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1246, - 1247, 1249, 1250, 1251, 1252, 1253, 1257, 1258, 1261, 1262, - 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1275, - 1277, 1279, 1280, 1281, 1282, 1283, 1285, 1286, 1287, 1288, - 1289, 1290, 1252, 1224, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1299, 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, - 1309, 1311, 1312, 1313, 1315, 1317, 1318, 1319, 1320, 1321, - 1322, 1323, 1324, 1325, 1326, 1327, 1329, 1330, 1334, 1337, - 1339, 1341, 1342, 1344, 1345, 1346, 1347, 1348, 1349, 1351, - - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1372, 1373, 1374, 1375, - 1376, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1391, 1393, 1395, 1396, 1397, 1398, 1399, - 1401, 1402, 1403, 1405, 1406, 1408, 1409, 1412, 1413, 1414, - 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, - 1435, 1436, 1438, 1440, 1441, 1442, 1443, 1444, 1445, 1449, - 1450, 1451, 1452, 1454, 1455, 1457, 1458, 1459, 1460, 1461, - 1463, 1464, 1467, 1467, 1467, 1467, 1467, 1468, 1468, 1468, - - 1468, 1468, 1469, 1475, 1469, 1469, 1469, 1470, 1476, 1470, - 1477, 1470, 1471, 1471, 1471, 1471, 1471, 1472, 1472, 1472, - 1472, 1472, 1473, 1478, 1473, 1473, 1473, 1474, 1474, 1474, - 721, 720, 719, 718, 716, 714, 713, 712, 711, 710, - 709, 708, 707, 706, 705, 704, 701, 700, 697, 696, - 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, - 685, 684, 683, 682, 681, 680, 679, 678, 676, 675, - 674, 673, 672, 671, 670, 669, 667, 665, 664, 663, - 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, - 652, 651, 650, 648, 647, 646, 645, 644, 643, 642, - - 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, - 630, 628, 627, 626, 622, 621, 620, 618, 617, 615, - 614, 613, 612, 611, 610, 607, 606, 605, 604, 603, - 602, 601, 600, 599, 598, 597, 596, 594, 593, 592, - 591, 590, 589, 588, 587, 585, 584, 583, 582, 580, - 579, 578, 577, 576, 575, 574, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 562, 561, 560, 559, 558, - 557, 556, 555, 554, 553, 552, 551, 549, 548, 547, - 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, - 536, 535, 534, 533, 532, 531, 530, 529, 523, 521, - - 518, 517, 516, 515, 513, 512, 511, 509, 508, 505, - 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, - 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, - 484, 483, 482, 481, 479, 477, 476, 475, 474, 473, - 472, 471, 470, 469, 468, 467, 466, 464, 463, 462, - 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 445, 444, 443, 442, 440, - 439, 438, 437, 436, 434, 433, 431, 430, 428, 427, - 426, 425, 424, 423, 421, 420, 419, 418, 417, 412, - 411, 409, 408, 407, 406, 405, 403, 402, 400, 397, - - 395, 394, 392, 391, 389, 388, 387, 386, 385, 384, - 383, 382, 381, 380, 378, 377, 376, 374, 373, 372, - 371, 369, 368, 367, 365, 364, 363, 362, 361, 360, - 359, 358, 357, 355, 353, 352, 351, 350, 349, 347, - 346, 345, 344, 343, 342, 341, 340, 339, 337, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, - 324, 323, 322, 321, 318, 317, 316, 315, 314, 313, - 312, 311, 310, 306, 304, 301, 300, 297, 293, 286, - 284, 283, 282, 281, 279, 278, 277, 276, 275, 274, - 273, 272, 271, 270, 269, 268, 267, 266, 264, 263, - - 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, - 251, 250, 249, 248, 247, 246, 245, 244, 242, 241, - 240, 239, 238, 237, 236, 235, 233, 232, 231, 230, - 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, - 219, 218, 217, 216, 215, 214, 212, 211, 210, 209, - 208, 207, 206, 204, 201, 199, 197, 195, 192, 191, - 189, 186, 178, 177, 176, 174, 173, 171, 170, 169, - 168, 164, 163, 161, 159, 158, 157, 156, 155, 153, - 152, 151, 150, 148, 147, 146, 145, 144, 143, 142, - 141, 140, 138, 137, 135, 133, 132, 131, 130, 128, - - 127, 126, 124, 123, 122, 121, 120, 116, 110, 107, - 106, 104, 99, 98, 79, 74, 68, 60, 53, 50, - 49, 47, 43, 41, 39, 38, 24, 14, 11, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, - - 1466 ++ 379, 525, 396, 441, 432, 414, 404, 414, 441, 632, ++ 632, 307, 307, 307, 307, 307, 307, 432, 730, 432, ++ ++ 527, 526, 624, 416, 582, 527, 731, 630, 525, 626, ++ 338, 732, 414, 630, 414, 338, 415, 415, 415, 626, ++ 733, 734, 735, 415, 415, 415, 415, 415, 415, 526, ++ 624, 668, 700, 719, 668, 704, 736, 737, 738, 700, ++ 739, 704, 740, 741, 701, 701, 415, 415, 415, 415, ++ 415, 415, 701, 742, 743, 744, 701, 746, 747, 748, ++ 749, 719, 750, 751, 752, 753, 754, 755, 751, 756, ++ 757, 758, 759, 762, 763, 764, 765, 768, 769, 770, ++ 771, 772, 773, 774, 775, 772, 776, 777, 778, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + - 791, 792, 793, 794, 795, 796, 797, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 809, 810, 811, 812, - 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, - 823, 824, 825, 826, 827, 828, 830, 831, 832, 833, - 810, 834, 835, 809, 836, 837, 838, 840, 841, 842, - 843, 844, 846, 847, 848, 849, 850, 851, 852, 853, ++ 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, ++ 801, 802, 803, 804, 806, 807, 808, 809, 810, 811, ++ 812, 813, 814, 816, 817, 818, 819, 820, 821, 822, ++ 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, ++ 833, 834, 835, 836, 838, 839, 840, 817, 841, 842, ++ 816, 843, 844, 845, 846, 848, 849, 850, 851, 852, + 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 865, 866, 867, 869, 870, 871, 872, 873, 874, 862, - 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, - 885, 887, 888, 889, 890, 891, 892, 893, 894, 895, - - 896, 897, 898, 899, 901, 900, 843, 902, 903, 904, - 905, 907, 908, 909, 910, 911, 912, 913, 914, 916, - 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, - 927, 899, 900, 928, 929, 930, 932, 933, 934, 935, - 936, 932, 937, 938, 939, 940, 941, 942, 943, 944, - 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 968, 969, 971, 972, 973, 974, 975, 976, 933, - 977, 978, 979, 980, 981, 982, 984, 985, 986, 987, - 988, 989, 991, 992, 993, 994, 995, 996, 999, 1000, - - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 985, 1011, 1012, 1013, 1016, 1018, 986, 1019, 1020, 1021, - 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1030, 1032, 1033, - 1034, 1035, 1036, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1055, 1056, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1084, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1066, 1096, 1097, - 1098, 1099, 1100, 1048, 1101, 1103, 1106, 1107, 1108, 1099, - - 1109, 1110, 1111, 1112, 1113, 1071, 1114, 1116, 1117, 1118, - 1119, 1120, 1121, 1122, 1124, 1126, 1129, 1131, 1133, 1134, - 1135, 1136, 1137, 1139, 1140, 1135, 1142, 1143, 1144, 1145, - 1146, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155, 1156, - 1157, 1158, 1159, 1160, 1161, 1137, 1162, 1165, 1167, 1168, - 1169, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178, 1180, - 1181, 1183, 1184, 1185, 1186, 1188, 1189, 1190, 1191, 1192, - 1193, 1195, 1197, 1199, 1200, 1201, 1202, 1203, 1204, 1205, - 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, - 1216, 1217, 1218, 1219, 1219, 1220, 1221, 1222, 1223, 1224, - - 1199, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, - 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1242, 1243, 1245, - 1246, 1247, 1248, 1249, 1253, 1254, 1257, 1258, 1259, 1262, - 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1271, 1272, 1274, - 1276, 1277, 1278, 1279, 1280, 1282, 1283, 1284, 1285, 1286, - 1248, 1220, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, - 1296, 1297, 1298, 1299, 1301, 1302, 1303, 1304, 1305, 1306, - 1307, 1309, 1310, 1311, 1313, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1332, 1335, - 1337, 1338, 1340, 1341, 1343, 1344, 1345, 1346, 1347, 1348, - - 1350, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1372, 1373, - 1374, 1375, 1376, 1378, 1379, 1380, 1381, 1382, 1383, 1384, - 1386, 1387, 1388, 1389, 1390, 1392, 1394, 1396, 1397, 1398, - 1399, 1400, 1402, 1403, 1404, 1406, 1407, 1409, 1410, 1413, - 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 1439, 1441, 1442, 1443, 1444, 1445, - 1446, 1450, 1451, 1452, 1453, 1455, 1456, 1458, 1459, 1460, - 1461, 1462, 1464, 1465, 1468, 1468, 1468, 1468, 1468, 1469, - - 1469, 1469, 1469, 1469, 1470, 1476, 1470, 1470, 1470, 1471, - 1477, 1471, 1478, 1471, 1472, 1472, 1472, 1472, 1472, 1473, - 1473, 1473, 1473, 1473, 1474, 1479, 1474, 1474, 1474, 1475, - 1475, 1475, 722, 721, 719, 718, 717, 716, 715, 714, - 712, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 697, 696, 693, 692, 691, 690, 689, 688, - 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, - 677, 676, 675, 674, 672, 671, 670, 669, 668, 667, - 666, 665, 663, 661, 660, 659, 658, 657, 656, 655, - 654, 653, 652, 651, 650, 649, 648, 647, 646, 644, - - 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, - 633, 632, 631, 630, 629, 628, 627, 625, 623, 622, - 618, 617, 616, 614, 613, 611, 610, 609, 608, 607, - 606, 603, 602, 601, 600, 599, 598, 597, 596, 595, - 594, 593, 592, 590, 589, 588, 587, 586, 585, 584, - 583, 581, 580, 579, 578, 576, 575, 574, 573, 572, - 571, 570, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 558, 557, 556, 555, 554, 553, 552, 551, 550, - 549, 548, 547, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, - - 528, 527, 526, 525, 519, 517, 514, 513, 512, 511, - 509, 508, 507, 505, 504, 501, 500, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, - 475, 473, 472, 471, 470, 469, 468, 467, 466, 465, - 464, 463, 462, 460, 459, 458, 457, 456, 455, 454, - 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, - 443, 441, 440, 439, 438, 436, 435, 434, 433, 432, - 430, 429, 427, 426, 424, 423, 422, 421, 420, 419, - 417, 416, 415, 414, 409, 408, 406, 405, 404, 403, - - 402, 400, 399, 397, 394, 392, 391, 389, 388, 386, - 385, 384, 383, 382, 381, 380, 379, 378, 377, 375, - 374, 373, 371, 370, 369, 368, 366, 365, 364, 362, - 361, 360, 359, 358, 357, 356, 355, 354, 352, 350, - 349, 348, 347, 346, 344, 343, 342, 341, 340, 339, - 338, 337, 336, 334, 333, 332, 331, 330, 329, 328, - 327, 326, 325, 324, 323, 321, 320, 319, 318, 315, - 314, 313, 312, 311, 310, 309, 308, 304, 302, 299, - 298, 295, 291, 284, 282, 281, 280, 279, 277, 276, - 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, - - 265, 264, 262, 261, 260, 259, 258, 257, 256, 255, - 254, 253, 252, 251, 249, 248, 247, 246, 245, 244, - 243, 242, 240, 239, 238, 237, 236, 235, 234, 233, - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, - 210, 209, 208, 207, 206, 205, 203, 200, 198, 196, - 194, 191, 190, 188, 185, 177, 176, 175, 173, 172, - 170, 169, 168, 167, 163, 162, 160, 158, 157, 156, - 155, 154, 152, 151, 150, 149, 147, 146, 145, 144, - 143, 142, 141, 140, 139, 137, 136, 134, 132, 131, - - 130, 129, 127, 126, 125, 123, 122, 121, 120, 116, - 110, 107, 106, 104, 99, 98, 79, 74, 68, 60, - 53, 50, 49, 47, 43, 41, 39, 38, 24, 14, - 11, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, - - 1467, 1467, 1467 ++ 864, 865, 866, 867, 868, 869, 870, 871, 873, 874, ++ 875, 877, 878, 879, 880, 881, 882, 870, 883, 884, ++ 885, 886, 887, 888, 889, 890, 891, 892, 893, 895, ++ ++ 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, ++ 906, 907, 909, 908, 851, 910, 911, 912, 913, 914, ++ 916, 917, 918, 919, 920, 921, 922, 923, 925, 926, ++ 927, 928, 929, 930, 931, 932, 933, 934, 935, 907, ++ 908, 936, 937, 938, 939, 941, 942, 943, 944, 945, ++ 941, 946, 947, 948, 949, 950, 951, 952, 953, 954, ++ 955, 956, 957, 958, 959, 960, 961, 962, 963, 965, ++ 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, ++ 977, 978, 980, 981, 982, 983, 984, 985, 942, 986, ++ 987, 988, 989, 990, 991, 993, 994, 995, 996, 997, ++ ++ 998, 999, 1001, 1002, 1003, 1004, 1005, 1006, 1009, 1010, ++ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 994, ++ 1020, 1021, 1022, 1023, 1026, 995, 1028, 1029, 1030, 1031, ++ 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042, 1043, ++ 1044, 1045, 1046, 1049, 1050, 1051, 1052, 1053, 1054, 1055, ++ 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1065, 1066, ++ 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, ++ 1077, 1078, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, ++ 1088, 1089, 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098, ++ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1076, 1106, 1107, ++ ++ 1108, 1109, 1110, 1058, 1111, 1112, 1114, 1117, 1118, 1119, ++ 1110, 1120, 1121, 1122, 1123, 1124, 1082, 1125, 1127, 1128, ++ 1129, 1130, 1131, 1132, 1133, 1135, 1137, 1140, 1142, 1144, ++ 1145, 1146, 1147, 1148, 1150, 1151, 1146, 1152, 1154, 1155, ++ 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1164, 1165, 1166, ++ 1167, 1168, 1169, 1170, 1171, 1172, 1148, 1173, 1174, 1177, ++ 1179, 1180, 1181, 1182, 1183, 1185, 1186, 1187, 1188, 1189, ++ 1190, 1192, 1193, 1195, 1196, 1197, 1198, 1200, 1201, 1202, ++ 1203, 1204, 1205, 1207, 1209, 1211, 1212, 1214, 1215, 1216, ++ 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, ++ ++ 1227, 1228, 1229, 1230, 1231, 1232, 1232, 1233, 1234, 1235, ++ 1236, 1237, 1211, 1238, 1239, 1240, 1241, 1242, 1243, 1244, ++ 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1255, ++ 1256, 1258, 1259, 1260, 1261, 1262, 1266, 1267, 1270, 1271, ++ 1272, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1284, ++ 1285, 1287, 1289, 1290, 1291, 1292, 1293, 1295, 1296, 1297, ++ 1298, 1299, 1261, 1233, 1300, 1301, 1302, 1303, 1304, 1305, ++ 1306, 1307, 1309, 1310, 1311, 1312, 1314, 1315, 1316, 1317, ++ 1318, 1319, 1320, 1322, 1323, 1324, 1326, 1328, 1329, 1330, ++ 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1340, 1341, ++ ++ 1345, 1348, 1350, 1351, 1353, 1354, 1356, 1357, 1358, 1359, ++ 1360, 1361, 1363, 1365, 1366, 1367, 1368, 1369, 1370, 1371, ++ 1372, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, ++ 1385, 1386, 1387, 1388, 1389, 1391, 1392, 1393, 1394, 1395, ++ 1396, 1397, 1399, 1400, 1401, 1402, 1403, 1405, 1407, 1409, ++ 1410, 1411, 1412, 1413, 1415, 1416, 1417, 1419, 1420, 1422, ++ 1423, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, ++ 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, ++ 1445, 1446, 1447, 1448, 1449, 1450, 1452, 1454, 1455, 1456, ++ 1457, 1458, 1459, 1463, 1464, 1465, 1466, 1468, 1469, 1471, ++ ++ 1472, 1473, 1474, 1475, 1477, 1478, 1481, 1481, 1481, 1481, ++ 1481, 1482, 1482, 1482, 1482, 1482, 1483, 1489, 1483, 1483, ++ 1483, 1484, 1490, 1484, 1491, 1484, 1485, 1485, 1485, 1485, ++ 1485, 1486, 1486, 1486, 1486, 1486, 1487, 1492, 1487, 1487, ++ 1487, 1488, 1488, 1488, 721, 720, 718, 716, 715, 714, ++ 713, 712, 711, 710, 709, 708, 707, 706, 703, 702, ++ 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, ++ 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, ++ 678, 677, 676, 675, 674, 673, 672, 671, 669, 667, ++ 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, ++ ++ 656, 655, 654, 653, 652, 650, 649, 648, 647, 646, ++ 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, ++ 635, 634, 633, 631, 629, 628, 627, 623, 622, 621, ++ 619, 618, 616, 615, 614, 613, 612, 611, 608, 607, ++ 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, ++ 595, 594, 593, 592, 591, 590, 589, 588, 586, 585, ++ 584, 583, 581, 580, 579, 578, 577, 576, 575, 573, ++ 572, 571, 570, 569, 568, 567, 566, 565, 563, 562, ++ 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, ++ 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, ++ ++ 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, ++ 530, 529, 523, 521, 518, 517, 516, 515, 513, 512, ++ 511, 509, 508, 505, 504, 503, 502, 501, 500, 499, ++ 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, ++ 488, 487, 486, 485, 484, 483, 482, 481, 479, 477, ++ 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, ++ 466, 464, 463, 462, 461, 460, 459, 458, 457, 456, ++ 455, 454, 453, 452, 451, 450, 449, 448, 447, 445, ++ 444, 443, 442, 440, 439, 438, 437, 436, 434, 433, ++ 431, 430, 428, 427, 426, 425, 424, 423, 421, 420, ++ ++ 419, 418, 417, 412, 411, 409, 408, 407, 406, 405, ++ 403, 402, 400, 397, 395, 394, 392, 391, 389, 388, ++ 387, 386, 385, 384, 383, 382, 381, 380, 378, 377, ++ 376, 374, 373, 372, 371, 369, 368, 367, 365, 364, ++ 363, 362, 361, 360, 359, 358, 357, 355, 353, 352, ++ 351, 350, 349, 347, 346, 345, 344, 343, 342, 341, ++ 340, 339, 337, 336, 335, 334, 333, 332, 331, 330, ++ 329, 328, 327, 326, 324, 323, 322, 321, 318, 317, ++ 316, 315, 314, 313, 312, 311, 310, 306, 304, 301, ++ 300, 297, 293, 286, 284, 283, 282, 281, 279, 278, ++ ++ 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, ++ 267, 266, 264, 263, 262, 261, 260, 259, 258, 257, ++ 256, 255, 254, 253, 251, 250, 249, 248, 247, 246, ++ 245, 244, 242, 241, 240, 239, 238, 237, 236, 235, ++ 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, ++ 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, ++ 212, 211, 210, 209, 208, 207, 206, 204, 201, 199, ++ 197, 195, 192, 191, 189, 186, 178, 177, 176, 174, ++ 173, 171, 170, 169, 168, 164, 163, 161, 159, 158, ++ 157, 156, 155, 153, 152, 151, 150, 148, 147, 146, ++ ++ 145, 144, 143, 142, 141, 140, 138, 137, 135, 133, ++ 132, 131, 130, 128, 127, 126, 124, 123, 122, 121, ++ 120, 116, 110, 107, 106, 104, 99, 98, 79, 74, ++ 68, 60, 53, 50, 49, 47, 43, 41, 39, 38, ++ 24, 14, 11, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ ++ 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, ++ 1480, 1480, 1480, 1480, 1480 } ; static yy_state_type yy_last_accepting_state; @@@ -1675,7 -1675,7 +1684,7 @@@ static char *yy_last_accepting_cpos extern int yy_flex_debug; int yy_flex_debug = 1; --static const flex_int16_t yy_rule_linenum[175] = ++static const flex_int16_t yy_rule_linenum[176] = { 0, 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, 182, 189, 198, 207, 216, 225, 234, 243, 253, 262, @@@ -1683,19 -1683,19 +1692,19 @@@ 364, 373, 382, 391, 400, 411, 422, 433, 444, 454, 464, 475, 486, 497, 508, 519, 530, 541, 552, 563, 574, 585, 594, 603, 613, 622, 632, 646, 662, 671, - 680, 689, 698, 718, 738, 747, 757, 766, 776, 785, - 794, 803, 812, 821, 831, 840, 849, 858, 867, 876, - 885, 894, 903, 912, 921, 931, 942, 954, 963, 972, - 982, 992, 1002, 1012, 1022, 1032, 1041, 1051, 1060, 1069, - - 1078, 1087, 1097, 1107, 1116, 1126, 1135, 1144, 1153, 1162, - 1171, 1180, 1189, 1198, 1207, 1216, 1225, 1234, 1243, 1252, - 1261, 1270, 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342, - 1351, 1360, 1369, 1378, 1387, 1396, 1406, 1416, 1426, 1436, - 1446, 1456, 1466, 1476, 1486, 1495, 1504, 1513, 1522, 1531, - 1540, 1549, 1560, 1571, 1584, 1597, 1612, 1711, 1716, 1721, - 1726, 1727, 1728, 1729, 1730, 1731, 1733, 1751, 1764, 1769, - 1773, 1775, 1777, 1779 + 680, 689, 698, 719, 740, 749, 759, 768, 778, 787, + 796, 805, 814, 823, 833, 842, 851, 860, 869, 878, + 887, 896, 905, 914, 923, 933, 944, 956, 965, 974, + 984, 994, 1004, 1014, 1024, 1034, 1043, 1053, 1062, 1071, + + 1080, 1089, 1099, 1109, 1118, 1128, 1137, 1146, 1155, 1164, + 1173, 1182, 1191, 1200, 1209, 1218, 1227, 1236, 1245, 1254, + 1263, 1272, 1281, 1290, 1299, 1308, 1317, 1326, 1335, 1344, + 1353, 1362, 1371, 1380, 1389, 1398, 1407, 1417, 1427, 1437, + 1447, 1457, 1467, 1477, 1487, 1497, 1506, 1515, 1524, 1533, - 1542, 1551, 1560, 1571, 1584, 1597, 1612, 1711, 1716, 1721, - 1726, 1727, 1728, 1729, 1730, 1731, 1733, 1751, 1764, 1769, - 1773, 1775, 1777, 1779 ++ 1542, 1551, 1560, 1571, 1582, 1595, 1608, 1623, 1722, 1727, ++ 1732, 1737, 1738, 1739, 1740, 1741, 1742, 1744, 1762, 1775, ++ 1780, 1784, 1786, 1788, 1790 } ; /* The intent behind this definition is that it'll catch @@@ -1748,7 -1748,7 +1757,7 @@@ using namespace isc::dhcp /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) - #line 1751 "dhcp4_lexer.cc" -#line 1752 "dhcp4_lexer.cc" ++#line 1761 "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 @@@ -1774,8 -1774,8 +1783,8 @@@ 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 1777 "dhcp4_lexer.cc" --#line 1778 "dhcp4_lexer.cc" -#line 1779 "dhcp4_lexer.cc" ++#line 1787 "dhcp4_lexer.cc" ++#line 1788 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@@ -2103,7 -2103,7 +2112,7 @@@ YY_DEC } - #line 2106 "dhcp4_lexer.cc" -#line 2107 "dhcp4_lexer.cc" ++#line 2116 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@@ -2132,13 -2132,13 +2141,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 >= 1467 ) - if ( yy_current_state >= 1468 ) ++ if ( yy_current_state >= 1481 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1466 ); - while ( yy_current_state != 1467 ); ++ while ( yy_current_state != 1480 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@@ -2157,13 -2157,13 +2166,13 @@@ do_action: /* This label is used only t { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); -- else if ( yy_act < 175 ) ++ else if ( yy_act < 176 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); -- else if ( yy_act == 175 ) ++ else if ( yy_act == 176 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); -- else if ( yy_act == 176 ) ++ else if ( yy_act == 177 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@@ -4060,23 -4074,9 +4083,23 @@@ YY_RULE_SETU } } YY_BREAK - case 153: + case 154: YY_RULE_SETUP - #line 1560 "dhcp4_lexer.ll" + #line 1571 "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_AUTHORITATIVE(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("authoritative", driver.loc_); + } +} + YY_BREAK - case 154: ++case 155: +YY_RULE_SETUP - #line 1571 "dhcp4_lexer.ll" ++#line 1582 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@@ -4090,9 -4090,9 +4113,9 @@@ } } YY_BREAK --case 155: ++case 156: YY_RULE_SETUP --#line 1584 "dhcp4_lexer.ll" ++#line 1595 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@@ -4106,9 -4106,9 +4129,9 @@@ } } YY_BREAK --case 156: ++case 157: YY_RULE_SETUP --#line 1597 "dhcp4_lexer.ll" ++#line 1608 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@@ -4122,9 -4122,9 +4145,9 @@@ } } YY_BREAK --case 157: ++case 158: YY_RULE_SETUP --#line 1612 "dhcp4_lexer.ll" ++#line 1623 "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. @@@ -4224,65 -4224,65 +4247,65 @@@ return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK --case 158: --/* rule 158 can match eol */ ++case 159: ++/* rule 159 can match eol */ YY_RULE_SETUP --#line 1711 "dhcp4_lexer.ll" ++#line 1722 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK --case 159: --/* rule 159 can match eol */ ++case 160: ++/* rule 160 can match eol */ YY_RULE_SETUP --#line 1716 "dhcp4_lexer.ll" ++#line 1727 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK --case 160: ++case 161: YY_RULE_SETUP --#line 1721 "dhcp4_lexer.ll" ++#line 1732 "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 161: ++case 162: YY_RULE_SETUP --#line 1726 "dhcp4_lexer.ll" ++#line 1737 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK --case 162: ++case 163: YY_RULE_SETUP --#line 1727 "dhcp4_lexer.ll" ++#line 1738 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK --case 163: ++case 164: YY_RULE_SETUP --#line 1728 "dhcp4_lexer.ll" ++#line 1739 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK --case 164: ++case 165: YY_RULE_SETUP --#line 1729 "dhcp4_lexer.ll" ++#line 1740 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK --case 165: ++case 166: YY_RULE_SETUP --#line 1730 "dhcp4_lexer.ll" ++#line 1741 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK --case 166: ++case 167: YY_RULE_SETUP --#line 1731 "dhcp4_lexer.ll" ++#line 1742 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK --case 167: ++case 168: YY_RULE_SETUP --#line 1733 "dhcp4_lexer.ll" ++#line 1744 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@@ -4301,9 -4301,9 +4324,9 @@@ return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK --case 168: ++case 169: YY_RULE_SETUP --#line 1751 "dhcp4_lexer.ll" ++#line 1762 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@@ -4317,43 -4317,43 +4340,43 @@@ return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK --case 169: ++case 170: YY_RULE_SETUP --#line 1764 "dhcp4_lexer.ll" ++#line 1775 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK --case 170: ++case 171: YY_RULE_SETUP --#line 1769 "dhcp4_lexer.ll" ++#line 1780 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK --case 171: ++case 172: YY_RULE_SETUP --#line 1773 "dhcp4_lexer.ll" ++#line 1784 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK --case 172: ++case 173: YY_RULE_SETUP --#line 1775 "dhcp4_lexer.ll" ++#line 1786 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK --case 173: ++case 174: YY_RULE_SETUP --#line 1777 "dhcp4_lexer.ll" ++#line 1788 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK --case 174: ++case 175: YY_RULE_SETUP --#line 1779 "dhcp4_lexer.ll" ++#line 1790 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): --#line 1781 "dhcp4_lexer.ll" ++#line 1792 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@@ -4377,12 -4377,12 +4400,12 @@@ BEGIN(DIR_EXIT); } YY_BREAK --case 175: ++case 176: YY_RULE_SETUP --#line 1804 "dhcp4_lexer.ll" ++#line 1815 "dhcp4_lexer.ll" ECHO; YY_BREAK - #line 4385 "dhcp4_lexer.cc" -#line 4386 "dhcp4_lexer.cc" ++#line 4409 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@@ -4701,7 -4701,7 +4724,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 >= 1467 ) - if ( yy_current_state >= 1468 ) ++ if ( yy_current_state >= 1481 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@@ -4734,11 -4734,11 +4757,11 @@@ 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 >= 1467 ) - if ( yy_current_state >= 1468 ) ++ if ( yy_current_state >= 1481 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1466); - yy_is_jam = (yy_current_state == 1467); ++ yy_is_jam = (yy_current_state == 1480); return yy_is_jam ? 0 : yy_current_state; } @@@ -5487,7 -5487,7 +5510,7 @@@ void yyfree (void * ptr /* %ok-for-header */ --#line 1804 "dhcp4_lexer.ll" ++#line 1815 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --cc src/bin/dhcp4/dhcp4_parser.cc index f875091cb2,9d5bd33de5..3f883f5bcf --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@@ -280,32 -251,32 +251,32 @@@ namespace isc { namespace dhcp Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that) : super_type (s, that.location) { - switch (that.type_get ()) - { - case 185: // value - case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value + switch (that.type_get ()) + { - case 185: // value - case 189: // map_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.move< ElementPtr > (that.value); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.move< bool > (that.value); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.move< double > (that.value); break; -- case 166: // "integer" ++ case 167: // "integer" value.move< int64_t > (that.value); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.move< std::string > (that.value); break; @@@ -321,32 -293,32 +293,32 @@@ Dhcp4Parser::stack_symbol_type::operator= (const stack_symbol_type& that) { state = that.state; - switch (that.type_get ()) - { - case 185: // value - case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value + switch (that.type_get ()) + { - case 185: // value - case 189: // map_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.copy< ElementPtr > (that.value); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.copy< bool > (that.value); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.copy< double > (that.value); break; -- case 166: // "integer" ++ case 167: // "integer" value.copy< int64_t > (that.value); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.copy< std::string > (that.value); break; @@@ -385,88 -358,88 +358,88 @@@ << yysym.location << ": "; switch (yytype) { -- case 165: // "constant string" ++ case 166: // "constant string" - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } - #line 393 "dhcp4_parser.cc" // lalr1.cc:635 + #line 366 "dhcp4_parser.cc" // lalr1.cc:636 break; -- case 166: // "integer" ++ case 167: // "integer" - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } - #line 400 "dhcp4_parser.cc" // lalr1.cc:635 + #line 373 "dhcp4_parser.cc" // lalr1.cc:636 break; -- case 167: // "floating point" ++ case 168: // "floating point" - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } - #line 407 "dhcp4_parser.cc" // lalr1.cc:635 + #line 380 "dhcp4_parser.cc" // lalr1.cc:636 break; -- case 168: // "boolean" ++ case 169: // "boolean" - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } - #line 414 "dhcp4_parser.cc" // lalr1.cc:635 + #line 387 "dhcp4_parser.cc" // lalr1.cc:636 break; -- case 185: // value ++ case 186: // value - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 421 "dhcp4_parser.cc" // lalr1.cc:635 + #line 394 "dhcp4_parser.cc" // lalr1.cc:636 break; -- case 189: // map_value ++ case 190: // map_value - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 428 "dhcp4_parser.cc" // lalr1.cc:635 + #line 401 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 230: // socket_type - case 229: // socket_type ++ case 231: // socket_type - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 435 "dhcp4_parser.cc" // lalr1.cc:635 + #line 408 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 233: // outbound_interface_value - case 232: // outbound_interface_value ++ case 234: // outbound_interface_value - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 442 "dhcp4_parser.cc" // lalr1.cc:635 + #line 415 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 255: // db_type - case 254: // db_type ++ case 256: // db_type - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 449 "dhcp4_parser.cc" // lalr1.cc:635 + #line 422 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 337: // hr_mode - case 336: // hr_mode ++ case 338: // hr_mode - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 456 "dhcp4_parser.cc" // lalr1.cc:635 + #line 429 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 484: // ncr_protocol_value - case 485: // ncr_protocol_value ++ case 487: // ncr_protocol_value - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 463 "dhcp4_parser.cc" // lalr1.cc:635 + #line 436 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 492: // replace_client_name_value - case 493: // replace_client_name_value ++ case 495: // replace_client_name_value - #line 244 "dhcp4_parser.yy" // lalr1.cc:635 -#line 245 "dhcp4_parser.yy" // lalr1.cc:636 ++#line 246 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } - #line 470 "dhcp4_parser.cc" // lalr1.cc:635 + #line 443 "dhcp4_parser.cc" // lalr1.cc:636 break; @@@ -661,32 -637,32 +637,32 @@@ /* Variants are always initialized to an empty instance of the correct type. The default '$$ = $1' action is NOT applied when using variants. */ - switch (yyr1_[yyn]) - { - case 185: // value - case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value + switch (yyr1_[yyn]) + { - case 185: // value - case 189: // map_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value yylhs.value.build< ElementPtr > (); break; -- case 168: // "boolean" ++ case 169: // "boolean" yylhs.value.build< bool > (); break; -- case 167: // "floating point" ++ case 168: // "floating point" yylhs.value.build< double > (); break; -- case 166: // "integer" ++ case 167: // "integer" yylhs.value.build< int64_t > (); break; -- case 165: // "constant string" ++ case 166: // "constant string" yylhs.value.build< std::string > (); break; @@@ -709,133 -684,133 +684,133 @@@ switch (yyn) { case 2: - #line 253 "dhcp4_parser.yy" // lalr1.cc:856 -#line 254 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 255 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORD; } - #line 715 "dhcp4_parser.cc" // lalr1.cc:856 + #line 690 "dhcp4_parser.cc" // lalr1.cc:859 break; case 4: - #line 254 "dhcp4_parser.yy" // lalr1.cc:856 -#line 255 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 256 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG; } - #line 721 "dhcp4_parser.cc" // lalr1.cc:856 + #line 696 "dhcp4_parser.cc" // lalr1.cc:859 break; case 6: - #line 255 "dhcp4_parser.yy" // lalr1.cc:856 -#line 256 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 257 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } - #line 727 "dhcp4_parser.cc" // lalr1.cc:856 + #line 702 "dhcp4_parser.cc" // lalr1.cc:859 break; case 8: - #line 256 "dhcp4_parser.yy" // lalr1.cc:856 -#line 257 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 258 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.INTERFACES_CONFIG; } - #line 733 "dhcp4_parser.cc" // lalr1.cc:856 + #line 708 "dhcp4_parser.cc" // lalr1.cc:859 break; case 10: - #line 257 "dhcp4_parser.yy" // lalr1.cc:856 -#line 258 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 259 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.SUBNET4; } - #line 739 "dhcp4_parser.cc" // lalr1.cc:856 + #line 714 "dhcp4_parser.cc" // lalr1.cc:859 break; case 12: - #line 258 "dhcp4_parser.yy" // lalr1.cc:856 -#line 259 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 260 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.POOLS; } - #line 745 "dhcp4_parser.cc" // lalr1.cc:856 + #line 720 "dhcp4_parser.cc" // lalr1.cc:859 break; case 14: - #line 259 "dhcp4_parser.yy" // lalr1.cc:856 -#line 260 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 261 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.RESERVATIONS; } - #line 751 "dhcp4_parser.cc" // lalr1.cc:856 + #line 726 "dhcp4_parser.cc" // lalr1.cc:859 break; case 16: - #line 260 "dhcp4_parser.yy" // lalr1.cc:856 -#line 261 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 262 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } - #line 757 "dhcp4_parser.cc" // lalr1.cc:856 + #line 732 "dhcp4_parser.cc" // lalr1.cc:859 break; case 18: - #line 261 "dhcp4_parser.yy" // lalr1.cc:856 -#line 262 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 263 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DEF; } - #line 763 "dhcp4_parser.cc" // lalr1.cc:856 + #line 738 "dhcp4_parser.cc" // lalr1.cc:859 break; case 20: - #line 262 "dhcp4_parser.yy" // lalr1.cc:856 -#line 263 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 264 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DATA; } - #line 769 "dhcp4_parser.cc" // lalr1.cc:856 + #line 744 "dhcp4_parser.cc" // lalr1.cc:859 break; case 22: - #line 263 "dhcp4_parser.yy" // lalr1.cc:856 -#line 264 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 265 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } - #line 775 "dhcp4_parser.cc" // lalr1.cc:856 + #line 750 "dhcp4_parser.cc" // lalr1.cc:859 break; case 24: - #line 264 "dhcp4_parser.yy" // lalr1.cc:856 -#line 265 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 266 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP_DDNS; } - #line 781 "dhcp4_parser.cc" // lalr1.cc:856 + #line 756 "dhcp4_parser.cc" // lalr1.cc:859 break; case 26: - #line 265 "dhcp4_parser.yy" // lalr1.cc:856 -#line 266 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 267 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.LOGGING; } - #line 787 "dhcp4_parser.cc" // lalr1.cc:856 + #line 762 "dhcp4_parser.cc" // lalr1.cc:859 break; case 28: - #line 266 "dhcp4_parser.yy" // lalr1.cc:856 -#line 267 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 268 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG_CONTROL; } - #line 793 "dhcp4_parser.cc" // lalr1.cc:856 + #line 768 "dhcp4_parser.cc" // lalr1.cc:859 break; case 30: - #line 274 "dhcp4_parser.yy" // lalr1.cc:856 -#line 275 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 276 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } - #line 799 "dhcp4_parser.cc" // lalr1.cc:856 + #line 774 "dhcp4_parser.cc" // lalr1.cc:859 break; case 31: - #line 275 "dhcp4_parser.yy" // lalr1.cc:856 -#line 276 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 277 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } - #line 805 "dhcp4_parser.cc" // lalr1.cc:856 + #line 780 "dhcp4_parser.cc" // lalr1.cc:859 break; case 32: - #line 276 "dhcp4_parser.yy" // lalr1.cc:856 -#line 277 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 278 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } - #line 811 "dhcp4_parser.cc" // lalr1.cc:856 + #line 786 "dhcp4_parser.cc" // lalr1.cc:859 break; case 33: - #line 277 "dhcp4_parser.yy" // lalr1.cc:856 -#line 278 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 279 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } - #line 817 "dhcp4_parser.cc" // lalr1.cc:856 + #line 792 "dhcp4_parser.cc" // lalr1.cc:859 break; case 34: - #line 278 "dhcp4_parser.yy" // lalr1.cc:856 -#line 279 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 280 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } - #line 823 "dhcp4_parser.cc" // lalr1.cc:856 + #line 798 "dhcp4_parser.cc" // lalr1.cc:859 break; case 35: - #line 279 "dhcp4_parser.yy" // lalr1.cc:856 -#line 280 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 281 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } - #line 829 "dhcp4_parser.cc" // lalr1.cc:856 + #line 804 "dhcp4_parser.cc" // lalr1.cc:859 break; case 36: - #line 280 "dhcp4_parser.yy" // lalr1.cc:856 -#line 281 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 282 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } - #line 835 "dhcp4_parser.cc" // lalr1.cc:856 + #line 810 "dhcp4_parser.cc" // lalr1.cc:859 break; case 37: - #line 283 "dhcp4_parser.yy" // lalr1.cc:856 -#line 284 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 285 "dhcp4_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); @@@ -844,7 -819,7 +819,7 @@@ break; case 38: - #line 288 "dhcp4_parser.yy" // lalr1.cc:856 -#line 289 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 290 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -855,7 -830,7 +830,7 @@@ break; case 39: - #line 293 "dhcp4_parser.yy" // lalr1.cc:856 -#line 294 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 295 "dhcp4_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@@ -865,13 -840,13 +840,13 @@@ break; case 40: - #line 299 "dhcp4_parser.yy" // lalr1.cc:856 -#line 300 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 301 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } - #line 871 "dhcp4_parser.cc" // lalr1.cc:856 + #line 846 "dhcp4_parser.cc" // lalr1.cc:859 break; case 43: - #line 306 "dhcp4_parser.yy" // lalr1.cc:856 -#line 307 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 308 "dhcp4_parser.yy" // lalr1.cc:859 { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); @@@ -880,7 -855,7 +855,7 @@@ break; case 44: - #line 310 "dhcp4_parser.yy" // lalr1.cc:856 -#line 311 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 312 "dhcp4_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value @@@ -890,7 -865,7 +865,7 @@@ break; case 45: - #line 317 "dhcp4_parser.yy" // lalr1.cc:856 -#line 318 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 319 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@@ -899,7 -874,7 +874,7 @@@ break; case 46: - #line 320 "dhcp4_parser.yy" // lalr1.cc:856 -#line 321 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 322 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here } @@@ -907,7 -882,7 +882,7 @@@ break; case 49: - #line 328 "dhcp4_parser.yy" // lalr1.cc:856 -#line 329 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 330 "dhcp4_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@@ -916,7 -891,7 +891,7 @@@ break; case 50: - #line 332 "dhcp4_parser.yy" // lalr1.cc:856 -#line 333 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 334 "dhcp4_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@@ -925,7 -900,7 +900,7 @@@ break; case 51: - #line 339 "dhcp4_parser.yy" // lalr1.cc:856 -#line 340 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 341 "dhcp4_parser.yy" // lalr1.cc:859 { // List parsing about to start } @@@ -933,7 -908,7 +908,7 @@@ break; case 52: - #line 341 "dhcp4_parser.yy" // lalr1.cc:856 -#line 342 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 343 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@@ -942,7 -917,7 +917,7 @@@ break; case 55: - #line 350 "dhcp4_parser.yy" // lalr1.cc:856 -#line 351 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 352 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@@ -951,7 -926,7 +926,7 @@@ break; case 56: - #line 354 "dhcp4_parser.yy" // lalr1.cc:856 -#line 355 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 356 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@@ -960,7 -935,7 +935,7 @@@ break; case 57: - #line 365 "dhcp4_parser.yy" // lalr1.cc:856 -#line 366 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 367 "dhcp4_parser.yy" // lalr1.cc:859 { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); @@@ -971,7 -946,7 +946,7 @@@ break; case 58: - #line 375 "dhcp4_parser.yy" // lalr1.cc:856 -#line 376 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 377 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -982,7 -957,7 +957,7 @@@ break; case 59: - #line 380 "dhcp4_parser.yy" // lalr1.cc:856 -#line 381 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 382 "dhcp4_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@@ -995,7 -970,7 +970,7 @@@ break; case 68: - #line 404 "dhcp4_parser.yy" // lalr1.cc:856 -#line 405 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 406 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -1008,7 -983,7 +983,7 @@@ break; case 69: - #line 411 "dhcp4_parser.yy" // lalr1.cc:856 -#line 412 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 413 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required ctx.stack_.pop_back(); @@@ -1018,7 -993,7 +993,7 @@@ break; case 70: - #line 419 "dhcp4_parser.yy" // lalr1.cc:856 -#line 420 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 421 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@@ -1028,278 -1003,269 +1003,278 @@@ break; case 71: - #line 423 "dhcp4_parser.yy" // lalr1.cc:856 -#line 424 "dhcp4_parser.yy" // lalr1.cc:859 ++#line 425 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required // parsing completed } - #line 1037 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1012 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 106: - #line 468 "dhcp4_parser.yy" // lalr1.cc:856 -#line 469 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 107: ++#line 471 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } - #line 1046 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1021 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 107: - #line 473 "dhcp4_parser.yy" // lalr1.cc:856 -#line 474 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 108: ++#line 476 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } - #line 1055 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1030 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 108: - #line 478 "dhcp4_parser.yy" // lalr1.cc:856 -#line 479 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 109: ++#line 481 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } - #line 1064 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1039 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 109: - #line 483 "dhcp4_parser.yy" // lalr1.cc:856 -#line 484 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 110: ++#line 486 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } - #line 1073 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1048 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 110: - #line 488 "dhcp4_parser.yy" // lalr1.cc:856 -#line 489 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 111: ++#line 491 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1081 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1056 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 111: - #line 490 "dhcp4_parser.yy" // lalr1.cc:856 -#line 491 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 112: ++#line 493 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1091 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1066 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 112: - #line 496 "dhcp4_parser.yy" // lalr1.cc:856 -#line 497 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 113: ++#line 499 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); } - #line 1100 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1075 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 113: - #line 501 "dhcp4_parser.yy" // lalr1.cc:856 -#line 502 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 114: ++#line 504 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); } - #line 1109 "dhcp4_parser.cc" // lalr1.cc:856 + #line 1084 "dhcp4_parser.cc" // lalr1.cc:859 break; -- case 114: - #line 506 "dhcp4_parser.yy" // lalr1.cc:856 -#line 508 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 115: ++#line 509 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr prf(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("authoritative", prf); +} - #line 1118 "dhcp4_parser.cc" // lalr1.cc:856 ++#line 1093 "dhcp4_parser.cc" // lalr1.cc:859 + break; + - case 115: - #line 512 "dhcp4_parser.yy" // lalr1.cc:856 ++ case 116: ++#line 515 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } - #line 1129 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1095 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1104 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 116: - #line 517 "dhcp4_parser.yy" // lalr1.cc:856 - case 115: -#line 513 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 117: ++#line 520 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } - #line 1139 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1105 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1114 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 126: - #line 536 "dhcp4_parser.yy" // lalr1.cc:856 - case 125: -#line 532 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 127: ++#line 539 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 1149 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1115 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1124 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 127: - #line 540 "dhcp4_parser.yy" // lalr1.cc:856 - case 126: -#line 536 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 128: ++#line 543 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required // parsing completed } - #line 1158 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1124 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1133 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 128: - #line 545 "dhcp4_parser.yy" // lalr1.cc:856 - case 127: -#line 541 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 129: ++#line 548 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } - #line 1169 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1135 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1144 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 129: - #line 550 "dhcp4_parser.yy" // lalr1.cc:856 - case 128: -#line 546 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 130: ++#line 553 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1178 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1144 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1153 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 130: - #line 555 "dhcp4_parser.yy" // lalr1.cc:856 - case 129: -#line 551 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 131: ++#line 558 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DHCP_SOCKET_TYPE); } - #line 1186 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1152 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1161 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 131: - #line 557 "dhcp4_parser.yy" // lalr1.cc:856 - case 130: -#line 553 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 132: ++#line 560 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 1195 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1161 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1170 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 132: - #line 562 "dhcp4_parser.yy" // lalr1.cc:856 - case 131: -#line 558 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 133: ++#line 565 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } - #line 1201 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1167 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1176 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 133: - #line 563 "dhcp4_parser.yy" // lalr1.cc:856 - case 132: -#line 559 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 134: ++#line 566 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } - #line 1207 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1173 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1182 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 134: - #line 566 "dhcp4_parser.yy" // lalr1.cc:856 - case 133: -#line 562 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 135: ++#line 569 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.OUTBOUND_INTERFACE); } - #line 1215 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1181 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1190 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 135: - #line 568 "dhcp4_parser.yy" // lalr1.cc:856 - case 134: -#line 564 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 136: ++#line 571 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 1224 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1190 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1199 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 136: - #line 573 "dhcp4_parser.yy" // lalr1.cc:856 - case 135: -#line 569 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 137: ++#line 576 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } - #line 1232 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1198 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1207 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 137: - #line 575 "dhcp4_parser.yy" // lalr1.cc:856 - case 136: -#line 571 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 138: ++#line 578 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } - #line 1240 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1206 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1215 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 138: - #line 579 "dhcp4_parser.yy" // lalr1.cc:856 - case 137: -#line 575 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 139: ++#line 582 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } - #line 1249 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1215 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1224 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 139: - #line 585 "dhcp4_parser.yy" // lalr1.cc:856 - case 138: -#line 581 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 140: ++#line 588 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } - #line 1260 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1226 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1235 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 140: - #line 590 "dhcp4_parser.yy" // lalr1.cc:856 - case 139: -#line 586 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 141: ++#line 593 "dhcp4_parser.yy" // lalr1.cc:859 { // 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 1271 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1237 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1246 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 141: - #line 597 "dhcp4_parser.yy" // lalr1.cc:856 - case 140: -#line 593 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 142: ++#line 600 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sanity-checks", m); ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } - #line 1282 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1248 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1257 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 142: - #line 602 "dhcp4_parser.yy" // lalr1.cc:856 - case 141: -#line 598 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 143: ++#line 605 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1291 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1257 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1266 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 146: - #line 612 "dhcp4_parser.yy" // lalr1.cc:856 - case 145: -#line 608 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 147: ++#line 615 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1299 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1265 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1274 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 147: - #line 614 "dhcp4_parser.yy" // lalr1.cc:856 - case 146: -#line 610 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 148: ++#line 617 "dhcp4_parser.yy" // lalr1.cc:859 { if ( (string(yystack_[0].value.as< std::string > ()) == "none") || @@@ -1315,577 -1281,577 +1290,577 @@@ ", supported values are: none, warn, fix, fix-del, del"); } } - #line 1319 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1285 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1294 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 148: - #line 630 "dhcp4_parser.yy" // lalr1.cc:856 - case 147: -#line 626 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 149: ++#line 633 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } - #line 1330 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1296 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1305 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 149: - #line 635 "dhcp4_parser.yy" // lalr1.cc:856 - case 148: -#line 631 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 150: ++#line 638 "dhcp4_parser.yy" // lalr1.cc:859 { // 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 1341 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1307 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1316 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 150: - #line 642 "dhcp4_parser.yy" // lalr1.cc:856 - case 149: -#line 638 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 151: ++#line 645 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } - #line 1352 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1318 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1327 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 151: - #line 647 "dhcp4_parser.yy" // lalr1.cc:856 - case 150: -#line 643 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 152: ++#line 650 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1361 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1327 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1336 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 156: - #line 660 "dhcp4_parser.yy" // lalr1.cc:856 - case 155: -#line 656 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 157: ++#line 663 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 1371 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1337 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1346 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 157: - #line 664 "dhcp4_parser.yy" // lalr1.cc:856 - case 156: -#line 660 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 158: ++#line 667 "dhcp4_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } - #line 1381 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1347 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1356 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 178: - #line 694 "dhcp4_parser.yy" // lalr1.cc:856 - case 177: -#line 690 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 179: ++#line 697 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DATABASE_TYPE); } - #line 1389 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1355 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1364 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 179: - #line 696 "dhcp4_parser.yy" // lalr1.cc:856 - case 178: -#line 692 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 180: ++#line 699 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 1398 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1364 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1373 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 180: - #line 701 "dhcp4_parser.yy" // lalr1.cc:856 - case 179: -#line 697 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 181: ++#line 704 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } - #line 1404 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1370 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1379 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 181: - #line 702 "dhcp4_parser.yy" // lalr1.cc:856 - case 180: -#line 698 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 182: ++#line 705 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } - #line 1410 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1376 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1385 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 182: - #line 703 "dhcp4_parser.yy" // lalr1.cc:856 - case 181: -#line 699 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 183: ++#line 706 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } - #line 1416 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1382 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1391 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 183: - #line 704 "dhcp4_parser.yy" // lalr1.cc:856 - case 182: -#line 700 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 184: ++#line 707 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } - #line 1422 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1388 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1397 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 184: - #line 707 "dhcp4_parser.yy" // lalr1.cc:856 - case 183: -#line 703 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 185: ++#line 710 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1430 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1396 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1405 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 185: - #line 709 "dhcp4_parser.yy" // lalr1.cc:856 - case 184: -#line 705 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 186: ++#line 712 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } - #line 1440 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1406 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1415 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 186: - #line 715 "dhcp4_parser.yy" // lalr1.cc:856 - case 185: -#line 711 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 187: ++#line 718 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1448 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1414 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1423 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 187: - #line 717 "dhcp4_parser.yy" // lalr1.cc:856 - case 186: -#line 713 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 188: ++#line 720 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } - #line 1458 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1424 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1433 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 188: - #line 723 "dhcp4_parser.yy" // lalr1.cc:856 - case 187: -#line 719 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 189: ++#line 726 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1466 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1432 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1441 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 189: - #line 725 "dhcp4_parser.yy" // lalr1.cc:856 - case 188: -#line 721 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 190: ++#line 728 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } - #line 1476 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1442 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1451 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 190: - #line 731 "dhcp4_parser.yy" // lalr1.cc:856 - case 189: -#line 727 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 191: ++#line 734 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } - #line 1485 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1451 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1460 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 191: - #line 736 "dhcp4_parser.yy" // lalr1.cc:856 - case 190: -#line 732 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 192: ++#line 739 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1493 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1459 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1468 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 192: - #line 738 "dhcp4_parser.yy" // lalr1.cc:856 - case 191: -#line 734 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 193: ++#line 741 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } - #line 1503 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1469 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1478 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 193: - #line 744 "dhcp4_parser.yy" // lalr1.cc:856 - case 192: -#line 740 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 194: ++#line 747 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } - #line 1512 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1478 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1487 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 194: - #line 749 "dhcp4_parser.yy" // lalr1.cc:856 - case 193: -#line 745 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 195: ++#line 752 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } - #line 1521 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1487 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1496 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 195: - #line 754 "dhcp4_parser.yy" // lalr1.cc:856 - case 194: -#line 750 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 196: ++#line 757 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } - #line 1530 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1496 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1505 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 196: - #line 759 "dhcp4_parser.yy" // lalr1.cc:856 - case 195: -#line 755 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 197: ++#line 762 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } - #line 1539 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1505 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1514 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 197: - #line 764 "dhcp4_parser.yy" // lalr1.cc:856 - case 196: -#line 760 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 198: ++#line 767 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } - #line 1548 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1514 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1523 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 198: - #line 769 "dhcp4_parser.yy" // lalr1.cc:856 - case 197: -#line 765 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 199: ++#line 772 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } - #line 1557 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1523 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1532 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 199: - #line 774 "dhcp4_parser.yy" // lalr1.cc:856 - case 198: -#line 770 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 200: ++#line 777 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } - #line 1566 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1532 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1541 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 200: - #line 779 "dhcp4_parser.yy" // lalr1.cc:856 - case 199: -#line 775 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 201: ++#line 782 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1574 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1540 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1549 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 201: - #line 781 "dhcp4_parser.yy" // lalr1.cc:856 - case 200: -#line 777 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 202: ++#line 784 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1584 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1550 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1559 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 202: - #line 787 "dhcp4_parser.yy" // lalr1.cc:856 - case 201: -#line 783 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 203: ++#line 790 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1592 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1558 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1567 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 203: - #line 789 "dhcp4_parser.yy" // lalr1.cc:856 - case 202: -#line 785 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 204: ++#line 792 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } - #line 1602 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1568 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1577 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 204: - #line 795 "dhcp4_parser.yy" // lalr1.cc:856 - case 203: -#line 791 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 205: ++#line 798 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } - #line 1611 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1577 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1586 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 205: - #line 800 "dhcp4_parser.yy" // lalr1.cc:856 - case 204: -#line 796 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 206: ++#line 803 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } - #line 1620 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1586 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1595 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 206: - #line 805 "dhcp4_parser.yy" // lalr1.cc:856 - case 205: -#line 801 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 207: ++#line 808 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } - #line 1631 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1597 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1606 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 207: - #line 810 "dhcp4_parser.yy" // lalr1.cc:856 - case 206: -#line 806 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 208: ++#line 813 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1640 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1606 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1615 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 215: - #line 826 "dhcp4_parser.yy" // lalr1.cc:856 - case 214: -#line 822 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 216: ++#line 829 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } - #line 1649 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1615 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1624 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 216: - #line 831 "dhcp4_parser.yy" // lalr1.cc:856 - case 215: -#line 827 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 217: ++#line 834 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } - #line 1658 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1624 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1633 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 217: - #line 836 "dhcp4_parser.yy" // lalr1.cc:856 - case 216: -#line 832 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 218: ++#line 839 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } - #line 1667 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1633 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1642 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 218: - #line 841 "dhcp4_parser.yy" // lalr1.cc:856 - case 217: -#line 837 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 219: ++#line 844 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } - #line 1676 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1642 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1651 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 219: - #line 846 "dhcp4_parser.yy" // lalr1.cc:856 - case 218: -#line 842 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 220: ++#line 849 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } - #line 1685 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1651 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1660 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 220: - #line 851 "dhcp4_parser.yy" // lalr1.cc:856 - case 219: -#line 847 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 221: ++#line 854 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } - #line 1696 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1662 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1671 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 221: - #line 856 "dhcp4_parser.yy" // lalr1.cc:856 - case 220: -#line 852 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 222: ++#line 859 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1705 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1671 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1680 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 226: - #line 869 "dhcp4_parser.yy" // lalr1.cc:856 - case 225: -#line 865 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 227: ++#line 872 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 1715 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1681 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1690 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 227: - #line 873 "dhcp4_parser.yy" // lalr1.cc:856 - case 226: -#line 869 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 228: ++#line 876 "dhcp4_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } - #line 1725 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1691 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1700 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 228: - #line 879 "dhcp4_parser.yy" // lalr1.cc:856 - case 227: -#line 875 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 229: ++#line 882 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 1735 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1701 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1710 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 229: - #line 883 "dhcp4_parser.yy" // lalr1.cc:856 - case 228: -#line 879 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 230: ++#line 886 "dhcp4_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } - #line 1745 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1711 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1720 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 235: - #line 898 "dhcp4_parser.yy" // lalr1.cc:856 - case 234: -#line 894 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 236: ++#line 901 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1753 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1719 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1728 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 236: - #line 900 "dhcp4_parser.yy" // lalr1.cc:856 - case 235: -#line 896 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 237: ++#line 903 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } - #line 1763 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1729 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1738 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 237: - #line 906 "dhcp4_parser.yy" // lalr1.cc:856 - case 236: -#line 902 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 238: ++#line 909 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1771 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1737 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1746 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 238: - #line 908 "dhcp4_parser.yy" // lalr1.cc:856 - case 237: -#line 904 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 239: ++#line 911 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 1780 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1746 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1755 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 239: - #line 914 "dhcp4_parser.yy" // lalr1.cc:856 - case 238: -#line 910 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 240: ++#line 917 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } - #line 1791 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1757 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1766 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 240: - #line 919 "dhcp4_parser.yy" // lalr1.cc:856 - case 239: -#line 915 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 241: ++#line 922 "dhcp4_parser.yy" // lalr1.cc:859 { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } - #line 1801 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1767 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1776 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 249: - #line 937 "dhcp4_parser.yy" // lalr1.cc:856 - case 248: -#line 933 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 250: ++#line 940 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1810 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1776 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1785 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 250: - #line 942 "dhcp4_parser.yy" // lalr1.cc:856 - case 249: -#line 938 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 251: ++#line 945 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1819 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1785 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1794 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 251: - #line 947 "dhcp4_parser.yy" // lalr1.cc:856 - case 250: -#line 943 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 252: ++#line 950 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } - #line 1828 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1794 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1803 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 252: - #line 952 "dhcp4_parser.yy" // lalr1.cc:856 - case 251: -#line 948 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 253: ++#line 955 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } - #line 1837 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1803 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1812 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 253: - #line 957 "dhcp4_parser.yy" // lalr1.cc:856 - case 252: -#line 953 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 254: ++#line 960 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } - #line 1846 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1812 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1821 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 254: - #line 962 "dhcp4_parser.yy" // lalr1.cc:856 - case 253: -#line 958 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 255: ++#line 965 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } - #line 1855 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1821 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1830 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 255: - #line 970 "dhcp4_parser.yy" // lalr1.cc:856 - case 254: -#line 966 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 256: ++#line 973 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet4", l); ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } - #line 1866 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1832 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1841 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 256: - #line 975 "dhcp4_parser.yy" // lalr1.cc:856 - case 255: -#line 971 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 257: ++#line 978 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 1875 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1841 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1850 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 261: - #line 995 "dhcp4_parser.yy" // lalr1.cc:856 - case 260: -#line 991 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 262: ++#line 998 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 1885 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1851 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1860 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 262: - #line 999 "dhcp4_parser.yy" // lalr1.cc:856 - case 261: -#line 995 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 263: ++#line 1002 "dhcp4_parser.yy" // lalr1.cc:859 { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@@ -1907,294 -1873,294 +1882,294 @@@ ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } - #line 1911 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1877 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1886 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 263: - #line 1021 "dhcp4_parser.yy" // lalr1.cc:856 - case 262: -#line 1017 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 264: ++#line 1024 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 1921 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1887 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1896 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 264: - #line 1025 "dhcp4_parser.yy" // lalr1.cc:856 - case 263: -#line 1021 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 265: ++#line 1028 "dhcp4_parser.yy" // lalr1.cc:859 { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } - #line 1931 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1897 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1906 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 291: - #line 1063 "dhcp4_parser.yy" // lalr1.cc:856 - case 289: -#line 1058 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 292: ++#line 1066 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1939 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1905 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1914 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 292: - #line 1065 "dhcp4_parser.yy" // lalr1.cc:856 - case 290: -#line 1060 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 293: ++#line 1068 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } - #line 1949 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1915 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1924 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 293: - #line 1071 "dhcp4_parser.yy" // lalr1.cc:856 - case 291: -#line 1066 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 294: ++#line 1074 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1957 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1923 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1932 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 294: - #line 1073 "dhcp4_parser.yy" // lalr1.cc:856 - case 292: -#line 1068 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 295: ++#line 1076 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1967 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1933 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1942 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 295: - #line 1079 "dhcp4_parser.yy" // lalr1.cc:856 - case 293: -#line 1074 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 296: ++#line 1082 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1975 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1941 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1950 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 296: - #line 1081 "dhcp4_parser.yy" // lalr1.cc:856 - case 294: -#line 1076 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 297: ++#line 1084 "dhcp4_parser.yy" // lalr1.cc:859 { 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 1985 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1951 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1960 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 297: - #line 1087 "dhcp4_parser.yy" // lalr1.cc:856 - case 295: -#line 1082 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 298: ++#line 1090 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 1993 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1959 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1968 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 298: - #line 1089 "dhcp4_parser.yy" // lalr1.cc:856 - case 296: -#line 1084 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 299: ++#line 1092 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2003 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1969 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1978 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 299: - #line 1095 "dhcp4_parser.yy" // lalr1.cc:856 - case 297: -#line 1090 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 300: ++#line 1098 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2011 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1977 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1986 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 300: - #line 1097 "dhcp4_parser.yy" // lalr1.cc:856 - case 298: -#line 1092 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 301: ++#line 1100 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } - #line 2021 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1987 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 1996 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 301: - #line 1103 "dhcp4_parser.yy" // lalr1.cc:856 - case 299: -#line 1098 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 302: ++#line 1106 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2029 "dhcp4_parser.cc" // lalr1.cc:856 -#line 1995 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2004 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 302: - #line 1105 "dhcp4_parser.yy" // lalr1.cc:856 - case 300: -#line 1100 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 303: ++#line 1108 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2039 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2005 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2014 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 303: - #line 1111 "dhcp4_parser.yy" // lalr1.cc:856 - case 301: -#line 1106 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 304: ++#line 1114 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("require-client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } - #line 2050 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2016 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2025 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 304: - #line 1116 "dhcp4_parser.yy" // lalr1.cc:856 - case 302: -#line 1111 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 305: ++#line 1119 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2059 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2025 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2034 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 305: - #line 1121 "dhcp4_parser.yy" // lalr1.cc:856 - case 303: -#line 1116 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 306: ++#line 1124 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.RESERVATION_MODE); } - #line 2067 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2033 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2042 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 306: - #line 1123 "dhcp4_parser.yy" // lalr1.cc:856 - case 304: -#line 1118 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 307: ++#line 1126 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 2076 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2042 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2051 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 307: - #line 1128 "dhcp4_parser.yy" // lalr1.cc:856 - case 305: -#line 1123 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 308: ++#line 1131 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } - #line 2082 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2048 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2057 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 308: - #line 1129 "dhcp4_parser.yy" // lalr1.cc:856 - case 306: -#line 1124 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 309: ++#line 1132 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } - #line 2088 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2054 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2063 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 309: - #line 1130 "dhcp4_parser.yy" // lalr1.cc:856 - case 307: -#line 1125 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 310: ++#line 1133 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } - #line 2094 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2060 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2069 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 310: - #line 1131 "dhcp4_parser.yy" // lalr1.cc:856 - case 308: -#line 1126 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 311: ++#line 1134 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } - #line 2100 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2066 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2075 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 311: - #line 1134 "dhcp4_parser.yy" // lalr1.cc:856 - case 309: -#line 1129 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 312: ++#line 1137 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } - #line 2109 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2075 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2084 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 312: - #line 1141 "dhcp4_parser.yy" // lalr1.cc:856 - case 310: -#line 1136 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 313: ++#line 1144 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } - #line 2120 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2086 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2095 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 313: - #line 1146 "dhcp4_parser.yy" // lalr1.cc:856 - case 311: -#line 1141 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 314: ++#line 1149 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2129 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2095 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2104 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 318: - #line 1161 "dhcp4_parser.yy" // lalr1.cc:856 - case 316: -#line 1156 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 319: ++#line 1164 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2139 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2105 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2114 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 319: - #line 1165 "dhcp4_parser.yy" // lalr1.cc:856 - case 317: -#line 1160 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 320: ++#line 1168 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 2147 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2113 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2122 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 341: - #line 1198 "dhcp4_parser.yy" // lalr1.cc:856 - case 338: -#line 1192 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 342: ++#line 1201 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } - #line 2158 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2124 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2133 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 342: - #line 1203 "dhcp4_parser.yy" // lalr1.cc:856 - case 339: -#line 1197 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 343: ++#line 1206 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2167 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2133 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2142 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 343: - #line 1211 "dhcp4_parser.yy" // lalr1.cc:856 - case 340: -#line 1205 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 344: ++#line 1214 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 2176 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2142 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2151 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 344: - #line 1214 "dhcp4_parser.yy" // lalr1.cc:856 - case 341: -#line 1208 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 345: ++#line 1217 "dhcp4_parser.yy" // lalr1.cc:859 { // parsing completed } - #line 2184 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2150 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2159 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 349: - #line 1230 "dhcp4_parser.yy" // lalr1.cc:856 - case 346: -#line 1224 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 350: ++#line 1233 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2194 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2160 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2169 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 350: - #line 1234 "dhcp4_parser.yy" // lalr1.cc:856 - case 347: -#line 1228 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 351: ++#line 1237 "dhcp4_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2202,21 -2168,21 +2177,21 @@@ ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } - #line 2206 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2172 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2181 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 351: - #line 1245 "dhcp4_parser.yy" // lalr1.cc:856 - case 348: -#line 1239 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 352: ++#line 1248 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 2216 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2182 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2191 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 352: - #line 1249 "dhcp4_parser.yy" // lalr1.cc:856 - case 349: -#line 1243 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 353: ++#line 1252 "dhcp4_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2224,281 -2190,281 +2199,281 @@@ ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } - #line 2228 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2194 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2203 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 368: - #line 1281 "dhcp4_parser.yy" // lalr1.cc:856 - case 365: -#line 1275 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 369: ++#line 1284 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } - #line 2237 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2203 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2212 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 370: - #line 1288 "dhcp4_parser.yy" // lalr1.cc:856 - case 367: -#line 1282 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 371: ++#line 1291 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2245 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2211 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2220 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 371: - #line 1290 "dhcp4_parser.yy" // lalr1.cc:856 - case 368: -#line 1284 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 372: ++#line 1293 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } - #line 2255 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2221 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2230 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 372: - #line 1296 "dhcp4_parser.yy" // lalr1.cc:856 - case 369: -#line 1290 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 373: ++#line 1299 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2263 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2229 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2238 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 373: - #line 1298 "dhcp4_parser.yy" // lalr1.cc:856 - case 370: -#line 1292 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 374: ++#line 1301 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2273 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2239 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2248 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 374: - #line 1304 "dhcp4_parser.yy" // lalr1.cc:856 - case 371: -#line 1298 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 375: ++#line 1307 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2281 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2247 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2256 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 375: - #line 1306 "dhcp4_parser.yy" // lalr1.cc:856 - case 372: -#line 1300 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 376: ++#line 1309 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } - #line 2291 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2257 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2266 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 377: - #line 1314 "dhcp4_parser.yy" // lalr1.cc:856 - case 374: -#line 1308 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 378: ++#line 1317 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2299 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2265 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2274 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 378: - #line 1316 "dhcp4_parser.yy" // lalr1.cc:856 - case 375: -#line 1310 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 379: ++#line 1319 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } - #line 2309 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2275 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2284 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 379: - #line 1322 "dhcp4_parser.yy" // lalr1.cc:856 - case 376: -#line 1316 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 380: ++#line 1325 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } - #line 2318 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2284 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2293 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 380: - #line 1331 "dhcp4_parser.yy" // lalr1.cc:856 - case 377: -#line 1325 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 381: ++#line 1334 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } - #line 2329 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2295 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2304 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 381: - #line 1336 "dhcp4_parser.yy" // lalr1.cc:856 - case 378: -#line 1330 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 382: ++#line 1339 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2338 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2304 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2313 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 386: - #line 1355 "dhcp4_parser.yy" // lalr1.cc:856 - case 383: -#line 1349 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 387: ++#line 1358 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2348 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2314 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2323 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 387: - #line 1359 "dhcp4_parser.yy" // lalr1.cc:856 - case 384: -#line 1353 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 388: ++#line 1362 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } - #line 2357 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2323 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2332 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 388: - #line 1367 "dhcp4_parser.yy" // lalr1.cc:856 - case 385: -#line 1361 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 389: ++#line 1370 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 2367 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2333 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2342 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 389: - #line 1371 "dhcp4_parser.yy" // lalr1.cc:856 - case 386: -#line 1365 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 390: ++#line 1374 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. // parsing completed } - #line 2376 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2342 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2351 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 404: - #line 1404 "dhcp4_parser.yy" // lalr1.cc:856 - case 401: -#line 1398 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 405: ++#line 1407 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2384 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2350 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2359 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 405: - #line 1406 "dhcp4_parser.yy" // lalr1.cc:856 - case 402: -#line 1400 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 406: ++#line 1409 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } - #line 2394 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2360 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2369 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 408: - #line 1416 "dhcp4_parser.yy" // lalr1.cc:856 - case 405: -#line 1410 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 409: ++#line 1419 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } - #line 2403 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2369 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2378 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 409: - #line 1421 "dhcp4_parser.yy" // lalr1.cc:856 - case 406: -#line 1415 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 410: ++#line 1424 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } - #line 2412 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2378 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2387 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 410: - #line 1429 "dhcp4_parser.yy" // lalr1.cc:856 - case 407: -#line 1423 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 411: ++#line 1432 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } - #line 2423 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2389 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2398 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 411: - #line 1434 "dhcp4_parser.yy" // lalr1.cc:856 - case 408: -#line 1428 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 412: ++#line 1437 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2432 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2398 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2407 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 416: - #line 1449 "dhcp4_parser.yy" // lalr1.cc:856 - case 413: -#line 1443 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 417: ++#line 1452 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2442 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2408 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2417 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 417: - #line 1453 "dhcp4_parser.yy" // lalr1.cc:856 - case 414: -#line 1447 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 418: ++#line 1456 "dhcp4_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } - #line 2452 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2418 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2427 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 418: - #line 1459 "dhcp4_parser.yy" // lalr1.cc:856 - case 415: -#line 1453 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 419: ++#line 1462 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 2462 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2428 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2437 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 419: - #line 1463 "dhcp4_parser.yy" // lalr1.cc:856 - case 416: -#line 1457 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 420: ++#line 1466 "dhcp4_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } - #line 2472 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2438 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2447 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 429: - #line 1482 "dhcp4_parser.yy" // lalr1.cc:856 - case 426: -#line 1476 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 430: ++#line 1485 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2480 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2446 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2455 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 430: - #line 1484 "dhcp4_parser.yy" // lalr1.cc:856 - case 427: -#line 1478 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 431: ++#line 1487 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } - #line 2490 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2456 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2465 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 431: - #line 1490 "dhcp4_parser.yy" // lalr1.cc:856 - case 428: -#line 1484 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 432: ++#line 1493 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2498 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2464 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2473 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 432: - #line 1492 "dhcp4_parser.yy" // lalr1.cc:856 - case 429: -#line 1486 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 433: ++#line 1495 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as< ElementPtr > (); @@@ -2521,19 -2487,19 +2496,19 @@@ parent->set("user-context", user_context); ctx.leave(); } - #line 2525 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2491 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2500 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 433: - #line 1515 "dhcp4_parser.yy" // lalr1.cc:856 - case 430: -#line 1509 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 434: ++#line 1518 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2533 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2499 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2508 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 434: - #line 1517 "dhcp4_parser.yy" // lalr1.cc:856 - case 431: -#line 1511 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 435: ++#line 1520 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@@ -2558,1074 -2524,1100 +2533,1100 @@@ parent->set("user-context", user_context); ctx.leave(); } - #line 2562 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2528 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2537 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 435: - #line 1545 "dhcp4_parser.yy" // lalr1.cc:856 - case 432: -#line 1539 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 436: ++#line 1548 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } - #line 2573 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2539 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2548 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 436: - #line 1550 "dhcp4_parser.yy" // lalr1.cc:856 - case 433: -#line 1544 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 437: ++#line 1553 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2582 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2548 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2557 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 441: - #line 1563 "dhcp4_parser.yy" // lalr1.cc:856 - case 438: -#line 1557 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 442: ++#line 1566 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2592 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2558 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2567 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 442: - #line 1567 "dhcp4_parser.yy" // lalr1.cc:856 - case 439: -#line 1561 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 443: ++#line 1570 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } - #line 2601 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2567 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2576 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 443: - #line 1572 "dhcp4_parser.yy" // lalr1.cc:856 - case 440: -#line 1566 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 444: ++#line 1575 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 2611 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2577 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2586 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 444: - #line 1576 "dhcp4_parser.yy" // lalr1.cc:856 - case 441: -#line 1570 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 445: ++#line 1579 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. // parsing completed } - #line 2620 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2586 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2595 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 464: - #line 1607 "dhcp4_parser.yy" // lalr1.cc:856 - case 461: -#line 1601 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 465: ++#line 1610 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2628 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2594 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2603 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 465: - #line 1609 "dhcp4_parser.yy" // lalr1.cc:856 - case 462: -#line 1603 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 466: ++#line 1612 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2638 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2604 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2613 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 466: - #line 1615 "dhcp4_parser.yy" // lalr1.cc:856 - case 463: -#line 1609 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 467: ++#line 1618 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2646 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2612 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2621 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 467: - #line 1617 "dhcp4_parser.yy" // lalr1.cc:856 - case 464: -#line 1611 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 468: ++#line 1620 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2656 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2622 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2631 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 468: - #line 1623 "dhcp4_parser.yy" // lalr1.cc:856 - case 465: -#line 1617 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 469: ++#line 1626 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2664 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2630 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2639 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 469: - #line 1625 "dhcp4_parser.yy" // lalr1.cc:856 - case 466: -#line 1619 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 470: ++#line 1628 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2674 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2640 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2649 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 470: - #line 1631 "dhcp4_parser.yy" // lalr1.cc:856 - case 467: -#line 1625 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 471: ++#line 1634 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2682 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2648 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2657 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 471: - #line 1633 "dhcp4_parser.yy" // lalr1.cc:856 - case 468: -#line 1627 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 472: ++#line 1636 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2692 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2658 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2667 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 472: - #line 1639 "dhcp4_parser.yy" // lalr1.cc:856 - case 469: -#line 1633 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 473: ++#line 1642 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-addresses", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } - #line 2703 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2669 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2678 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 473: - #line 1644 "dhcp4_parser.yy" // lalr1.cc:856 - case 470: -#line 1638 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 474: ++#line 1647 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2712 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2678 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2687 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 474: - #line 1649 "dhcp4_parser.yy" // lalr1.cc:856 - case 471: -#line 1643 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 475: ++#line 1652 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2720 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2686 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2695 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 475: - #line 1651 "dhcp4_parser.yy" // lalr1.cc:856 - case 472: -#line 1645 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 476: ++#line 1654 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } - #line 2730 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2696 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2705 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 476: - #line 1657 "dhcp4_parser.yy" // lalr1.cc:856 - case 473: -#line 1651 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 477: ++#line 1660 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2738 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2704 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2713 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 477: - #line 1659 "dhcp4_parser.yy" // lalr1.cc:856 - case 474: -#line 1653 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 478: ++#line 1662 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2748 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2714 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2723 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 478: - #line 1665 "dhcp4_parser.yy" // lalr1.cc:856 - case 475: -#line 1659 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 479: ++#line 1668 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2756 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2722 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2731 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 479: - #line 1667 "dhcp4_parser.yy" // lalr1.cc:856 - case 476: -#line 1661 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 480: ++#line 1670 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2766 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2732 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2741 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 480: - #line 1673 "dhcp4_parser.yy" // lalr1.cc:856 - case 477: -#line 1667 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 481: ++#line 1676 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2774 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2740 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2749 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 481: - #line 1675 "dhcp4_parser.yy" // lalr1.cc:856 - case 478: -#line 1669 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 482: ++#line 1678 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2784 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2750 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2759 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 482: - #line 1681 "dhcp4_parser.yy" // lalr1.cc:856 - case 479: -#line 1675 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 483: ++#line 1684 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2792 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2758 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2767 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 483: - #line 1683 "dhcp4_parser.yy" // lalr1.cc:856 - case 480: -#line 1677 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 484: ++#line 1686 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2802 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2768 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2777 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 484: - #line 1689 "dhcp4_parser.yy" // lalr1.cc:856 - case 481: -#line 1683 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 485: ++#line 1692 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2810 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2776 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2785 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 485: - #line 1691 "dhcp4_parser.yy" // lalr1.cc:856 - case 482: -#line 1685 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 486: ++#line 1694 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } - #line 2820 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2786 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2795 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 486: - #line 1697 "dhcp4_parser.yy" // lalr1.cc:856 - case 483: -#line 1691 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 487: ++#line 1700 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } - #line 2831 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2797 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2806 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 487: - #line 1702 "dhcp4_parser.yy" // lalr1.cc:856 - case 484: -#line 1696 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 488: ++#line 1705 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2840 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2806 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2815 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 488: - #line 1710 "dhcp4_parser.yy" // lalr1.cc:856 - case 485: -#line 1704 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 489: ++#line 1713 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } - #line 2851 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2817 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2826 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 489: - #line 1715 "dhcp4_parser.yy" // lalr1.cc:856 - case 486: -#line 1709 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 490: ++#line 1718 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2860 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2826 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2835 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 492: - #line 1727 "dhcp4_parser.yy" // lalr1.cc:856 - case 489: -#line 1721 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 493: ++#line 1730 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } - #line 2871 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2837 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2846 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 493: - #line 1732 "dhcp4_parser.yy" // lalr1.cc:856 - case 490: -#line 1726 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 494: ++#line 1735 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2880 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2846 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2855 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 496: - #line 1741 "dhcp4_parser.yy" // lalr1.cc:856 - case 493: -#line 1735 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 497: ++#line 1744 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 2890 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2856 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2865 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 497: - #line 1745 "dhcp4_parser.yy" // lalr1.cc:856 - case 494: -#line 1739 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 498: ++#line 1748 "dhcp4_parser.yy" // lalr1.cc:859 { // 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 2900 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2866 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2875 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 514: - #line 1774 "dhcp4_parser.yy" // lalr1.cc:856 - case 511: -#line 1768 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 515: ++#line 1777 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2908 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2874 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2883 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 515: - #line 1776 "dhcp4_parser.yy" // lalr1.cc:856 - case 512: -#line 1770 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 516: ++#line 1779 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } - #line 2918 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2884 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2893 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 516: - #line 1782 "dhcp4_parser.yy" // lalr1.cc:856 - case 513: -#line 1776 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 517: ++#line 1785 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } - #line 2927 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2893 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2902 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 517: - #line 1791 "dhcp4_parser.yy" // lalr1.cc:856 - case 514: -#line 1785 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 518: ++#line 1794 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } - #line 2936 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2902 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2911 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 518: - #line 1798 "dhcp4_parser.yy" // lalr1.cc:856 - case 515: -#line 1792 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 519: ++#line 1801 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } - #line 2947 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2913 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2922 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 519: - #line 1803 "dhcp4_parser.yy" // lalr1.cc:856 - case 516: -#line 1797 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 520: ++#line 1806 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 2956 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2922 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2931 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 527: - #line 1819 "dhcp4_parser.yy" // lalr1.cc:856 - case 524: -#line 1813 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 528: ++#line 1822 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2964 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2930 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2939 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 528: - #line 1821 "dhcp4_parser.yy" // lalr1.cc:856 - case 525: -#line 1815 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 529: ++#line 1824 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2974 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2940 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2949 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 529: - #line 1827 "dhcp4_parser.yy" // lalr1.cc:856 - case 526: -#line 1821 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 530: ++#line 1830 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 2982 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2948 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2957 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 530: - #line 1829 "dhcp4_parser.yy" // lalr1.cc:856 - case 527: -#line 1823 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 531: ++#line 1832 "dhcp4_parser.yy" // lalr1.cc:859 { 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 2992 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2958 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2967 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 531: - #line 1837 "dhcp4_parser.yy" // lalr1.cc:856 - case 528: -#line 1832 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 532: ++#line 1841 "dhcp4_parser.yy" // lalr1.cc:859 + { + ctx.enter(ctx.NO_KEYWORD); + } -#line 2966 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2975 "dhcp4_parser.cc" // lalr1.cc:859 + break; + - case 529: -#line 1834 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 533: ++#line 1843 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr qc = yystack_[0].value.as< ElementPtr > (); + ctx.stack_.back()->set("dhcp-queue-control", qc); + + if (!qc->contains("queue-type")) { + std::stringstream msg; + msg << "'queue-type' is required: "; + msg << qc->getPosition().str() << ")"; + error(yystack_[3].location, msg.str()); + } + + ctx.leave(); + } -#line 2984 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 2993 "dhcp4_parser.cc" // lalr1.cc:859 + break; + - case 530: -#line 1850 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 534: ++#line 1859 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } - #line 3003 "dhcp4_parser.cc" // lalr1.cc:856 -#line 2995 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3004 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 532: - #line 1842 "dhcp4_parser.yy" // lalr1.cc:856 - case 531: -#line 1855 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 535: ++#line 1864 "dhcp4_parser.yy" // lalr1.cc:859 { // 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 3014 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3006 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3015 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 533: - #line 1849 "dhcp4_parser.yy" // lalr1.cc:856 - case 532: -#line 1862 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 536: ++#line 1871 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3024 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3016 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3025 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 534: - #line 1853 "dhcp4_parser.yy" // lalr1.cc:856 - case 533: -#line 1866 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 537: ++#line 1875 "dhcp4_parser.yy" // lalr1.cc:859 { // 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 3034 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3026 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3035 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 556: - #line 1884 "dhcp4_parser.yy" // lalr1.cc:856 - case 555: -#line 1897 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 559: ++#line 1906 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } - #line 3043 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3035 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3044 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 557: - #line 1889 "dhcp4_parser.yy" // lalr1.cc:856 - case 556: -#line 1902 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 560: ++#line 1911 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3051 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3043 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3052 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 558: - #line 1891 "dhcp4_parser.yy" // lalr1.cc:856 - case 557: -#line 1904 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 561: ++#line 1913 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3061 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3053 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3062 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 559: - #line 1897 "dhcp4_parser.yy" // lalr1.cc:856 - case 558: -#line 1910 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 562: ++#line 1919 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3069 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3061 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3070 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 560: - #line 1899 "dhcp4_parser.yy" // lalr1.cc:856 - case 559: -#line 1912 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 563: ++#line 1921 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3079 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3071 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3080 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 561: - #line 1905 "dhcp4_parser.yy" // lalr1.cc:856 - case 560: -#line 1918 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 564: ++#line 1927 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } - #line 3088 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3080 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3089 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 562: - #line 1910 "dhcp4_parser.yy" // lalr1.cc:856 - case 561: -#line 1923 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 565: ++#line 1932 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3096 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3088 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3097 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 563: - #line 1912 "dhcp4_parser.yy" // lalr1.cc:856 - case 562: -#line 1925 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 566: ++#line 1934 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3106 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3098 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3107 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 564: - #line 1918 "dhcp4_parser.yy" // lalr1.cc:856 - case 563: -#line 1931 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 567: ++#line 1940 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } - #line 3115 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3107 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3116 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 565: - #line 1923 "dhcp4_parser.yy" // lalr1.cc:856 - case 564: -#line 1936 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 568: ++#line 1945 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } - #line 3124 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3116 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3125 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 566: - #line 1928 "dhcp4_parser.yy" // lalr1.cc:856 - case 565: -#line 1941 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 569: ++#line 1950 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_PROTOCOL); } - #line 3132 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3124 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3133 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 567: - #line 1930 "dhcp4_parser.yy" // lalr1.cc:856 - case 566: -#line 1943 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 570: ++#line 1952 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3141 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3133 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3142 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 568: - #line 1936 "dhcp4_parser.yy" // lalr1.cc:856 - case 567: -#line 1949 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 571: ++#line 1958 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } - #line 3147 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3139 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3148 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 569: - #line 1937 "dhcp4_parser.yy" // lalr1.cc:856 - case 568: -#line 1950 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 572: ++#line 1959 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } - #line 3153 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3145 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3154 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 570: - #line 1940 "dhcp4_parser.yy" // lalr1.cc:856 - case 569: -#line 1953 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 573: ++#line 1962 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_FORMAT); } - #line 3161 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3153 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3162 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 571: - #line 1942 "dhcp4_parser.yy" // lalr1.cc:856 - case 570: -#line 1955 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 574: ++#line 1964 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } - #line 3171 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3163 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3172 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 572: - #line 1948 "dhcp4_parser.yy" // lalr1.cc:856 - case 571: -#line 1961 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 575: ++#line 1970 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-include-fqdn", b); } - #line 3180 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3172 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3181 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 573: - #line 1953 "dhcp4_parser.yy" // lalr1.cc:856 - case 572: -#line 1966 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 576: ++#line 1975 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } - #line 3189 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3181 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3190 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 574: - #line 1958 "dhcp4_parser.yy" // lalr1.cc:856 - case 573: -#line 1971 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 577: ++#line 1980 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } - #line 3198 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3190 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3199 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 575: - #line 1963 "dhcp4_parser.yy" // lalr1.cc:856 - case 574: -#line 1976 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 578: ++#line 1985 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.REPLACE_CLIENT_NAME); } - #line 3206 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3198 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3207 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 576: - #line 1965 "dhcp4_parser.yy" // lalr1.cc:856 - case 575: -#line 1978 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 579: ++#line 1987 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3215 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3207 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3216 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 577: - #line 1971 "dhcp4_parser.yy" // lalr1.cc:856 - case 576: -#line 1984 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 580: ++#line 1993 "dhcp4_parser.yy" // lalr1.cc:859 { - yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); + yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } - #line 3223 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3215 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3224 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 578: - #line 1974 "dhcp4_parser.yy" // lalr1.cc:856 - case 577: -#line 1987 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 581: ++#line 1996 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } - #line 3231 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3223 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3232 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 579: - #line 1977 "dhcp4_parser.yy" // lalr1.cc:856 - case 578: -#line 1990 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 582: ++#line 1999 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } - #line 3239 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3231 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3240 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 580: - #line 1980 "dhcp4_parser.yy" // lalr1.cc:856 - case 579: -#line 1993 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 583: ++#line 2002 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } - #line 3247 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3239 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3248 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 581: - #line 1983 "dhcp4_parser.yy" // lalr1.cc:856 - case 580: -#line 1996 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 584: ++#line 2005 "dhcp4_parser.yy" // lalr1.cc:859 { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } - #line 3256 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3248 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3257 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 582: - #line 1989 "dhcp4_parser.yy" // lalr1.cc:856 - case 581: -#line 2002 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 585: ++#line 2011 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3264 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3256 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3265 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 583: - #line 1991 "dhcp4_parser.yy" // lalr1.cc:856 - case 582: -#line 2004 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 586: ++#line 2013 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3274 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3266 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3275 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 584: - #line 1997 "dhcp4_parser.yy" // lalr1.cc:856 - case 583: -#line 2010 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 587: ++#line 2019 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3282 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3274 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3283 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 585: - #line 1999 "dhcp4_parser.yy" // lalr1.cc:856 - case 584: -#line 2012 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 588: ++#line 2021 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3292 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3284 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3293 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 586: - #line 2005 "dhcp4_parser.yy" // lalr1.cc:856 - case 585: -#line 2018 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 589: ++#line 2027 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3300 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3292 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3301 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 587: - #line 2007 "dhcp4_parser.yy" // lalr1.cc:856 - case 586: -#line 2020 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 590: ++#line 2029 "dhcp4_parser.yy" // lalr1.cc:859 { 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 3310 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3302 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3311 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 588: - #line 2016 "dhcp4_parser.yy" // lalr1.cc:856 - case 587: -#line 2029 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 591: ++#line 2038 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3318 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3310 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3319 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 589: - #line 2018 "dhcp4_parser.yy" // lalr1.cc:856 - case 588: -#line 2031 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 592: ++#line 2040 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3327 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3319 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3328 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 590: - #line 2023 "dhcp4_parser.yy" // lalr1.cc:856 - case 589: -#line 2036 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 593: ++#line 2045 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3335 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3327 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3336 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 591: - #line 2025 "dhcp4_parser.yy" // lalr1.cc:856 - case 590: -#line 2038 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 594: ++#line 2047 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3344 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3336 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3345 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 592: - #line 2030 "dhcp4_parser.yy" // lalr1.cc:856 - case 591: -#line 2043 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 595: ++#line 2052 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3352 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3344 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3353 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 593: - #line 2032 "dhcp4_parser.yy" // lalr1.cc:856 - case 592: -#line 2045 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 596: ++#line 2054 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3361 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3353 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3362 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 594: - #line 2037 "dhcp4_parser.yy" // lalr1.cc:856 - case 593: -#line 2050 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 597: ++#line 2059 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 3371 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3363 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3372 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 595: - #line 2041 "dhcp4_parser.yy" // lalr1.cc:856 - case 594: -#line 2054 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 598: ++#line 2063 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3379 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3371 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3380 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 596: - #line 2046 "dhcp4_parser.yy" // lalr1.cc:856 - case 595: -#line 2059 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 599: ++#line 2068 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-control", i); ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } - #line 3390 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3382 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3391 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 597: - #line 2051 "dhcp4_parser.yy" // lalr1.cc:856 - case 596: -#line 2064 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 600: ++#line 2073 "dhcp4_parser.yy" // lalr1.cc:859 { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } - #line 3400 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3392 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3401 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 598: - #line 2057 "dhcp4_parser.yy" // lalr1.cc:856 - case 597: -#line 2070 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 601: ++#line 2079 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3410 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3402 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3411 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 599: - #line 2061 "dhcp4_parser.yy" // lalr1.cc:856 - case 598: -#line 2074 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 602: ++#line 2083 "dhcp4_parser.yy" // lalr1.cc:859 { // No config_control params are required // parsing completed } - #line 3419 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3411 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3420 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 604: - #line 2076 "dhcp4_parser.yy" // lalr1.cc:856 - case 603: -#line 2089 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 607: ++#line 2098 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } - #line 3430 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3422 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3431 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 605: - #line 2081 "dhcp4_parser.yy" // lalr1.cc:856 - case 604: -#line 2094 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 608: ++#line 2103 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3439 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3431 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3440 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 606: - #line 2091 "dhcp4_parser.yy" // lalr1.cc:856 - case 605: -#line 2104 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 609: ++#line 2113 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } - #line 3450 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3442 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3451 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 607: - #line 2096 "dhcp4_parser.yy" // lalr1.cc:856 - case 606: -#line 2109 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 610: ++#line 2118 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3459 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3451 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3460 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 608: - #line 2101 "dhcp4_parser.yy" // lalr1.cc:856 - case 607: -#line 2114 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 611: ++#line 2123 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the Logging map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3469 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3461 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3470 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 609: - #line 2105 "dhcp4_parser.yy" // lalr1.cc:856 - case 608: -#line 2118 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 612: ++#line 2127 "dhcp4_parser.yy" // lalr1.cc:859 { // parsing completed } - #line 3477 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3469 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3478 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 613: - #line 2121 "dhcp4_parser.yy" // lalr1.cc:856 - case 612: -#line 2134 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 616: ++#line 2143 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } - #line 3488 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3480 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3489 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 614: - #line 2126 "dhcp4_parser.yy" // lalr1.cc:856 - case 613: -#line 2139 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 617: ++#line 2148 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3497 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3489 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3498 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 617: - #line 2138 "dhcp4_parser.yy" // lalr1.cc:856 - case 616: -#line 2151 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 620: ++#line 2160 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } - #line 3507 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3499 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3508 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 618: - #line 2142 "dhcp4_parser.yy" // lalr1.cc:856 - case 617: -#line 2155 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 621: ++#line 2164 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3515 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3507 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3516 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 628: - #line 2159 "dhcp4_parser.yy" // lalr1.cc:856 - case 627: -#line 2172 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 631: ++#line 2181 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } - #line 3524 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3516 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3525 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 629: - #line 2164 "dhcp4_parser.yy" // lalr1.cc:856 - case 628: -#line 2177 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 632: ++#line 2186 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3532 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3524 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3533 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 630: - #line 2166 "dhcp4_parser.yy" // lalr1.cc:856 - case 629: -#line 2179 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 633: ++#line 2188 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } - #line 3542 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3534 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3543 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 631: - #line 2172 "dhcp4_parser.yy" // lalr1.cc:856 - case 630: -#line 2185 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 634: ++#line 2194 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } - #line 3553 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3545 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3554 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 632: - #line 2177 "dhcp4_parser.yy" // lalr1.cc:856 - case 631: -#line 2190 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 635: ++#line 2199 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3562 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3554 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3563 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 635: - #line 2186 "dhcp4_parser.yy" // lalr1.cc:856 - case 634: -#line 2199 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 638: ++#line 2208 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 3572 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3564 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3573 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 636: - #line 2190 "dhcp4_parser.yy" // lalr1.cc:856 - case 635: -#line 2203 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 639: ++#line 2212 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3580 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3572 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3581 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 643: - #line 2204 "dhcp4_parser.yy" // lalr1.cc:856 - case 642: -#line 2217 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 646: ++#line 2226 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3588 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3580 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3589 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 644: - #line 2206 "dhcp4_parser.yy" // lalr1.cc:856 - case 643: -#line 2219 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 647: ++#line 2228 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } - #line 3598 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3590 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3599 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 645: - #line 2212 "dhcp4_parser.yy" // lalr1.cc:856 - case 644: -#line 2225 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 648: ++#line 2234 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } - #line 3607 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3599 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3608 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 646: - #line 2217 "dhcp4_parser.yy" // lalr1.cc:856 - case 645: -#line 2230 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 649: ++#line 2239 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } - #line 3616 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3608 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3617 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 647: - #line 2222 "dhcp4_parser.yy" // lalr1.cc:856 - case 646: -#line 2235 "dhcp4_parser.yy" // lalr1.cc:859 ++ case 650: ++#line 2244 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } - #line 3625 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3617 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3626 "dhcp4_parser.cc" // lalr1.cc:859 break; - #line 3629 "dhcp4_parser.cc" // lalr1.cc:856 -#line 3621 "dhcp4_parser.cc" // lalr1.cc:859 ++#line 3630 "dhcp4_parser.cc" // lalr1.cc:859 default: break; } @@@ -3879,118 -3872,118 +3881,118 @@@ } - const short int Dhcp4Parser::yypact_ninf_ = -799; - const short int Dhcp4Parser::yypact_ninf_ = -790; ++ const short int Dhcp4Parser::yypact_ninf_ = -795; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short int Dhcp4Parser::yypact_[] = { - 400, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, 45, 24, 40, 52, 64, - 79, 93, 97, 117, 180, 187, 191, 197, 220, 222, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, 24, -127, - 34, 65, 84, 183, 38, 223, -1, 403, 157, -40, - 364, 7, 11, -799, 233, 85, 254, 248, 266, -799, - -799, -799, -799, -799, 277, -799, 46, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, 291, 299, 309, - -799, -799, -799, -799, -799, -799, 322, 341, 345, 350, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, 351, -799, -799, -799, 50, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, 353, -799, 57, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, 356, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, 71, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, 77, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, 326, 334, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, 354, -799, -799, 357, -799, - -799, -799, 360, -799, -799, 366, 362, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 368, 371, -799, -799, -799, -799, 370, 378, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 109, -799, -799, -799, 380, -799, -799, 382, -799, 383, - 385, -799, -799, 387, 388, 391, -799, -799, -799, -799, - -799, -799, -799, 140, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, 146, -799, -799, -799, -799, 147, -799, -799, - -799, 24, 24, -799, 76, 393, 394, 397, 398, 405, - -799, 34, -799, 11, 407, 411, 415, 236, 255, 256, - 416, 421, 423, 425, 426, 427, 216, 271, 272, 273, - 428, 438, 439, 440, 442, 443, 444, 461, 462, 464, - 467, 468, 311, 474, 491, 65, -799, 492, 493, 494, - 331, 84, -799, 496, 499, 500, 501, 502, 503, 342, - 506, 508, 509, 510, 183, -799, 511, 38, -799, 513, - 514, 515, 516, 519, 520, 521, 522, -799, 223, -799, - 523, 526, 365, 528, 529, 531, 372, -799, 403, 532, - 373, 374, -799, 157, 535, 539, 36, -799, 376, 541, - 542, 381, 561, 401, 406, 562, 567, 408, 410, 413, - 569, 570, 571, 575, 364, -799, 576, 7, -799, 578, - 11, -799, -799, -799, 579, 577, 580, 24, 24, 24, - -799, 171, 581, 582, 583, -799, -799, -799, 420, 429, - 430, 584, 585, 588, -799, -799, -799, -799, 431, 592, - 593, 594, 595, 596, 436, 597, 599, 600, 601, 602, - -799, 603, 604, -799, 607, 238, 292, -799, -799, 448, - 449, 450, 611, 452, 453, -799, 81, 607, 454, 613, - -799, 456, -799, 607, 457, 458, 459, 460, 463, 465, - 466, -799, 469, 470, -799, 471, 472, 473, -799, -799, - 475, -799, -799, -799, 476, 24, -799, -799, 477, 478, - -799, 479, -799, -799, 31, 495, -799, -799, -799, -52, - 480, 481, 482, -799, 621, -799, 624, -799, 24, 65, - 7, -799, -799, -799, -799, 11, 84, 563, -799, -799, - -799, 412, 412, 625, -799, 626, 632, 641, 642, -799, - -799, -799, 120, 643, 644, 645, 26, 54, 364, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 646, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 252, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, 647, 625, -799, 172, 193, 199, - 237, -799, 245, -799, -799, -799, -799, -799, -799, 651, - 652, 653, 654, 655, -799, -799, 656, 657, 658, 659, - 660, -799, 280, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, 281, -799, 661, 605, -799, -799, 662, 663, -799, - -799, 664, 666, -799, -799, 665, 669, -799, -799, 667, - 671, -799, -799, -799, -799, -799, -799, 150, -799, -799, - -799, -799, -799, -799, -799, 182, -799, -799, 670, 672, - -799, -799, 673, 674, -799, 676, 677, 678, 679, 680, - 681, 282, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, 284, -799, -799, -799, 290, 524, - -799, 682, 675, -799, -799, -799, -799, 683, -799, 214, - -799, 684, -799, -799, -799, -799, 688, 563, -799, 689, - 690, 691, 692, 441, 497, 533, 518, 534, 693, 694, - 536, 537, 538, 540, 543, 412, -799, -799, 412, -799, - 625, 183, -799, 626, 403, -799, 632, 157, -799, 641, - 251, -799, 642, 120, -799, 82, 643, -799, 223, -799, - 644, -40, -799, 645, 544, 546, 547, 548, 549, 550, - 26, -799, 697, 701, 54, -799, -799, -799, 702, 704, - 38, -799, 646, 705, -799, 129, 647, -799, -799, 552, - -799, 231, 553, 554, 555, -799, -799, -799, -799, -799, - 556, 557, -799, -799, -799, -799, -799, -799, 293, -799, - 294, -799, 715, -799, 716, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, 321, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 721, -799, -799, -799, -799, -799, -799, -799, -799, -799, - 718, 724, -799, -799, -799, -799, -799, 720, -799, 330, - -799, -799, -799, -799, -799, -799, -799, -799, 564, 565, - -799, -799, 566, 332, -799, 607, -799, 728, -799, -799, - -799, -799, -799, 333, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, 251, -799, 729, 568, -799, 82, - -799, -799, -799, -799, -799, -799, -799, 730, 572, 731, - 129, -799, -799, 574, -799, -799, 732, -799, 587, -799, - -799, 733, -799, -799, 225, -799, -39, 733, -799, -799, - 737, 738, 739, 343, -799, -799, -799, -799, -799, -799, - 740, 590, 589, 598, -39, -799, 591, -799, -799, -799, - -799, -799 - 400, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, 48, 24, 53, 110, 114, - 118, 122, 155, 159, 168, 188, 192, 200, 202, 219, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, 24, 4, - 22, 52, 71, 152, 36, 226, 98, 263, 372, -49, - 366, 33, 11, -790, 235, 252, 260, 257, 268, -790, - -790, -790, -790, -790, 262, -790, 85, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, 292, 293, -790, - -790, -790, -790, -790, -790, 309, 333, 337, 343, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, 344, -790, -790, -790, -790, 91, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, 350, -790, 146, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, 352, -790, - -790, -790, -790, -790, -790, -790, -790, -790, 147, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, 157, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - 271, 284, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, 353, -790, -790, 356, -790, -790, - -790, 359, -790, -790, 363, 342, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, 360, - 369, -790, -790, -790, -790, 373, 371, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, 185, - -790, -790, -790, 376, -790, -790, 379, -790, 381, 382, - -790, -790, 383, 384, 386, -790, -790, -790, -790, -790, - -790, -790, 205, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, 215, -790, -790, -790, -790, 237, -790, -790, -790, - 24, 24, -790, 212, 390, 392, 393, 396, 397, -790, - 22, -790, 11, 399, 404, 406, 246, 247, 414, 415, - 418, 419, 420, 422, 251, 264, 278, 280, 425, 427, - 439, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 311, 470, 471, 474, 52, -790, 475, 476, 477, 314, - 71, -790, 493, 494, 495, 496, 497, 498, 339, 502, - 503, 505, 507, 152, -790, 508, 36, -790, 509, 510, - 512, 513, 514, 515, 518, 519, -790, 226, -790, 520, - 521, 362, 522, 525, 526, 364, -790, 263, 530, 367, - 374, -790, 372, 535, 536, -56, -790, 375, 537, 540, - 380, 541, 401, 403, 545, 561, 398, 405, 407, 567, - 568, 570, 572, 366, -790, 573, 33, -790, 575, 11, - -790, -790, -790, 576, 574, 577, 24, 24, 24, -790, - 241, 578, 579, 580, -790, -790, 417, 423, 424, 583, - 584, 587, -790, -790, -790, -790, 428, 589, 590, 591, - 592, 593, 433, 594, 596, 597, 598, 599, -790, 600, - 593, 601, -790, 604, 55, 196, -790, -790, 440, 445, - 446, 607, 448, 449, -790, 19, 604, 450, 609, -790, - 452, -790, 604, 453, 454, 455, 456, 457, 458, 459, - -790, 460, 472, -790, 473, 478, 479, -790, -790, 480, - -790, -790, -790, 481, 24, -790, -790, 482, 483, -790, - 484, -790, -790, 21, 451, -790, -790, -790, 6, 485, - 486, 487, -790, 621, -790, 622, -790, 24, 52, 33, - -790, -790, -790, -790, 11, 71, 581, -790, -790, -790, - 413, 413, 623, -790, 624, 625, 626, 627, -790, -790, - -790, 166, 628, 629, 632, 76, 162, -790, 366, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - 633, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -9, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, 634, 623, -790, 259, 265, 274, - 275, -790, 277, -790, -790, -790, -790, -790, -790, 638, - 649, 650, 651, 652, -790, -790, 653, 654, 655, 656, - 657, -790, 283, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, 286, -790, 658, 659, -790, -790, 660, 662, -790, - -790, 661, 665, -790, -790, 663, 667, -790, -790, 666, - 668, -790, -790, -790, -790, -790, -790, 58, -790, -790, - -790, -790, -790, -790, -790, 81, -790, -790, 669, 670, - -790, -790, 671, 673, -790, 674, 675, 676, 677, 678, - 679, 290, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, 296, -790, -790, -790, 297, 523, - -790, 680, 681, -790, -790, -790, -790, 620, -790, 130, - -790, 683, -790, -790, -790, -790, 686, 581, -790, 687, - 688, 689, 690, 529, 506, 531, 517, 532, 692, 695, - 534, 538, 539, 542, 533, 413, -790, -790, 413, -790, - 623, 152, -790, 624, 263, -790, 625, 372, -790, 626, - 194, -790, 627, 166, -790, 69, 628, -790, 226, -790, - 629, -49, -790, 632, 543, 544, 546, 547, 548, 549, - 76, -790, 698, 699, 162, -790, -790, -790, 700, 684, - 36, -790, 633, 703, -790, 59, 634, -790, -790, 551, - -790, 317, 552, 553, 554, -790, -790, -790, -790, -790, - 555, 556, -790, -790, -790, -790, -790, -790, 300, -790, - 306, -790, 714, -790, 715, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, 307, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, 707, - -790, -790, -790, -790, -790, -790, -790, -790, -790, 716, - 722, -790, -790, -790, -790, -790, 718, -790, 308, -790, - -790, -790, -790, -790, -790, -790, -790, 562, 563, -790, - -790, 564, 328, -790, 604, -790, 726, -790, -790, -790, - -790, -790, 332, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, 194, -790, 727, 565, -790, 69, -790, - -790, -790, -790, -790, -790, -790, 728, 569, 730, 59, - -790, -790, 571, -790, -790, 732, -790, 582, -790, -790, - 731, -790, -790, 145, -790, -27, 731, -790, -790, 735, - 736, 737, 341, -790, -790, -790, -790, -790, -790, 738, - 585, 586, 613, -27, -790, 610, -790, -790, -790, -790, - -790 ++ 428, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, 38, 24, 42, 106, 143, ++ 149, 158, 162, 173, 196, 198, 206, 213, 223, 234, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, 24, -101, ++ 13, 65, 84, 147, -17, 229, 53, 402, 68, -56, ++ 363, 46, 20, -795, 190, 245, 247, 255, 266, -795, ++ -795, -795, -795, -795, 271, -795, 101, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, 272, 274, 275, ++ -795, -795, -795, -795, -795, -795, 283, 287, 297, 304, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, 307, -795, -795, -795, -795, 108, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, 314, -795, 109, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ 317, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, 121, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, 122, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, 282, 333, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, 292, -795, -795, ++ 345, -795, -795, -795, 352, -795, -795, 329, 357, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, 360, 361, -795, -795, -795, -795, 359, 365, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, 123, -795, -795, -795, 371, -795, -795, 373, ++ -795, 374, 377, -795, -795, 380, 381, 383, -795, -795, ++ -795, -795, -795, -795, -795, 140, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, 151, -795, -795, -795, -795, 163, ++ -795, -795, -795, 24, 24, -795, 228, 394, 396, 397, ++ 400, 401, -795, 13, -795, 20, 403, 408, 410, 249, ++ 250, 253, 419, 422, 423, 424, 426, 429, 265, 276, ++ 277, 278, 437, 438, 443, 444, 445, 463, 466, 467, ++ 471, 472, 476, 491, 331, 492, 493, 495, 65, -795, ++ 496, 499, 500, 336, 84, -795, 502, 503, 504, 505, ++ 506, 507, 347, 508, 512, 513, 514, 147, -795, 515, ++ -17, -795, 517, 518, 519, 520, 523, 524, 526, 527, ++ -795, 229, -795, 529, 530, 368, 532, 533, 535, 375, ++ -795, 402, 536, 376, 378, -795, 68, 538, 542, -3, ++ -795, 379, 545, 546, 384, 550, 389, 390, 554, 555, ++ 391, 392, 393, 559, 560, 561, 562, 363, -795, 563, ++ 46, -795, 565, 20, -795, -795, -795, 566, 564, 567, ++ 24, 24, 24, -795, 180, 569, 570, 571, -795, -795, ++ -795, 406, 430, 431, 587, 588, 593, -795, -795, -795, ++ -795, 433, 595, 596, 597, 598, 599, 439, 602, 603, ++ 604, 605, 606, -795, 607, 599, 608, -795, 611, 195, ++ 120, -795, -795, 446, 451, 452, 614, 454, 455, -795, ++ 269, 611, 456, 616, -795, 458, -795, 611, 459, 460, ++ 461, 462, 464, 465, 468, -795, 469, 470, -795, 473, ++ 474, 475, -795, -795, 477, -795, -795, -795, 478, 24, ++ -795, -795, 479, 480, -795, 481, -795, -795, 36, 509, ++ -795, -795, -795, -55, 482, 483, 484, -795, 624, -795, ++ 627, -795, 24, 65, 46, -795, -795, -795, -795, 20, ++ 84, 581, -795, -795, -795, 413, 413, 626, -795, 630, ++ 631, 644, 645, -795, -795, -795, -10, 646, 647, 648, ++ 175, 70, -795, 363, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, 649, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, 171, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, 650, ++ 626, -795, 186, 201, 237, 246, -795, 252, -795, -795, ++ -795, -795, -795, -795, 654, 655, 656, 657, 658, -795, ++ -795, 659, 660, 661, 662, 663, -795, 256, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, 259, -795, 664, 665, ++ -795, -795, 666, 668, -795, -795, 667, 671, -795, -795, ++ 669, 673, -795, -795, 672, 674, -795, -795, -795, -795, ++ -795, -795, 58, -795, -795, -795, -795, -795, -795, -795, ++ 152, -795, -795, 675, 676, -795, -795, 677, 679, -795, ++ 680, 681, 682, 683, 684, 685, 286, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, 295, ++ -795, -795, -795, 296, 525, -795, 686, 687, -795, -795, ++ -795, -795, 688, -795, 216, -795, 689, -795, -795, -795, ++ -795, 690, 581, -795, 693, 694, 695, 696, 534, 442, ++ 537, 511, 539, 698, 699, 540, 541, 543, 544, 547, ++ 413, -795, -795, 413, -795, 626, 147, -795, 630, 402, ++ -795, 631, 68, -795, 644, 189, -795, 645, -10, -795, ++ 268, 646, -795, 229, -795, 647, -56, -795, 648, 548, ++ 551, 552, 553, 556, 557, 175, -795, 701, 705, 70, ++ -795, -795, -795, 706, 710, -17, -795, 649, 713, -795, ++ 197, 650, -795, -795, 568, -795, 355, 572, 573, 574, ++ -795, -795, -795, -795, -795, 575, 576, -795, -795, -795, ++ -795, -795, -795, 299, -795, 309, -795, 714, -795, 717, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, 311, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, 722, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, 719, 711, -795, -795, -795, ++ -795, -795, 720, -795, 312, -795, -795, -795, -795, -795, ++ -795, -795, -795, 577, 578, -795, -795, 579, 330, -795, ++ 611, -795, 725, -795, -795, -795, -795, -795, 332, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, 189, ++ -795, 726, 580, -795, 268, -795, -795, -795, -795, -795, ++ -795, -795, 727, 584, 728, 197, -795, -795, 582, -795, ++ -795, 716, -795, 586, -795, -795, 729, -795, -795, 226, ++ -795, -40, 729, -795, -795, 731, 733, 742, 340, -795, ++ -795, -795, -795, -795, -795, 743, 585, 590, 591, -40, ++ -795, 589, -795, -795, -795, -795, -795 }; const unsigned short int @@@ -4000,150 -3993,150 +4002,150 @@@ 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, 70, 7, 126, 9, 263, 11, - 418, 13, 443, 15, 343, 17, 351, 19, 388, 21, - 228, 23, 533, 25, 608, 27, 598, 29, 47, 41, - 0, 0, 0, 0, 0, 445, 0, 353, 390, 0, - 35, 36, 58, 5, 70, 7, 125, 9, 262, 11, - 415, 13, 440, 15, 340, 17, 348, 19, 385, 21, - 227, 23, 532, 25, 607, 27, 597, 29, 47, 41, - 0, 0, 0, 0, 0, 442, 0, 350, 387, 0, ++ 35, 36, 58, 5, 70, 7, 127, 9, 264, 11, ++ 419, 13, 444, 15, 344, 17, 352, 19, 389, 21, ++ 229, 23, 536, 25, 611, 27, 601, 29, 47, 41, ++ 0, 0, 0, 0, 0, 446, 0, 354, 391, 0, 0, 0, 0, 49, 0, 48, 0, 0, 42, 68, - 606, 588, 590, 592, 0, 67, 0, 60, 62, 64, - 65, 66, 63, 594, 596, 115, 141, 0, 0, 0, - 464, 466, 468, 139, 148, 150, 0, 0, 0, 0, - 110, 255, 341, 380, 312, 431, 433, 206, 492, 435, - 220, 239, 0, 518, 531, 105, 0, 72, 74, 75, - 76, 77, 104, 93, 94, 95, 80, 81, 101, 82, - 83, 84, 88, 89, 78, 79, 86, 87, 99, 100, - 102, 96, 97, 98, 85, 90, 91, 92, 103, 128, - 130, 134, 0, 125, 0, 117, 119, 120, 121, 122, - 123, 124, 293, 295, 297, 410, 291, 299, 0, 305, - 303, 301, 488, 290, 267, 268, 269, 280, 281, 0, - 265, 272, 285, 286, 287, 273, 275, 276, 278, 274, - 270, 271, 288, 289, 277, 282, 283, 284, 279, 429, - 428, 424, 425, 423, 0, 420, 422, 426, 427, 486, - 474, 476, 480, 478, 484, 482, 470, 463, 457, 461, - 462, 0, 446, 447, 458, 459, 460, 454, 449, 455, - 451, 452, 453, 456, 450, 0, 370, 191, 0, 374, - 372, 377, 0, 366, 367, 0, 354, 355, 357, 369, - 358, 359, 360, 376, 361, 362, 363, 364, 365, 404, - 0, 0, 402, 403, 406, 407, 0, 391, 392, 394, - 395, 396, 397, 398, 399, 400, 401, 235, 237, 232, - 0, 230, 233, 234, 0, 557, 559, 0, 562, 0, - 0, 566, 570, 0, 0, 0, 575, 582, 584, 586, - 555, 553, 554, 0, 535, 537, 538, 539, 540, 541, - 605, 587, 589, 591, 0, 67, 0, 60, 62, 64, - 65, 66, 63, 593, 595, 114, 140, 0, 0, 461, - 463, 465, 138, 147, 149, 0, 0, 0, 0, 110, - 254, 338, 377, 310, 428, 430, 205, 489, 432, 219, - 238, 0, 515, 528, 530, 105, 0, 72, 74, 75, - 76, 77, 104, 94, 95, 80, 81, 101, 82, 83, - 84, 88, 89, 78, 79, 86, 87, 99, 100, 102, - 96, 97, 98, 85, 90, 91, 92, 93, 103, 127, - 129, 133, 0, 124, 0, 116, 118, 119, 120, 121, - 122, 123, 291, 293, 295, 407, 289, 297, 0, 303, - 301, 299, 485, 288, 266, 267, 268, 279, 0, 264, - 271, 283, 284, 285, 272, 274, 275, 277, 273, 269, - 270, 286, 287, 276, 280, 281, 282, 278, 426, 425, - 421, 422, 420, 0, 417, 419, 423, 424, 483, 471, - 473, 477, 475, 481, 479, 467, 460, 454, 458, 459, - 0, 443, 444, 455, 456, 457, 451, 446, 452, 448, - 449, 450, 453, 447, 0, 367, 190, 0, 371, 369, - 374, 0, 363, 364, 0, 351, 352, 354, 366, 355, - 356, 357, 373, 358, 359, 360, 361, 362, 401, 0, - 0, 399, 400, 403, 404, 0, 388, 389, 391, 392, - 393, 394, 395, 396, 397, 398, 234, 236, 231, 0, - 229, 232, 233, 0, 556, 558, 0, 561, 0, 0, - 565, 569, 0, 0, 0, 574, 581, 583, 585, 554, - 552, 553, 0, 534, 536, 537, 538, 539, 540, 541, -- 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 613, 0, 610, 612, 604, 603, 0, 600, 602, - 46, 0, 0, 39, 0, 0, 0, 0, 0, 0, - 57, 0, 59, 0, 0, 0, 0, 0, 0, 0, - 612, 0, 609, 611, 603, 602, 0, 599, 601, 46, - 0, 0, 39, 0, 0, 0, 0, 0, 0, 57, - 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 609, 591, 593, 595, 0, 67, 0, 60, 62, 64, ++ 65, 66, 63, 597, 599, 116, 142, 0, 0, 0, ++ 465, 467, 469, 140, 149, 151, 0, 0, 0, 0, ++ 111, 256, 342, 381, 313, 432, 434, 207, 493, 436, ++ 221, 240, 0, 519, 532, 534, 106, 0, 72, 74, ++ 75, 76, 77, 105, 94, 95, 96, 80, 81, 102, ++ 82, 83, 84, 88, 89, 78, 79, 86, 87, 100, ++ 101, 103, 97, 98, 99, 85, 90, 91, 92, 93, ++ 104, 129, 131, 135, 0, 126, 0, 118, 120, 121, ++ 122, 123, 124, 125, 294, 296, 298, 411, 292, 300, ++ 0, 306, 304, 302, 489, 291, 268, 269, 270, 281, ++ 282, 0, 266, 273, 286, 287, 288, 274, 276, 277, ++ 279, 275, 271, 272, 289, 290, 278, 283, 284, 285, ++ 280, 430, 429, 425, 426, 424, 0, 421, 423, 427, ++ 428, 487, 475, 477, 481, 479, 485, 483, 471, 464, ++ 458, 462, 463, 0, 447, 448, 459, 460, 461, 455, ++ 450, 456, 452, 453, 454, 457, 451, 0, 371, 192, ++ 0, 375, 373, 378, 0, 367, 368, 0, 355, 356, ++ 358, 370, 359, 360, 361, 377, 362, 363, 364, 365, ++ 366, 405, 0, 0, 403, 404, 407, 408, 0, 392, ++ 393, 395, 396, 397, 398, 399, 400, 401, 402, 236, ++ 238, 233, 0, 231, 234, 235, 0, 560, 562, 0, ++ 565, 0, 0, 569, 573, 0, 0, 0, 578, 585, ++ 587, 589, 558, 556, 557, 0, 538, 540, 541, 542, ++ 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, ++ 553, 554, 555, 616, 0, 613, 615, 607, 606, 0, ++ 603, 605, 46, 0, 0, 39, 0, 0, 0, 0, ++ 0, 0, 57, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, - 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 0, 0, 419, 0, - 0, 0, 0, 0, 0, 0, 0, 444, 0, 344, - 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, - 0, 0, 389, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 263, 0, 0, 416, 0, 0, - 0, 0, 0, 0, 0, 0, 441, 0, 341, 0, - 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, - 0, 386, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 0, 0, 609, 0, - 0, 599, 50, 43, 0, 0, 0, 0, 0, 0, - 61, 0, 0, 0, 0, 112, 113, 114, 0, 0, - 0, 0, 0, 0, 106, 107, 108, 109, 0, 0, - 0, 0, 0, 0, 533, 0, 0, 608, 0, 0, - 598, 50, 43, 0, 0, 0, 0, 0, 0, 61, - 0, 0, 0, 0, 112, 113, 0, 0, 0, 0, - 0, 0, 106, 107, 108, 109, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, - 0, 0, 73, 0, 0, 0, 137, 117, 0, 0, - 0, 0, 0, 0, 309, 0, 0, 0, 0, 265, - 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, - 445, 0, 0, 365, 0, 0, 0, 376, 353, 0, - 405, 406, 390, 0, 0, 230, 555, 0, 0, 560, - 0, 563, 564, 0, 0, 571, 572, 573, 0, 0, - 0, 0, 535, 0, 610, 0, 600, 0, 0, 0, - 588, 590, 592, 594, 0, 0, 0, 462, 464, 466, - 0, 0, 151, 111, 256, 342, 379, 312, 40, 429, - 431, 0, 0, 434, 221, 0, 0, 529, 0, 51, - 128, 131, 132, 130, 135, 136, 134, 292, 294, 296, - 409, 290, 298, 305, 306, 307, 308, 304, 302, 300, - 0, 427, 484, 472, 474, 478, 476, 482, 480, 468, - 368, 191, 372, 370, 375, 402, 235, 237, 557, 559, - 562, 567, 568, 566, 570, 576, 577, 578, 579, 580, - 575, 582, 584, 586, 0, 151, 44, 0, 0, 0, - 0, 145, 0, 142, 144, 177, 183, 185, 187, 0, - 0, 0, 0, 0, 199, 201, 0, 0, 0, 0, - 0, 176, 0, 157, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 172, 173, 174, 169, 175, 170, - 171, 0, 155, 0, 152, 153, 260, 0, 257, 258, - 346, 0, 343, 344, 383, 0, 380, 381, 316, 0, - 313, 314, 214, 215, 216, 217, 218, 0, 207, 209, - 210, 211, 212, 213, 493, 0, 491, 438, 0, 435, - 436, 225, 0, 222, 223, 0, 0, 0, 0, 0, - 0, 0, 240, 242, 243, 244, 245, 246, 247, 524, - 526, 523, 521, 522, 0, 517, 519, 520, 0, 53, - 413, 0, 410, 411, 469, 487, 488, 0, 616, 0, - 614, 0, 69, 606, 596, 115, 0, 0, 141, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, ++ 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, ++ 0, 420, 0, 0, 0, 0, 0, 0, 0, 0, ++ 445, 0, 345, 0, 0, 0, 0, 0, 0, 0, ++ 353, 0, 0, 0, 0, 390, 0, 0, 0, 0, ++ 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, ++ 0, 612, 0, 0, 602, 50, 43, 0, 0, 0, ++ 0, 0, 0, 61, 0, 0, 0, 0, 113, 114, ++ 115, 0, 0, 0, 0, 0, 0, 107, 108, 109, ++ 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 518, 0, 0, 0, 73, 0, 0, ++ 0, 139, 119, 0, 0, 0, 0, 0, 0, 312, ++ 0, 0, 0, 0, 267, 0, 422, 0, 0, 0, ++ 0, 0, 0, 0, 0, 449, 0, 0, 369, 0, ++ 0, 0, 380, 357, 0, 409, 410, 394, 0, 0, ++ 232, 559, 0, 0, 564, 0, 567, 568, 0, 0, ++ 575, 576, 577, 0, 0, 0, 0, 539, 0, 614, ++ 0, 604, 0, 0, 0, 592, 594, 596, 598, 0, ++ 0, 0, 466, 468, 470, 0, 0, 153, 112, 258, ++ 346, 383, 315, 40, 433, 435, 0, 0, 438, 223, ++ 0, 0, 533, 0, 51, 130, 133, 134, 132, 137, ++ 138, 136, 295, 297, 299, 413, 293, 301, 308, 309, ++ 310, 311, 307, 305, 303, 0, 431, 488, 476, 478, ++ 482, 480, 486, 484, 472, 372, 193, 376, 374, 379, ++ 406, 237, 239, 561, 563, 566, 571, 572, 570, 574, ++ 580, 581, 582, 583, 584, 579, 586, 588, 590, 0, ++ 153, 44, 0, 0, 0, 0, 147, 0, 144, 146, ++ 179, 185, 187, 189, 0, 0, 0, 0, 0, 201, ++ 203, 0, 0, 0, 0, 0, 178, 0, 159, 161, ++ 162, 163, 164, 165, 166, 167, 168, 169, 170, 174, ++ 175, 176, 171, 177, 172, 173, 0, 157, 0, 154, ++ 155, 262, 0, 259, 260, 350, 0, 347, 348, 387, ++ 0, 384, 385, 319, 0, 316, 317, 216, 217, 218, ++ 219, 220, 0, 209, 211, 212, 213, 214, 215, 497, ++ 0, 495, 442, 0, 439, 440, 227, 0, 224, 225, ++ 0, 0, 0, 0, 0, 0, 0, 242, 244, 245, ++ 246, 247, 248, 249, 528, 530, 527, 525, 526, 0, ++ 521, 523, 524, 0, 53, 417, 0, 414, 415, 473, ++ 491, 492, 0, 620, 0, 618, 0, 69, 610, 600, ++ 117, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 517, 0, 0, 73, 0, 0, 0, 138, 118, 0, - 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, - 266, 0, 421, 0, 0, 0, 0, 0, 0, 0, - 0, 448, 0, 0, 368, 0, 0, 0, 379, 356, - 0, 408, 409, 393, 0, 0, 231, 556, 0, 0, - 561, 0, 564, 565, 0, 0, 572, 573, 574, 0, - 0, 0, 0, 536, 0, 611, 0, 601, 0, 0, - 0, 589, 591, 593, 595, 0, 0, 0, 465, 467, - 469, 0, 0, 152, 111, 257, 345, 382, 314, 40, - 432, 434, 0, 0, 437, 222, 0, 0, 0, 51, - 129, 132, 133, 131, 136, 137, 135, 294, 296, 298, - 412, 292, 300, 307, 308, 309, 310, 306, 304, 302, - 0, 430, 487, 475, 477, 481, 479, 485, 483, 471, - 371, 192, 375, 373, 378, 405, 236, 238, 558, 560, - 563, 568, 569, 567, 571, 577, 578, 579, 580, 581, - 576, 583, 585, 587, 0, 152, 44, 0, 0, 0, - 0, 146, 0, 143, 145, 178, 184, 186, 188, 0, - 0, 0, 0, 0, 200, 202, 0, 0, 0, 0, - 0, 177, 0, 158, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 173, 174, 175, 170, 176, 171, - 172, 0, 156, 0, 153, 154, 261, 0, 258, 259, - 349, 0, 346, 347, 386, 0, 383, 384, 318, 0, - 315, 316, 215, 216, 217, 218, 219, 0, 208, 210, - 211, 212, 213, 214, 496, 0, 494, 441, 0, 438, - 439, 226, 0, 223, 224, 0, 0, 0, 0, 0, - 0, 0, 241, 243, 244, 245, 246, 247, 248, 527, - 529, 526, 524, 525, 0, 520, 522, 523, 0, 53, - 416, 0, 413, 414, 472, 490, 491, 0, 617, 0, - 615, 0, 69, 607, 597, 116, 0, 0, 142, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 140, 149, 0, 151, - 0, 0, 256, 0, 353, 342, 0, 390, 381, 0, - 0, 313, 0, 0, 207, 498, 0, 493, 445, 436, - 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 0, 0, 0, 519, 532, 55, 0, 54, - 0, 411, 0, 0, 489, 0, 0, 614, 605, 0, - 144, 0, 0, 0, 0, 190, 193, 194, 195, 196, - 0, 0, 204, 205, 197, 198, 199, 159, 0, 155, - 0, 260, 0, 348, 0, 385, 340, 337, 325, 326, - 328, 329, 322, 323, 324, 335, 336, 334, 0, 320, - 327, 338, 339, 330, 331, 332, 333, 317, 209, 514, - 0, 512, 513, 505, 506, 510, 511, 507, 508, 509, - 0, 499, 500, 502, 503, 504, 495, 0, 440, 0, - 225, 249, 250, 251, 252, 253, 254, 242, 0, 0, - 521, 52, 0, 0, 415, 0, 631, 0, 629, 627, - 621, 625, 626, 0, 619, 623, 624, 622, 616, 147, - 180, 181, 182, 183, 179, 185, 187, 189, 201, 203, - 157, 262, 350, 387, 0, 319, 0, 0, 497, 0, - 442, 227, 528, 530, 56, 417, 473, 0, 0, 0, - 0, 618, 321, 0, 516, 501, 0, 628, 0, 620, - 515, 0, 630, 635, 0, 633, 0, 0, 632, 643, - 0, 0, 0, 0, 637, 639, 640, 641, 642, 634, - 0, 0, 0, 0, 0, 636, 0, 645, 646, 647, - 638, 644 - 0, 0, 0, 0, 0, 0, 139, 148, 0, 150, - 0, 0, 255, 0, 350, 339, 0, 387, 378, 0, - 0, 311, 0, 0, 206, 495, 0, 490, 442, 433, - 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, - 0, 239, 0, 0, 0, 516, 531, 55, 0, 54, - 0, 408, 0, 0, 486, 0, 0, 613, 604, 0, - 143, 0, 0, 0, 0, 189, 192, 193, 194, 195, - 0, 0, 203, 204, 196, 197, 198, 158, 0, 154, - 0, 259, 0, 345, 0, 382, 337, 334, 323, 324, - 326, 320, 321, 322, 332, 333, 331, 0, 318, 325, - 335, 336, 327, 328, 329, 330, 315, 208, 511, 0, - 509, 510, 502, 503, 507, 508, 504, 505, 506, 0, - 496, 497, 499, 500, 501, 492, 0, 437, 0, 224, - 248, 249, 250, 251, 252, 253, 241, 0, 0, 518, - 52, 0, 0, 412, 0, 630, 0, 628, 626, 620, - 624, 625, 0, 618, 622, 623, 621, 615, 146, 179, - 180, 181, 182, 178, 184, 186, 188, 200, 202, 156, - 261, 347, 384, 0, 317, 0, 0, 494, 0, 439, - 226, 525, 527, 56, 414, 470, 0, 0, 0, 0, - 617, 319, 0, 513, 498, 0, 627, 0, 619, 512, - 0, 629, 634, 0, 632, 0, 0, 631, 642, 0, - 0, 0, 0, 636, 638, 639, 640, 641, 633, 0, - 0, 0, 0, 0, 635, 0, 644, 645, 646, 637, - 643 ++ 0, 141, 150, 0, 152, 0, 0, 257, 0, 354, ++ 343, 0, 391, 382, 0, 0, 314, 0, 0, 208, ++ 499, 0, 494, 446, 437, 0, 0, 222, 0, 0, ++ 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, ++ 520, 535, 55, 0, 54, 0, 412, 0, 0, 490, ++ 0, 0, 617, 608, 0, 145, 0, 0, 0, 0, ++ 191, 194, 195, 196, 197, 0, 0, 205, 206, 198, ++ 199, 200, 160, 0, 156, 0, 261, 0, 349, 0, ++ 386, 341, 338, 326, 327, 329, 330, 323, 324, 325, ++ 336, 337, 335, 0, 321, 328, 339, 340, 331, 332, ++ 333, 334, 318, 210, 515, 0, 513, 514, 506, 507, ++ 511, 512, 508, 509, 510, 0, 500, 501, 503, 504, ++ 505, 496, 0, 441, 0, 226, 250, 251, 252, 253, ++ 254, 255, 243, 0, 0, 522, 52, 0, 0, 416, ++ 0, 634, 0, 632, 630, 624, 628, 629, 0, 622, ++ 626, 627, 625, 619, 148, 181, 182, 183, 184, 180, ++ 186, 188, 190, 202, 204, 158, 263, 351, 388, 0, ++ 320, 0, 0, 498, 0, 443, 228, 529, 531, 56, ++ 418, 474, 0, 0, 0, 0, 621, 322, 0, 517, ++ 502, 0, 631, 0, 623, 516, 0, 633, 638, 0, ++ 636, 0, 0, 635, 646, 0, 0, 0, 0, 640, ++ 642, 643, 644, 645, 637, 0, 0, 0, 0, 0, ++ 639, 0, 648, 649, 650, 641, 647 }; const short int Dhcp4Parser::yypgoto_[] = { - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -44, -799, 184, -799, - -799, -799, -799, -799, -799, -799, -799, -506, -799, -799, - -799, -70, -799, -799, -799, 386, -799, -799, -799, -799, - 167, 355, -48, -45, -43, -799, -799, -799, -799, -11, - 4, -799, -799, 163, 352, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -35, -799, -799, -799, -799, -799, -799, 94, -799, - -41, -799, -586, -34, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -26, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -42, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -68, -799, -799, -799, -53, 347, -799, -799, - -799, -799, -799, -799, -799, -56, -799, -799, -799, -799, - -799, -799, -798, -799, -799, -799, -15, -799, -799, -799, - -22, 399, -799, -799, -799, -799, -799, -799, -799, -799, - -789, -799, -24, -799, -4, -799, -787, -799, -799, -799, - -799, -799, -799, -799, -27, -799, -799, -173, -65, -799, - -799, -799, -799, -799, -8, -799, -799, -799, 9, -799, - 402, -799, -66, -799, -799, -799, -799, -799, -60, -799, - -799, -799, -799, -799, -18, -799, -799, -799, 8, -799, - -799, -799, 14, -799, 404, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -19, -799, -799, -799, - -16, 432, -799, -799, -58, -799, -38, -799, -47, -799, - -799, -799, 5, -799, -799, -799, 10, -799, 418, -7, - -799, -6, -799, 0, -799, 221, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -784, -799, -799, -799, -799, -799, 16, - -799, -799, -799, -139, -799, -799, -799, -799, -799, -799, - -799, -799, 1, -799, -799, -799, -799, -799, -799, -799, - -799, 246, 389, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -799, -799, -799, -799, -799, -799, -799, -799, -799, - -799, -350, 390, -799, -799, -799, -799, -799, -799, 278, - 392, -799, -799, -799, -9, -799, -799, -138, -799, -799, - -799, -799, -799, -799, -156, -799, -799, -171, -799, -799, - -799, -799, -799 - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -44, -790, -452, -790, - 119, -790, -790, -790, -790, -790, -790, -505, -790, -790, - -790, -70, -790, -790, -790, 303, -790, -790, -790, -790, - 165, 355, -48, -45, -43, -790, -790, -790, -790, -11, - -790, -790, 161, 358, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -53, -790, -790, -790, -790, -790, -790, 90, -790, -64, - -790, -585, -51, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -26, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -83, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -84, -790, -790, -790, -79, 336, -790, -790, -790, - -790, -790, -790, -790, -62, -790, -790, -790, -790, -790, - -790, -789, -790, -790, -790, -32, -790, -790, -790, -28, - 395, -790, -790, -790, -790, -790, -790, -790, -790, -787, - -790, -24, -790, -4, -790, -786, -790, -790, -790, -790, - -790, -790, -790, -33, -790, -790, -189, -65, -790, -790, - -790, -790, -790, -21, -790, -790, -790, -13, -790, 388, - -790, -66, -790, -790, -790, -790, -790, -60, -790, -790, - -790, -790, -790, -18, -790, -790, -790, -16, -790, -790, - -790, 7, -790, 391, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -25, -790, -790, -790, -42, - 429, -790, -790, -58, -790, -38, -790, -47, -790, -790, - -790, 1, -790, -790, -790, 2, -790, 416, -7, -790, - -6, -790, 0, -790, 214, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -785, -790, -790, -790, -790, -790, 10, -790, - -790, -790, -141, -790, -790, -790, -790, -790, -790, -790, - -790, -5, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, 240, 387, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -790, -790, -790, -790, -790, -790, -790, -790, - -790, -790, -349, 385, -790, -790, -790, -790, -790, -790, - 272, 389, -790, -790, -790, -14, -790, -790, -146, -790, - -790, -790, -790, -790, -790, -159, -790, -790, -175, -790, - -790, -790, -790, -790 ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -44, -795, -452, -795, ++ 154, -795, -795, -795, -795, -795, -795, -510, -795, -795, ++ -795, -70, -795, -795, -795, 370, -795, -795, -795, -795, ++ 110, 362, -48, -45, -43, -795, -795, -795, -795, -11, ++ 4, -795, -795, 174, 382, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -41, -795, -795, -795, -795, -795, -795, 93, -795, ++ -32, -795, -590, -53, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -26, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -69, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -68, -795, -795, -795, -62, 349, -795, -795, ++ -795, -795, -795, -795, -795, -59, -795, -795, -795, -795, ++ -795, -795, -794, -795, -795, -795, -29, -795, -795, -795, ++ -22, 399, -795, -795, -795, -795, -795, -795, -795, -795, ++ -792, -795, -24, -795, -4, -795, -791, -795, -795, -795, ++ -795, -795, -795, -795, -27, -795, -795, -176, -65, -795, ++ -795, -795, -795, -795, -13, -795, -795, -795, 9, -795, ++ 404, -795, -66, -795, -795, -795, -795, -795, -60, -795, ++ -795, -795, -795, -795, -18, -795, -795, -795, 8, -795, ++ -795, -795, -9, -795, 405, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -21, -795, -795, -795, ++ -16, 432, -795, -795, -58, -795, -38, -795, -47, -795, ++ -795, -795, 3, -795, -795, -795, 7, -795, 425, -7, ++ -795, -6, -795, 0, -795, 218, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -790, -795, -795, -795, -795, -795, 14, ++ -795, -795, -795, -140, -795, -795, -795, -795, -795, -795, ++ -795, -795, -2, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, 251, 395, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -795, -795, -795, -795, -795, -795, -795, ++ -795, -795, -795, -352, 385, -795, -795, -795, -795, -795, ++ -795, 279, 398, -795, -795, -795, -12, -795, -795, -145, ++ -795, -795, -795, -795, -795, -795, -157, -795, -795, -173, ++ -795, -795, -795, -795, -795 }; const short int @@@ -4151,430 -4144,430 +4153,433 @@@ { -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 38, 39, 40, 69, - 600, 87, 88, 41, 68, 84, 85, 610, 779, 858, - 859, 346, 43, 70, 96, 97, 98, 355, 45, 71, - 136, 137, 138, 139, 140, 141, 142, 380, 143, 144, - 145, 146, 365, 174, 175, 47, 72, 176, 397, 177, - 398, 613, 178, 399, 616, 179, 147, 373, 148, 366, - 672, 673, 674, 796, 149, 374, 150, 375, 713, 714, - 715, 818, 692, 693, 694, 799, 974, 695, 800, 696, - 801, 697, 802, 698, 699, 431, 700, 701, 702, 703, - 704, 705, 706, 707, 808, 708, 809, 709, 710, 151, - 387, 737, 738, 739, 740, 741, 742, 743, 152, 390, - 752, 753, 754, 841, 61, 79, 300, 301, 302, 444, - 303, 445, 153, 391, 761, 762, 763, 764, 765, 766, - 767, 768, 154, 381, 717, 718, 719, 821, 49, 73, - 199, 200, 201, 407, 202, 403, 203, 404, 204, 405, - 205, 408, 206, 412, 207, 411, 208, 410, 627, 209, - 155, 384, 729, 730, 731, 830, 908, 909, 156, 382, - 55, 76, 721, 722, 723, 824, 57, 77, 265, 266, - 267, 268, 269, 270, 271, 430, 272, 434, 273, 433, - 274, 275, 435, 276, 157, 383, 725, 726, 727, 827, - 59, 78, 286, 287, 288, 289, 290, 439, 291, 292, - 293, 294, 211, 406, 781, 782, 783, 860, 51, 74, - 224, 225, 226, 416, 158, 385, 159, 386, 160, 389, - 748, 749, 750, 838, 53, 75, 241, 242, 243, 161, - 370, 162, 371, 163, 372, 247, 426, 786, 863, 248, - 420, 249, 421, 250, 423, 251, 422, 252, 425, 253, - 424, 254, 419, 218, 413, 787, 164, 388, 745, 746, - 835, 930, 931, 932, 933, 934, 986, 935, 165, 166, - 393, 774, 775, 776, 852, 777, 853, 167, 394, 63, - 80, 323, 324, 325, 326, 449, 327, 450, 328, 329, - 452, 330, 331, 332, 455, 653, 333, 456, 334, 335, - 336, 337, 460, 660, 338, 461, 339, 462, 340, 463, - 99, 357, 100, 358, 101, 359, 168, 363, 364, 67, - 82, 347, 348, 349, 469, 102, 356, 65, 81, 342, - 343, 344, 466, 789, 790, 865, 963, 964, 965, 966, - 999, 967, 997, 1014, 1015, 1016, 1023, 1024, 1025, 1030, - 1026, 1027, 1028 - 599, 87, 88, 41, 68, 84, 85, 610, 779, 858, - 859, 345, 43, 70, 96, 97, 98, 354, 45, 71, - 136, 137, 138, 139, 140, 141, 142, 378, 143, 144, - 145, 364, 174, 175, 47, 72, 176, 396, 177, 397, - 613, 178, 398, 616, 179, 146, 371, 147, 365, 672, - 673, 674, 796, 148, 372, 149, 373, 713, 714, 715, - 818, 692, 693, 694, 799, 973, 695, 800, 696, 801, - 697, 802, 698, 699, 430, 700, 701, 702, 703, 704, - 705, 706, 707, 808, 708, 809, 709, 710, 150, 385, - 737, 738, 739, 740, 741, 742, 743, 151, 388, 752, - 753, 754, 841, 61, 79, 299, 300, 301, 443, 302, - 444, 152, 389, 761, 762, 763, 764, 765, 766, 767, - 768, 153, 379, 717, 718, 719, 821, 49, 73, 198, - 199, 200, 406, 201, 402, 202, 403, 203, 404, 204, - 407, 205, 411, 206, 410, 207, 409, 627, 208, 154, - 382, 729, 730, 731, 830, 907, 908, 155, 380, 55, - 76, 721, 722, 723, 824, 57, 77, 264, 265, 266, - 267, 268, 269, 270, 429, 271, 433, 272, 432, 273, - 274, 434, 275, 156, 381, 725, 726, 727, 827, 59, - 78, 285, 286, 287, 288, 289, 438, 290, 291, 292, - 293, 210, 405, 781, 782, 783, 860, 51, 74, 223, - 224, 225, 415, 157, 383, 158, 384, 159, 387, 748, - 749, 750, 838, 53, 75, 240, 241, 242, 160, 368, - 161, 369, 162, 370, 246, 425, 786, 863, 247, 419, - 248, 420, 249, 422, 250, 421, 251, 424, 252, 423, - 253, 418, 217, 412, 787, 163, 386, 745, 746, 835, - 929, 930, 931, 932, 933, 985, 934, 164, 165, 391, - 774, 775, 776, 852, 777, 853, 166, 392, 167, 393, - 63, 80, 322, 323, 324, 325, 448, 326, 449, 327, - 328, 451, 329, 330, 331, 454, 653, 332, 455, 333, - 334, 335, 336, 459, 660, 337, 460, 338, 461, 339, - 462, 99, 356, 100, 357, 101, 358, 168, 362, 363, - 67, 82, 346, 347, 348, 468, 102, 355, 65, 81, - 341, 342, 343, 465, 789, 790, 865, 962, 963, 964, - 965, 998, 966, 996, 1013, 1014, 1015, 1022, 1023, 1024, - 1029, 1025, 1026, 1027 ++ 604, 87, 88, 41, 68, 84, 85, 615, 784, 863, ++ 864, 348, 43, 70, 96, 97, 98, 357, 45, 71, ++ 137, 138, 139, 140, 141, 142, 143, 382, 144, 145, ++ 146, 147, 367, 176, 177, 47, 72, 178, 400, 179, ++ 401, 618, 180, 402, 621, 181, 148, 375, 149, 368, ++ 677, 678, 679, 801, 150, 376, 151, 377, 718, 719, ++ 720, 823, 697, 698, 699, 804, 979, 700, 805, 701, ++ 806, 702, 807, 703, 704, 434, 705, 706, 707, 708, ++ 709, 710, 711, 712, 813, 713, 814, 714, 715, 152, ++ 389, 742, 743, 744, 745, 746, 747, 748, 153, 392, ++ 757, 758, 759, 846, 61, 79, 302, 303, 304, 447, ++ 305, 448, 154, 393, 766, 767, 768, 769, 770, 771, ++ 772, 773, 155, 383, 722, 723, 724, 826, 49, 73, ++ 201, 202, 203, 410, 204, 406, 205, 407, 206, 408, ++ 207, 411, 208, 415, 209, 414, 210, 413, 632, 211, ++ 156, 386, 734, 735, 736, 835, 913, 914, 157, 384, ++ 55, 76, 726, 727, 728, 829, 57, 77, 267, 268, ++ 269, 270, 271, 272, 273, 433, 274, 437, 275, 436, ++ 276, 277, 438, 278, 158, 385, 730, 731, 732, 832, ++ 59, 78, 288, 289, 290, 291, 292, 442, 293, 294, ++ 295, 296, 213, 409, 786, 787, 788, 865, 51, 74, ++ 226, 227, 228, 419, 159, 387, 160, 388, 161, 391, ++ 753, 754, 755, 843, 53, 75, 243, 244, 245, 162, ++ 372, 163, 373, 164, 374, 249, 429, 791, 868, 250, ++ 423, 251, 424, 252, 426, 253, 425, 254, 428, 255, ++ 427, 256, 422, 220, 416, 792, 165, 390, 750, 751, ++ 840, 935, 936, 937, 938, 939, 991, 940, 166, 167, ++ 395, 779, 780, 781, 857, 782, 858, 168, 396, 169, ++ 397, 63, 80, 325, 326, 327, 328, 452, 329, 453, ++ 330, 331, 455, 332, 333, 334, 458, 658, 335, 459, ++ 336, 337, 338, 339, 463, 665, 340, 464, 341, 465, ++ 342, 466, 99, 359, 100, 360, 101, 361, 170, 365, ++ 366, 67, 82, 349, 350, 351, 472, 102, 358, 65, ++ 81, 344, 345, 346, 469, 794, 795, 870, 968, 969, ++ 970, 971, 1004, 972, 1002, 1019, 1020, 1021, 1028, 1029, ++ 1030, 1035, 1031, 1032, 1033 }; const unsigned short int Dhcp4Parser::yytable_[] = { - 95, 135, 173, 193, 220, 237, 711, 263, 282, 299, - 320, 255, 284, 481, 180, 212, 227, 239, 285, 277, - 295, 628, 321, 345, 83, 194, 214, 632, 195, 31, - 196, 32, 903, 33, 181, 213, 228, 240, 86, 278, - 296, 904, 322, 907, 89, 30, 916, 42, 651, 361, - 221, 264, 283, 395, 362, 210, 223, 238, 396, 44, - 401, 122, 197, 297, 298, 402, 215, 216, 244, 245, - 222, 46, 103, 217, 414, 246, 104, 198, 105, 415, - 417, 655, 656, 657, 658, 418, 48, 106, 351, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 169, 170, - 50, 123, 171, 1019, 52, 172, 1020, 1021, 1022, 110, - 111, 112, 446, 219, 125, 126, 659, 447, 116, 117, - 118, 119, 120, 121, 54, 94, 190, 122, 123, 191, - 125, 126, 755, 756, 757, 758, 759, 760, 124, 297, - 298, 125, 126, 464, 122, 123, 257, 341, 465, 467, - 470, 127, 128, 833, 468, 471, 834, 129, 125, 126, - 125, 126, 652, 623, 624, 625, 626, 130, 769, 770, - 131, 919, 920, 90, 470, 395, 94, 132, 133, 584, - 792, 134, 91, 92, 93, 836, 903, 56, 837, 34, - 35, 36, 37, 257, 58, 904, 467, 907, 60, 94, - 916, 793, 470, 94, 62, 125, 126, 794, 108, 109, - 110, 111, 112, 732, 733, 734, 735, 866, 736, 94, - 867, 257, 279, 258, 259, 280, 281, 64, 1017, 66, - 94, 1018, 888, 125, 126, 669, 116, 117, 118, 350, - 401, 474, 182, 183, 184, 795, 123, 94, 797, 94, - 110, 111, 112, 798, 611, 612, 353, 185, 352, 125, - 126, 186, 187, 188, 189, 970, 971, 972, 973, 354, - 956, 190, 957, 958, 191, 129, 108, 109, 110, 111, - 112, 360, 192, 815, 815, 850, 123, 854, 816, 817, - 851, 95, 855, 464, 94, 367, 815, 414, 856, 125, - 126, 980, 981, 368, 116, 117, 118, 472, 473, 121, - 229, 614, 615, 369, 123, 257, 230, 231, 232, 233, - 234, 235, 94, 236, 984, 135, 376, 125, 126, 985, - 187, 173, 189, 446, 427, 417, 1000, 428, 991, 190, - 995, 1001, 191, 180, 193, 377, 1034, 220, 94, 378, - 192, 1035, 236, 784, 379, 392, 212, 400, 237, 227, - 409, 432, 429, 181, 436, 438, 194, 214, 263, 195, - 239, 196, 440, 282, 437, 441, 213, 284, 442, 228, - 277, 443, 494, 285, 448, 295, 451, 453, 94, 454, - 240, 457, 458, 221, 320, 459, 210, 475, 476, 223, - 278, 477, 478, 197, 485, 296, 321, 215, 216, 479, - 238, 482, 264, 222, 217, 483, 94, 283, 198, 484, - 488, 244, 245, 486, 487, 489, 322, 490, 246, 491, - 492, 493, 498, 581, 582, 583, 256, 495, 496, 497, - 125, 126, 499, 500, 501, 675, 502, 503, 504, 996, - 95, 135, 173, 193, 219, 236, 711, 262, 281, 298, - 319, 254, 283, 480, 180, 211, 226, 238, 284, 276, - 294, 628, 320, 344, 83, 194, 213, 632, 195, 31, - 196, 32, 89, 33, 181, 212, 227, 239, 651, 277, - 295, 902, 321, 903, 906, 915, 296, 297, 30, 598, - 220, 263, 282, 296, 297, 209, 222, 237, 598, 103, - 42, 833, 197, 104, 834, 105, 214, 215, 243, 244, - 221, 611, 612, 216, 106, 245, 107, 108, 109, 110, - 111, 112, 113, 114, 836, 169, 170, 837, 360, 171, - 235, 784, 172, 361, 394, 109, 110, 111, 122, 395, - 623, 624, 625, 626, 115, 116, 117, 118, 119, 120, - 218, 124, 125, 121, 122, 1018, 94, 44, 1019, 1020, - 1021, 46, 256, 190, 123, 48, 191, 124, 125, 50, - 121, 122, 256, 866, 124, 125, 867, 126, 127, 655, - 656, 657, 658, 128, 124, 125, 124, 125, 1016, 400, - 413, 1017, 652, 129, 401, 414, 130, 918, 919, 121, - 416, 90, 52, 131, 132, 417, 54, 133, 134, 86, - 91, 92, 93, 340, 659, 56, 94, 108, 109, 110, - 111, 755, 756, 757, 758, 759, 760, 94, 445, 34, - 35, 36, 37, 446, 902, 58, 903, 906, 915, 60, - 955, 94, 956, 957, 115, 116, 117, 62, 463, 64, - 182, 183, 184, 464, 122, 614, 615, 94, 466, 108, - 109, 110, 111, 467, 94, 185, 66, 124, 125, 186, - 187, 188, 189, 888, 94, 669, 94, 124, 125, 190, - 469, 349, 191, 128, 469, 470, 115, 116, 117, 583, - 192, 120, 109, 110, 111, 350, 122, 256, 732, 733, - 734, 735, 394, 736, 351, 352, 359, 792, 466, 124, - 125, 353, 187, 793, 189, 769, 770, 469, 400, 426, - 797, 190, 794, 795, 191, 798, 815, 427, 122, 815, - 95, 816, 192, 850, 817, 255, 366, 367, 851, 854, - 463, 124, 125, 815, 855, 856, 471, 472, 979, 413, - 983, 445, 228, 374, 980, 984, 990, 94, 229, 230, - 231, 232, 233, 234, 135, 235, 256, 94, 257, 258, - 173, 416, 259, 260, 261, 999, 994, 375, 124, 125, - 1000, 376, 180, 193, 1033, 437, 219, 377, 390, 1034, - 969, 970, 971, 972, 399, 211, 408, 236, 226, 94, - 431, 428, 181, 435, 439, 194, 213, 262, 195, 238, - 196, 436, 281, 440, 442, 212, 283, 473, 227, 276, - 447, 441, 284, 450, 294, 452, 453, 456, 457, 239, - 458, 94, 220, 319, 474, 209, 475, 476, 222, 277, - 477, 478, 197, 481, 295, 320, 214, 215, 482, 237, - 483, 263, 221, 216, 484, 485, 282, 492, 486, 487, - 243, 244, 488, 489, 490, 321, 491, 245, 94, 496, - 493, 497, 580, 581, 582, 256, 278, 257, 258, 279, - 280, 124, 125, 498, 494, 675, 495, 124, 125, 995, -- 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, - 686, 687, 688, 689, 690, 505, 506, 257, 507, 258, - 259, 508, 509, 260, 261, 262, 257, 510, 511, 125, - 126, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 512, 514, 515, 516, 517, - 519, 318, 319, 520, 521, 522, 523, 524, 525, 135, - 526, 647, 527, 528, 529, 531, 173, 533, 534, 535, - 536, 691, 691, 537, 538, 539, 540, 542, 180, 94, - 543, 544, 545, 546, 666, 547, 550, 771, 320, 554, - 548, 551, 552, 555, 557, 558, 559, 560, 181, 772, - 321, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 561, 564, 562, 94, 773, - 322, 565, 563, 569, 570, 571, 566, 94, 567, 572, - 574, 568, 576, 578, 579, 588, 671, 580, 585, 586, - 587, 591, 592, 593, 589, 590, 594, 595, 596, 597, - 598, 601, 602, 32, 603, 604, 605, 875, 820, 606, - 607, 608, 609, 617, 618, 619, 620, 621, 622, 629, - 630, 631, 633, 634, 635, 636, 664, 654, 637, 665, - 638, 639, 712, 716, 640, 641, 642, 643, 644, 720, - 645, 646, 648, 649, 650, 661, 662, 663, 724, 728, - 744, 747, 751, 780, 788, 803, 804, 805, 806, 807, - 810, 811, 812, 813, 814, 876, 823, 819, 822, 826, - 825, 828, 829, 831, 832, 840, 839, 843, 862, 842, - 844, 845, 846, 847, 848, 849, 878, 599, 861, 857, - 868, 864, 869, 871, 872, 873, 874, 880, 881, 877, - 879, 948, 882, 883, 884, 949, 885, 952, 951, 955, - 941, 886, 942, 943, 944, 945, 946, 969, 975, 976, - 977, 978, 979, 982, 983, 987, 988, 989, 990, 992, - 993, 994, 998, 1003, 1006, 1008, 1004, 1011, 1007, 1010, - 1013, 1031, 1032, 1033, 1036, 691, 667, 480, 691, 670, - 513, 193, 1012, 518, 263, 1038, 1041, 282, 1037, 791, - 896, 284, 870, 212, 1039, 921, 277, 285, 237, 295, - 923, 299, 911, 194, 214, 940, 195, 925, 196, 889, - 239, 887, 897, 213, 771, 898, 278, 899, 939, 296, - 220, 918, 912, 556, 947, 959, 772, 926, 264, 890, - 240, 283, 227, 210, 902, 917, 905, 961, 891, 922, - 197, 1002, 910, 530, 215, 216, 773, 924, 893, 900, - 238, 217, 228, 913, 914, 198, 906, 962, 927, 928, - 915, 244, 245, 892, 901, 929, 221, 895, 246, 960, - 549, 894, 223, 954, 953, 938, 541, 553, 937, 532, - 1005, 785, 936, 573, 778, 950, 222, 968, 668, 575, - 577, 1029, 1009, 1040, 0, 0, 0, 0, 0, 0, - 686, 687, 688, 689, 690, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 509, 510, 256, 508, 511, 513, - 514, 515, 516, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 518, 519, 520, - 521, 522, 523, 317, 318, 524, 525, 526, 135, 527, - 647, 528, 530, 532, 533, 173, 534, 535, 536, 537, - 691, 691, 538, 539, 541, 542, 544, 180, 543, 545, - 546, 94, 547, 666, 549, 550, 771, 94, 319, 553, - 554, 557, 551, 556, 558, 560, 559, 181, 772, 563, - 320, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 564, 565, 561, 773, 562, - 321, 568, 569, 566, 570, 567, 571, 573, 94, 575, - 577, 578, 587, 654, 579, 584, 585, 586, 588, 589, - 590, 591, 592, 593, 594, 595, 596, 597, 600, 601, - 32, 602, 603, 604, 671, 617, 605, 606, 608, 609, - 618, 619, 620, 621, 622, 629, 630, 631, 633, 634, - 635, 636, 637, 638, 639, 640, 664, 665, 864, 607, - 712, 716, 720, 724, 728, 744, 747, 641, 642, 751, - 780, 788, 803, 643, 644, 645, 646, 648, 649, 650, - 661, 662, 663, 804, 805, 806, 807, 810, 811, 812, - 813, 814, 820, 479, 819, 823, 822, 825, 826, 828, - 829, 832, 831, 840, 876, 839, 843, 842, 844, 845, - 846, 847, 848, 849, 862, 878, 861, 951, 857, 868, - 869, 871, 872, 873, 874, 875, 880, 877, 879, 881, - 882, 886, 947, 948, 883, 884, 950, 954, 885, 940, - 941, 986, 942, 943, 944, 945, 968, 974, 975, 976, - 977, 978, 981, 982, 987, 988, 989, 991, 992, 993, - 997, 1002, 1005, 1003, 1007, 1006, 1009, 1010, 1012, 1030, - 1031, 1032, 1035, 667, 870, 691, 670, 1011, 691, 512, - 917, 193, 1037, 1036, 262, 791, 889, 281, 517, 939, - 896, 283, 938, 211, 887, 920, 276, 284, 236, 294, - 922, 298, 910, 194, 213, 1040, 195, 924, 196, 1038, - 238, 555, 897, 212, 771, 898, 277, 899, 946, 295, - 219, 891, 911, 890, 1001, 958, 772, 925, 263, 916, - 239, 282, 226, 209, 901, 893, 904, 960, 529, 921, - 197, 892, 909, 895, 214, 215, 773, 923, 952, 900, - 237, 216, 227, 912, 913, 548, 905, 961, 926, 927, - 914, 243, 244, 552, 894, 928, 220, 953, 245, 959, - 936, 937, 222, 540, 785, 531, 935, 1004, 778, 949, - 572, 668, 967, 1008, 576, 574, 221, 1028, 1039, 0, ++ 95, 136, 175, 195, 222, 239, 716, 265, 284, 301, ++ 322, 257, 286, 484, 182, 214, 229, 241, 287, 279, ++ 297, 633, 323, 89, 83, 196, 216, 637, 197, 31, ++ 198, 32, 347, 33, 183, 215, 230, 242, 30, 280, ++ 298, 908, 324, 909, 912, 921, 123, 299, 300, 42, ++ 223, 266, 285, 656, 603, 212, 225, 240, 221, 125, ++ 126, 838, 199, 603, 839, 86, 217, 218, 246, 247, ++ 224, 192, 103, 219, 193, 248, 104, 200, 105, 660, ++ 661, 662, 663, 737, 738, 739, 740, 106, 741, 107, ++ 108, 109, 110, 111, 112, 113, 114, 115, 171, 172, ++ 299, 300, 173, 1024, 363, 174, 1025, 1026, 1027, 364, ++ 94, 398, 404, 44, 664, 122, 399, 405, 116, 117, ++ 118, 119, 120, 121, 417, 420, 449, 122, 123, 418, ++ 421, 450, 259, 281, 260, 261, 282, 283, 124, 619, ++ 620, 125, 126, 467, 125, 126, 125, 126, 468, 94, ++ 46, 127, 128, 90, 470, 841, 48, 129, 842, 471, ++ 125, 126, 91, 92, 93, 50, 473, 130, 657, 52, ++ 131, 474, 108, 109, 110, 111, 112, 132, 133, 94, ++ 54, 134, 135, 473, 774, 775, 94, 343, 588, 398, ++ 34, 35, 36, 37, 797, 908, 352, 909, 912, 921, ++ 116, 117, 118, 56, 470, 58, 184, 185, 186, 798, ++ 123, 616, 617, 60, 108, 109, 110, 111, 112, 871, ++ 62, 187, 872, 125, 126, 188, 189, 190, 191, 1022, ++ 64, 94, 1023, 893, 94, 192, 94, 674, 193, 129, ++ 473, 66, 116, 117, 118, 799, 194, 121, 353, 404, ++ 94, 354, 123, 259, 800, 802, 110, 111, 112, 820, ++ 803, 259, 820, 355, 821, 125, 126, 822, 189, 356, ++ 191, 238, 789, 125, 126, 362, 369, 192, 370, 371, ++ 193, 760, 761, 762, 763, 764, 765, 378, 194, 855, ++ 430, 379, 123, 95, 856, 110, 111, 112, 859, 467, ++ 432, 380, 820, 860, 861, 125, 126, 985, 381, 475, ++ 476, 394, 417, 94, 989, 449, 231, 986, 403, 990, ++ 996, 412, 232, 233, 234, 235, 236, 237, 136, 238, ++ 122, 123, 259, 420, 175, 1005, 431, 440, 1000, 961, ++ 1006, 962, 963, 1039, 125, 126, 182, 195, 1040, 435, ++ 222, 628, 629, 630, 631, 94, 439, 924, 925, 214, ++ 441, 239, 229, 94, 443, 444, 183, 445, 446, 196, ++ 216, 265, 197, 241, 198, 451, 284, 454, 456, 215, ++ 286, 457, 230, 279, 460, 461, 287, 462, 297, 975, ++ 976, 977, 978, 242, 477, 94, 223, 322, 478, 212, ++ 479, 480, 225, 280, 481, 482, 199, 485, 298, 323, ++ 217, 218, 486, 240, 487, 266, 224, 219, 488, 489, ++ 285, 200, 490, 491, 246, 247, 492, 493, 494, 324, ++ 495, 248, 497, 496, 94, 258, 585, 586, 587, 125, ++ 126, 501, 502, 498, 499, 500, 680, 503, 504, 505, ++ 1001, 681, 682, 683, 684, 685, 686, 687, 688, 689, ++ 690, 691, 692, 693, 694, 695, 259, 506, 260, 261, ++ 507, 508, 262, 263, 264, 509, 510, 259, 125, 126, ++ 511, 306, 307, 308, 309, 310, 311, 312, 313, 314, ++ 315, 316, 317, 318, 319, 512, 514, 515, 513, 516, ++ 518, 320, 321, 519, 520, 521, 523, 524, 525, 526, ++ 527, 528, 530, 136, 529, 652, 531, 532, 533, 535, ++ 175, 537, 538, 539, 540, 696, 696, 541, 542, 94, ++ 543, 544, 182, 546, 547, 548, 549, 550, 671, 551, ++ 554, 776, 558, 322, 552, 555, 559, 556, 561, 562, ++ 563, 564, 183, 777, 565, 323, 566, 567, 568, 569, ++ 570, 571, 572, 573, 574, 575, 576, 578, 94, 580, ++ 582, 583, 592, 778, 584, 324, 589, 590, 591, 94, ++ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ++ 11, 12, 13, 14, 595, 596, 593, 594, 597, 598, ++ 599, 600, 601, 602, 676, 605, 32, 606, 607, 608, ++ 609, 881, 622, 610, 611, 613, 614, 623, 624, 625, ++ 626, 627, 634, 635, 636, 638, 639, 640, 641, 669, ++ 642, 643, 670, 717, 644, 645, 646, 721, 725, 647, ++ 648, 649, 659, 650, 651, 653, 654, 655, 666, 667, ++ 668, 729, 733, 749, 752, 756, 785, 793, 808, 809, ++ 810, 811, 812, 815, 816, 817, 818, 819, 825, 612, ++ 824, 828, 827, 830, 831, 833, 834, 837, 836, 845, ++ 883, 844, 848, 847, 849, 850, 851, 852, 853, 854, ++ 867, 862, 866, 672, 874, 873, 869, 876, 877, 878, ++ 879, 880, 885, 886, 882, 953, 884, 887, 888, 954, ++ 889, 890, 956, 957, 994, 946, 891, 960, 947, 948, ++ 949, 1016, 987, 950, 951, 988, 992, 993, 995, 1003, ++ 1008, 1011, 1013, 483, 974, 1036, 1018, 1037, 980, 981, ++ 982, 983, 984, 997, 998, 999, 1038, 1041, 1015, 1009, ++ 696, 1012, 1017, 696, 1042, 1046, 195, 1043, 1044, 265, ++ 517, 875, 284, 796, 675, 901, 286, 892, 214, 923, ++ 926, 279, 287, 239, 297, 928, 301, 916, 196, 216, ++ 945, 197, 930, 198, 944, 241, 522, 902, 215, 776, ++ 903, 280, 904, 894, 298, 222, 952, 917, 560, 896, ++ 964, 777, 931, 266, 895, 242, 285, 229, 212, 907, ++ 922, 910, 966, 1007, 927, 199, 534, 915, 898, 217, ++ 218, 778, 929, 899, 905, 240, 219, 230, 918, 919, ++ 200, 911, 967, 932, 933, 920, 246, 247, 897, 906, ++ 934, 223, 900, 248, 965, 553, 959, 225, 943, 958, ++ 942, 557, 536, 790, 1010, 941, 545, 955, 581, 973, ++ 1014, 224, 577, 673, 783, 1034, 1045, 0, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 896, 0, 0, 0, 0, 921, - 0, 0, 0, 0, 923, 0, 911, 0, 0, 0, - 959, 925, 0, 0, 0, 0, 897, 0, 0, 898, - 0, 899, 961, 0, 0, 0, 912, 0, 0, 0, - 0, 926, 0, 0, 0, 0, 0, 0, 902, 0, - 905, 0, 962, 922, 0, 0, 910, 0, 0, 0, - 0, 924, 0, 900, 960, 0, 0, 913, 914, 0, - 906, 0, 927, 928, 915, 0, 0, 0, 901, 929 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 896, 0, 0, 0, 0, 920, 0, - 0, 0, 0, 922, 0, 910, 0, 0, 0, 958, - 924, 0, 0, 0, 0, 897, 0, 0, 898, 0, - 899, 960, 0, 0, 0, 911, 0, 0, 0, 0, - 925, 0, 0, 0, 0, 0, 0, 901, 0, 904, - 0, 961, 921, 0, 0, 909, 0, 0, 0, 0, - 923, 0, 900, 959, 0, 0, 912, 913, 0, 905, - 0, 926, 927, 914, 0, 0, 0, 0, 928 ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 901, ++ 0, 0, 0, 0, 926, 0, 0, 0, 0, 928, ++ 0, 916, 0, 0, 0, 964, 930, 0, 0, 0, ++ 0, 902, 0, 0, 903, 0, 904, 966, 0, 0, ++ 0, 917, 0, 0, 0, 0, 931, 0, 0, 0, ++ 0, 0, 0, 907, 0, 910, 0, 967, 927, 0, ++ 0, 915, 0, 0, 0, 0, 929, 0, 905, 965, ++ 0, 0, 918, 919, 0, 911, 0, 932, 933, 920, ++ 0, 0, 0, 906, 934 }; const short int Dhcp4Parser::yycheck_[] = { - 70, 71, 72, 73, 74, 75, 592, 77, 78, 79, - 80, 76, 78, 363, 72, 73, 74, 75, 78, 77, - 78, 527, 80, 12, 68, 73, 73, 533, 73, 5, - 73, 7, 830, 9, 72, 73, 74, 75, 165, 77, - 78, 830, 80, 830, 10, 0, 830, 7, 17, 3, - 74, 77, 78, 3, 8, 73, 74, 75, 8, 7, - 3, 62, 73, 103, 104, 8, 73, 73, 75, 75, - 74, 7, 7, 73, 3, 75, 11, 73, 13, 8, - 3, 133, 134, 135, 136, 8, 7, 22, 3, 24, - 70, 71, 72, 73, 74, 75, 591, 77, 78, 79, - 80, 76, 78, 362, 72, 73, 74, 75, 78, 77, - 78, 526, 80, 12, 68, 73, 73, 532, 73, 5, - 73, 7, 10, 9, 72, 73, 74, 75, 17, 77, - 78, 830, 80, 830, 830, 830, 102, 103, 0, 501, - 74, 77, 78, 102, 103, 73, 74, 75, 510, 7, - 7, 3, 73, 11, 6, 13, 73, 73, 75, 75, - 74, 16, 17, 73, 22, 75, 24, 25, 26, 27, - 28, 29, 30, 31, 3, 14, 15, 6, 3, 18, - 99, 100, 21, 8, 3, 26, 27, 28, 62, 8, - 81, 82, 83, 84, 52, 53, 54, 55, 56, 57, - 74, 75, 76, 61, 62, 142, 165, 7, 145, 146, - 147, 7, 63, 87, 72, 7, 90, 75, 76, 7, - 61, 62, 63, 3, 75, 76, 6, 85, 86, 133, - 134, 135, 136, 91, 75, 76, 75, 76, 3, 3, - 3, 6, 131, 101, 8, 8, 104, 88, 89, 61, - 3, 139, 7, 111, 112, 8, 7, 115, 116, 165, - 148, 149, 150, 140, 168, 7, 165, 25, 26, 27, - 28, 105, 106, 107, 108, 109, 110, 165, 3, 165, - 166, 167, 168, 8, 983, 7, 983, 983, 983, 7, - 141, 165, 143, 144, 52, 53, 54, 7, 3, 7, - 58, 59, 60, 8, 62, 19, 20, 165, 3, 25, - 26, 27, 28, 8, 165, 73, 7, 75, 76, 77, - 78, 79, 80, 818, 165, 584, 165, 75, 76, 87, - 3, 6, 90, 91, 3, 8, 52, 53, 54, 8, - 98, 57, 26, 27, 28, 3, 62, 63, 92, 93, - 94, 95, 3, 97, 4, 8, 4, 8, 3, 75, - 76, 3, 78, 8, 80, 113, 114, 3, 3, 8, - 3, 87, 8, 8, 90, 8, 3, 3, 62, 3, - 360, 8, 98, 3, 8, 32, 4, 4, 8, 3, - 3, 75, 76, 3, 8, 8, 350, 351, 8, 3, - 3, 3, 86, 4, 8, 8, 8, 165, 92, 93, - 94, 95, 96, 97, 394, 99, 63, 165, 65, 66, - 400, 3, 69, 70, 71, 3, 8, 4, 75, 76, - 8, 4, 400, 413, 3, 3, 416, 4, 4, 8, - 33, 34, 35, 36, 4, 413, 4, 427, 416, 165, - 4, 8, 400, 4, 4, 413, 413, 437, 413, 427, - 413, 8, 442, 4, 3, 413, 442, 165, 416, 437, - 4, 8, 442, 4, 442, 4, 4, 4, 4, 427, - 4, 165, 416, 463, 4, 413, 4, 4, 416, 437, - 4, 4, 413, 4, 442, 463, 413, 413, 4, 427, - 4, 437, 416, 413, 168, 168, 442, 166, 4, 4, - 427, 427, 4, 4, 4, 463, 4, 427, 165, 4, - 166, 4, 476, 477, 478, 63, 64, 65, 66, 67, - 68, 75, 76, 4, 166, 32, 166, 75, 76, 954, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 63, 166, 4, 4, - 4, 4, 168, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 4, 4, 4, - 4, 4, 4, 137, 138, 166, 4, 4, 578, 4, - 554, 4, 4, 4, 4, 585, 4, 4, 4, 4, - 590, 591, 4, 4, 4, 4, 4, 585, 166, 4, - 4, 165, 168, 577, 4, 168, 606, 165, 608, 4, - 4, 4, 168, 168, 4, 4, 166, 585, 606, 4, - 608, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 4, 168, 166, 606, 166, - 608, 4, 4, 168, 4, 168, 4, 4, 165, 4, - 4, 7, 165, 132, 7, 7, 7, 7, 165, 165, - 7, 7, 5, 165, 5, 5, 5, 5, 165, 5, - 7, 5, 5, 5, 23, 165, 7, 7, 7, 5, - 165, 165, 5, 165, 165, 165, 7, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 5, 5, 8, 510, - 7, 7, 7, 7, 7, 7, 7, 165, 165, 7, - 7, 7, 4, 165, 165, 165, 165, 165, 165, 165, - 165, 165, 165, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 360, 6, 3, 6, 6, 3, 6, - 3, 3, 6, 3, 168, 6, 3, 6, 4, 4, - 4, 4, 4, 4, 3, 168, 6, 3, 165, 6, - 4, 4, 4, 4, 4, 166, 4, 166, 166, 4, - 166, 168, 4, 4, 166, 166, 6, 4, 166, 166, - 166, 4, 166, 166, 166, 166, 165, 165, 165, 165, - 165, 165, 8, 8, 8, 3, 8, 165, 165, 165, - 4, 4, 4, 168, 4, 166, 165, 5, 7, 4, - 4, 4, 4, 578, 797, 815, 585, 165, 818, 394, - 833, 821, 166, 168, 824, 665, 820, 827, 400, 843, - 830, 827, 841, 821, 815, 835, 824, 827, 838, 827, - 835, 841, 830, 821, 821, 165, 821, 835, 821, 166, - 838, 445, 830, 821, 854, 830, 824, 830, 850, 827, - 860, 823, 830, 821, 983, 865, 854, 835, 824, 832, - 838, 827, 860, 821, 830, 826, 830, 865, 413, 835, - 821, 824, 830, 829, 821, 821, 854, 835, 860, 830, - 838, 821, 860, 830, 830, 437, 830, 865, 835, 835, - 830, 838, 838, 442, 827, 835, 860, 862, 838, 865, - 838, 840, 860, 427, 630, 416, 836, 988, 608, 854, - 463, 579, 866, 999, 469, 466, 860, 1016, 1033, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ++ 70, 71, 72, 73, 74, 75, 596, 77, 78, 79, ++ 80, 76, 78, 365, 72, 73, 74, 75, 78, 77, ++ 78, 531, 80, 10, 68, 73, 73, 537, 73, 5, ++ 73, 7, 12, 9, 72, 73, 74, 75, 0, 77, ++ 78, 835, 80, 835, 835, 835, 63, 103, 104, 7, ++ 74, 77, 78, 17, 506, 73, 74, 75, 75, 76, ++ 77, 3, 73, 515, 6, 166, 73, 73, 75, 75, ++ 74, 88, 7, 73, 91, 75, 11, 73, 13, 134, ++ 135, 136, 137, 93, 94, 95, 96, 22, 98, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 14, 15, - 7, 63, 18, 142, 7, 21, 145, 146, 147, 27, - 28, 29, 3, 75, 76, 77, 168, 8, 53, 54, - 55, 56, 57, 58, 7, 165, 88, 62, 63, 91, - 76, 77, 106, 107, 108, 109, 110, 111, 73, 103, - 104, 76, 77, 3, 62, 63, 64, 140, 8, 3, - 3, 86, 87, 3, 8, 8, 6, 92, 76, 77, - 76, 77, 131, 82, 83, 84, 85, 102, 114, 115, - 105, 89, 90, 139, 3, 3, 165, 112, 113, 8, - 8, 116, 148, 149, 150, 3, 984, 7, 6, 165, - 166, 167, 168, 64, 7, 984, 3, 984, 7, 165, - 984, 8, 3, 165, 7, 76, 77, 8, 25, 26, - 27, 28, 29, 93, 94, 95, 96, 3, 98, 165, - 6, 64, 65, 66, 67, 68, 69, 7, 3, 7, - 165, 6, 818, 76, 77, 585, 53, 54, 55, 6, - 3, 165, 59, 60, 61, 8, 63, 165, 3, 165, - 27, 28, 29, 8, 16, 17, 8, 74, 4, 76, - 77, 78, 79, 80, 81, 34, 35, 36, 37, 3, - 141, 88, 143, 144, 91, 92, 25, 26, 27, 28, - 29, 4, 99, 3, 3, 3, 63, 3, 8, 8, - 8, 361, 8, 3, 165, 4, 3, 3, 8, 76, - 77, 8, 8, 4, 53, 54, 55, 351, 352, 58, - 87, 19, 20, 4, 63, 64, 93, 94, 95, 96, - 97, 98, 165, 100, 3, 395, 4, 76, 77, 8, - 79, 401, 81, 3, 8, 3, 3, 3, 8, 88, - 8, 8, 91, 401, 414, 4, 3, 417, 165, 4, - 99, 8, 100, 101, 4, 4, 414, 4, 428, 417, - 4, 4, 8, 401, 4, 3, 414, 414, 438, 414, - 428, 414, 4, 443, 8, 4, 414, 443, 8, 417, - 438, 3, 166, 443, 4, 443, 4, 4, 165, 4, - 428, 4, 4, 417, 464, 4, 414, 4, 4, 417, - 438, 4, 4, 414, 168, 443, 464, 414, 414, 4, - 428, 4, 438, 417, 414, 4, 165, 443, 414, 4, - 4, 428, 428, 168, 168, 4, 464, 4, 428, 4, - 4, 4, 4, 477, 478, 479, 33, 166, 166, 166, - 76, 77, 4, 4, 4, 33, 4, 4, 4, 955, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 4, 4, 64, 4, 66, - 67, 4, 4, 70, 71, 72, 64, 166, 4, 76, - 77, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 4, 4, 4, 4, 168, - 4, 137, 138, 4, 4, 4, 4, 4, 166, 579, - 4, 555, 4, 4, 4, 4, 586, 4, 4, 4, - 4, 591, 592, 4, 4, 4, 4, 4, 586, 165, - 4, 166, 4, 4, 578, 4, 4, 607, 608, 4, - 168, 168, 168, 4, 168, 4, 4, 166, 586, 607, - 608, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 4, 4, 166, 165, 607, - 608, 4, 166, 4, 4, 4, 168, 165, 168, 4, - 4, 168, 4, 4, 7, 165, 23, 7, 7, 7, - 7, 7, 7, 5, 165, 165, 165, 5, 5, 5, - 5, 165, 5, 7, 5, 5, 5, 166, 3, 7, - 7, 7, 5, 165, 165, 165, 5, 165, 165, 165, - 7, 165, 165, 165, 165, 165, 5, 132, 165, 5, - 165, 165, 7, 7, 165, 165, 165, 165, 165, 7, - 165, 165, 165, 165, 165, 165, 165, 165, 7, 7, - 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 168, 3, 6, 6, 3, - 6, 6, 3, 6, 3, 3, 6, 3, 3, 6, - 4, 4, 4, 4, 4, 4, 168, 503, 6, 165, - 6, 8, 4, 4, 4, 4, 4, 4, 4, 166, - 166, 4, 166, 166, 166, 4, 166, 3, 6, 4, - 166, 168, 166, 166, 166, 166, 166, 165, 165, 165, - 165, 165, 165, 8, 8, 4, 8, 3, 8, 165, - 165, 165, 4, 4, 4, 4, 168, 5, 166, 165, - 7, 4, 4, 4, 4, 815, 579, 361, 818, 586, - 395, 821, 165, 401, 824, 166, 165, 827, 168, 665, - 830, 827, 797, 821, 166, 835, 824, 827, 838, 827, - 835, 841, 830, 821, 821, 843, 821, 835, 821, 820, - 838, 815, 830, 821, 854, 830, 824, 830, 841, 827, - 860, 833, 830, 446, 850, 865, 854, 835, 824, 821, - 838, 827, 860, 821, 830, 832, 830, 865, 823, 835, - 821, 984, 830, 414, 821, 821, 854, 835, 826, 830, - 838, 821, 860, 830, 830, 821, 830, 865, 835, 835, - 830, 838, 838, 824, 830, 835, 860, 829, 838, 865, - 438, 827, 860, 862, 860, 840, 428, 443, 838, 417, - 989, 630, 836, 464, 608, 854, 860, 866, 580, 467, - 470, 1017, 1000, 1034, -1, -1, -1, -1, -1, -1, ++ 103, 104, 18, 143, 3, 21, 146, 147, 148, 8, ++ 166, 3, 3, 7, 169, 62, 8, 8, 53, 54, ++ 55, 56, 57, 58, 3, 3, 3, 62, 63, 8, ++ 8, 8, 64, 65, 66, 67, 68, 69, 73, 19, ++ 20, 76, 77, 3, 76, 77, 76, 77, 8, 166, ++ 7, 86, 87, 140, 3, 3, 7, 92, 6, 8, ++ 76, 77, 149, 150, 151, 7, 3, 102, 132, 7, ++ 105, 8, 25, 26, 27, 28, 29, 112, 113, 166, ++ 7, 116, 117, 3, 114, 115, 166, 141, 8, 3, ++ 166, 167, 168, 169, 8, 989, 6, 989, 989, 989, ++ 53, 54, 55, 7, 3, 7, 59, 60, 61, 8, ++ 63, 16, 17, 7, 25, 26, 27, 28, 29, 3, ++ 7, 74, 6, 76, 77, 78, 79, 80, 81, 3, ++ 7, 166, 6, 823, 166, 88, 166, 589, 91, 92, ++ 3, 7, 53, 54, 55, 8, 99, 58, 3, 3, ++ 166, 4, 63, 64, 8, 3, 27, 28, 29, 3, ++ 8, 64, 3, 8, 8, 76, 77, 8, 79, 3, ++ 81, 100, 101, 76, 77, 4, 4, 88, 4, 4, ++ 91, 106, 107, 108, 109, 110, 111, 4, 99, 3, ++ 8, 4, 63, 363, 8, 27, 28, 29, 3, 3, ++ 8, 4, 3, 8, 8, 76, 77, 8, 4, 353, ++ 354, 4, 3, 166, 3, 3, 87, 8, 4, 8, ++ 8, 4, 93, 94, 95, 96, 97, 98, 398, 100, ++ 62, 63, 64, 3, 404, 3, 3, 8, 8, 142, ++ 8, 144, 145, 3, 76, 77, 404, 417, 8, 4, ++ 420, 82, 83, 84, 85, 166, 4, 89, 90, 417, ++ 3, 431, 420, 166, 4, 4, 404, 8, 3, 417, ++ 417, 441, 417, 431, 417, 4, 446, 4, 4, 417, ++ 446, 4, 420, 441, 4, 4, 446, 4, 446, 34, ++ 35, 36, 37, 431, 166, 166, 420, 467, 4, 417, ++ 4, 4, 420, 441, 4, 4, 417, 4, 446, 467, ++ 417, 417, 4, 431, 4, 441, 420, 417, 169, 169, ++ 446, 417, 169, 4, 431, 431, 4, 4, 4, 467, ++ 4, 431, 167, 4, 166, 33, 480, 481, 482, 76, ++ 77, 4, 4, 167, 167, 167, 33, 4, 4, 4, ++ 960, 38, 39, 40, 41, 42, 43, 44, 45, 46, ++ 47, 48, 49, 50, 51, 52, 64, 4, 66, 67, ++ 4, 4, 70, 71, 72, 4, 4, 64, 76, 77, ++ 4, 118, 119, 120, 121, 122, 123, 124, 125, 126, ++ 127, 128, 129, 130, 131, 4, 4, 4, 167, 4, ++ 4, 138, 139, 4, 4, 169, 4, 4, 4, 4, ++ 4, 4, 4, 583, 167, 559, 4, 4, 4, 4, ++ 590, 4, 4, 4, 4, 595, 596, 4, 4, 166, ++ 4, 4, 590, 4, 4, 167, 4, 4, 582, 4, ++ 4, 611, 4, 613, 169, 169, 4, 169, 169, 4, ++ 4, 167, 590, 611, 4, 613, 167, 167, 4, 4, ++ 169, 169, 169, 4, 4, 4, 4, 4, 166, 4, ++ 4, 7, 166, 611, 7, 613, 7, 7, 7, 166, ++ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, ++ 162, 163, 164, 165, 7, 7, 166, 166, 5, 166, ++ 5, 5, 5, 5, 23, 166, 7, 5, 5, 5, ++ 5, 169, 166, 7, 7, 7, 5, 166, 166, 5, ++ 166, 166, 166, 7, 166, 166, 166, 166, 166, 5, ++ 166, 166, 5, 7, 166, 166, 166, 7, 7, 166, ++ 166, 166, 133, 166, 166, 166, 166, 166, 166, 166, ++ 166, 7, 7, 7, 7, 7, 7, 7, 4, 4, ++ 4, 4, 4, 4, 4, 4, 4, 4, 3, 515, ++ 6, 3, 6, 6, 3, 6, 3, 3, 6, 3, ++ 169, 6, 3, 6, 4, 4, 4, 4, 4, 4, ++ 3, 166, 6, 583, 4, 6, 8, 4, 4, 4, ++ 4, 167, 4, 4, 167, 4, 167, 167, 167, 4, ++ 167, 167, 6, 3, 3, 167, 169, 4, 167, 167, ++ 167, 5, 8, 167, 167, 8, 4, 8, 8, 4, ++ 4, 4, 4, 363, 166, 4, 7, 4, 166, 166, ++ 166, 166, 166, 166, 166, 166, 4, 4, 166, 169, ++ 820, 167, 166, 823, 169, 166, 826, 167, 167, 829, ++ 398, 802, 832, 670, 590, 835, 832, 820, 826, 838, ++ 840, 829, 832, 843, 832, 840, 846, 835, 826, 826, ++ 848, 826, 840, 826, 846, 843, 404, 835, 826, 859, ++ 835, 829, 835, 825, 832, 865, 855, 835, 449, 828, ++ 870, 859, 840, 829, 826, 843, 832, 865, 826, 835, ++ 837, 835, 870, 989, 840, 826, 417, 835, 831, 826, ++ 826, 859, 840, 832, 835, 843, 826, 865, 835, 835, ++ 826, 835, 870, 840, 840, 835, 843, 843, 829, 835, ++ 840, 865, 834, 843, 870, 441, 867, 865, 845, 865, ++ 843, 446, 420, 635, 994, 841, 431, 859, 473, 871, ++ 1005, 865, 467, 584, 613, 1022, 1039, -1, 470, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 984, -1, -1, -1, -1, 989, - -1, -1, -1, -1, 989, -1, 984, -1, -1, -1, - 1000, 989, -1, -1, -1, -1, 984, -1, -1, 984, - -1, 984, 1000, -1, -1, -1, 984, -1, -1, -1, - -1, 989, -1, -1, -1, -1, -1, -1, 984, -1, - 984, -1, 1000, 989, -1, -1, 984, -1, -1, -1, - -1, 989, -1, 984, 1000, -1, -1, 984, 984, -1, - 984, -1, 989, 989, 984, -1, -1, -1, 984, 989 - -1, -1, -1, 983, -1, -1, -1, -1, 988, -1, - -1, -1, -1, 988, -1, 983, -1, -1, -1, 999, - 988, -1, -1, -1, -1, 983, -1, -1, 983, -1, - 983, 999, -1, -1, -1, 983, -1, -1, -1, -1, - 988, -1, -1, -1, -1, -1, -1, 983, -1, 983, - -1, 999, 988, -1, -1, 983, -1, -1, -1, -1, - 988, -1, 983, 999, -1, -1, 983, 983, -1, 983, - -1, 988, 988, 983, -1, -1, -1, -1, 988 ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 989, ++ -1, -1, -1, -1, 994, -1, -1, -1, -1, 994, ++ -1, 989, -1, -1, -1, 1005, 994, -1, -1, -1, ++ -1, 989, -1, -1, 989, -1, 989, 1005, -1, -1, ++ -1, 989, -1, -1, -1, -1, 994, -1, -1, -1, ++ -1, -1, -1, 989, -1, 989, -1, 1005, 994, -1, ++ -1, 989, -1, -1, -1, -1, 994, -1, 989, 1005, ++ -1, -1, 989, 989, -1, 989, -1, 994, 994, 989, ++ -1, -1, -1, 989, 994 }; const unsigned short int Dhcp4Parser::yystos_[] = { -- 0, 151, 152, 153, 154, 155, 156, 157, 158, 159, -- 160, 161, 162, 163, 164, 170, 171, 172, 173, 174, -- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -- 0, 5, 7, 9, 165, 166, 167, 168, 185, 186, - 187, 192, 7, 201, 7, 207, 7, 224, 7, 317, - 7, 397, 7, 413, 7, 349, 7, 355, 7, 379, - 7, 293, 7, 468, 7, 516, 7, 508, 193, 188, - 202, 208, 225, 318, 398, 414, 350, 356, 380, 294, - 469, 517, 509, 185, 194, 195, 165, 190, 191, 10, - 139, 148, 149, 150, 165, 200, 203, 204, 205, 499, - 501, 503, 514, 7, 11, 13, 22, 24, 25, 26, - 187, 192, 7, 201, 7, 207, 7, 223, 7, 316, - 7, 396, 7, 412, 7, 348, 7, 354, 7, 378, - 7, 292, 7, 469, 7, 517, 7, 509, 193, 188, - 202, 208, 224, 317, 397, 413, 349, 355, 379, 293, - 470, 518, 510, 185, 194, 195, 165, 190, 191, 10, - 139, 148, 149, 150, 165, 200, 203, 204, 205, 500, - 502, 504, 515, 7, 11, 13, 22, 24, 25, 26, - 27, 28, 29, 30, 31, 52, 53, 54, 55, 56, - 57, 61, 62, 72, 75, 76, 85, 86, 91, 101, - 104, 111, 112, 115, 116, 200, 209, 210, 211, 212, - 213, 214, 215, 217, 218, 219, 234, 236, 242, 244, - 277, 286, 300, 310, 338, 346, 372, 402, 404, 406, - 417, 419, 421, 444, 456, 457, 465, 467, 506, 14, - 15, 18, 21, 200, 221, 222, 225, 227, 230, 233, - 402, 404, 58, 59, 60, 73, 77, 78, 79, 80, - 87, 90, 98, 200, 211, 212, 213, 218, 318, 319, - 320, 322, 324, 326, 328, 330, 332, 334, 337, 372, - 390, 402, 404, 406, 417, 419, 421, 441, 74, 200, - 330, 332, 372, 398, 399, 400, 402, 404, 86, 92, - 93, 94, 95, 96, 97, 99, 200, 372, 402, 404, - 414, 415, 416, 417, 419, 421, 423, 427, 429, 431, - 433, 435, 437, 439, 346, 32, 63, 65, 66, 69, - 70, 71, 200, 262, 356, 357, 358, 359, 360, 361, - 362, 364, 366, 368, 369, 371, 402, 404, 64, 67, - 68, 200, 262, 360, 366, 380, 381, 382, 383, 384, - 386, 387, 388, 389, 402, 404, 102, 103, 200, 294, - 295, 296, 298, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 137, 138, 200, - 402, 404, 471, 472, 473, 474, 476, 478, 479, 481, - 482, 483, 486, 488, 489, 490, 491, 494, 496, 498, - 140, 519, 520, 521, 12, 200, 511, 512, 513, 6, - 3, 4, 8, 3, 206, 516, 501, 503, 505, 4, - 3, 8, 507, 508, 220, 237, 4, 4, 418, 420, - 422, 235, 243, 245, 4, 4, 4, 4, 216, 311, - 347, 373, 339, 403, 405, 278, 445, 407, 287, 301, - 4, 458, 466, 468, 3, 8, 226, 228, 231, 4, - 3, 8, 323, 325, 327, 391, 321, 329, 4, 335, - 333, 331, 442, 3, 8, 401, 3, 8, 440, 428, - 430, 434, 432, 438, 436, 424, 8, 3, 8, 363, - 263, 4, 367, 365, 370, 4, 8, 3, 385, 4, - 4, 8, 3, 297, 299, 3, 8, 4, 475, 477, - 4, 480, 4, 4, 484, 487, 4, 4, 4, 492, - 495, 497, 499, 3, 8, 522, 3, 8, 514, 3, - 8, 185, 185, 165, 4, 4, 4, 4, 4, 204, - 511, 4, 4, 4, 168, 168, 4, 4, 4, 4, - 4, 4, 166, 166, 166, 166, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 166, 4, - 4, 4, 210, 4, 4, 4, 168, 222, 4, 4, - 4, 4, 4, 4, 166, 4, 4, 4, 4, 319, - 4, 399, 4, 4, 4, 4, 4, 4, 4, 4, - 416, 4, 4, 166, 4, 4, 4, 168, 358, 4, - 168, 168, 382, 4, 4, 295, 168, 4, 4, 166, - 4, 166, 166, 4, 4, 168, 168, 168, 4, 4, - 4, 4, 472, 4, 520, 4, 512, 4, 7, 7, - 185, 185, 185, 8, 7, 7, 7, 165, 165, 165, - 7, 7, 5, 165, 5, 5, 5, 5, 187, 189, - 165, 5, 5, 5, 5, 7, 7, 189, 7, 5, - 196, 16, 17, 229, 19, 20, 232, 165, 165, 165, - 5, 165, 165, 81, 82, 83, 84, 336, 196, 165, - 7, 165, 196, 165, 165, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 185, 165, 165, - 165, 17, 131, 485, 132, 133, 134, 135, 136, 168, - 493, 165, 165, 165, 5, 5, 185, 209, 519, 511, - 221, 23, 238, 239, 240, 32, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 200, 250, 251, 252, 255, 257, 259, 261, 262, - 264, 265, 266, 267, 268, 269, 270, 271, 273, 275, - 276, 250, 7, 246, 247, 248, 7, 312, 313, 314, - 7, 350, 351, 352, 7, 374, 375, 376, 7, 340, - 341, 342, 92, 93, 94, 95, 97, 279, 280, 281, - 282, 283, 284, 285, 7, 446, 447, 7, 408, 409, - 410, 7, 288, 289, 290, 105, 106, 107, 108, 109, - 110, 302, 303, 304, 305, 306, 307, 308, 309, 113, - 114, 200, 402, 404, 459, 460, 461, 463, 471, 197, - 7, 392, 393, 394, 100, 423, 425, 443, 7, 523, - 524, 246, 8, 8, 8, 8, 241, 3, 8, 253, - 256, 258, 260, 4, 4, 4, 4, 4, 272, 274, - 4, 4, 4, 4, 4, 3, 8, 8, 249, 6, - 3, 315, 6, 3, 353, 6, 3, 377, 6, 3, - 343, 6, 3, 3, 6, 448, 3, 6, 411, 6, - 3, 291, 6, 3, 4, 4, 4, 4, 4, 4, - 3, 8, 462, 464, 3, 8, 8, 165, 198, 199, - 395, 6, 3, 426, 8, 525, 3, 6, 6, 4, - 239, 4, 4, 4, 4, 166, 168, 166, 168, 166, - 4, 4, 166, 166, 166, 166, 168, 251, 250, 248, - 318, 314, 356, 352, 380, 376, 200, 211, 212, 213, - 218, 262, 310, 328, 330, 332, 334, 344, 345, 372, - 402, 404, 417, 419, 421, 441, 342, 280, 88, 89, - 200, 262, 346, 372, 402, 404, 417, 419, 421, 449, - 450, 451, 452, 453, 455, 447, 414, 410, 294, 290, - 166, 166, 166, 166, 166, 166, 303, 4, 4, 460, - 6, 3, 398, 394, 4, 141, 143, 144, 200, 262, - 402, 404, 526, 527, 528, 529, 531, 524, 165, 33, - 34, 35, 36, 254, 165, 165, 165, 165, 165, 8, - 8, 8, 8, 3, 8, 454, 4, 8, 3, 8, - 8, 165, 165, 165, 8, 196, 532, 4, 530, 3, - 8, 345, 4, 168, 451, 4, 166, 4, 527, 165, - 5, 165, 7, 533, 534, 535, 3, 6, 142, 145, - 146, 147, 536, 537, 538, 540, 541, 542, 534, 539, - 4, 4, 4, 3, 8, 4, 168, 166, 166, 537, - 165 ++ 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, ++ 161, 162, 163, 164, 165, 171, 172, 173, 174, 175, ++ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, ++ 0, 5, 7, 9, 166, 167, 168, 169, 186, 187, ++ 188, 193, 7, 202, 7, 208, 7, 225, 7, 318, ++ 7, 398, 7, 414, 7, 350, 7, 356, 7, 380, ++ 7, 294, 7, 471, 7, 519, 7, 511, 194, 189, ++ 203, 209, 226, 319, 399, 415, 351, 357, 381, 295, ++ 472, 520, 512, 186, 195, 196, 166, 191, 192, 10, ++ 140, 149, 150, 151, 166, 201, 204, 205, 206, 502, ++ 504, 506, 517, 7, 11, 13, 22, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 53, 54, 55, 56, + 57, 58, 62, 63, 73, 76, 77, 86, 87, 92, - 102, 105, 112, 113, 116, 200, 209, 210, 211, 212, - 213, 214, 215, 217, 218, 219, 220, 235, 237, 243, - 245, 278, 287, 301, 311, 339, 347, 373, 403, 405, - 407, 418, 420, 422, 445, 457, 458, 466, 505, 14, - 15, 18, 21, 200, 222, 223, 226, 228, 231, 234, - 403, 405, 59, 60, 61, 74, 78, 79, 80, 81, - 88, 91, 99, 200, 211, 212, 213, 218, 219, 319, - 320, 321, 323, 325, 327, 329, 331, 333, 335, 338, - 373, 391, 403, 405, 407, 418, 420, 422, 442, 75, - 200, 331, 333, 373, 399, 400, 401, 403, 405, 87, - 93, 94, 95, 96, 97, 98, 100, 200, 373, 403, - 405, 415, 416, 417, 418, 420, 422, 424, 428, 430, - 432, 434, 436, 438, 440, 347, 33, 64, 66, 67, - 70, 71, 72, 200, 263, 357, 358, 359, 360, 361, - 362, 363, 365, 367, 369, 370, 372, 403, 405, 65, - 68, 69, 200, 263, 361, 367, 381, 382, 383, 384, - 385, 387, 388, 389, 390, 403, 405, 103, 104, 200, - 295, 296, 297, 299, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 137, 138, - 200, 403, 405, 470, 471, 472, 473, 475, 477, 478, - 480, 481, 482, 485, 487, 488, 489, 490, 493, 495, - 497, 140, 518, 519, 520, 12, 200, 510, 511, 512, - 6, 3, 4, 8, 3, 206, 515, 500, 502, 504, - 4, 3, 8, 506, 507, 221, 238, 4, 4, 4, - 419, 421, 423, 236, 244, 246, 4, 4, 4, 4, - 216, 312, 348, 374, 340, 404, 406, 279, 446, 408, - 288, 302, 4, 459, 467, 3, 8, 227, 229, 232, - 4, 3, 8, 324, 326, 328, 392, 322, 330, 4, - 336, 334, 332, 443, 3, 8, 402, 3, 8, 441, - 429, 431, 435, 433, 439, 437, 425, 8, 3, 8, - 364, 264, 4, 368, 366, 371, 4, 8, 3, 386, - 4, 4, 8, 3, 298, 300, 3, 8, 4, 474, - 476, 4, 479, 4, 4, 483, 486, 4, 4, 4, - 491, 494, 496, 498, 3, 8, 521, 3, 8, 513, - 3, 8, 185, 185, 165, 4, 4, 4, 4, 4, - 204, 510, 4, 4, 4, 168, 168, 168, 4, 4, - 4, 4, 4, 4, 166, 166, 166, 166, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 166, 4, 4, 210, 4, 4, 4, 168, 223, 4, - 4, 4, 4, 4, 4, 166, 4, 4, 4, 4, - 320, 4, 400, 4, 4, 4, 4, 4, 4, 4, - 4, 417, 4, 4, 166, 4, 4, 4, 168, 359, - 4, 168, 168, 383, 4, 4, 296, 168, 4, 4, - 166, 4, 166, 166, 4, 4, 168, 168, 168, 4, - 4, 4, 4, 471, 4, 519, 4, 511, 4, 7, - 7, 185, 185, 185, 8, 7, 7, 7, 165, 165, - 165, 7, 7, 5, 165, 5, 5, 5, 5, 187, - 189, 165, 5, 5, 5, 5, 7, 7, 7, 5, - 196, 16, 17, 230, 19, 20, 233, 165, 165, 165, - 5, 165, 165, 82, 83, 84, 85, 337, 196, 165, - 7, 165, 196, 165, 165, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 185, 165, 165, - 165, 17, 131, 484, 132, 133, 134, 135, 136, 168, - 492, 165, 165, 165, 5, 5, 185, 209, 518, 510, - 222, 23, 239, 240, 241, 33, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 200, 251, 252, 253, 256, 258, 260, 262, 263, - 265, 266, 267, 268, 269, 270, 271, 272, 274, 276, - 277, 251, 7, 247, 248, 249, 7, 313, 314, 315, - 7, 351, 352, 353, 7, 375, 376, 377, 7, 341, - 342, 343, 93, 94, 95, 96, 98, 280, 281, 282, - 283, 284, 285, 286, 7, 447, 448, 7, 409, 410, - 411, 7, 289, 290, 291, 106, 107, 108, 109, 110, - 111, 303, 304, 305, 306, 307, 308, 309, 310, 114, - 115, 200, 403, 405, 460, 461, 462, 464, 470, 197, - 7, 393, 394, 395, 101, 424, 426, 444, 7, 522, - 523, 247, 8, 8, 8, 8, 242, 3, 8, 254, - 257, 259, 261, 4, 4, 4, 4, 4, 273, 275, - 4, 4, 4, 4, 4, 3, 8, 8, 250, 6, - 3, 316, 6, 3, 354, 6, 3, 378, 6, 3, - 344, 6, 3, 3, 6, 449, 3, 6, 412, 6, - 3, 292, 6, 3, 4, 4, 4, 4, 4, 4, - 3, 8, 463, 465, 3, 8, 8, 165, 198, 199, - 396, 6, 3, 427, 8, 524, 3, 6, 6, 4, - 240, 4, 4, 4, 4, 166, 168, 166, 168, 166, - 4, 4, 166, 166, 166, 166, 168, 252, 251, 249, - 319, 315, 357, 353, 381, 377, 200, 211, 212, 213, - 218, 219, 263, 311, 329, 331, 333, 335, 345, 346, - 373, 403, 405, 418, 420, 422, 442, 343, 281, 89, - 90, 200, 263, 347, 373, 403, 405, 418, 420, 422, - 450, 451, 452, 453, 454, 456, 448, 415, 411, 295, - 291, 166, 166, 166, 166, 166, 166, 304, 4, 4, - 461, 6, 3, 399, 395, 4, 141, 143, 144, 200, - 263, 403, 405, 525, 526, 527, 528, 530, 523, 165, - 34, 35, 36, 37, 255, 165, 165, 165, 165, 165, - 8, 8, 8, 8, 3, 8, 455, 4, 8, 3, - 8, 8, 165, 165, 165, 8, 196, 531, 4, 529, - 3, 8, 346, 4, 168, 452, 4, 166, 4, 526, - 165, 5, 165, 7, 532, 533, 534, 3, 6, 142, - 145, 146, 147, 535, 536, 537, 539, 540, 541, 533, - 538, 4, 4, 4, 3, 8, 4, 168, 166, 166, - 536, 165 ++ 102, 105, 112, 113, 116, 117, 201, 210, 211, 212, ++ 213, 214, 215, 216, 218, 219, 220, 221, 236, 238, ++ 244, 246, 279, 288, 302, 312, 340, 348, 374, 404, ++ 406, 408, 419, 421, 423, 446, 458, 459, 467, 469, ++ 508, 14, 15, 18, 21, 201, 223, 224, 227, 229, ++ 232, 235, 404, 406, 59, 60, 61, 74, 78, 79, ++ 80, 81, 88, 91, 99, 201, 212, 213, 214, 219, ++ 220, 320, 321, 322, 324, 326, 328, 330, 332, 334, ++ 336, 339, 374, 392, 404, 406, 408, 419, 421, 423, ++ 443, 75, 201, 332, 334, 374, 400, 401, 402, 404, ++ 406, 87, 93, 94, 95, 96, 97, 98, 100, 201, ++ 374, 404, 406, 416, 417, 418, 419, 421, 423, 425, ++ 429, 431, 433, 435, 437, 439, 441, 348, 33, 64, ++ 66, 67, 70, 71, 72, 201, 264, 358, 359, 360, ++ 361, 362, 363, 364, 366, 368, 370, 371, 373, 404, ++ 406, 65, 68, 69, 201, 264, 362, 368, 382, 383, ++ 384, 385, 386, 388, 389, 390, 391, 404, 406, 103, ++ 104, 201, 296, 297, 298, 300, 118, 119, 120, 121, ++ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, ++ 138, 139, 201, 404, 406, 473, 474, 475, 476, 478, ++ 480, 481, 483, 484, 485, 488, 490, 491, 492, 493, ++ 496, 498, 500, 141, 521, 522, 523, 12, 201, 513, ++ 514, 515, 6, 3, 4, 8, 3, 207, 518, 503, ++ 505, 507, 4, 3, 8, 509, 510, 222, 239, 4, ++ 4, 4, 420, 422, 424, 237, 245, 247, 4, 4, ++ 4, 4, 217, 313, 349, 375, 341, 405, 407, 280, ++ 447, 409, 289, 303, 4, 460, 468, 470, 3, 8, ++ 228, 230, 233, 4, 3, 8, 325, 327, 329, 393, ++ 323, 331, 4, 337, 335, 333, 444, 3, 8, 403, ++ 3, 8, 442, 430, 432, 436, 434, 440, 438, 426, ++ 8, 3, 8, 365, 265, 4, 369, 367, 372, 4, ++ 8, 3, 387, 4, 4, 8, 3, 299, 301, 3, ++ 8, 4, 477, 479, 4, 482, 4, 4, 486, 489, ++ 4, 4, 4, 494, 497, 499, 501, 3, 8, 524, ++ 3, 8, 516, 3, 8, 186, 186, 166, 4, 4, ++ 4, 4, 4, 205, 513, 4, 4, 4, 169, 169, ++ 169, 4, 4, 4, 4, 4, 4, 167, 167, 167, ++ 167, 4, 4, 4, 4, 4, 4, 4, 4, 4, ++ 4, 4, 4, 167, 4, 4, 4, 211, 4, 4, ++ 4, 169, 224, 4, 4, 4, 4, 4, 4, 167, ++ 4, 4, 4, 4, 321, 4, 401, 4, 4, 4, ++ 4, 4, 4, 4, 4, 418, 4, 4, 167, 4, ++ 4, 4, 169, 360, 4, 169, 169, 384, 4, 4, ++ 297, 169, 4, 4, 167, 4, 167, 167, 4, 4, ++ 169, 169, 169, 4, 4, 4, 4, 474, 4, 522, ++ 4, 514, 4, 7, 7, 186, 186, 186, 8, 7, ++ 7, 7, 166, 166, 166, 7, 7, 5, 166, 5, ++ 5, 5, 5, 188, 190, 166, 5, 5, 5, 5, ++ 7, 7, 190, 7, 5, 197, 16, 17, 231, 19, ++ 20, 234, 166, 166, 166, 5, 166, 166, 82, 83, ++ 84, 85, 338, 197, 166, 7, 166, 197, 166, 166, ++ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 186, 166, 166, 166, 17, 132, 487, 133, ++ 134, 135, 136, 137, 169, 495, 166, 166, 166, 5, ++ 5, 186, 210, 521, 513, 223, 23, 240, 241, 242, ++ 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, ++ 47, 48, 49, 50, 51, 52, 201, 252, 253, 254, ++ 257, 259, 261, 263, 264, 266, 267, 268, 269, 270, ++ 271, 272, 273, 275, 277, 278, 252, 7, 248, 249, ++ 250, 7, 314, 315, 316, 7, 352, 353, 354, 7, ++ 376, 377, 378, 7, 342, 343, 344, 93, 94, 95, ++ 96, 98, 281, 282, 283, 284, 285, 286, 287, 7, ++ 448, 449, 7, 410, 411, 412, 7, 290, 291, 292, ++ 106, 107, 108, 109, 110, 111, 304, 305, 306, 307, ++ 308, 309, 310, 311, 114, 115, 201, 404, 406, 461, ++ 462, 463, 465, 473, 198, 7, 394, 395, 396, 101, ++ 425, 427, 445, 7, 525, 526, 248, 8, 8, 8, ++ 8, 243, 3, 8, 255, 258, 260, 262, 4, 4, ++ 4, 4, 4, 274, 276, 4, 4, 4, 4, 4, ++ 3, 8, 8, 251, 6, 3, 317, 6, 3, 355, ++ 6, 3, 379, 6, 3, 345, 6, 3, 3, 6, ++ 450, 3, 6, 413, 6, 3, 293, 6, 3, 4, ++ 4, 4, 4, 4, 4, 3, 8, 464, 466, 3, ++ 8, 8, 166, 199, 200, 397, 6, 3, 428, 8, ++ 527, 3, 6, 6, 4, 241, 4, 4, 4, 4, ++ 167, 169, 167, 169, 167, 4, 4, 167, 167, 167, ++ 167, 169, 253, 252, 250, 320, 316, 358, 354, 382, ++ 378, 201, 212, 213, 214, 219, 220, 264, 312, 330, ++ 332, 334, 336, 346, 347, 374, 404, 406, 419, 421, ++ 423, 443, 344, 282, 89, 90, 201, 264, 348, 374, ++ 404, 406, 419, 421, 423, 451, 452, 453, 454, 455, ++ 457, 449, 416, 412, 296, 292, 167, 167, 167, 167, ++ 167, 167, 305, 4, 4, 462, 6, 3, 400, 396, ++ 4, 142, 144, 145, 201, 264, 404, 406, 528, 529, ++ 530, 531, 533, 526, 166, 34, 35, 36, 37, 256, ++ 166, 166, 166, 166, 166, 8, 8, 8, 8, 3, ++ 8, 456, 4, 8, 3, 8, 8, 166, 166, 166, ++ 8, 197, 534, 4, 532, 3, 8, 347, 4, 169, ++ 453, 4, 167, 4, 529, 166, 5, 166, 7, 535, ++ 536, 537, 3, 6, 143, 146, 147, 148, 538, 539, ++ 540, 542, 543, 544, 536, 541, 4, 4, 4, 3, ++ 8, 4, 169, 167, 167, 539, 166 }; const unsigned short int Dhcp4Parser::yyr1_[] = { -- 0, 169, 171, 170, 172, 170, 173, 170, 174, 170, -- 175, 170, 176, 170, 177, 170, 178, 170, 179, 170, -- 180, 170, 181, 170, 182, 170, 183, 170, 184, 170, -- 185, 185, 185, 185, 185, 185, 185, 186, 188, 187, -- 189, 190, 190, 191, 191, 193, 192, 194, 194, 195, -- 195, 197, 196, 198, 198, 199, 199, 200, 202, 201, -- 203, 203, 204, 204, 204, 204, 204, 204, 206, 205, -- 208, 207, 209, 209, 210, 210, 210, 210, 210, 210, -- 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, -- 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, -- 210, 210, 210, 210, 210, 210, 211, 212, 213, 214, - 216, 215, 217, 218, 219, 221, 220, 222, 222, 223, - 223, 223, 223, 223, 223, 223, 225, 224, 227, 226, - 229, 228, 230, 230, 232, 231, 233, 233, 234, 236, - 235, 238, 237, 239, 239, 240, 242, 241, 244, 243, - 246, 245, 247, 247, 248, 248, 250, 249, 251, 251, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 254, 253, - 255, 255, 255, 255, 257, 256, 259, 258, 261, 260, - 262, 264, 263, 265, 266, 267, 268, 269, 270, 271, - 273, 272, 275, 274, 276, 277, 279, 278, 280, 280, - 281, 281, 281, 281, 281, 282, 283, 284, 285, 286, - 288, 287, 289, 289, 290, 290, 292, 291, 294, 293, - 295, 295, 295, 296, 296, 298, 297, 300, 299, 302, - 301, 303, 303, 304, 304, 304, 304, 304, 304, 305, - 306, 307, 308, 309, 310, 312, 311, 313, 313, 314, - 314, 316, 315, 318, 317, 319, 319, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 322, 321, 324, 323, 326, 325, 328, 327, 330, - 329, 332, 331, 334, 333, 336, 335, 337, 337, 337, - 337, 338, 340, 339, 341, 341, 342, 342, 344, 343, - 345, 345, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 348, 347, 350, 349, 351, 351, 352, 352, 354, - 353, 356, 355, 357, 357, 358, 358, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 360, 361, 362, - 364, 363, 366, 365, 368, 367, 369, 371, 370, 372, - 374, 373, 375, 375, 376, 376, 378, 377, 380, 379, - 381, 381, 382, 382, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 384, 386, 385, 387, 388, 389, 390, - 392, 391, 393, 393, 394, 394, 396, 395, 398, 397, - 399, 399, 400, 400, 400, 400, 400, 400, 400, 402, - 401, 404, 403, 406, 405, 408, 407, 409, 409, 410, - 410, 412, 411, 414, 413, 415, 415, 416, 416, 417, - 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, - 417, 417, 417, 417, 419, 418, 421, 420, 423, 422, - 425, 424, 427, 426, 429, 428, 431, 430, 433, 432, - 435, 434, 437, 436, 439, 438, 441, 440, 443, 442, - 444, 444, 446, 445, 447, 447, 449, 448, 450, 450, - 451, 451, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 453, 455, 454, 456, 457, 459, 458, - 460, 460, 461, 461, 461, 461, 461, 463, 462, 465, - 464, 467, 466, 469, 468, 470, 470, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 472, 474, 473, 476, - 475, 477, 479, 478, 480, 481, 483, 482, 484, 484, - 486, 485, 487, 488, 489, 491, 490, 492, 492, 492, - 492, 492, 494, 493, 496, 495, 498, 497, 500, 499, - 502, 501, 504, 503, 506, 505, 507, 505, 509, 508, - 510, 510, 511, 511, 513, 512, 515, 514, 517, 516, - 518, 518, 519, 521, 520, 522, 522, 524, 523, 525, - 525, 526, 526, 526, 526, 526, 526, 526, 527, 529, - 528, 531, 530, 532, 532, 534, 533, 535, 535, 536, - 536, 536, 536, 538, 537, 539, 540, 541 - 216, 215, 217, 218, 220, 219, 221, 221, 222, 222, - 222, 222, 222, 222, 222, 224, 223, 226, 225, 228, - 227, 229, 229, 231, 230, 232, 232, 233, 235, 234, - 237, 236, 238, 238, 239, 241, 240, 243, 242, 245, - 244, 246, 246, 247, 247, 249, 248, 250, 250, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 253, 252, 254, - 254, 254, 254, 256, 255, 258, 257, 260, 259, 261, - 263, 262, 264, 265, 266, 267, 268, 269, 270, 272, - 271, 274, 273, 275, 276, 278, 277, 279, 279, 280, - 280, 280, 280, 280, 281, 282, 283, 284, 285, 287, - 286, 288, 288, 289, 289, 291, 290, 293, 292, 294, - 294, 294, 295, 295, 297, 296, 299, 298, 301, 300, - 302, 302, 303, 303, 303, 303, 303, 303, 304, 305, - 306, 307, 308, 309, 311, 310, 312, 312, 313, 313, - 315, 314, 317, 316, 318, 318, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 321, - 320, 323, 322, 325, 324, 327, 326, 329, 328, 331, - 330, 333, 332, 335, 334, 336, 336, 336, 336, 337, - 339, 338, 340, 340, 341, 341, 343, 342, 344, 344, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 347, 346, - 349, 348, 350, 350, 351, 351, 353, 352, 355, 354, - 356, 356, 357, 357, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 359, 360, 361, 363, 362, 365, - 364, 367, 366, 368, 370, 369, 371, 373, 372, 374, - 374, 375, 375, 377, 376, 379, 378, 380, 380, 381, - 381, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 383, 385, 384, 386, 387, 388, 389, 391, 390, 392, - 392, 393, 393, 395, 394, 397, 396, 398, 398, 399, - 399, 399, 399, 399, 399, 399, 401, 400, 403, 402, - 405, 404, 407, 406, 408, 408, 409, 409, 411, 410, - 413, 412, 414, 414, 415, 415, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 418, 417, 420, 419, 422, 421, 424, 423, 426, - 425, 428, 427, 430, 429, 432, 431, 434, 433, 436, - 435, 438, 437, 440, 439, 442, 441, 443, 443, 445, - 444, 446, 446, 448, 447, 449, 449, 450, 450, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 452, 454, 453, 455, 456, 458, 457, 459, 459, 460, - 460, 460, 460, 460, 462, 461, 464, 463, 466, 465, - 468, 467, 470, 469, 471, 471, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 473, 475, 474, 477, 476, - 478, 480, 479, 481, 482, 484, 483, 485, 485, 487, - 486, 488, 489, 490, 492, 491, 493, 493, 493, 493, - 493, 495, 494, 497, 496, 499, 498, 501, 500, 503, - 502, 505, 504, 507, 506, 508, 506, 510, 509, 511, - 511, 512, 512, 514, 513, 516, 515, 518, 517, 519, - 519, 520, 522, 521, 523, 523, 525, 524, 526, 526, - 527, 527, 527, 527, 527, 527, 527, 528, 530, 529, - 532, 531, 533, 533, 535, 534, 536, 536, 537, 537, - 537, 537, 539, 538, 540, 541, 542 ++ 0, 170, 172, 171, 173, 171, 174, 171, 175, 171, ++ 176, 171, 177, 171, 178, 171, 179, 171, 180, 171, ++ 181, 171, 182, 171, 183, 171, 184, 171, 185, 171, ++ 186, 186, 186, 186, 186, 186, 186, 187, 189, 188, ++ 190, 191, 191, 192, 192, 194, 193, 195, 195, 196, ++ 196, 198, 197, 199, 199, 200, 200, 201, 203, 202, ++ 204, 204, 205, 205, 205, 205, 205, 205, 207, 206, ++ 209, 208, 210, 210, 211, 211, 211, 211, 211, 211, ++ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, ++ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, ++ 211, 211, 211, 211, 211, 211, 211, 212, 213, 214, ++ 215, 217, 216, 218, 219, 220, 222, 221, 223, 223, ++ 224, 224, 224, 224, 224, 224, 224, 226, 225, 228, ++ 227, 230, 229, 231, 231, 233, 232, 234, 234, 235, ++ 237, 236, 239, 238, 240, 240, 241, 243, 242, 245, ++ 244, 247, 246, 248, 248, 249, 249, 251, 250, 252, ++ 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, ++ 253, 253, 253, 253, 253, 253, 253, 253, 253, 255, ++ 254, 256, 256, 256, 256, 258, 257, 260, 259, 262, ++ 261, 263, 265, 264, 266, 267, 268, 269, 270, 271, ++ 272, 274, 273, 276, 275, 277, 278, 280, 279, 281, ++ 281, 282, 282, 282, 282, 282, 283, 284, 285, 286, ++ 287, 289, 288, 290, 290, 291, 291, 293, 292, 295, ++ 294, 296, 296, 296, 297, 297, 299, 298, 301, 300, ++ 303, 302, 304, 304, 305, 305, 305, 305, 305, 305, ++ 306, 307, 308, 309, 310, 311, 313, 312, 314, 314, ++ 315, 315, 317, 316, 319, 318, 320, 320, 321, 321, ++ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, ++ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, ++ 321, 321, 323, 322, 325, 324, 327, 326, 329, 328, ++ 331, 330, 333, 332, 335, 334, 337, 336, 338, 338, ++ 338, 338, 339, 341, 340, 342, 342, 343, 343, 345, ++ 344, 346, 346, 347, 347, 347, 347, 347, 347, 347, ++ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, ++ 347, 347, 349, 348, 351, 350, 352, 352, 353, 353, ++ 355, 354, 357, 356, 358, 358, 359, 359, 360, 360, ++ 360, 360, 360, 360, 360, 360, 360, 360, 361, 362, ++ 363, 365, 364, 367, 366, 369, 368, 370, 372, 371, ++ 373, 375, 374, 376, 376, 377, 377, 379, 378, 381, ++ 380, 382, 382, 383, 383, 384, 384, 384, 384, 384, ++ 384, 384, 384, 384, 385, 387, 386, 388, 389, 390, ++ 391, 393, 392, 394, 394, 395, 395, 397, 396, 399, ++ 398, 400, 400, 401, 401, 401, 401, 401, 401, 401, ++ 403, 402, 405, 404, 407, 406, 409, 408, 410, 410, ++ 411, 411, 413, 412, 415, 414, 416, 416, 417, 417, ++ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, ++ 418, 418, 418, 418, 418, 420, 419, 422, 421, 424, ++ 423, 426, 425, 428, 427, 430, 429, 432, 431, 434, ++ 433, 436, 435, 438, 437, 440, 439, 442, 441, 444, ++ 443, 445, 445, 447, 446, 448, 448, 450, 449, 451, ++ 451, 452, 452, 453, 453, 453, 453, 453, 453, 453, ++ 453, 453, 453, 453, 454, 456, 455, 457, 458, 460, ++ 459, 461, 461, 462, 462, 462, 462, 462, 464, 463, ++ 466, 465, 468, 467, 470, 469, 472, 471, 473, 473, ++ 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, ++ 474, 474, 474, 474, 474, 474, 474, 474, 474, 475, ++ 477, 476, 479, 478, 480, 482, 481, 483, 484, 486, ++ 485, 487, 487, 489, 488, 490, 491, 492, 494, 493, ++ 495, 495, 495, 495, 495, 497, 496, 499, 498, 501, ++ 500, 503, 502, 505, 504, 507, 506, 509, 508, 510, ++ 508, 512, 511, 513, 513, 514, 514, 516, 515, 518, ++ 517, 520, 519, 521, 521, 522, 524, 523, 525, 525, ++ 527, 526, 528, 528, 529, 529, 529, 529, 529, 529, ++ 529, 530, 532, 531, 534, 533, 535, 535, 537, 536, ++ 538, 538, 539, 539, 539, 539, 541, 540, 542, 543, ++ 544 }; const unsigned char @@@ -4590,61 -4583,61 +4595,62 @@@ 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, 3, 3, 3, 3, - 0, 4, 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, 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, 3, 3, 0, 6, 1, 3, - 0, 4, 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, - 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, 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, 3, 3, 0, 6, 1, 3, 1, ++ 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, ++ 3, 0, 4, 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, 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, ++ 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, 3, 3, 0, 6, 1, ++ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 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, 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, 3, 0, 4, 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, 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, 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, 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, 3, 0, ++ 4, 1, 3, 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, 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, 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, 0, 4, 3, 3, 0, 6, 1, 3, 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, 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, 0, 4, 1, 3, 1, 1, 1, - 0, 6, 0, 4, 1, 3, 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, 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, 4, 0, 6, 0, 4, 1, 3, 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, 3, 0, 4, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 6, 0, 4, - 1, 3, 1, 1, 0, 6, 0, 6, 0, 4, - 1, 3, 1, 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, 0, 4, 3, 3, 3 - 1, 1, 1, 1, 1, 3, 0, 4, 0, 4, - 3, 0, 4, 3, 3, 0, 4, 1, 1, 0, - 4, 3, 3, 3, 0, 4, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 6, 0, 4, 1, - 3, 1, 1, 0, 6, 0, 6, 0, 4, 1, - 3, 1, 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, 0, 4, 3, 3, 3 ++ 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, 3, 0, 4, ++ 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, ++ 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, ++ 6, 0, 4, 1, 3, 1, 1, 0, 6, 0, ++ 6, 0, 4, 1, 3, 1, 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, 0, 4, 3, 3, ++ 3 }; @@@ -4797,71 -4790,71 +4804,72 @@@ const unsigned short int Dhcp4Parser::yyrline_[] = { - 0, 253, 253, 253, 254, 254, 255, 255, 256, 256, - 257, 257, 258, 258, 259, 259, 260, 260, 261, 261, - 262, 262, 263, 263, 264, 264, 265, 265, 266, 266, - 274, 275, 276, 277, 278, 279, 280, 283, 288, 288, - 299, 302, 303, 306, 310, 317, 317, 324, 325, 328, - 332, 339, 339, 346, 347, 350, 354, 365, 375, 375, - 391, 392, 396, 397, 398, 399, 400, 401, 404, 404, - 419, 419, 428, 429, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 468, 473, 478, 483, - 488, 488, 496, 501, 506, 512, 512, 523, 524, 527, - 528, 529, 530, 531, 532, 533, 536, 536, 545, 545, - 555, 555, 562, 563, 566, 566, 573, 575, 579, 585, - 585, 597, 597, 607, 608, 610, 612, 612, 630, 630, - 642, 642, 652, 653, 656, 657, 660, 660, 670, 671, - 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, - 684, 685, 686, 687, 688, 689, 690, 691, 694, 694, - 701, 702, 703, 704, 707, 707, 715, 715, 723, 723, - 731, 736, 736, 744, 749, 754, 759, 764, 769, 774, - 779, 779, 787, 787, 795, 800, 805, 805, 815, 816, - 819, 820, 821, 822, 823, 826, 831, 836, 841, 846, - 851, 851, 861, 862, 865, 866, 869, 869, 879, 879, - 889, 890, 891, 894, 895, 898, 898, 906, 906, 914, - 914, 925, 926, 929, 930, 931, 932, 933, 934, 937, - 942, 947, 952, 957, 962, 970, 970, 983, 984, 987, - 988, 995, 995, 1021, 1021, 1032, 1033, 1037, 1038, 1039, - 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, - 1060, 1063, 1063, 1071, 1071, 1079, 1079, 1087, 1087, 1095, - 1095, 1103, 1103, 1111, 1111, 1121, 1121, 1128, 1129, 1130, - 1131, 1134, 1141, 1141, 1152, 1153, 1157, 1158, 1161, 1161, - 1169, 1170, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, - 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, - 1191, 1198, 1198, 1211, 1211, 1220, 1221, 1224, 1225, 1230, - 1230, 1245, 1245, 1259, 1260, 1263, 1264, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1279, 1281, 1286, - 1288, 1288, 1296, 1296, 1304, 1304, 1312, 1314, 1314, 1322, - 1331, 1331, 1343, 1344, 1349, 1350, 1355, 1355, 1367, 1367, - 1379, 1380, 1385, 1386, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1402, 1404, 1404, 1412, 1414, 1416, 1421, - 1429, 1429, 1441, 1442, 1445, 1446, 1449, 1449, 1459, 1459, - 1469, 1470, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1482, - 1482, 1490, 1490, 1515, 1515, 1545, 1545, 1555, 1556, 1559, - 1560, 1563, 1563, 1572, 1572, 1581, 1582, 1585, 1586, 1590, - 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, - 1601, 1602, 1603, 1604, 1607, 1607, 1615, 1615, 1623, 1623, - 1631, 1631, 1639, 1639, 1649, 1649, 1657, 1657, 1665, 1665, - 1673, 1673, 1681, 1681, 1689, 1689, 1697, 1697, 1710, 1710, - 1720, 1721, 1727, 1727, 1737, 1738, 1741, 1741, 1751, 1752, - 1755, 1756, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, - 1767, 1768, 1769, 1772, 1774, 1774, 1782, 1791, 1798, 1798, - 1808, 1809, 1812, 1813, 1814, 1815, 1816, 1819, 1819, 1827, - 1827, 1837, 1837, 1849, 1849, 1859, 1860, 1863, 1864, 1865, - 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, - 1876, 1877, 1878, 1879, 1880, 1881, 1884, 1889, 1889, 1897, - 1897, 1905, 1910, 1910, 1918, 1923, 1928, 1928, 1936, 1937, - 1940, 1940, 1948, 1953, 1958, 1963, 1963, 1971, 1974, 1977, - 1980, 1983, 1989, 1989, 1997, 1997, 2005, 2005, 2016, 2016, - 2023, 2023, 2030, 2030, 2037, 2037, 2046, 2046, 2057, 2057, - 2067, 2068, 2072, 2073, 2076, 2076, 2091, 2091, 2101, 2101, - 2112, 2113, 2117, 2121, 2121, 2133, 2134, 2138, 2138, 2146, - 2147, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2159, 2164, - 2164, 2172, 2172, 2182, 2183, 2186, 2186, 2194, 2195, 2198, - 2199, 2200, 2201, 2204, 2204, 2212, 2217, 2222 - 0, 254, 254, 254, 255, 255, 256, 256, 257, 257, - 258, 258, 259, 259, 260, 260, 261, 261, 262, 262, - 263, 263, 264, 264, 265, 265, 266, 266, 267, 267, - 275, 276, 277, 278, 279, 280, 281, 284, 289, 289, - 300, 303, 304, 307, 311, 318, 318, 325, 326, 329, - 333, 340, 340, 347, 348, 351, 355, 366, 376, 376, - 392, 393, 397, 398, 399, 400, 401, 402, 405, 405, - 420, 420, 429, 430, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, - 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 469, 474, 479, 484, - 489, 489, 497, 502, 508, 508, 519, 520, 523, 524, - 525, 526, 527, 528, 529, 532, 532, 541, 541, 551, - 551, 558, 559, 562, 562, 569, 571, 575, 581, 581, - 593, 593, 603, 604, 606, 608, 608, 626, 626, 638, - 638, 648, 649, 652, 653, 656, 656, 666, 667, 670, - 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, - 681, 682, 683, 684, 685, 686, 687, 690, 690, 697, - 698, 699, 700, 703, 703, 711, 711, 719, 719, 727, - 732, 732, 740, 745, 750, 755, 760, 765, 770, 775, - 775, 783, 783, 791, 796, 801, 801, 811, 812, 815, - 816, 817, 818, 819, 822, 827, 832, 837, 842, 847, - 847, 857, 858, 861, 862, 865, 865, 875, 875, 885, - 886, 887, 890, 891, 894, 894, 902, 902, 910, 910, - 921, 922, 925, 926, 927, 928, 929, 930, 933, 938, - 943, 948, 953, 958, 966, 966, 979, 980, 983, 984, - 991, 991, 1017, 1017, 1028, 1029, 1033, 1034, 1035, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1058, - 1058, 1066, 1066, 1074, 1074, 1082, 1082, 1090, 1090, 1098, - 1098, 1106, 1106, 1116, 1116, 1123, 1124, 1125, 1126, 1129, - 1136, 1136, 1147, 1148, 1152, 1153, 1156, 1156, 1164, 1165, - 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, - 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1192, 1192, - 1205, 1205, 1214, 1215, 1218, 1219, 1224, 1224, 1239, 1239, - 1253, 1254, 1257, 1258, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1273, 1275, 1280, 1282, 1282, 1290, - 1290, 1298, 1298, 1306, 1308, 1308, 1316, 1325, 1325, 1337, - 1338, 1343, 1344, 1349, 1349, 1361, 1361, 1373, 1374, 1379, - 1380, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1396, 1398, 1398, 1406, 1408, 1410, 1415, 1423, 1423, 1435, - 1436, 1439, 1440, 1443, 1443, 1453, 1453, 1463, 1464, 1467, - 1468, 1469, 1470, 1471, 1472, 1473, 1476, 1476, 1484, 1484, - 1509, 1509, 1539, 1539, 1549, 1550, 1553, 1554, 1557, 1557, - 1566, 1566, 1575, 1576, 1579, 1580, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, - 1598, 1601, 1601, 1609, 1609, 1617, 1617, 1625, 1625, 1633, - 1633, 1643, 1643, 1651, 1651, 1659, 1659, 1667, 1667, 1675, - 1675, 1683, 1683, 1691, 1691, 1704, 1704, 1714, 1715, 1721, - 1721, 1731, 1732, 1735, 1735, 1745, 1746, 1749, 1750, 1753, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1766, 1768, 1768, 1776, 1785, 1792, 1792, 1802, 1803, 1806, - 1807, 1808, 1809, 1810, 1813, 1813, 1821, 1821, 1832, 1832, - 1850, 1850, 1862, 1862, 1872, 1873, 1876, 1877, 1878, 1879, - 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, - 1890, 1891, 1892, 1893, 1894, 1897, 1902, 1902, 1910, 1910, - 1918, 1923, 1923, 1931, 1936, 1941, 1941, 1949, 1950, 1953, - 1953, 1961, 1966, 1971, 1976, 1976, 1984, 1987, 1990, 1993, - 1996, 2002, 2002, 2010, 2010, 2018, 2018, 2029, 2029, 2036, - 2036, 2043, 2043, 2050, 2050, 2059, 2059, 2070, 2070, 2080, - 2081, 2085, 2086, 2089, 2089, 2104, 2104, 2114, 2114, 2125, - 2126, 2130, 2134, 2134, 2146, 2147, 2151, 2151, 2159, 2160, - 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2172, 2177, 2177, - 2185, 2185, 2195, 2196, 2199, 2199, 2207, 2208, 2211, 2212, - 2213, 2214, 2217, 2217, 2225, 2230, 2235 ++ 0, 255, 255, 255, 256, 256, 257, 257, 258, 258, ++ 259, 259, 260, 260, 261, 261, 262, 262, 263, 263, ++ 264, 264, 265, 265, 266, 266, 267, 267, 268, 268, ++ 276, 277, 278, 279, 280, 281, 282, 285, 290, 290, ++ 301, 304, 305, 308, 312, 319, 319, 326, 327, 330, ++ 334, 341, 341, 348, 349, 352, 356, 367, 377, 377, ++ 393, 394, 398, 399, 400, 401, 402, 403, 406, 406, ++ 421, 421, 430, 431, 436, 437, 438, 439, 440, 441, ++ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, ++ 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, ++ 462, 463, 464, 465, 466, 467, 468, 471, 476, 481, ++ 486, 491, 491, 499, 504, 509, 515, 515, 526, 527, ++ 530, 531, 532, 533, 534, 535, 536, 539, 539, 548, ++ 548, 558, 558, 565, 566, 569, 569, 576, 578, 582, ++ 588, 588, 600, 600, 610, 611, 613, 615, 615, 633, ++ 633, 645, 645, 655, 656, 659, 660, 663, 663, 673, ++ 674, 677, 678, 679, 680, 681, 682, 683, 684, 685, ++ 686, 687, 688, 689, 690, 691, 692, 693, 694, 697, ++ 697, 704, 705, 706, 707, 710, 710, 718, 718, 726, ++ 726, 734, 739, 739, 747, 752, 757, 762, 767, 772, ++ 777, 782, 782, 790, 790, 798, 803, 808, 808, 818, ++ 819, 822, 823, 824, 825, 826, 829, 834, 839, 844, ++ 849, 854, 854, 864, 865, 868, 869, 872, 872, 882, ++ 882, 892, 893, 894, 897, 898, 901, 901, 909, 909, ++ 917, 917, 928, 929, 932, 933, 934, 935, 936, 937, ++ 940, 945, 950, 955, 960, 965, 973, 973, 986, 987, ++ 990, 991, 998, 998, 1024, 1024, 1035, 1036, 1040, 1041, ++ 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, ++ 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, ++ 1062, 1063, 1066, 1066, 1074, 1074, 1082, 1082, 1090, 1090, ++ 1098, 1098, 1106, 1106, 1114, 1114, 1124, 1124, 1131, 1132, ++ 1133, 1134, 1137, 1144, 1144, 1155, 1156, 1160, 1161, 1164, ++ 1164, 1172, 1173, 1176, 1177, 1178, 1179, 1180, 1181, 1182, ++ 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, ++ 1193, 1194, 1201, 1201, 1214, 1214, 1223, 1224, 1227, 1228, ++ 1233, 1233, 1248, 1248, 1262, 1263, 1266, 1267, 1270, 1271, ++ 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1282, 1284, ++ 1289, 1291, 1291, 1299, 1299, 1307, 1307, 1315, 1317, 1317, ++ 1325, 1334, 1334, 1346, 1347, 1352, 1353, 1358, 1358, 1370, ++ 1370, 1382, 1383, 1388, 1389, 1394, 1395, 1396, 1397, 1398, ++ 1399, 1400, 1401, 1402, 1405, 1407, 1407, 1415, 1417, 1419, ++ 1424, 1432, 1432, 1444, 1445, 1448, 1449, 1452, 1452, 1462, ++ 1462, 1472, 1473, 1476, 1477, 1478, 1479, 1480, 1481, 1482, ++ 1485, 1485, 1493, 1493, 1518, 1518, 1548, 1548, 1558, 1559, ++ 1562, 1563, 1566, 1566, 1575, 1575, 1584, 1585, 1588, 1589, ++ 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, ++ 1603, 1604, 1605, 1606, 1607, 1610, 1610, 1618, 1618, 1626, ++ 1626, 1634, 1634, 1642, 1642, 1652, 1652, 1660, 1660, 1668, ++ 1668, 1676, 1676, 1684, 1684, 1692, 1692, 1700, 1700, 1713, ++ 1713, 1723, 1724, 1730, 1730, 1740, 1741, 1744, 1744, 1754, ++ 1755, 1758, 1759, 1762, 1763, 1764, 1765, 1766, 1767, 1768, ++ 1769, 1770, 1771, 1772, 1775, 1777, 1777, 1785, 1794, 1801, ++ 1801, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1822, 1822, ++ 1830, 1830, 1841, 1841, 1859, 1859, 1871, 1871, 1881, 1882, ++ 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, ++ 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1906, ++ 1911, 1911, 1919, 1919, 1927, 1932, 1932, 1940, 1945, 1950, ++ 1950, 1958, 1959, 1962, 1962, 1970, 1975, 1980, 1985, 1985, ++ 1993, 1996, 1999, 2002, 2005, 2011, 2011, 2019, 2019, 2027, ++ 2027, 2038, 2038, 2045, 2045, 2052, 2052, 2059, 2059, 2068, ++ 2068, 2079, 2079, 2089, 2090, 2094, 2095, 2098, 2098, 2113, ++ 2113, 2123, 2123, 2134, 2135, 2139, 2143, 2143, 2155, 2156, ++ 2160, 2160, 2168, 2169, 2172, 2173, 2174, 2175, 2176, 2177, ++ 2178, 2181, 2186, 2186, 2194, 2194, 2204, 2205, 2208, 2208, ++ 2216, 2217, 2220, 2221, 2222, 2223, 2226, 2226, 2234, 2239, ++ 2244 }; // Print the state stack on the debug stream. @@@ -4894,10 -4887,10 +4902,10 @@@ #endif // PARSER4_DEBUG - #line 14 "dhcp4_parser.yy" // lalr1.cc:1163 + #line 14 "dhcp4_parser.yy" // lalr1.cc:1167 } } // isc::dhcp - #line 4900 "dhcp4_parser.cc" // lalr1.cc:1163 - #line 2227 "dhcp4_parser.yy" // lalr1.cc:1164 -#line 4893 "dhcp4_parser.cc" // lalr1.cc:1167 -#line 2240 "dhcp4_parser.yy" // lalr1.cc:1168 ++#line 4908 "dhcp4_parser.cc" // lalr1.cc:1167 ++#line 2249 "dhcp4_parser.yy" // lalr1.cc:1168 void diff --cc src/bin/dhcp4/dhcp4_parser.h index c0dd2b9236,0a3b9305dd..5adac5b937 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@@ -371,149 -371,149 +371,150 @@@ namespace isc { namespace dhcp TOKEN_LEASE_CHECKS = 278, TOKEN_ECHO_CLIENT_ID = 279, TOKEN_MATCH_CLIENT_ID = 280, - TOKEN_NEXT_SERVER = 281, - TOKEN_SERVER_HOSTNAME = 282, - TOKEN_BOOT_FILE_NAME = 283, - TOKEN_LEASE_DATABASE = 284, - TOKEN_HOSTS_DATABASE = 285, - TOKEN_HOSTS_DATABASES = 286, - TOKEN_TYPE = 287, - TOKEN_MEMFILE = 288, - TOKEN_MYSQL = 289, - TOKEN_POSTGRESQL = 290, - TOKEN_CQL = 291, - TOKEN_USER = 292, - TOKEN_PASSWORD = 293, - TOKEN_HOST = 294, - TOKEN_PORT = 295, - TOKEN_PERSIST = 296, - TOKEN_LFC_INTERVAL = 297, - TOKEN_READONLY = 298, - TOKEN_CONNECT_TIMEOUT = 299, - TOKEN_CONTACT_POINTS = 300, - TOKEN_KEYSPACE = 301, - TOKEN_MAX_RECONNECT_TRIES = 302, - TOKEN_RECONNECT_WAIT_TIME = 303, - TOKEN_REQUEST_TIMEOUT = 304, - TOKEN_TCP_KEEPALIVE = 305, - TOKEN_TCP_NODELAY = 306, - TOKEN_VALID_LIFETIME = 307, - TOKEN_RENEW_TIMER = 308, - TOKEN_REBIND_TIMER = 309, - TOKEN_DECLINE_PROBATION_PERIOD = 310, - TOKEN_SERVER_TAG = 311, - TOKEN_SUBNET4 = 312, - TOKEN_SUBNET_4O6_INTERFACE = 313, - TOKEN_SUBNET_4O6_INTERFACE_ID = 314, - TOKEN_SUBNET_4O6_SUBNET = 315, - TOKEN_OPTION_DEF = 316, - TOKEN_OPTION_DATA = 317, - TOKEN_NAME = 318, - TOKEN_DATA = 319, - TOKEN_CODE = 320, - TOKEN_SPACE = 321, - TOKEN_CSV_FORMAT = 322, - TOKEN_ALWAYS_SEND = 323, - TOKEN_RECORD_TYPES = 324, - TOKEN_ENCAPSULATE = 325, - TOKEN_ARRAY = 326, - TOKEN_SHARED_NETWORKS = 327, - TOKEN_POOLS = 328, - TOKEN_POOL = 329, - TOKEN_USER_CONTEXT = 330, - TOKEN_COMMENT = 331, - TOKEN_SUBNET = 332, - TOKEN_INTERFACE = 333, - TOKEN_ID = 334, - TOKEN_RESERVATION_MODE = 335, - TOKEN_DISABLED = 336, - TOKEN_OUT_OF_POOL = 337, - TOKEN_GLOBAL = 338, - TOKEN_ALL = 339, - TOKEN_HOST_RESERVATION_IDENTIFIERS = 340, - TOKEN_CLIENT_CLASSES = 341, - TOKEN_REQUIRE_CLIENT_CLASSES = 342, - TOKEN_TEST = 343, - TOKEN_ONLY_IF_REQUIRED = 344, - TOKEN_CLIENT_CLASS = 345, - TOKEN_RESERVATIONS = 346, - TOKEN_DUID = 347, - TOKEN_HW_ADDRESS = 348, - TOKEN_CIRCUIT_ID = 349, - TOKEN_CLIENT_ID = 350, - TOKEN_HOSTNAME = 351, - TOKEN_FLEX_ID = 352, - TOKEN_RELAY = 353, - TOKEN_IP_ADDRESS = 354, - TOKEN_IP_ADDRESSES = 355, - TOKEN_HOOKS_LIBRARIES = 356, - TOKEN_LIBRARY = 357, - TOKEN_PARAMETERS = 358, - TOKEN_EXPIRED_LEASES_PROCESSING = 359, - TOKEN_RECLAIM_TIMER_WAIT_TIME = 360, - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 361, - TOKEN_HOLD_RECLAIMED_TIME = 362, - TOKEN_MAX_RECLAIM_LEASES = 363, - TOKEN_MAX_RECLAIM_TIME = 364, - TOKEN_UNWARNED_RECLAIM_CYCLES = 365, - TOKEN_DHCP4O6_PORT = 366, - TOKEN_CONTROL_SOCKET = 367, - TOKEN_SOCKET_TYPE = 368, - TOKEN_SOCKET_NAME = 369, - TOKEN_DHCP_QUEUE_CONTROL = 370, - TOKEN_DHCP_DDNS = 371, - TOKEN_ENABLE_UPDATES = 372, - TOKEN_QUALIFYING_SUFFIX = 373, - TOKEN_SERVER_IP = 374, - TOKEN_SERVER_PORT = 375, - TOKEN_SENDER_IP = 376, - TOKEN_SENDER_PORT = 377, - TOKEN_MAX_QUEUE_SIZE = 378, - TOKEN_NCR_PROTOCOL = 379, - TOKEN_NCR_FORMAT = 380, - TOKEN_ALWAYS_INCLUDE_FQDN = 381, - TOKEN_OVERRIDE_NO_UPDATE = 382, - TOKEN_OVERRIDE_CLIENT_UPDATE = 383, - TOKEN_REPLACE_CLIENT_NAME = 384, - TOKEN_GENERATED_PREFIX = 385, - TOKEN_TCP = 386, - TOKEN_JSON = 387, - TOKEN_WHEN_PRESENT = 388, - TOKEN_NEVER = 389, - TOKEN_ALWAYS = 390, - TOKEN_WHEN_NOT_PRESENT = 391, - TOKEN_HOSTNAME_CHAR_SET = 392, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 393, - TOKEN_LOGGING = 394, - TOKEN_LOGGERS = 395, - TOKEN_OUTPUT_OPTIONS = 396, - TOKEN_OUTPUT = 397, - TOKEN_DEBUGLEVEL = 398, - TOKEN_SEVERITY = 399, - TOKEN_FLUSH = 400, - TOKEN_MAXSIZE = 401, - TOKEN_MAXVER = 402, - TOKEN_DHCP6 = 403, - TOKEN_DHCPDDNS = 404, - TOKEN_CONTROL_AGENT = 405, - TOKEN_TOPLEVEL_JSON = 406, - TOKEN_TOPLEVEL_DHCP4 = 407, - TOKEN_SUB_DHCP4 = 408, - TOKEN_SUB_INTERFACES4 = 409, - TOKEN_SUB_SUBNET4 = 410, - TOKEN_SUB_POOL4 = 411, - TOKEN_SUB_RESERVATION = 412, - TOKEN_SUB_OPTION_DEFS = 413, - TOKEN_SUB_OPTION_DEF = 414, - TOKEN_SUB_OPTION_DATA = 415, - TOKEN_SUB_HOOKS_LIBRARY = 416, - TOKEN_SUB_DHCP_DDNS = 417, - TOKEN_SUB_LOGGING = 418, - TOKEN_SUB_CONFIG_CONTROL = 419, - TOKEN_STRING = 420, - TOKEN_INTEGER = 421, - TOKEN_FLOAT = 422, - TOKEN_BOOLEAN = 423 + TOKEN_AUTHORITATIVE = 281, + TOKEN_NEXT_SERVER = 282, + TOKEN_SERVER_HOSTNAME = 283, + TOKEN_BOOT_FILE_NAME = 284, + TOKEN_LEASE_DATABASE = 285, + TOKEN_HOSTS_DATABASE = 286, + TOKEN_HOSTS_DATABASES = 287, + TOKEN_TYPE = 288, + TOKEN_MEMFILE = 289, + TOKEN_MYSQL = 290, + TOKEN_POSTGRESQL = 291, + TOKEN_CQL = 292, + TOKEN_USER = 293, + TOKEN_PASSWORD = 294, + TOKEN_HOST = 295, + TOKEN_PORT = 296, + TOKEN_PERSIST = 297, + TOKEN_LFC_INTERVAL = 298, + TOKEN_READONLY = 299, + TOKEN_CONNECT_TIMEOUT = 300, + TOKEN_CONTACT_POINTS = 301, + TOKEN_KEYSPACE = 302, + TOKEN_MAX_RECONNECT_TRIES = 303, + TOKEN_RECONNECT_WAIT_TIME = 304, + TOKEN_REQUEST_TIMEOUT = 305, + TOKEN_TCP_KEEPALIVE = 306, + TOKEN_TCP_NODELAY = 307, + TOKEN_VALID_LIFETIME = 308, + TOKEN_RENEW_TIMER = 309, + TOKEN_REBIND_TIMER = 310, + TOKEN_DECLINE_PROBATION_PERIOD = 311, + TOKEN_SERVER_TAG = 312, + TOKEN_SUBNET4 = 313, + TOKEN_SUBNET_4O6_INTERFACE = 314, + TOKEN_SUBNET_4O6_INTERFACE_ID = 315, + TOKEN_SUBNET_4O6_SUBNET = 316, + TOKEN_OPTION_DEF = 317, + TOKEN_OPTION_DATA = 318, + TOKEN_NAME = 319, + TOKEN_DATA = 320, + TOKEN_CODE = 321, + TOKEN_SPACE = 322, + TOKEN_CSV_FORMAT = 323, + TOKEN_ALWAYS_SEND = 324, + TOKEN_RECORD_TYPES = 325, + TOKEN_ENCAPSULATE = 326, + TOKEN_ARRAY = 327, + TOKEN_SHARED_NETWORKS = 328, + TOKEN_POOLS = 329, + TOKEN_POOL = 330, + TOKEN_USER_CONTEXT = 331, + TOKEN_COMMENT = 332, + TOKEN_SUBNET = 333, + TOKEN_INTERFACE = 334, + TOKEN_ID = 335, + TOKEN_RESERVATION_MODE = 336, + TOKEN_DISABLED = 337, + TOKEN_OUT_OF_POOL = 338, + TOKEN_GLOBAL = 339, + TOKEN_ALL = 340, + TOKEN_HOST_RESERVATION_IDENTIFIERS = 341, + TOKEN_CLIENT_CLASSES = 342, + TOKEN_REQUIRE_CLIENT_CLASSES = 343, + TOKEN_TEST = 344, + TOKEN_ONLY_IF_REQUIRED = 345, + TOKEN_CLIENT_CLASS = 346, + TOKEN_RESERVATIONS = 347, + TOKEN_DUID = 348, + TOKEN_HW_ADDRESS = 349, + TOKEN_CIRCUIT_ID = 350, + TOKEN_CLIENT_ID = 351, + TOKEN_HOSTNAME = 352, + TOKEN_FLEX_ID = 353, + TOKEN_RELAY = 354, + TOKEN_IP_ADDRESS = 355, + TOKEN_IP_ADDRESSES = 356, + TOKEN_HOOKS_LIBRARIES = 357, + TOKEN_LIBRARY = 358, + TOKEN_PARAMETERS = 359, + TOKEN_EXPIRED_LEASES_PROCESSING = 360, + TOKEN_RECLAIM_TIMER_WAIT_TIME = 361, + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 362, + TOKEN_HOLD_RECLAIMED_TIME = 363, + TOKEN_MAX_RECLAIM_LEASES = 364, + TOKEN_MAX_RECLAIM_TIME = 365, + TOKEN_UNWARNED_RECLAIM_CYCLES = 366, + TOKEN_DHCP4O6_PORT = 367, + TOKEN_CONTROL_SOCKET = 368, + TOKEN_SOCKET_TYPE = 369, + TOKEN_SOCKET_NAME = 370, - TOKEN_DHCP_DDNS = 371, - TOKEN_ENABLE_UPDATES = 372, - TOKEN_QUALIFYING_SUFFIX = 373, - TOKEN_SERVER_IP = 374, - TOKEN_SERVER_PORT = 375, - TOKEN_SENDER_IP = 376, - TOKEN_SENDER_PORT = 377, - TOKEN_MAX_QUEUE_SIZE = 378, - TOKEN_NCR_PROTOCOL = 379, - TOKEN_NCR_FORMAT = 380, - TOKEN_ALWAYS_INCLUDE_FQDN = 381, - TOKEN_OVERRIDE_NO_UPDATE = 382, - TOKEN_OVERRIDE_CLIENT_UPDATE = 383, - TOKEN_REPLACE_CLIENT_NAME = 384, - TOKEN_GENERATED_PREFIX = 385, - TOKEN_TCP = 386, - TOKEN_JSON = 387, - TOKEN_WHEN_PRESENT = 388, - TOKEN_NEVER = 389, - TOKEN_ALWAYS = 390, - TOKEN_WHEN_NOT_PRESENT = 391, - TOKEN_HOSTNAME_CHAR_SET = 392, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 393, - TOKEN_LOGGING = 394, - TOKEN_LOGGERS = 395, - TOKEN_OUTPUT_OPTIONS = 396, - TOKEN_OUTPUT = 397, - TOKEN_DEBUGLEVEL = 398, - TOKEN_SEVERITY = 399, - TOKEN_FLUSH = 400, - TOKEN_MAXSIZE = 401, - TOKEN_MAXVER = 402, - TOKEN_DHCP6 = 403, - TOKEN_DHCPDDNS = 404, - TOKEN_CONTROL_AGENT = 405, - TOKEN_TOPLEVEL_JSON = 406, - TOKEN_TOPLEVEL_DHCP4 = 407, - TOKEN_SUB_DHCP4 = 408, - TOKEN_SUB_INTERFACES4 = 409, - TOKEN_SUB_SUBNET4 = 410, - TOKEN_SUB_POOL4 = 411, - TOKEN_SUB_RESERVATION = 412, - TOKEN_SUB_OPTION_DEFS = 413, - TOKEN_SUB_OPTION_DEF = 414, - TOKEN_SUB_OPTION_DATA = 415, - TOKEN_SUB_HOOKS_LIBRARY = 416, - TOKEN_SUB_DHCP_DDNS = 417, - TOKEN_SUB_LOGGING = 418, - TOKEN_SUB_CONFIG_CONTROL = 419, - TOKEN_STRING = 420, - TOKEN_INTEGER = 421, - TOKEN_FLOAT = 422, - TOKEN_BOOLEAN = 423 ++ TOKEN_DHCP_QUEUE_CONTROL = 371, ++ TOKEN_DHCP_DDNS = 372, ++ TOKEN_ENABLE_UPDATES = 373, ++ TOKEN_QUALIFYING_SUFFIX = 374, ++ TOKEN_SERVER_IP = 375, ++ TOKEN_SERVER_PORT = 376, ++ TOKEN_SENDER_IP = 377, ++ TOKEN_SENDER_PORT = 378, ++ TOKEN_MAX_QUEUE_SIZE = 379, ++ TOKEN_NCR_PROTOCOL = 380, ++ TOKEN_NCR_FORMAT = 381, ++ TOKEN_ALWAYS_INCLUDE_FQDN = 382, ++ TOKEN_OVERRIDE_NO_UPDATE = 383, ++ TOKEN_OVERRIDE_CLIENT_UPDATE = 384, ++ TOKEN_REPLACE_CLIENT_NAME = 385, ++ TOKEN_GENERATED_PREFIX = 386, ++ TOKEN_TCP = 387, ++ TOKEN_JSON = 388, ++ TOKEN_WHEN_PRESENT = 389, ++ TOKEN_NEVER = 390, ++ TOKEN_ALWAYS = 391, ++ TOKEN_WHEN_NOT_PRESENT = 392, ++ TOKEN_HOSTNAME_CHAR_SET = 393, ++ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 394, ++ TOKEN_LOGGING = 395, ++ TOKEN_LOGGERS = 396, ++ TOKEN_OUTPUT_OPTIONS = 397, ++ TOKEN_OUTPUT = 398, ++ TOKEN_DEBUGLEVEL = 399, ++ TOKEN_SEVERITY = 400, ++ TOKEN_FLUSH = 401, ++ TOKEN_MAXSIZE = 402, ++ TOKEN_MAXVER = 403, ++ TOKEN_DHCP6 = 404, ++ TOKEN_DHCPDDNS = 405, ++ TOKEN_CONTROL_AGENT = 406, ++ TOKEN_TOPLEVEL_JSON = 407, ++ TOKEN_TOPLEVEL_DHCP4 = 408, ++ TOKEN_SUB_DHCP4 = 409, ++ TOKEN_SUB_INTERFACES4 = 410, ++ TOKEN_SUB_SUBNET4 = 411, ++ TOKEN_SUB_POOL4 = 412, ++ TOKEN_SUB_RESERVATION = 413, ++ TOKEN_SUB_OPTION_DEFS = 414, ++ TOKEN_SUB_OPTION_DEF = 415, ++ TOKEN_SUB_OPTION_DATA = 416, ++ TOKEN_SUB_HOOKS_LIBRARY = 417, ++ TOKEN_SUB_DHCP_DDNS = 418, ++ TOKEN_SUB_LOGGING = 419, ++ TOKEN_SUB_CONFIG_CONTROL = 420, ++ TOKEN_STRING = 421, ++ TOKEN_INTEGER = 422, ++ TOKEN_FLOAT = 423, ++ TOKEN_BOOLEAN = 424 }; }; @@@ -1503,12 -1501,12 +1506,12 @@@ enum { yyeof_ = 0, - yylast_ = 989, ///< Last index in yytable_. - yynnts_ = 373, ///< Number of nonterminal symbols. - yylast_ = 988, ///< Last index in yytable_. - yynnts_ = 374, ///< Number of nonterminal symbols. ++ yylast_ = 994, ///< Last index in yytable_. ++ yynnts_ = 375, ///< Number of nonterminal symbols. yyfinal_ = 30, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, -- yyntokens_ = 169 ///< Number of tokens. ++ yyntokens_ = 170 ///< Number of tokens. }; @@@ -1567,14 -1565,14 +1570,14 @@@ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -- 165, 166, 167, 168 ++ 165, 166, 167, 168, 169 }; - const unsigned user_token_number_max_ = 423; - const unsigned int user_token_number_max_ = 423; ++ const unsigned int user_token_number_max_ = 424; const token_number_type undef_token_ = 2; - if (static_cast (t) <= yyeof_) + if (static_cast(t) <= yyeof_) return yyeof_; - else if (static_cast (t) <= user_token_number_max_) + else if (static_cast (t) <= user_token_number_max_) return translate_table[t]; else return undef_token_; @@@ -1598,32 -1598,32 +1603,32 @@@ , value () , location (other.location) { - switch (other.type_get ()) + switch (other.type_get ()) { -- case 185: // value -- case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.copy< ElementPtr > (other.value); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.copy< bool > (other.value); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.copy< double > (other.value); break; -- case 166: // "integer" ++ case 167: // "integer" value.copy< int64_t > (other.value); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.copy< std::string > (other.value); break; @@@ -1640,32 -1642,32 +1647,32 @@@ , location (l) { (void) v; - switch (this->type_get ()) + switch (this->type_get ()) { -- case 185: // value -- case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.copy< ElementPtr > (v); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.copy< bool > (v); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.copy< double > (v); break; -- case 166: // "integer" ++ case 167: // "integer" value.copy< int64_t > (v); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.copy< std::string > (v); break; @@@ -1741,32 -1745,32 +1750,32 @@@ } // Type destructor. - switch (yytype) + switch (yytype) { -- case 185: // value -- case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.template destroy< ElementPtr > (); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.template destroy< bool > (); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.template destroy< double > (); break; -- case 166: // "integer" ++ case 167: // "integer" value.template destroy< int64_t > (); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.template destroy< std::string > (); break; @@@ -1788,33 -1794,33 +1799,33 @@@ void Dhcp4Parser::basic_symbol::move (basic_symbol& s) { - super_type::move (s); - switch (this->type_get ()) + super_type::move(s); + switch (this->type_get ()) { -- case 185: // value -- case 189: // map_value - case 230: // socket_type - case 233: // outbound_interface_value - case 255: // db_type - case 337: // hr_mode - case 484: // ncr_protocol_value - case 492: // replace_client_name_value - case 229: // socket_type - case 232: // outbound_interface_value - case 254: // db_type - case 336: // hr_mode - case 485: // ncr_protocol_value - case 493: // replace_client_name_value ++ case 186: // value ++ case 190: // map_value ++ case 231: // socket_type ++ case 234: // outbound_interface_value ++ case 256: // db_type ++ case 338: // hr_mode ++ case 487: // ncr_protocol_value ++ case 495: // replace_client_name_value value.move< ElementPtr > (s.value); break; -- case 168: // "boolean" ++ case 169: // "boolean" value.move< bool > (s.value); break; -- case 167: // "floating point" ++ case 168: // "floating point" value.move< double > (s.value); break; -- case 166: // "integer" ++ case 167: // "integer" value.move< int64_t > (s.value); break; -- case 165: // "constant string" ++ case 166: // "constant string" value.move< std::string > (s.value); break; @@@ -1889,7 -1895,7 +1900,7 @@@ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, -- 415, 416, 417, 418, 419, 420, 421, 422, 423 ++ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424 }; return static_cast (yytoken_number_[type]); } @@@ -2897,9 -2903,9 +2914,9 @@@ } - #line 14 "dhcp4_parser.yy" // lalr1.cc:379 + #line 14 "dhcp4_parser.yy" // lalr1.cc:377 } } // isc::dhcp - #line 2903 "dhcp4_parser.h" // lalr1.cc:379 -#line 2909 "dhcp4_parser.h" // lalr1.cc:377 ++#line 2920 "dhcp4_parser.h" // lalr1.cc:377 diff --cc src/bin/dhcp4/tests/config_parser_unittest.cc index 33bbd99c40,2ef77376a8..4c8ba4148d --- a/src/bin/dhcp4/tests/config_parser_unittest.cc +++ b/src/bin/dhcp4/tests/config_parser_unittest.cc @@@ -6418,6 -6340,121 +6422,122 @@@ TEST_F(Dhcp4ParserTest, serverTag) // Make sure a invalid server-tag fails to parse. ASSERT_THROW(parseDHCP4(bad_tag), std::exception); } +#endif // CONFIG_BACKEND + // Check whether it is possible to configure packet queue + TEST_F(Dhcp4ParserTest, dhcpQueueControl) { + struct Scenario { + std::string description_; + std::string json_; + }; + + std::vector scenarios = { + { + "no entry", + "" + }, + { + "valid entry", + "{ \n" + " \"queue-type\": \"some-type\", \n" + " \"capacity\": 75 \n" + "} \n" + }, + { + "valid arbitrary content", + "{ \n" + " \"queue-type\": \"some-type\", \n" + " \"capacity\": 90, \n" + " \"user-context\": { \"comment\": \"some text\" },\n" + " \"random-bool\" : false, \n" + " \"random-int\" : 1234 \n" + "} \n" + } + }; + + // Let's check the default. It should be empty. + data::ConstElementPtr control; + control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl(); + ASSERT_FALSE(control); + + // Iterate over the incorrect scenarios and verify they + // fail as expected. Note, we use parseDHCP4() directly + // as all of the errors above are enforced by the grammar. + data::ConstElementPtr exp_elems; + for (auto scenario : scenarios) { + SCOPED_TRACE(scenario.description_); + { + // Clear the config + CfgMgr::instance().clear(); + + // Construct the config JSON + std::stringstream os; + os << "{ " + genIfaceConfig(); + if (!scenario.json_.empty()) { + + os << ",\n \"dhcp-queue-control\": " << scenario.json_; + } + + os << "} \n"; + + // Configure the server. This should succeed. + configure(os.str(), CONTROL_RESULT_SUCCESS, ""); + + // Fetch the queue control info. + control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl(); + + // If JSON does not contain queue control, + // the pointer stored in staging should be empty. + if (scenario.json_.empty()) { + ASSERT_FALSE(control); + continue; + } + + // Make sure the staged config is correct. + ASSERT_TRUE(control); + ASSERT_NO_THROW(exp_elems = Element::fromJSON(scenario.json_)) + << " cannot convert expected JSON, test is broken"; + EXPECT_TRUE(control->equals(*exp_elems)); + } + } + } + + // Check that we catch invalid dhcp-queue-control content + TEST_F(Dhcp4ParserTest, dhcpQueueControlInvalid) { + struct Scenario { + std::string description_; + std::string json_; + }; + + std::vector scenarios = { + { + "not a map", + "{ " + genIfaceConfig() + ", \n" + + " \"subnet4\": [ ], \n" + " \"dhcp-queue-control\": 75 \n" + "} \n" + }, + { + "queue type missing", + "{ " + genIfaceConfig() + ", \n" + + " \"subnet4\": [ ], \n" + " \"dhcp-queue-control\": { \n" + " \"capacity\": 100 \n" + " } \n" + "} \n" + } + }; + + // Iterate over the incorrect scenarios and verify they + // fail as expected. Note, we use parseDHCP4() directly + // as all of the errors above are enforced by the grammar. + for (auto scenario : scenarios) { + SCOPED_TRACE(scenario.description_); + { + EXPECT_THROW(parseDHCP4(scenario.json_), Dhcp4ParseError); + } + } + } + + } diff --cc src/bin/dhcp6/dhcp6_lexer.cc index 52b35ee318,48ce1d5fef..9ea7e226ee --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@@ -691,8 -691,8 +691,8 @@@ static void yynoreturn yy_fatal_error /* %% [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 179 --#define YY_END_OF_BUFFER 180 ++#define YY_NUM_RULES 180 ++#define YY_END_OF_BUFFER 181 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@@ -700,168 -700,168 +700,169 @@@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; - static const flex_int16_t yy_accept[1452] = -static const flex_int16_t yy_accept[1460] = ++static const flex_int16_t yy_accept[1466] = { 0, -- 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, -- 180, 178, 10, 11, 178, 1, 172, 169, 172, 172, -- 178, 171, 170, 178, 178, 178, 178, 178, 165, 166, -- 178, 178, 178, 167, 168, 5, 5, 5, 178, 178, -- 178, 10, 11, 0, 0, 161, 0, 0, 0, 0, ++ 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, ++ 181, 179, 10, 11, 179, 1, 173, 170, 173, 173, ++ 179, 172, 171, 179, 179, 179, 179, 179, 166, 167, ++ 179, 179, 179, 168, 169, 5, 5, 5, 179, 179, ++ 179, 10, 11, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 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, 172, -- 172, 0, 171, 172, 3, 2, 6, 0, 172, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 1, 173, ++ 173, 0, 172, 173, 3, 2, 6, 0, 173, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, -- 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, ++ 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 139, - 0, 0, 140, 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, 0, 0, + 140, 0, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 175, - 0, 174, 173, 0, 0, 0, 0, 0, 0, 0, - - 138, 0, 0, 29, 0, 28, 0, 0, 101, 0, - 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 175, 0, 174, 173, 0, 0, 0, 0, 0, ++ 178, 176, 0, 175, 174, 0, 0, 0, 0, 0, + + 0, 0, 139, 0, 0, 29, 0, 28, 0, 0, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 173, 0, - - 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, - 32, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 89, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 176, 173, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 118, 143, 50, 0, 55, - 0, 0, 0, 0, 0, 0, 158, 38, 0, 35, - 0, 34, 0, 0, 0, 131, 0, 0, 0, 0, ++ 177, 174, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 32, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, - 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, + 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 0, 0, 33, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, - 0, 0, 0, 0, 0, 7, 36, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 144, 50, 0, 55, 0, 0, 0, 0, 0, 0, - 158, 38, 0, 35, 0, 34, 0, 0, 0, 132, ++ 159, 38, 0, 35, 0, 34, 0, 0, 0, 132, 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, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 52, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, ++ 111, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 52, 0, 0, 33, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, - 0, 0, 106, 0, 0, 0, 0, 0, 91, 0, ++ 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, ++ 7, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 128, 0, 0, 0, 0, 0, 0, 7, - 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 136, 107, 0, 0, 0, 0, 111, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, ++ 113, 0, 0, 0, 0, 0, 0, 110, 0, 0, ++ 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, - 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, - 75, 0, 0, 0, 0, 0, 0, 159, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, ++ 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, ++ 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 137, 108, 0, 0, - 0, 0, 112, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, ++ 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, ++ 108, 0, 0, 0, 0, 112, 51, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 59, 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, 125, 0, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 83, 0, 0, 0, 122, 0, 0, 0, 49, + - 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, - 159, 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, 126, 0, - 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, ++ 0, 0, 0, 160, 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, 98, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 126, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 83, 0, 0, 0, 123, 0, 0, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, ++ 0, 0, 0, 0, 0, 0, 56, 83, 0, 0, ++ 0, 123, 0, 0, 0, 49, 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, 0, 0, 157, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 157, 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, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 138, - 14, 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, 137, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 114, 0, 0, 0, 0, 0, 0, ++ 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 16, 0, 138, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 113, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 129, 114, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 142, 0, 40, 0, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, - 141, 0, 40, 0, 133, 0, 0, 0, 0, 0, -- 0, 0, 0, 20, 0, 0, 0, 77, 0, 0, - 0, 0, 136, 53, 0, 85, 0, 0, 0, 0, - 0, 0, 135, 53, 0, 85, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 78, - - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 0, 0, 0, 0, 0, 0, 17, - 15, 0, 155, 154, 0, 66, 0, 0, 0, 0, - 0, 31, 0, 117, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 121, 43, 0, - 60, 0, 0, 0, 0, 19, 0, 0, 0, 0, - 0, 0, 96, 72, 0, 0, 129, 0, 0, 0, - 0, 0, 120, 0, 0, 0, 0, 90, 0, 160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - - 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 125, 142, 0, 40, 0, ++ 134, 0, 0, 0, 0, 0, 0, 0, 0, 20, ++ 0, 0, 0, 77, 0, 0, 0, 0, 136, 53, ++ 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 0, 0, 0, 0, 0, 78, 100, - ++ 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, ++ ++ 0, 0, 0, 0, 0, 78, 100, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, ++ 0, 0, 0, 0, 0, 17, 15, 0, 156, 155, ++ 0, 66, 0, 0, 0, 0, 0, 31, 0, 118, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 17, 15, - 0, 156, 155, 0, 66, 0, 0, 0, 0, 0, - 31, 0, 118, 0, 0, 0, 0, 0, 0, 0, - 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 94, 0, 122, 43, 0, 60, 0, - 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, - 96, 72, 0, 0, 130, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 90, 0, 160, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 88, 0, 145, - 0, 42, 0, 65, 0, 0, 0, 0, 115, 47, - 0, 0, 67, 153, 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 45, 0, 0, 44, - 18, 0, 0, 0, 0, 108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 0, 0, 0, 61, 0, 0, 86, 0, 0, 0, - 0, 0, 134, 0, 0, 0, 46, 0, 0, 0, ++ 0, 94, 0, 122, 43, 0, 60, 0, 0, 0, ++ 0, 19, 0, 0, 0, 0, 0, 0, 96, 72, ++ 0, 0, 130, 0, 0, 0, 0, 0, 121, 0, ++ 0, 0, 0, 90, 0, 161, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 88, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 0, 0, 76, 0, 37, 0, 48, 0, 0, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, - 150, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 39, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 156, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 22, - 69, 0, 0, 0, 0, 0, 0, 21, 0, 87, - 0, 0, 148, 0, 0, 68, 0, 0, 63, 0, - - 24, 0, 0, 0, 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, - 65, 0, 0, 0, 0, 116, 47, 0, 0, 67, - 154, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, - 104, 116, 0, 0, 0, 0, 0, 0, 146, 151, - 73, 0, 0, 0, 0, 145, 0, 0, 27, 0, - 0, 0, 0, 0, 105, 0, 0, 147, 0 ++ 0, 0, 0, 0, 0, 0, 0, 42, 0, 65, ++ 0, 0, 0, 0, 116, 47, 0, 0, 67, 154, ++ 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 44, 18, 0, 0, 0, + 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, 0, 0, 0, 61, - 0, 86, 0, 0, 0, 0, 0, 135, 0, 0, - 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 64, 0, 0, 76, 0, - 37, 0, 48, 0, 0, 0, 0, 25, 0, 0, - 0, 0, 0, 0, 151, 0, 120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 39, 0, 0, - 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 0, 22, 69, 0, 0, 0, 0, 0, 0, 21, - 0, 87, 0, 0, 149, 0, 0, 68, 0, 0, - 63, 0, 24, 0, 0, 0, 0, 0, 0, 0, - ++ 0, 0, 86, 0, 0, 0, 0, 0, 135, 0, ++ ++ 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 64, 0, 0, 76, ++ 0, 37, 0, 48, 0, 0, 0, 0, 0, 25, ++ 0, 0, 0, 0, 0, 0, 151, 0, 120, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, ++ 39, 0, 0, 0, 0, 0, 13, 0, 0, 0, ++ 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, ++ 0, 0, 150, 0, 0, 22, 69, 0, 0, 0, ++ 0, 0, 0, 21, 0, 87, 0, 0, 149, 0, ++ ++ 0, 68, 0, 0, 63, 0, 24, 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, 105, 117, 0, 0, 0, 0, 0, 0, - 147, 152, 73, 0, 0, 0, 0, 146, 0, 0, - 27, 0, 0, 0, 0, 0, 106, 0, 0, 148, - 0 ++ 0, 0, 0, 0, 23, 0, 105, 117, 0, 0, ++ 0, 0, 0, 0, 147, 152, 73, 0, 0, 0, ++ 0, 146, 0, 0, 27, 0, 0, 0, 0, 0, ++ 106, 0, 0, 148, 0 } ; static const YY_CHAR yy_ec[256] = @@@ -908,353 -908,355 +909,355 @@@ static const YY_CHAR yy_meta[72] 3 } ; - static const flex_int16_t yy_base[1464] = -static const flex_int16_t yy_base[1472] = ++static const flex_int16_t yy_base[1478] = { 0, 0, 70, 19, 29, 41, 49, 52, 58, 87, 95, - 1816, 1817, 32, 1812, 141, 0, 201, 1817, 206, 88, - 11, 213, 1817, 1794, 114, 25, 2, 6, 1817, 1817, - 73, 11, 17, 1817, 1817, 1817, 104, 1800, 1755, 0, - 1792, 107, 1807, 217, 241, 1817, 185, 1751, 1757, 1777, - 1825, 1826, 32, 1821, 141, 0, 201, 1826, 206, 88, - 11, 213, 1826, 1803, 114, 25, 2, 6, 1826, 1826, - 73, 11, 17, 1826, 1826, 1826, 104, 1809, 1764, 0, - 1801, 107, 1816, 217, 241, 1826, 185, 1760, 1766, 1786, ++ 1830, 1831, 32, 1826, 141, 0, 201, 1831, 206, 88, ++ 11, 213, 1831, 1808, 114, 25, 2, 6, 1831, 1831, ++ 73, 11, 17, 1831, 1831, 1831, 104, 1814, 1769, 0, ++ 1806, 107, 1821, 217, 241, 1831, 185, 1765, 1771, 1791, 93, 58, 190, 91, 211, 200, 14, 267, 213, 175, - 269, 64, 231, 184, 187, 75, 1758, 274, 215, 290, - 278, 297, 1741, 207, 302, 316, 316, 1760, 0, 355, - 360, 372, 377, 380, 1817, 0, 1817, 295, 383, 227, - 296, 283, 327, 361, 293, 1817, 1757, 1796, 1817, 237, - 269, 64, 231, 1767, 187, 75, 1766, 274, 188, 290, - 278, 297, 1749, 195, 302, 316, 316, 1768, 0, 355, - 360, 372, 377, 380, 1826, 0, 1826, 267, 295, 296, - 327, 283, 361, 368, 293, 1826, 1765, 1804, 1826, 359, -- - 1817, 394, 363, 1744, 1754, 1793, 375, 321, 403, 1748, - 369, 378, 376, 382, 388, 1791, 0, 445, 407, 1735, - 1743, 364, 1739, 1728, 1729, 372, 1745, 1728, 1737, 387, - 308, 378, 1731, 1729, 391, 1718, 1774, 416, 1721, 1772, - 1714, 1737, 1734, 1734, 1728, 214, 1721, 1714, 1719, 1713, - 382, 1724, 1717, 1708, 1707, 1721, 362, 1757, 1706, 414, - 1718, 1721, 1705, 441, 1706, 417, 1718, 1715, 1716, 1714, - 422, 1696, 1701, 1697, 1689, 1706, 1698, 0, 422, 450, - 440, 446, 454, 470, 1697, 1817, 0, 476, 1688, 1691, - 1817, 465, 447, 1817, 1743, 1698, 477, 1741, 481, 1740, - 1826, 393, 341, 1752, 1762, 1801, 369, 220, 249, 1756, - 364, 372, 373, 380, 385, 1799, 0, 444, 375, 1743, - 1751, 364, 1747, 1736, 1737, 372, 1753, 1736, 1745, 399, - 200, 371, 1739, 389, 1727, 1783, 416, 1730, 1781, 1723, - 1746, 1743, 1743, 1737, 369, 1730, 1723, 1728, 1722, 409, - 1733, 1726, 1717, 1716, 1730, 387, 1766, 1715, 414, 1727, - 1730, 1714, 441, 1715, 416, 1727, 1724, 1725, 1723, 394, - 1705, 1710, 1706, 1698, 1715, 1707, 0, 421, 385, 436, - 437, 449, 454, 1706, 1826, 0, 461, 1697, 1700, 1826, - 446, 464, 1826, 1752, 1707, 470, 1750, 472, 1749, 476, -- - 477, 1739, 1817, 521, 1738, 489, 1699, 1694, 1693, 1684, - 465, 1733, 1727, 1693, 1672, 1680, 1686, 1674, 1688, 1684, - 1685, 1685, 1680, 1672, 1674, 1658, 1662, 1675, 1677, 1674, - 1666, 1656, 1659, 1673, 1817, 1659, 1667, 1670, 1651, 1650, - 1700, 1649, 1659, 1697, 510, 1658, 1646, 1657, 1693, 490, - 1697, 1634, 1649, 9, 1639, 1655, 1636, 1638, 1634, 1640, - 1631, 1630, 1643, 1636, 1638, 1642, 1641, 1635, 80, 1642, - 1637, 1629, 1619, 1634, 1629, 1633, 1614, 1630, 1616, 1622, - 1629, 1617, 230, 1610, 1624, 1623, 1626, 1608, 1616, 491, - 1817, 1817, 492, 1817, 1817, 1603, 0, 376, 1605, 508, - 1748, 1826, 520, 1747, 486, 1708, 1703, 1702, 1693, 460, - 1742, 1736, 1702, 1681, 1689, 1695, 1683, 1697, 1693, 1694, - 1694, 1689, 1681, 1683, 1667, 1671, 1684, 1684, 1676, 1666, - 1669, 1683, 1826, 1669, 1677, 1680, 1661, 1660, 1710, 1659, - 1669, 1707, 508, 1668, 1656, 1667, 1703, 489, 1707, 1644, - 1659, 9, 1649, 1665, 1646, 1648, 1644, 1650, 1641, 1640, - 1653, 1646, 1648, 1652, 1651, 1645, 80, 1652, 1647, 1639, - 1629, 1644, 1639, 1643, 1624, 1640, 1626, 1632, 1639, 1627, - 348, 1620, 1634, 1633, 1636, 1618, 1626, 490, 1826, 1826, - 491, 1826, 1826, 1613, 0, 472, 1615, 532, 501, 1669, -- - 501, 1659, 1817, 1612, 480, 1817, 1657, 1817, 1651, 562, - 1817, 480, 1593, 1603, 1653, 1610, 1605, 1608, 304, 1817, - 1606, 1648, 1603, 1600, 1601, 303, 1605, 1643, 1593, 1588, - 1585, 1581, 1583, 1632, 1591, 1580, 1596, 1628, 1576, 568, - 1589, 1589, 1572, 1573, 1586, 1573, 1583, 1578, 1585, 1580, - 1565, 451, 1574, 1577, 1572, 1568, 1616, 501, 497, 1817, - 1610, 1562, 1561, 1554, 1556, 1560, 1549, 1556, 1561, 550, - 1606, 1561, 503, 1558, 1562, 1560, 1549, 1549, 1561, 496, - 1536, 1537, 1558, 511, 1540, 1537, 1551, 1550, 1536, 1548, - 1547, 1546, 1545, 507, 1586, 1585, 1584, 1528, 583, 1541, - 1826, 1622, 489, 1826, 1667, 1826, 1661, 560, 1826, 485, - 1603, 1613, 1663, 1620, 1615, 1618, 466, 1826, 1616, 1658, - 1613, 1610, 1611, 303, 1615, 1653, 1603, 1598, 1595, 1591, - 1593, 1642, 1601, 1590, 1639, 1587, 566, 1600, 1600, 1583, - 1584, 1597, 1584, 1594, 1589, 1596, 1591, 1576, 452, 1585, - 1588, 1583, 1579, 1627, 502, 496, 1826, 1621, 1573, 1572, - 1565, 1567, 1571, 1560, 1567, 1572, 525, 1617, 1572, 300, - 1569, 1573, 1571, 1560, 1560, 1572, 471, 1547, 1548, 1569, - 506, 1551, 1548, 1562, 1561, 1547, 1559, 1558, 1557, 1556, - 206, 1597, 1596, 1595, 1539, 549, 1552, 1826, 1826, 1551, -- - 1817, 1817, 1540, 0, 518, 1528, 1579, 1578, 1536, 1576, - 1817, 1524, 1574, 1817, 541, 617, 520, 1573, 1515, 1817, - 1520, 1526, 1529, 1528, 1515, 1514, 1817, 1516, 1513, 1525, - 1521, 1509, 1511, 1817, 1517, 1502, 1504, 1515, 1513, 1508, - 584, 1515, 1503, 1496, 1545, 1817, 1494, 1510, 1542, 1546, - 1504, 1498, 1500, 1501, 1503, 1535, 1488, 1483, 1482, 1484, - 1477, 1492, 1470, 1477, 1482, 1530, 1817, 1477, 1473, 1527, - 1480, 1474, 1481, 1466, 1476, 1479, 1468, 1467, 1462, 1817, - 1517, 1817, 1461, 1460, 1453, 1470, 1507, 1454, 1459, 1468, - 1462, 1456, 1465, 585, 1500, 1464, 1447, 1447, 1442, 1438, - 0, 518, 1539, 1590, 1589, 1547, 1587, 1826, 1535, 1585, - 1826, 558, 615, 529, 1584, 1526, 1826, 1531, 1537, 1540, - 1539, 1526, 1525, 1826, 1527, 1524, 1536, 532, 1521, 1523, - 1826, 1529, 1514, 1516, 1527, 1525, 1520, 583, 1527, 1509, - 1558, 1826, 1507, 1523, 1555, 1559, 1517, 1511, 1513, 1514, - 1516, 1548, 1501, 1496, 1495, 1497, 1490, 1505, 1483, 1490, - 1495, 1543, 1826, 1490, 1486, 1540, 1493, 1487, 1494, 1479, - 1489, 1492, 1481, 1480, 1475, 1826, 1530, 1826, 1474, 1473, - 1466, 1483, 1520, 1467, 1472, 1481, 1475, 1469, 1478, 587, - 1513, 1477, 1460, 1460, 1455, 1451, 1457, 1456, 1464, 1468, -- - 1444, 1443, 1451, 1455, 1438, 1494, 1436, 1450, 1439, 1817, - 1817, 1817, 1439, 1817, 1449, 1483, 1445, 0, 1486, 1436, - 1817, 1817, 1433, 1817, 1439, 1817, 561, 560, 591, 1817, - 1477, 1424, 1475, 1422, 1421, 1428, 1421, 1433, 1432, 1416, - 1431, 1461, 1428, 1464, 1410, 1412, 1424, 1424, 1423, 1817, - 1408, 1405, 1461, 1418, 1410, 1416, 1407, 1415, 1817, 1400, - 1411, 1415, 1397, 1411, 557, 1393, 1387, 1392, 1389, 1404, - 1405, 1402, 1443, 1400, 1817, 1386, 1388, 1817, 1396, 1433, - 1432, 556, 1395, 1378, 1379, 1384, 1375, 1817, 1389, 1375, - 607, 1367, 1388, 1385, 1377, 1420, 1374, 1381, 1417, 1817, - 1451, 1507, 1449, 1463, 1452, 1826, 1826, 1826, 1452, 1826, - 1462, 1496, 1458, 0, 1499, 1449, 1826, 1826, 1446, 1826, - 1452, 1826, 564, 538, 590, 1826, 1490, 1437, 1488, 1435, - 1434, 1441, 1434, 1446, 1445, 1429, 1444, 1426, 1473, 1440, - 1476, 1422, 1424, 1436, 1436, 1435, 1826, 1420, 1417, 1431, - 1423, 1429, 1420, 1428, 1826, 1413, 1424, 1428, 1410, 1424, - 556, 1406, 1400, 1405, 1402, 1417, 1418, 1415, 1456, 1413, - 1826, 1399, 1401, 1826, 1409, 1446, 1445, 519, 1408, 1391, - 1392, 1397, 1388, 1826, 1402, 1388, 605, 1380, 1401, 1398, - 1390, 1433, 1387, 1394, 1430, 1826, 1378, 1376, 1390, 1374, -- - 1365, 1363, 1377, 1361, 1375, 1378, 1410, 1409, 1408, 1355, - 1406, 1405, 1817, 599, 1367, 1367, 1365, 1354, 1356, 1817, - 1817, 1399, 1347, 1402, 566, 589, 564, 1361, 1400, 576, - 1394, 1393, 1392, 1346, 1336, 1389, 1351, 1341, 1386, 1349, - 1331, 1339, 1341, 1345, 1380, 1384, 1341, 1340, 1817, 1341, - 1334, 1323, 1336, 1339, 1334, 1329, 1334, 1331, 1330, 1326, - 1332, 1327, 1368, 1367, 1311, 1307, 562, 1364, 1817, 1363, - 1312, 1304, 1355, 1318, 1305, 1817, 1305, 1314, 1313, 1313, - 1297, 1352, 1295, 1308, 1817, 1300, 1292, 1301, 1294, 1305, - 1282, 1286, 1337, 1301, 1283, 1281, 1292, 1332, 1331, 1330, - 1388, 1391, 1423, 1422, 1421, 1368, 1419, 1418, 1826, 594, - 1380, 1380, 1378, 1367, 1369, 1826, 1826, 1412, 1360, 1415, - 562, 587, 562, 1374, 1413, 572, 1407, 1406, 1405, 1359, - 1349, 1402, 1364, 1354, 1362, 1398, 1361, 1343, 1351, 1353, - 1357, 1392, 1396, 1353, 1352, 1353, 1346, 1335, 1348, 1351, - 1346, 1341, 1346, 1343, 1342, 1338, 1344, 1339, 1380, 1379, - 1323, 1319, 587, 1376, 1826, 1375, 1324, 1316, 1367, 1330, - 1317, 1826, 1317, 1326, 1325, 1325, 1309, 1364, 1307, 1320, - 1826, 1312, 1304, 1313, 1306, 1317, 1294, 1298, 1349, 1313, - 1295, 1293, 1304, 1344, 1343, 1342, 1289, 1305, 561, 591, -- - 1277, 1293, 575, 593, 1270, 1280, 587, 1817, 1330, 1276, - 1286, 1286, 1275, 1279, 1286, 1323, 1817, 1317, 612, 1270, - 1278, 1270, 1817, 1266, 1279, 1259, 1262, 1258, 1275, 1270, - 0, 77, 64, 187, 278, 300, 388, 386, 452, 476, - 1817, 535, 577, 573, 590, 588, 642, 584, 587, 603, - 606, 595, 652, 611, 597, 606, 1817, 1817, 622, 621, - 626, 614, 1817, 1817, 628, 615, 614, 632, 619, 619, - 668, 620, 676, 677, 1817, 624, 638, 638, 681, 631, - 633, 627, 685, 640, 630, 631, 627, 637, 641, 652, - 636, 654, 649, 651, 644, 646, 658, 648, 663, 702, - 1282, 1292, 564, 1826, 1342, 1288, 1298, 1298, 1287, 1291, - 1298, 1335, 1826, 1329, 610, 1282, 1290, 1282, 1826, 1278, - 1291, 1271, 1274, 1270, 1287, 1282, 1270, 1281, 1265, 60, - 67, 235, 308, 388, 401, 548, 523, 1826, 580, 585, - 578, 589, 598, 641, 585, 587, 603, 607, 594, 651, - 610, 602, 605, 1826, 1826, 621, 620, 625, 613, 1826, - 1826, 627, 615, 613, 631, 618, 618, 667, 619, 675, - 676, 1826, 623, 637, 637, 680, 630, 632, 626, 684, - 639, 629, 630, 626, 636, 640, 651, 635, 653, 648, - 650, 643, 645, 657, 647, 662, 701, 660, 665, 642, -- - 661, 666, 643, 1817, 668, 658, 703, 652, 667, 668, - 1817, 687, 695, 675, 665, 679, 667, 662, 674, 669, - 670, 666, 675, 670, 721, 727, 676, 1817, 688, 673, - 689, 679, 691, 685, 730, 698, 683, 684, 1817, 701, - 704, 687, 689, 745, 690, 1817, 707, 710, 690, 709, - 747, 707, 703, 698, 716, 715, 701, 716, 708, 704, - 722, 707, 1817, 1817, 715, 760, 715, 1817, 723, 718, - 769, 1817, 720, 725, 767, 721, 722, 734, 728, 732, - 730, 728, 739, 782, 728, 784, 785, 731, 743, 1817, - 731, 739, 737, 742, 754, 738, 752, 753, 754, 770, - 1826, 667, 657, 702, 651, 666, 667, 1826, 686, 694, - 674, 664, 678, 666, 661, 673, 668, 669, 665, 674, - 669, 720, 726, 685, 676, 1826, 688, 673, 689, 679, - 691, 685, 730, 699, 683, 685, 1826, 701, 704, 687, - 689, 745, 690, 1826, 707, 710, 690, 709, 747, 707, - 703, 698, 716, 715, 701, 716, 708, 704, 722, 707, - 1826, 1826, 715, 760, 715, 1826, 723, 718, 769, 1826, - 720, 725, 767, 721, 722, 734, 728, 732, 730, 728, - 739, 782, 728, 784, 785, 731, 743, 1826, 731, 739, - 737, 742, 754, 738, 752, 753, 754, 770, 775, 749, -- - 775, 749, 759, 746, 746, 766, 755, 760, 767, 808, - 809, 758, 762, 1817, 757, 775, 772, 810, 761, 779, - 780, 766, 774, 783, 763, 778, 785, 827, 828, 1817, - 783, 830, 831, 784, 794, 796, 780, 781, 788, 797, - 840, 789, 788, 805, 844, 796, 800, 798, 796, 849, - 850, 802, 852, 848, 808, 1817, 813, 806, 797, 816, - 810, 805, 815, 812, 817, 813, 825, 1817, 809, 1817, - 1817, 810, 868, 809, 828, 829, 826, 812, 833, 815, - 820, 827, 860, 851, 823, 882, 827, 829, 846, 844, - 836, 840, 1817, 1817, 850, 848, 834, 835, 893, 848, - 759, 746, 746, 766, 755, 760, 767, 808, 809, 758, - 762, 1826, 807, 758, 776, 773, 811, 762, 780, 781, - 767, 775, 784, 764, 779, 788, 828, 829, 1826, 784, - 831, 832, 785, 795, 797, 781, 782, 789, 798, 841, - 790, 789, 806, 845, 797, 801, 799, 797, 850, 851, - 803, 853, 849, 809, 1826, 814, 807, 798, 817, 811, - 806, 816, 813, 818, 814, 826, 1826, 810, 1826, 1826, - 811, 869, 810, 829, 830, 827, 813, 834, 816, 821, - 828, 861, 852, 824, 883, 828, 830, 847, 845, 837, - 841, 1826, 1826, 851, 849, 852, 836, 837, 895, 850, -- - 853, 840, 851, 843, 849, 845, 863, 865, 866, 1817, - 1817, 864, 1817, 866, 1817, 851, 853, 872, 862, 912, - 867, 909, 875, 1817, 867, 859, 918, 1817, 919, 868, - 875, 917, 1817, 1817, 877, 1817, 868, 868, 871, 885, - 890, 873, 884, 931, 890, 891, 892, 930, 888, 937, - 938, 1817, 887, 940, 941, 883, 943, 904, 888, 900, - 890, 920, 949, 909, 1817, 951, 900, 915, 902, 898, - 914, 919, 907, 959, 918, 1817, 920, 919, 921, 914, - 923, 924, 921, 911, 914, 914, 971, 920, 973, 974, - 919, 977, 1817, 915, 930, 923, 981, 936, 1817, 1817, - 855, 842, 853, 845, 851, 847, 866, 867, 868, 1826, - 1826, 866, 1826, 868, 1826, 854, 855, 874, 864, 914, - 869, 911, 877, 1826, 869, 861, 920, 1826, 921, 870, - 877, 919, 1826, 1826, 879, 1826, 870, 870, 873, 887, - 892, 875, 886, 933, 892, 893, 894, 932, 890, 939, - 940, 1826, 889, 942, 943, 885, 945, 906, 890, 902, - 892, 922, 951, 911, 1826, 953, 902, 917, 904, 900, - 916, 921, 909, 909, 962, 921, 1826, 923, 922, 924, - 917, 926, 927, 924, 914, 917, 917, 974, 923, 976, - 977, 923, 980, 1826, 918, 933, 926, 984, 939, 1826, -- - 932, 942, 927, 945, 931, 990, 991, 937, 948, 995, - 954, 1817, 946, 946, 948, 950, 1001, 946, 1817, 1817, - 948, 1817, 1817, 962, 1817, 956, 1006, 957, 1008, 990, - 1817, 968, 1817, 955, 963, 957, 956, 959, 959, 960, - 1018, 1817, 963, 1020, 975, 966, 981, 981, 984, 984, - 981, 1023, 987, 1817, 979, 1817, 1817, 989, 1817, 991, - 992, 989, 1031, 1817, 982, 982, 988, 987, 999, 999, - 1817, 1817, 1038, 987, 1817, 1004, 989, 989, 991, 997, - 1817, 1050, 1003, 1052, 1015, 1817, 1012, 1817, 1031, 1051, - 1057, 1058, 1017, 1003, 1061, 1062, 1017, 1817, 1064, 1817, - 1826, 935, 945, 931, 948, 934, 993, 994, 941, 951, - 998, 957, 1826, 949, 949, 951, 953, 1004, 949, 1826, - 1826, 951, 1826, 1826, 965, 1826, 959, 1009, 960, 1011, - 993, 1826, 971, 1826, 958, 966, 960, 959, 962, 962, - 963, 1021, 971, 1826, 967, 1024, 979, 970, 985, 985, - 988, 988, 985, 1027, 991, 1826, 983, 1826, 1826, 994, - 1826, 995, 996, 993, 1035, 1826, 986, 986, 992, 991, - 1003, 1003, 1826, 1826, 1042, 991, 1826, 1008, 993, 993, - 995, 1001, 1826, 1054, 1007, 1056, 1019, 1826, 1016, 1826, - 1035, 1055, 1061, 1062, 1021, 1007, 1065, 1066, 1021, 1826, -- - 1004, 1061, 1026, 1022, 1064, 1014, 1019, 1017, 1074, 1032, - 1076, 1077, 1040, 1029, 1023, 1039, 1083, 1027, 1044, 1029, - 1044, 1028, 1084, 1085, 1086, 1035, 1088, 1053, 1817, 1039, - 1817, 1050, 1097, 1069, 1056, 1817, 1817, 1044, 1101, 1817, - 1817, 1050, 1817, 1103, 1051, 1100, 1045, 1050, 1109, 1059, - 1069, 1070, 1817, 1113, 1068, 1817, 1817, 1059, 1074, 1062, - 1077, 1817, 1114, 1082, 1075, 1076, 1085, 1067, 1073, 1076, - 1128, 1089, 1089, 1132, 1083, 1817, 1134, 1081, 1136, 1817, - 1086, 1817, 1089, 1084, 1083, 1141, 1096, 1817, 1138, 1091, - 1088, 1817, 1102, 1105, 1148, 1103, 1150, 1093, 1095, 1103, - 1011, 1069, 1826, 1009, 1066, 1031, 1027, 1069, 1019, 1024, - 1022, 1079, 1037, 1081, 1082, 1045, 1034, 1028, 1045, 1088, - 1032, 1049, 1034, 1049, 1033, 1089, 1090, 1091, 1040, 1093, - 1058, 1826, 1044, 1826, 1055, 1102, 1074, 1061, 1826, 1826, - 1049, 1106, 1826, 1826, 1055, 1053, 1826, 1109, 1057, 1106, - 1051, 1056, 1115, 1065, 1075, 1076, 1826, 1119, 1074, 1826, - 1826, 1065, 1080, 1068, 1083, 1826, 1120, 1088, 1081, 1082, - 1091, 1073, 1080, 1082, 1134, 1096, 1095, 1138, 1089, 1826, - 1140, 1087, 1142, 1826, 1092, 1092, 1826, 1096, 1091, 1090, - 1148, 1103, 1826, 1145, 1098, 1095, 1826, 1109, 1112, 1155, -- - 1093, 1109, 1110, 1104, 1120, 1817, 1110, 1160, 1817, 1156, - 1817, 1121, 1817, 1158, 1122, 1113, 1120, 1817, 1117, 1122, - 1120, 1170, 1171, 1116, 1817, 1131, 1817, 1121, 1133, 1134, - 1177, 1121, 1129, 1123, 1131, 1144, 1817, 1143, 1133, 1132, - 1135, 1147, 1138, 1147, 1149, 1153, 1817, 1817, 1192, 1137, - 1153, 1195, 1196, 1817, 1192, 1156, 1153, 1158, 1145, 1140, - 1203, 1162, 1205, 1164, 1165, 1208, 1167, 1170, 1817, 1211, - 1174, 1817, 1817, 1156, 1214, 1163, 1216, 1161, 1178, 1817, - 1164, 1817, 1164, 1166, 1817, 1171, 1181, 1817, 1167, 1179, - 1817, 1175, 1817, 1185, 1179, 1183, 1174, 1226, 1175, 1183, - 1110, 1157, 1100, 1102, 1110, 1100, 1116, 1117, 1111, 1127, - 1826, 1117, 1167, 1826, 1163, 1826, 1128, 1826, 1165, 1122, - 1130, 1121, 1128, 1826, 1125, 1130, 1128, 1178, 1179, 1124, - 1826, 1139, 1826, 1129, 1141, 1142, 1185, 1129, 1137, 1131, - 1139, 1152, 1826, 1151, 1141, 1140, 1194, 1144, 1156, 1147, - 1156, 1158, 1162, 1826, 1826, 1201, 1146, 1162, 1204, 1205, - 1826, 1201, 1165, 1162, 1167, 1154, 1149, 1212, 1171, 1826, - 1214, 1173, 1174, 1217, 1176, 1179, 1826, 1220, 1183, 1826, - 1826, 1165, 1223, 1172, 1225, 1170, 1187, 1826, 1173, 1826, - 1173, 1175, 1826, 1180, 1190, 1826, 1176, 1188, 1826, 1184, -- - 1192, 1185, 1180, 1181, 1196, 1187, 1194, 1181, 1196, 1201, - 1244, 1203, 1246, 1247, 1192, 1208, 1199, 1213, 1209, 1202, - 1817, 1254, 1817, 1817, 1255, 1256, 1213, 1212, 1213, 1203, - 1817, 1817, 1817, 1261, 1205, 1221, 1264, 1817, 1260, 1211, - 1817, 1210, 1212, 1223, 1270, 1221, 1817, 1230, 1273, 1817, - 1817, 1279, 1284, 1289, 1294, 1299, 1304, 1309, 1312, 1286, - 1291, 1293, 1306 - 1826, 1194, 1188, 1192, 1183, 1235, 1184, 1192, 1201, 1194, - 1189, 1190, 1205, 1196, 1203, 1190, 1205, 1210, 1253, 1212, - 1255, 1256, 1201, 1217, 1208, 1222, 1218, 1211, 1826, 1263, - 1826, 1826, 1264, 1265, 1222, 1221, 1222, 1212, 1826, 1826, - 1826, 1270, 1214, 1230, 1273, 1826, 1269, 1220, 1826, 1219, - 1221, 1232, 1279, 1230, 1826, 1239, 1282, 1826, 1826, 1288, - 1293, 1298, 1303, 1308, 1313, 1318, 1321, 1295, 1300, 1302, - 1315 ++ 269, 64, 231, 184, 187, 75, 1772, 274, 215, 290, ++ 278, 297, 1755, 207, 302, 316, 316, 1774, 0, 355, ++ 360, 372, 377, 380, 1831, 0, 1831, 295, 383, 227, ++ 296, 283, 327, 361, 293, 1831, 1771, 1810, 1831, 237, ++ ++ 1831, 394, 363, 1758, 1768, 1807, 375, 321, 403, 1762, ++ 369, 378, 376, 382, 388, 1805, 0, 445, 407, 1749, ++ 1757, 364, 1753, 1742, 1743, 372, 1759, 1742, 1751, 387, ++ 308, 378, 1745, 1743, 391, 1732, 1788, 416, 1735, 1786, ++ 1728, 1751, 1748, 1748, 1742, 214, 1735, 1728, 1733, 1727, ++ 382, 1738, 1731, 1722, 1721, 1735, 362, 1771, 1720, 414, ++ 1732, 1735, 1719, 441, 1720, 417, 1732, 1729, 1730, 1728, ++ 422, 1710, 1715, 1711, 1703, 1720, 1712, 0, 422, 450, ++ 440, 446, 454, 470, 1711, 1831, 0, 476, 1702, 1705, ++ 1831, 465, 447, 1831, 1757, 1712, 477, 1755, 481, 1754, ++ ++ 477, 1753, 1831, 521, 1752, 489, 1713, 1708, 1707, 1698, ++ 465, 1747, 1741, 1707, 1686, 1694, 1700, 1688, 1702, 1698, ++ 1699, 1699, 1694, 1686, 1688, 1672, 1676, 1689, 1691, 1688, ++ 1680, 1670, 1673, 1687, 1831, 1673, 1681, 1684, 1665, 1664, ++ 1714, 1663, 1673, 1711, 510, 1672, 1660, 1671, 1707, 490, ++ 1711, 1648, 1663, 9, 1653, 1669, 1650, 1652, 1648, 1654, ++ 1645, 1644, 1657, 1650, 1652, 1656, 1655, 1649, 80, 1656, ++ 1651, 1643, 1633, 1648, 1643, 1647, 1628, 1644, 1630, 1636, ++ 1643, 1631, 230, 1624, 1638, 1637, 1640, 1622, 1630, 491, ++ 1831, 1831, 492, 1831, 1831, 1617, 0, 376, 1619, 508, ++ ++ 501, 1673, 1831, 1626, 480, 1831, 1671, 1831, 1665, 562, ++ 1831, 480, 1607, 1617, 1667, 1624, 1619, 1622, 304, 1831, ++ 1620, 1662, 1617, 1614, 1615, 303, 1619, 1657, 1607, 1602, ++ 1599, 1595, 1597, 1646, 1605, 1594, 1610, 1642, 1590, 568, ++ 1603, 1603, 1586, 1587, 1600, 1587, 1597, 1592, 1599, 1594, ++ 1579, 451, 1588, 1591, 1586, 1582, 1630, 501, 497, 1831, ++ 1624, 1576, 1575, 1568, 1570, 1574, 1563, 1570, 1575, 550, ++ 1620, 1575, 503, 1572, 1576, 1574, 1563, 1563, 1575, 496, ++ 1550, 1551, 1572, 511, 1554, 1551, 1565, 1564, 1550, 1562, ++ 1561, 1560, 1559, 507, 1600, 1599, 1598, 1542, 583, 1555, ++ ++ 1831, 1831, 1554, 0, 518, 1542, 1593, 1592, 1550, 1590, ++ 1831, 1538, 1588, 1831, 541, 617, 520, 1587, 1529, 1831, ++ 1534, 1540, 1543, 1542, 1529, 1528, 1831, 1530, 1527, 1539, ++ 543, 1524, 1526, 1831, 1532, 1517, 1519, 1530, 1528, 1523, ++ 585, 1530, 1518, 1511, 1560, 1831, 1509, 1525, 1557, 1561, ++ 1519, 1513, 1515, 1516, 1518, 1550, 1503, 1498, 1497, 1499, ++ 1492, 1507, 1485, 1492, 1497, 1545, 1831, 1492, 1488, 1542, ++ 1495, 1489, 1496, 1481, 1491, 1494, 1483, 1482, 1477, 1831, ++ 1532, 1831, 1476, 1475, 1468, 1485, 1522, 1469, 1474, 1483, ++ 1477, 1471, 1480, 586, 1515, 1479, 1462, 1462, 1457, 1453, ++ ++ 1459, 1458, 1466, 1470, 1453, 1509, 1451, 1465, 1454, 1831, ++ 1831, 1831, 1454, 1831, 1464, 1498, 1460, 0, 1501, 1451, ++ 1831, 1831, 1448, 1831, 1454, 1831, 562, 562, 593, 1831, ++ 1492, 1439, 1490, 1437, 1436, 1443, 1436, 1448, 1447, 1431, ++ 1446, 1428, 1475, 1442, 1478, 1424, 1426, 1438, 1438, 1437, ++ 1831, 1422, 1419, 1475, 1432, 1424, 1430, 1421, 1429, 1831, ++ 1414, 1425, 1429, 1411, 1425, 555, 1407, 1401, 1406, 1403, ++ 1418, 1419, 1416, 1457, 1414, 1831, 1400, 1402, 1831, 1410, ++ 1447, 1446, 575, 1409, 1392, 1393, 1398, 1389, 1831, 1403, ++ 1389, 608, 1381, 1402, 1399, 1391, 1434, 1388, 1395, 1431, ++ ++ 1831, 1379, 1377, 1391, 1375, 1389, 1392, 1424, 1423, 1422, ++ 1369, 1420, 1419, 1831, 599, 1381, 1381, 1379, 1368, 1370, ++ 1831, 1831, 1413, 1361, 1416, 581, 588, 565, 1375, 1414, ++ 575, 1408, 1407, 1406, 1360, 1350, 1403, 1365, 1355, 1363, ++ 1399, 1362, 1344, 1352, 1354, 1358, 1393, 1397, 1354, 1353, ++ 1831, 1354, 1347, 1336, 1349, 1352, 1347, 1342, 1347, 1344, ++ 1343, 1339, 1345, 1340, 1381, 1380, 1324, 1320, 571, 1377, ++ 1831, 1376, 1325, 1317, 1368, 1331, 1318, 1831, 1318, 1327, ++ 1326, 1326, 1310, 1365, 1308, 1321, 1831, 1313, 1305, 1314, ++ 1307, 1318, 1295, 1299, 1350, 1314, 1296, 1294, 1305, 1345, ++ ++ 1344, 1343, 1290, 1306, 576, 594, 1283, 1293, 588, 1831, ++ 1343, 1289, 1299, 1299, 1288, 1292, 1299, 1336, 1831, 1330, ++ 590, 1283, 1291, 1283, 1831, 1279, 1292, 1272, 1275, 1271, ++ 1288, 11, 65, 79, 184, 220, 300, 426, 389, 419, ++ 469, 551, 579, 1831, 591, 600, 593, 604, 602, 648, ++ 592, 596, 612, 619, 606, 663, 622, 608, 611, 1831, ++ 1831, 627, 626, 631, 619, 1831, 1831, 633, 620, 618, ++ 636, 623, 623, 672, 624, 680, 681, 1831, 628, 642, ++ 642, 685, 635, 637, 631, 689, 644, 634, 635, 631, ++ 641, 645, 656, 640, 658, 653, 655, 648, 650, 662, ++ ++ 652, 667, 706, 665, 670, 647, 1831, 672, 662, 707, ++ 656, 671, 672, 1831, 691, 699, 679, 669, 683, 671, ++ 666, 678, 673, 674, 670, 679, 674, 725, 731, 690, ++ 681, 1831, 693, 678, 694, 684, 696, 690, 735, 704, ++ 688, 690, 1831, 706, 709, 692, 694, 750, 695, 1831, ++ 712, 715, 695, 714, 752, 712, 708, 703, 721, 720, ++ 706, 721, 713, 709, 727, 712, 1831, 1831, 720, 765, ++ 720, 1831, 728, 723, 774, 1831, 725, 730, 772, 726, ++ 727, 739, 733, 737, 735, 733, 744, 787, 733, 789, ++ 790, 736, 748, 1831, 736, 744, 742, 747, 759, 743, ++ ++ 757, 758, 759, 775, 780, 754, 764, 751, 751, 771, ++ 760, 765, 772, 813, 814, 763, 767, 1831, 812, 763, ++ 781, 778, 816, 767, 785, 786, 772, 780, 789, 769, ++ 784, 793, 833, 834, 1831, 789, 836, 837, 790, 800, ++ 802, 786, 787, 794, 803, 846, 795, 794, 811, 850, ++ 802, 806, 804, 802, 855, 856, 808, 858, 854, 814, ++ 1831, 819, 812, 803, 822, 816, 811, 821, 818, 823, ++ 819, 831, 1831, 815, 1831, 1831, 816, 874, 815, 834, ++ 835, 832, 818, 839, 821, 826, 833, 866, 857, 829, ++ 888, 833, 835, 852, 850, 842, 846, 1831, 1831, 856, ++ ++ 854, 857, 841, 842, 900, 855, 860, 847, 858, 850, ++ 856, 852, 871, 872, 873, 1831, 1831, 871, 1831, 873, ++ 1831, 859, 860, 879, 869, 919, 874, 916, 882, 1831, ++ 874, 866, 925, 1831, 926, 875, 882, 924, 1831, 1831, ++ 884, 1831, 875, 875, 878, 892, 897, 880, 891, 938, ++ 897, 898, 899, 937, 895, 944, 945, 1831, 894, 947, ++ 948, 890, 950, 911, 895, 907, 897, 927, 956, 916, ++ 1831, 958, 907, 922, 909, 905, 921, 926, 914, 914, ++ 967, 926, 1831, 928, 927, 929, 922, 931, 932, 929, ++ 919, 922, 922, 979, 928, 981, 982, 928, 985, 1831, ++ ++ 923, 938, 931, 989, 944, 1831, 1831, 940, 950, 936, ++ 953, 939, 998, 999, 946, 956, 1003, 962, 1831, 954, ++ 954, 956, 958, 1009, 954, 1831, 1831, 956, 1831, 1831, ++ 970, 1831, 964, 1014, 965, 1016, 998, 1831, 976, 1831, ++ 963, 971, 965, 964, 967, 967, 968, 1026, 976, 1831, ++ 972, 1029, 984, 975, 990, 990, 993, 993, 990, 1032, ++ 996, 1831, 988, 1831, 1831, 999, 1831, 1000, 1001, 998, ++ 1040, 1831, 991, 991, 997, 996, 1008, 1008, 1831, 1831, ++ 1047, 996, 1831, 1013, 998, 998, 1000, 1006, 1831, 1059, ++ 1012, 1061, 1024, 1831, 1021, 1831, 1040, 1060, 1066, 1067, ++ ++ 1026, 1012, 1070, 1071, 1026, 1831, 1016, 1074, 1831, 1014, ++ 1071, 1036, 1032, 1074, 1024, 1029, 1027, 1084, 1042, 1086, ++ 1087, 1050, 1039, 1033, 1050, 1093, 1037, 1054, 1039, 1054, ++ 1038, 1094, 1095, 1096, 1045, 1098, 1063, 1831, 1049, 1831, ++ 1060, 1107, 1079, 1066, 1831, 1831, 1054, 1111, 1831, 1831, ++ 1060, 1058, 1831, 1114, 1062, 1111, 1056, 1061, 1120, 1070, ++ 1080, 1081, 1831, 1124, 1079, 1831, 1831, 1070, 1085, 1073, ++ 1088, 1831, 1125, 1093, 1086, 1087, 1096, 1078, 1085, 1087, ++ 1139, 1101, 1100, 1143, 1094, 1831, 1145, 1092, 1147, 1831, ++ 1097, 1097, 1831, 1101, 1096, 1095, 1153, 1108, 1831, 1150, ++ ++ 1103, 1100, 1831, 1114, 1117, 1160, 1115, 1162, 1105, 1107, ++ 1115, 1105, 1121, 1122, 1116, 1132, 1831, 1122, 1172, 1831, ++ 1168, 1831, 1133, 1831, 1170, 1127, 1135, 1126, 1133, 1831, ++ 1130, 1135, 1133, 1183, 1184, 1129, 1831, 1144, 1831, 1134, ++ 1146, 1147, 1190, 1134, 1142, 1136, 1144, 1157, 1831, 1156, ++ 1146, 1145, 1199, 1149, 1161, 1152, 1161, 1163, 1167, 1831, ++ 1831, 1206, 1151, 1167, 1209, 1210, 1831, 1206, 1170, 1167, ++ 1172, 1159, 1154, 1217, 1176, 1831, 1219, 1178, 1179, 1222, ++ 1181, 1184, 1831, 1225, 1188, 1831, 1831, 1170, 1228, 1177, ++ 1230, 1175, 1192, 1831, 1178, 1831, 1178, 1180, 1831, 1185, ++ ++ 1195, 1831, 1181, 1193, 1831, 1189, 1831, 1199, 1193, 1197, ++ 1188, 1240, 1189, 1197, 1206, 1199, 1194, 1195, 1210, 1201, ++ 1208, 1195, 1210, 1215, 1258, 1217, 1260, 1261, 1206, 1222, ++ 1213, 1227, 1223, 1216, 1831, 1268, 1831, 1831, 1269, 1270, ++ 1227, 1226, 1227, 1217, 1831, 1831, 1831, 1275, 1219, 1235, ++ 1278, 1831, 1274, 1225, 1831, 1224, 1226, 1237, 1284, 1235, ++ 1831, 1244, 1287, 1831, 1831, 1293, 1298, 1303, 1308, 1313, ++ 1318, 1323, 1326, 1300, 1305, 1307, 1320 } ; - static const flex_int16_t yy_def[1464] = -static const flex_int16_t yy_def[1472] = ++static const flex_int16_t yy_def[1478] = { 0, - 1452, 1452, 1453, 1453, 1452, 1452, 1452, 1452, 1452, 1452, - 1451, 1451, 1451, 1451, 1451, 1454, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1455, - 1451, 1451, 1451, 1456, 15, 1451, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1457, 45, 45, - 1460, 1460, 1461, 1461, 1460, 1460, 1460, 1460, 1460, 1460, - 1459, 1459, 1459, 1459, 1459, 1462, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1463, - 1459, 1459, 1459, 1464, 15, 1459, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, ++ 1466, 1466, 1467, 1467, 1466, 1466, 1466, 1466, 1466, 1466, ++ 1465, 1465, 1465, 1465, 1465, 1468, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1469, ++ 1465, 1465, 1465, 1470, 15, 1465, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1471, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1454, 1451, - 1451, 1451, 1451, 1451, 1451, 1458, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1455, 1451, 1456, - 45, 45, 45, 45, 45, 45, 45, 45, 1462, 1459, - 1459, 1459, 1459, 1459, 1459, 1466, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1463, 1459, 1464, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1468, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1472, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1469, 1465, 1470, - 1451, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 45, 1457, 45, 45, - 1459, 1459, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1467, 45, 1465, 45, 45, ++ 1465, 1465, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1473, 45, 1471, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1458, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1460, 45, 45, 45, - 1451, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1466, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1468, 45, 45, 45, 1459, - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1472, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1474, 45, 45, 45, ++ 1465, 45, 45, 1465, 45, 45, 45, 45, 45, 45, - 45, 1459, 1451, 1457, 45, 45, 45, 45, 45, 45, - 1467, 1459, 1465, 45, 45, 45, 45, 45, 45, 45, ++ 45, 1473, 1465, 1471, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1451, 45, 45, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1461, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1469, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1475, 45, 45, 45, - 45, 45, 1451, 45, 45, 1451, 45, 1451, 45, 1457, - 1451, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 1459, 45, 45, 1459, 45, 1459, 45, 1465, 1459, 45, - 45, 45, 45, 45, 45, 45, 45, 1459, 45, 45, ++ 45, 45, 1465, 45, 45, 1465, 45, 1465, 45, 1471, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1459, 1459, 1459, - - 1470, 45, 45, 45, 45, 45, 45, 1459, 45, 45, - 1459, 45, 1465, 45, 45, 45, 1459, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 45, 1459, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1451, 1451, 1451, 1462, 45, 45, 45, 45, 45, 45, - 1451, 45, 45, 1451, 45, 1457, 45, 45, 45, 1451, - 45, 45, 45, 45, 45, 45, 1451, 45, 45, 45, - 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 1459, 1459, 45, 1459, - 45, 45, 1459, 1471, 45, 45, 1459, 1459, 45, 1459, - 45, 1459, 45, 45, 45, 1459, 45, 45, 45, 45, ++ 1465, 1465, 1465, 1476, 45, 45, 45, 45, 45, 45, ++ 1465, 45, 45, 1465, 45, 1471, 45, 45, 45, 1465, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1451, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 45, - 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1459, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 1451, 1451, 45, 1451, 45, 45, 1451, 1463, 45, 45, - 1451, 1451, 45, 1451, 45, 1451, 45, 45, 45, 1451, - 45, 45, 45, 45, 45, 45, 45, 45, 1459, 45, - 45, 45, 45, 45, 45, 1459, 1459, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 1465, 1465, 45, 1465, 45, 45, 1465, 1477, 45, 45, ++ 1465, 1465, 45, 1465, 45, 1465, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1451, 45, 45, 1451, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1451, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 1465, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, - 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 45, 45, 1465, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 45, 1459, 45, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, ++ 1465, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1451, 45, 45, 45, 45, 45, 45, 1451, - 1451, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, - 45, 45, 45, 1459, 1459, 45, 45, 45, 45, 1459, - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, - 45, 45, 45, 45, 1451, 45, 45, 45, 45, 45, ++ 1465, 45, 45, 45, 45, 45, 45, 1465, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1451, 45, 45, - 45, 45, 45, 45, 45, 45, 1451, 45, 45, 45, - 45, 45, 1451, 45, 45, 45, 45, 45, 45, 45, - 1459, 45, 45, 45, 45, 45, 45, 1459, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, ++ 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1451, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1451, 1451, 45, 45, - 45, 45, 1451, 1451, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1451, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 1465, 45, 45, 45, 45, 1465, 1465, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1459, 1459, 45, 45, 45, 1459, 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1459, 45, 45, + - 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 1451, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1451, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1465, 45, 45, 45, 45, 45, 45, 1465, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1451, 1451, 45, 45, 45, 1451, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, ++ 45, 45, 45, 45, 45, 45, 1465, 1465, 45, 45, ++ 45, 1465, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1459, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1451, 45, 1451, - 1451, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1459, 45, 1459, 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1451, 1451, 45, 45, 45, 45, 45, 45, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1465, 45, 1465, 1465, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1459, 1459, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1465, 1465, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1451, - 1451, 45, 1451, 45, 1451, 45, 45, 45, 45, 45, - 45, 45, 45, 1451, 45, 45, 45, 1451, 45, 45, - 45, 45, 1451, 1451, 45, 1451, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1459, - 1459, 45, 1459, 45, 1459, 45, 45, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 1459, 45, 45, - 45, 45, 1459, 1459, 45, 1459, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1451, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 1459, - - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 1459, - 1459, 45, 1459, 1459, 45, 1459, 45, 45, 45, 45, - 45, 1459, 45, 1459, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1459, 45, 1459, 1459, 45, - 1459, 45, 45, 45, 45, 1459, 45, 45, 45, 45, - 45, 45, 1459, 1459, 45, 45, 1459, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 1459, 45, 1459, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1459, - - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 1465, 45, 1465, 45, ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 45, 45, 45, 1465, 45, 45, 45, 45, 1465, 1465, ++ 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1451, 45, 45, 45, 45, 45, 1451, 1451, - ++ 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ ++ 45, 45, 45, 45, 45, 1465, 1465, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, ++ 45, 45, 45, 45, 45, 1465, 1465, 45, 1465, 1465, ++ 45, 1465, 45, 45, 45, 45, 45, 1465, 45, 1465, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 1451, 1451, - 45, 1451, 1451, 45, 1451, 45, 45, 45, 45, 45, - 1451, 45, 1451, 45, 45, 45, 45, 45, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1451, 45, 1451, 1451, 45, 1451, 45, - 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 1451, 1451, 45, 45, 1451, 45, 45, 45, 45, 45, - 1451, 45, 45, 45, 45, 1451, 45, 1451, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1451, 45, 1451, - 45, 1459, 45, 1459, 45, 45, 45, 45, 1459, 1459, - 45, 45, 1459, 1459, 45, 45, 1459, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 1459, - 1459, 45, 45, 45, 45, 1459, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1459, - 45, 45, 45, 1459, 45, 45, 1459, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 1459, 45, 45, 45, ++ 45, 1465, 45, 1465, 1465, 45, 1465, 45, 45, 45, ++ 45, 1465, 45, 45, 45, 45, 45, 45, 1465, 1465, ++ 45, 45, 1465, 45, 45, 45, 45, 45, 1465, 45, ++ 45, 45, 45, 1465, 45, 1465, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 45, 45, 1465, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, - 1451, 45, 45, 45, 45, 1451, 1451, 45, 45, 1451, - 1451, 45, 1451, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1451, 45, 45, 1451, 1451, 45, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1451, 45, 45, 45, 1451, - 45, 1451, 45, 45, 45, 45, 45, 1451, 45, 45, - 45, 1451, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 1451, 45, 45, 1451, 45, - 1451, 45, 1451, 45, 45, 45, 45, 1451, 45, 45, - 45, 45, 45, 45, 1451, 45, 1451, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1451, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1451, 1451, 45, 45, - 45, 45, 45, 1451, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1451, 45, - 45, 1451, 1451, 45, 45, 45, 45, 45, 45, 1451, - 45, 1451, 45, 45, 1451, 45, 45, 1451, 45, 45, - 1451, 45, 1451, 45, 45, 45, 45, 45, 45, 45, - 1459, 45, 45, 1459, 45, 1459, 45, 1459, 45, 45, - 45, 45, 45, 1459, 45, 45, 45, 45, 45, 45, - 1459, 45, 1459, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1459, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1459, 1459, 45, 45, 45, 45, 45, - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 1459, - 45, 45, 45, 45, 45, 45, 1459, 45, 45, 1459, - 1459, 45, 45, 45, 45, 45, 45, 1459, 45, 1459, - 45, 45, 1459, 45, 45, 1459, 45, 45, 1459, 45, -- - 1459, 45, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 45, 1465, 45, 1465, ++ 45, 45, 45, 45, 1465, 1465, 45, 45, 1465, 1465, ++ 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 1465, 45, 45, 1465, 1465, 45, 45, 45, ++ 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 45, 45, 45, 1465, ++ 45, 45, 1465, 45, 45, 45, 45, 45, 1465, 45, ++ ++ 45, 45, 1465, 45, 45, 45, 45, 45, 45, 45, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 45, 1465, ++ 45, 1465, 45, 1465, 45, 45, 45, 45, 45, 1465, ++ 45, 45, 45, 45, 45, 45, 1465, 45, 1465, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 1465, 45, ++ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1465, ++ 1465, 45, 45, 45, 45, 45, 1465, 45, 45, 45, ++ 45, 45, 45, 45, 45, 1465, 45, 45, 45, 45, ++ 45, 45, 1465, 45, 45, 1465, 1465, 45, 45, 45, ++ 45, 45, 45, 1465, 45, 1465, 45, 45, 1465, 45, ++ ++ 45, 1465, 45, 45, 1465, 45, 1465, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1459, 45, - 1459, 1459, 45, 45, 45, 45, 45, 45, 1459, 1459, - 1459, 45, 45, 45, 45, 1459, 45, 45, 1459, 45, - 45, 45, 45, 45, 1459, 45, 45, 1459, 0, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1451, 45, 1451, 1451, 45, 45, 45, 45, 45, 45, - 1451, 1451, 1451, 45, 45, 45, 45, 1451, 45, 45, - 1451, 45, 45, 45, 45, 45, 1451, 45, 45, 1451, - 0, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451 ++ 45, 45, 45, 45, 1465, 45, 1465, 1465, 45, 45, ++ 45, 45, 45, 45, 1465, 1465, 1465, 45, 45, 45, ++ 45, 1465, 45, 45, 1465, 45, 45, 45, 45, 45, ++ 1465, 45, 45, 1465, 0, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465 } ; - static const flex_int16_t yy_nxt[1889] = -static const flex_int16_t yy_nxt[1898] = ++static const flex_int16_t yy_nxt[1903] = { 0, - 1451, 13, 14, 13, 1451, 15, 16, 1451, 17, 18, - 1459, 13, 14, 13, 1459, 15, 16, 1459, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 85, 360, - 37, 14, 37, 86, 25, 26, 38, 1459, 1459, 27, ++ 1465, 13, 14, 13, 1465, 15, 16, 1465, 17, 18, + 19, 20, 21, 22, 22, 22, 23, 24, 85, 363, - 37, 14, 37, 86, 25, 26, 38, 1451, 1451, 27, ++ 37, 14, 37, 86, 25, 26, 38, 1465, 1465, 27, 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, 115, 30, 13, 14, 13, 90, 91, 25, 31, 92, - 13, 14, 13, 13, 14, 13, 32, 40, 824, 13, - 13, 14, 13, 13, 14, 13, 32, 40, 1459, 13, - 14, 13, 33, 40, 115, 91, 92, 361, 90, 34, ++ 13, 14, 13, 13, 14, 13, 32, 40, 826, 13, + 14, 13, 33, 40, 115, 91, 92, 364, 90, 34, 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 13, 14, 13, 108, 39, 90, 25, 26, 13, 14, 13, 27, 39, 84, 84, 84, 28, 42, 41, 42, 42, 29, 42, 30, 82, 107, 41, 111, 93, 25, 31, 108, - 130, 138, 88, 825, 88, 826, 32, 89, 89, 89, - 130, 137, 88, 824, 88, 825, 32, 89, 89, 89, - 131, 138, 33, 139, 376, 82, 107, 377, 111, 34, ++ 130, 138, 88, 827, 88, 828, 32, 89, 89, 89, + 131, 139, 33, 140, 379, 82, 107, 380, 111, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 48, 49, 50, 51, 45, 52, 53, @@@ -1265,207 -1267,209 +1268,210 @@@ 73, 74, 75, 76, 77, 78, 57, 45, 45, 45, 45, 45, 80, 103, 81, 81, 81, 80, 109, 83, 83, 83, 101, 114, 80, 82, 83, 83, 83, 121, - 82, 145, 122, 112, 123, 146, 124, 82, 162, 103, - 826, 103, 163, 113, 134, 223, 114, 110, 82, 135, - 192, 107, 136, 82, 193, 147, 112, 102, 224, 504, - 82, 45, 505, 45, 45, 45, 45, 119, 45, 45, - 45, 113, 117, 120, 107, 45, 45, 192, 45, 45, - 89, 89, 89, 194, 45, 132, 45, 45, 45, 45, + 82, 133, 122, 112, 123, 306, 124, 82, 134, 103, - 394, 103, 101, 113, 135, 827, 114, 110, 82, 136, ++ 394, 103, 101, 113, 135, 829, 114, 110, 82, 136, + 163, 107, 137, 82, 164, 179, 112, 102, 146, 244, + 82, 45, 147, 45, 45, 45, 45, 119, 45, 45, + 45, 113, 117, 120, 107, 45, 45, 102, 45, 45, - 245, 179, 148, 828, 45, 132, 45, 45, 45, 45, ++ 245, 179, 148, 830, 45, 132, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 89, 89, - 89, 45, 125, 428, 111, 45, 126, 429, 180, 127, - 128, 141, 142, 45, 178, 143, 151, 45, 180, 45, - 118, 144, 129, 148, 152, 149, 153, 150, 112, 114, - 156, 154, 155, 157, 158, 164, 180, 480, 113, 165, - 178, 481, 166, 304, 159, 179, 183, 160, 391, 167, - 168, 170, 114, 171, 101, 169, 827, 172, 84, 84, - 84, 80, 174, 81, 81, 81, 113, 175, 187, 82, - 88, 179, 88, 173, 82, 89, 89, 89, 80, 178, - 83, 83, 83, 84, 84, 84, 179, 191, 100, 102, - - 196, 82, 82, 197, 82, 100, 187, 82, 198, 200, - 208, 199, 187, 289, 242, 181, 214, 215, 225, 209, - 210, 233, 182, 191, 82, 197, 216, 82, 196, 204, - 197, 828, 200, 100, 226, 243, 198, 100, 199, 289, - 205, 100, 220, 228, 221, 196, 229, 254, 255, 100, - 230, 264, 281, 100, 288, 100, 186, 203, 203, 203, - 290, 222, 829, 234, 203, 203, 203, 203, 203, 203, - 288, 258, 274, 248, 259, 260, 275, 289, 290, 299, - 276, 296, 288, 290, 265, 266, 267, 203, 203, 203, - 203, 203, 203, 300, 303, 268, 305, 269, 291, 270, - - 271, 293, 272, 292, 296, 307, 296, 299, 315, 421, - 402, 457, 458, 303, 398, 398, 316, 303, 349, 305, - 300, 410, 317, 402, 672, 407, 422, 488, 410, 310, - 476, 489, 307, 308, 308, 308, 356, 398, 399, 402, - 308, 308, 308, 308, 308, 308, 404, 405, 407, 410, - 464, 515, 414, 493, 510, 406, 466, 494, 830, 511, - 465, 673, 515, 308, 308, 308, 308, 308, 308, 350, - 622, 442, 351, 413, 413, 413, 443, 831, 537, 515, - 413, 413, 413, 413, 413, 413, 477, 523, 547, 524, - 525, 538, 596, 548, 621, 617, 714, 597, 622, 704, - - 623, 656, 657, 413, 413, 413, 413, 413, 413, 705, - 681, 715, 792, 716, 523, 682, 524, 720, 721, 793, - 799, 621, 444, 717, 714, 832, 800, 445, 45, 45, - 45, 833, 834, 835, 715, 45, 45, 45, 45, 45, - 45, 758, 794, 810, 759, 836, 837, 839, 840, 795, - 841, 838, 683, 796, 842, 843, 844, 845, 45, 45, - 45, 45, 45, 45, 846, 847, 848, 849, 850, 851, - 852, 810, 853, 854, 855, 857, 858, 859, 856, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - - 881, 882, 883, 884, 886, 887, 888, 889, 890, 891, - 892, 893, 894, 895, 896, 885, 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, 899, 922, 923, 898, 924, 925, 926, 927, 928, - 929, 932, 933, 934, 935, 930, 936, 937, 938, 939, - 940, 941, 942, 943, 944, 945, 946, 947, 949, 950, - 951, 952, 953, 954, 955, 956, 957, 958, 948, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, - - 980, 981, 982, 984, 983, 985, 931, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, - 982, 983, 1009, 1010, 1011, 1012, 1013, 1015, 1017, 1018, - 1019, 1014, 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, 1046, 1047, - 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1016, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - - 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1062, 1085, - 1086, 1087, 1088, 1089, 1063, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, - 1115, 1116, 1117, 1119, 1120, 1121, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1136, - 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, - 1157, 1158, 1159, 1131, 1160, 1161, 1162, 1163, 1165, 1166, - 1167, 1168, 1169, 1118, 1170, 1164, 1171, 1172, 1173, 1174, - - 1135, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - 1191, 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, 1241, 1242, - 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, - 1253, 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, - 1264, 1237, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, - - 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, - 1283, 1284, 1285, 1286, 1287, 1289, 1290, 1291, 1292, 1288, - 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1281, 1309, 1310, 1311, - 1258, 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, 1339, 1340, - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1352, 1353, 1354, 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, 1399, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 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, 1435, 1436, 1437, 1438, 1439, 1440, - 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 12, 12, - 12, 12, 12, 36, 36, 36, 36, 36, 79, 295, - - 79, 79, 79, 98, 401, 98, 514, 98, 100, 100, - 100, 100, 100, 116, 116, 116, 116, 116, 177, 100, - 177, 177, 177, 201, 201, 201, 823, 822, 821, 820, - 819, 818, 817, 816, 815, 814, 813, 812, 811, 809, - 808, 807, 806, 805, 804, 803, 802, 801, 798, 797, - 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, - 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, - 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, - 761, 760, 757, 756, 755, 754, 753, 752, 751, 750, - 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, - - 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, - 729, 728, 727, 726, 725, 724, 723, 722, 719, 718, - 713, 712, 711, 710, 709, 708, 707, 706, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 680, 679, - 678, 677, 676, 675, 674, 671, 670, 669, 668, 667, - 666, 665, 664, 663, 662, 661, 660, 659, 658, 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, 620, 619, 618, 617, 616, 615, 614, 613, 612, - 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, - 601, 600, 599, 598, 595, 594, 593, 592, 591, 590, - 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, - 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, - 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, - 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, - 549, 546, 545, 544, 543, 542, 541, 540, 539, 536, - 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, - 522, 521, 520, 519, 518, 517, 516, 513, 512, 509, - - 508, 507, 506, 503, 502, 501, 500, 499, 498, 497, - 496, 495, 492, 491, 490, 487, 486, 485, 484, 483, - 482, 479, 478, 475, 474, 473, 472, 471, 470, 469, - 468, 467, 463, 462, 461, 460, 459, 456, 455, 454, - 453, 452, 451, 450, 449, 448, 447, 446, 441, 440, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, - 427, 426, 425, 424, 423, 420, 419, 418, 417, 416, - 415, 412, 411, 409, 408, 403, 400, 397, 396, 395, - 394, 393, 392, 390, 389, 388, 387, 386, 385, 384, - 383, 382, 381, 380, 379, 378, 375, 374, 373, 372, - - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 359, 358, 357, 355, 354, 353, 352, 348, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, - 325, 324, 323, 322, 321, 320, 319, 318, 314, 313, - 312, 311, 309, 202, 306, 304, 302, 301, 298, 297, - 294, 287, 286, 285, 284, 283, 282, 280, 279, 278, - 277, 273, 263, 262, 261, 257, 256, 253, 252, 251, - 250, 249, 247, 246, 245, 244, 241, 240, 239, 238, - 237, 236, 235, 232, 231, 227, 219, 218, 217, 213, - - 212, 211, 207, 206, 202, 195, 190, 189, 188, 185, - 184, 176, 161, 140, 133, 106, 105, 104, 43, 99, - 97, 96, 87, 43, 1459, 11, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459 - + 89, 45, 125, 431, 111, 45, 126, 432, 181, 127, + 128, 142, 143, 45, 180, 144, 152, 45, 181, 45, + 118, 145, 129, 149, 153, 150, 154, 151, 112, 114, + 157, 155, 156, 158, 159, 165, 181, 424, 113, 166, - 180, 193, 167, 224, 160, 179, 184, 161, 829, 168, ++ 180, 193, 167, 224, 160, 179, 184, 161, 831, 168, + 169, 171, 114, 172, 425, 170, 225, 173, 84, 84, + 84, 80, 175, 81, 81, 81, 113, 176, 193, 82, + 88, 182, 88, 174, 82, 89, 89, 89, 80, 180, + 83, 83, 83, 84, 84, 84, 89, 89, 89, 100, + + 188, 82, 82, 192, 82, 197, 100, 82, 194, 198, + 209, 199, 201, 200, 405, 183, 215, 216, 197, 210, + 211, 235, 256, 257, 82, 226, 217, 82, 188, 192, - 221, 830, 222, 197, 100, 201, 198, 195, 100, 199, - 200, 227, 100, 405, 188, 230, 250, 831, 231, 223, ++ 221, 832, 222, 197, 100, 201, 198, 195, 100, 199, ++ 200, 227, 100, 405, 188, 230, 250, 833, 231, 223, + 100, 266, 232, 198, 100, 290, 100, 187, 204, 204, - 204, 205, 832, 236, 292, 204, 204, 204, 204, 204, ++ 204, 205, 834, 236, 292, 204, 204, 204, 204, 204, + 204, 260, 206, 276, 261, 262, 302, 277, 291, 290, + 283, 278, 291, 290, 267, 268, 269, 292, 204, 204, + 204, 204, 204, 204, 292, 270, 298, 271, 301, 272, + + 273, 305, 274, 302, 291, 307, 309, 293, 294, 298, + 461, 462, 413, 317, 305, 401, 401, 295, 405, 298, + 352, 318, 407, 408, 305, 410, 301, 319, 307, 413, - 833, 409, 312, 309, 310, 310, 310, 359, 401, 402, ++ 835, 409, 312, 309, 310, 310, 310, 359, 401, 402, + 413, 310, 310, 310, 310, 310, 310, 417, 410, 468, + 484, 519, 492, 519, 485, 480, 493, 470, 497, 469, - 508, 676, 498, 509, 310, 310, 310, 310, 310, 310, ++ 508, 836, 498, 509, 310, 310, 310, 310, 310, 310, + 527, 353, 528, 446, 354, 416, 416, 416, 447, 519, - 834, 529, 416, 416, 416, 416, 416, 416, 514, 550, - 600, 625, 626, 515, 551, 601, 621, 527, 677, 528, - - 718, 627, 660, 661, 708, 416, 416, 416, 416, 416, - 416, 481, 685, 719, 709, 720, 761, 686, 625, 762, - 626, 724, 725, 835, 448, 721, 795, 836, 718, 449, - 45, 45, 45, 796, 837, 838, 719, 45, 45, 45, - 45, 45, 45, 802, 797, 813, 841, 839, 842, 803, - 843, 798, 840, 844, 687, 799, 845, 846, 847, 848, - 45, 45, 45, 45, 45, 45, 849, 850, 851, 852, - 853, 854, 855, 813, 856, 857, 859, 860, 861, 858, - 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, ++ 678, 529, 416, 416, 416, 416, 416, 416, 514, 541, ++ 551, 601, 626, 515, 627, 552, 602, 527, 622, 528, ++ ++ 662, 663, 542, 628, 710, 416, 416, 416, 416, 416, ++ 416, 481, 721, 687, 711, 720, 722, 679, 688, 626, ++ 726, 727, 627, 816, 448, 764, 723, 798, 765, 449, ++ 45, 45, 45, 837, 799, 721, 838, 45, 45, 45, ++ 45, 45, 45, 720, 805, 800, 839, 840, 841, 842, ++ 806, 816, 801, 843, 845, 689, 802, 846, 844, 847, ++ 45, 45, 45, 45, 45, 45, 848, 849, 850, 851, ++ 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, ++ 863, 864, 865, 862, 866, 867, 868, 869, 870, 871, + 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, + - 882, 883, 884, 885, 886, 888, 889, 890, 891, 892, - 893, 894, 895, 896, 897, 898, 887, 899, 900, 901, - 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, ++ 882, 883, 884, 885, 886, 887, 888, 889, 890, 892, ++ 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, ++ 891, 903, 904, 905, 906, 907, 908, 909, 910, 911, + 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, - 922, 923, 901, 924, 925, 900, 926, 927, 928, 929, - 930, 933, 934, 935, 936, 931, 937, 938, 939, 940, - 941, 942, 943, 944, 945, 946, 947, 948, 950, 951, - 952, 953, 954, 955, 956, 957, 958, 959, 949, 960, - 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, ++ 922, 923, 924, 925, 926, 927, 905, 928, 929, 904, ++ 930, 931, 932, 933, 934, 935, 938, 939, 940, 941, ++ 936, 942, 943, 944, 945, 946, 947, 948, 949, 950, ++ 951, 952, 953, 955, 956, 957, 958, 959, 960, 961, ++ 962, 963, 964, 954, 965, 966, 967, 968, 969, 970, + 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, + - 981, 982, 983, 985, 984, 986, 932, 987, 988, 989, - 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, ++ 981, 982, 983, 984, 985, 986, 987, 988, 990, 989, ++ 991, 937, 992, 993, 994, 995, 996, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, - 983, 984, 1010, 1011, 1012, 1013, 1015, 1017, 1018, 1019, - 1014, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, ++ 1010, 1011, 1012, 1013, 1014, 988, 989, 1015, 1016, 1017, ++ 1018, 1019, 1021, 1023, 1024, 1025, 1020, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1016, 1057, - 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, ++ 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, ++ 1059, 1060, 1061, 1062, 1022, 1063, 1064, 1065, 1066, 1067, + 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1062, 1085, 1086, - 1087, 1088, 1089, 1063, 1090, 1091, 1092, 1093, 1094, 1095, ++ 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, ++ 1088, 1089, 1090, 1068, 1091, 1092, 1093, 1094, 1095, 1069, + 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, 1129, 1130, 1131, 1132, 1133, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, ++ 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1125, 1126, ++ 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, ++ 1137, 1138, 1139, 1140, 1142, 1143, 1144, 1145, 1146, 1147, + 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, - 1158, 1130, 1159, 1160, 1161, 1163, 1164, 1165, 1166, 1167, - 1168, 1117, 1162, 1169, 1170, 1171, 1172, 1173, 1134, 1174, ++ 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1137, 1166, ++ 1167, 1168, 1169, 1171, 1172, 1173, 1174, 1175, 1124, 1176, + - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, ++ 1170, 1177, 1178, 1179, 1180, 1141, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, + 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1189, 1212, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, ++ 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, ++ 1215, 1216, 1217, 1218, 1219, 1197, 1220, 1221, 1222, 1223, + 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, + 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, + 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, - 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1234, 1262, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, - - 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1284, - 1285, 1286, 1287, 1283, 1288, 1289, 1290, 1291, 1292, 1293, - 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 1277, 1305, 1306, 1307, 1254, 1308, 1309, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, ++ 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, ++ 1265, 1266, 1267, 1268, 1269, 1270, 1243, 1271, 1272, 1273, ++ ++ 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, ++ 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, ++ 1295, 1296, 1297, 1298, 1294, 1299, 1300, 1301, 1302, 1303, ++ 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, ++ 1314, 1287, 1315, 1316, 1317, 1264, 1318, 1319, 1320, 1321, + 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, + 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, + 1352, 1353, 1354, 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, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1406, 1407, 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, 1435, 1436, 1437, 1438, 1439, 1440, 1441, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 12, - 12, 12, 12, 12, 36, 36, 36, 36, 36, 79, - 297, 79, 79, 79, 98, 404, 98, 518, 98, 100, - - 100, 100, 100, 100, 116, 116, 116, 116, 116, 178, - 100, 178, 178, 178, 202, 202, 202, 823, 822, 821, - 820, 819, 818, 817, 816, 815, 814, 812, 811, 810, - 809, 808, 807, 806, 805, 804, 801, 800, 794, 793, - 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, - 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, - 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, - 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, - 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, - 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, - - 730, 729, 728, 727, 726, 723, 722, 717, 716, 715, - 714, 713, 712, 711, 710, 707, 706, 705, 704, 703, - 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, - 692, 691, 690, 689, 688, 684, 683, 682, 681, 680, - 679, 678, 675, 674, 673, 672, 671, 670, 669, 668, - 667, 666, 665, 664, 663, 662, 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, 624, 623, - 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, - - 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - 602, 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, 572, 571, - 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 549, - 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 530, 526, - 525, 524, 523, 522, 521, 520, 517, 516, 513, 512, - 511, 510, 507, 506, 505, 504, 503, 502, 501, 500, - - 499, 496, 495, 494, 491, 490, 489, 488, 487, 486, - 483, 482, 479, 478, 477, 476, 475, 474, 473, 472, - 471, 467, 466, 465, 464, 463, 460, 459, 458, 457, - 456, 455, 454, 453, 452, 451, 450, 445, 444, 443, - 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, - 430, 429, 428, 427, 426, 423, 422, 421, 420, 419, - 418, 415, 414, 412, 411, 406, 403, 400, 399, 398, - 397, 396, 395, 393, 392, 391, 390, 389, 388, 387, - 386, 385, 384, 383, 382, 381, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - - 362, 361, 360, 358, 357, 356, 355, 351, 350, 349, - 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, - 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, - 328, 327, 326, 325, 324, 323, 322, 321, 320, 316, - 315, 314, 313, 311, 203, 308, 306, 304, 303, 300, - 299, 296, 289, 288, 287, 286, 285, 284, 282, 281, - 280, 279, 275, 265, 264, 263, 259, 258, 255, 254, - 253, 252, 251, 249, 248, 247, 246, 243, 242, 241, - 240, 239, 238, 237, 234, 233, 229, 228, 220, 219, - 218, 214, 213, 212, 208, 207, 203, 196, 191, 190, - - 189, 186, 185, 177, 162, 141, 106, 105, 104, 43, - 99, 97, 96, 87, 43, 1451, 11, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451 ++ 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, ++ 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, ++ 1462, 1463, 1464, 12, 12, 12, 12, 12, 36, 36, ++ ++ 36, 36, 36, 79, 297, 79, 79, 79, 98, 404, ++ 98, 518, 98, 100, 100, 100, 100, 100, 116, 116, ++ 116, 116, 116, 178, 100, 178, 178, 178, 202, 202, ++ 202, 825, 824, 823, 822, 821, 820, 819, 818, 817, ++ 815, 814, 813, 812, 811, 810, 809, 808, 807, 804, ++ 803, 797, 796, 795, 794, 793, 792, 791, 790, 789, ++ 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, ++ 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, ++ 768, 767, 766, 763, 762, 761, 760, 759, 758, 757, ++ 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, ++ ++ 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, ++ 736, 735, 734, 733, 732, 731, 730, 729, 728, 725, ++ 724, 719, 718, 717, 716, 715, 714, 713, 712, 709, ++ 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, ++ 698, 697, 696, 695, 694, 693, 692, 691, 690, 686, ++ 685, 684, 683, 682, 681, 680, 677, 676, 675, 674, ++ 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, ++ 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, 625, 624, 623, 622, 621, 620, 619, ++ 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, ++ 608, 607, 606, 605, 604, 603, 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, 572, 571, 570, 569, 568, 567, ++ 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, ++ 556, 555, 554, 553, 550, 549, 548, 547, 546, 545, ++ 544, 543, 540, 539, 538, 537, 536, 535, 534, 533, ++ 532, 531, 530, 526, 525, 524, 523, 522, 521, 520, ++ ++ 517, 516, 513, 512, 511, 510, 507, 506, 505, 504, ++ 503, 502, 501, 500, 499, 496, 495, 494, 491, 490, ++ 489, 488, 487, 486, 483, 482, 479, 478, 477, 476, ++ 475, 474, 473, 472, 471, 467, 466, 465, 464, 463, ++ 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, ++ 450, 445, 444, 443, 442, 441, 440, 439, 438, 437, ++ 436, 435, 434, 433, 430, 429, 428, 427, 426, 423, ++ 422, 421, 420, 419, 418, 415, 414, 412, 411, 406, ++ 403, 400, 399, 398, 397, 396, 395, 393, 392, 391, ++ 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, ++ ++ 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, ++ 368, 367, 366, 365, 362, 361, 360, 358, 357, 356, ++ 355, 351, 350, 349, 348, 347, 346, 345, 344, 343, ++ 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, ++ 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, ++ 322, 321, 320, 316, 315, 314, 313, 311, 203, 308, ++ 306, 304, 303, 300, 299, 296, 289, 288, 287, 286, ++ 285, 284, 282, 281, 280, 279, 275, 265, 264, 263, ++ 259, 258, 255, 254, 253, 252, 251, 249, 248, 247, ++ 246, 243, 242, 241, 240, 239, 238, 237, 234, 233, ++ ++ 229, 228, 220, 219, 218, 214, 213, 212, 208, 207, ++ 203, 196, 191, 190, 189, 186, 185, 177, 162, 141, ++ 106, 105, 104, 43, 99, 97, 96, 87, 43, 1465, ++ 11, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ ++ 1465, 1465 } ; - static const flex_int16_t yy_chk[1889] = -static const flex_int16_t yy_chk[1898] = ++static const flex_int16_t yy_chk[1903] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 21, 252, + 1, 1, 1, 1, 1, 1, 1, 1, 21, 254, 3, 3, 3, 21, 1, 1, 3, 0, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 57, 1, 5, 5, 5, 26, 32, 1, 1, 33, - 6, 6, 6, 7, 7, 7, 1, 7, 731, 8, - 6, 6, 6, 7, 7, 7, 1, 7, 0, 8, - 8, 8, 1, 8, 57, 27, 28, 252, 26, 1, ++ 6, 6, 6, 7, 7, 7, 1, 7, 732, 8, + 8, 8, 1, 8, 57, 27, 28, 254, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 52, 5, 31, 2, 2, 10, 10, 10, 2, 6, 20, 20, 20, 2, 37, 9, 37, 42, 2, 42, 2, 20, 51, 10, 54, 31, 2, 2, 52, - 62, 66, 25, 732, 25, 733, 2, 25, 25, 25, - 62, 66, 25, 730, 25, 731, 2, 25, 25, 25, - 62, 66, 2, 66, 267, 20, 51, 267, 54, 2, ++ 62, 66, 25, 733, 25, 734, 2, 25, 25, 25, + 62, 66, 2, 66, 269, 20, 51, 269, 54, 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, @@@ -1476,188 -1480,190 +1482,191 @@@ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 47, 17, 17, 17, 19, 53, 19, 19, 19, 44, 56, 22, 17, 22, 22, 22, 60, - 19, 69, 60, 55, 60, 69, 60, 22, 74, 47, - 732, 59, 74, 55, 65, 131, 56, 53, 17, 65, - 108, 63, 65, 19, 109, 69, 55, 44, 131, 391, - 22, 45, 391, 45, 45, 45, 45, 59, 45, 45, - 45, 55, 58, 59, 63, 45, 45, 108, 45, 58, - 88, 88, 88, 109, 45, 63, 45, 45, 45, 45, + 19, 64, 60, 55, 60, 283, 60, 22, 64, 47, - 283, 59, 100, 55, 65, 734, 56, 53, 17, 65, ++ 283, 59, 100, 55, 65, 735, 56, 53, 17, 65, + 74, 63, 65, 19, 74, 90, 55, 44, 69, 146, + 22, 45, 69, 45, 45, 45, 45, 59, 45, 45, + 45, 55, 58, 59, 63, 45, 45, 100, 45, 58, - 146, 90, 69, 735, 45, 63, 45, 45, 45, 45, ++ 146, 90, 69, 736, 45, 63, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 58, 89, 89, - 89, 58, 61, 324, 70, 58, 61, 324, 92, 61, - 61, 68, 68, 58, 90, 68, 71, 58, 95, 58, + 45, 45, 45, 45, 45, 45, 45, 58, 88, 88, + 88, 58, 61, 326, 70, 58, 61, 326, 92, 61, + 61, 68, 68, 58, 91, 68, 71, 58, 95, 58, 58, 68, 61, 70, 71, 70, 71, 70, 76, 77, - 72, 71, 71, 72, 72, 75, 92, 370, 76, 75, - 90, 370, 75, 281, 72, 91, 95, 72, 281, 75, - 75, 76, 77, 76, 100, 75, 733, 76, 80, 80, - 80, 81, 77, 81, 81, 81, 76, 77, 103, 80, - 82, 91, 82, 76, 81, 82, 82, 82, 83, 93, - 83, 83, 83, 84, 84, 84, 94, 107, 102, 100, - - 111, 83, 80, 112, 84, 102, 103, 81, 113, 115, - 122, 114, 119, 179, 145, 93, 126, 126, 132, 122, - 122, 137, 94, 107, 83, 170, 126, 84, 111, 119, - 112, 734, 115, 102, 132, 145, 113, 102, 114, 179, - 119, 102, 130, 134, 130, 150, 134, 156, 156, 102, - 134, 163, 170, 102, 178, 102, 102, 118, 118, 118, - 180, 130, 735, 137, 118, 118, 118, 118, 118, 118, - 181, 159, 165, 150, 159, 159, 165, 182, 183, 191, - 165, 187, 178, 180, 163, 163, 163, 118, 118, 118, - 118, 118, 118, 192, 196, 163, 198, 163, 181, 163, - - 163, 183, 163, 182, 187, 200, 205, 191, 210, 317, - 296, 349, 349, 248, 288, 291, 210, 196, 243, 198, - 192, 303, 210, 310, 578, 299, 317, 377, 356, 205, - 367, 377, 200, 203, 203, 203, 248, 288, 291, 296, - 203, 203, 203, 203, 203, 203, 298, 298, 299, 303, - 355, 402, 310, 381, 396, 298, 356, 381, 736, 396, - 355, 578, 414, 203, 203, 203, 203, 203, 203, 243, - 524, 337, 243, 308, 308, 308, 337, 737, 428, 402, - 308, 308, 308, 308, 308, 308, 367, 412, 438, 412, - 414, 428, 490, 438, 523, 525, 621, 490, 524, 610, - - 525, 561, 561, 308, 308, 308, 308, 308, 308, 610, - 587, 622, 699, 623, 412, 587, 412, 626, 626, 699, - 703, 523, 337, 623, 621, 739, 703, 337, 413, 413, - 413, 740, 741, 742, 622, 413, 413, 413, 413, 413, - 413, 663, 700, 715, 663, 743, 744, 745, 746, 700, - 747, 744, 587, 700, 748, 749, 750, 751, 413, 413, - 413, 413, 413, 413, 752, 753, 756, 757, 758, 759, - 762, 715, 763, 764, 765, 766, 767, 768, 765, 769, - 770, 771, 773, 774, 775, 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, - 802, 803, 804, 805, 806, 794, 807, 809, 810, 811, - 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, - 822, 823, 824, 825, 827, 828, 829, 830, 831, 832, - 833, 810, 834, 835, 809, 836, 838, 839, 840, 841, - 842, 843, 845, 846, 847, 842, 848, 849, 850, 851, - 852, 853, 854, 855, 856, 857, 858, 859, 860, 863, - 864, 865, 867, 868, 869, 871, 872, 873, 859, 874, - 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, - 885, 886, 887, 889, 890, 891, 892, 893, 894, 895, - - 896, 897, 898, 900, 899, 901, 842, 902, 903, 904, - 905, 906, 907, 908, 909, 910, 911, 913, 914, 915, - 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, - 898, 899, 926, 927, 928, 930, 931, 932, 933, 934, - 935, 931, 936, 937, 938, 939, 940, 941, 942, 943, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, - 954, 956, 957, 958, 959, 960, 961, 962, 963, 964, - 965, 966, 968, 971, 972, 973, 974, 975, 976, 932, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 994, 995, 996, 997, 998, - - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 982, 1007, - 1008, 1009, 1012, 1014, 983, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 1025, 1026, 1027, 1029, 1030, 1031, 1032, - 1035, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054, 1055, 1056, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1066, 1067, - 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1078, - 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1062, 1092, 1093, 1095, 1096, 1097, 1098, - 1099, 1102, 1103, 1048, 1104, 1096, 1105, 1106, 1107, 1108, - - 1066, 1109, 1110, 1111, 1112, 1114, 1115, 1116, 1117, 1118, - 1119, 1122, 1125, 1127, 1128, 1129, 1130, 1131, 1133, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1145, 1146, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1157, - 1131, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, - 1171, 1172, 1175, 1176, 1178, 1179, 1180, 1181, 1182, 1184, - 1185, 1186, 1187, 1189, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1201, 1202, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1191, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, - - 1227, 1228, 1229, 1230, 1231, 1233, 1235, 1236, 1237, 1238, - 1241, 1242, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1248, - 1253, 1254, 1255, 1256, 1258, 1259, 1262, 1263, 1264, 1265, - 1267, 1268, 1269, 1270, 1271, 1272, 1237, 1273, 1274, 1275, - 1212, 1276, 1277, 1278, 1279, 1281, 1282, 1283, 1285, 1286, - 1288, 1289, 1290, 1291, 1292, 1294, 1295, 1296, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, - 1310, 1312, 1313, 1315, 1317, 1319, 1320, 1321, 1322, 1323, - 1325, 1326, 1327, 1328, 1329, 1330, 1332, 1334, 1335, 1336, - 1337, 1338, 1339, 1340, 1341, 1342, 1344, 1345, 1346, 1347, - - 1348, 1349, 1350, 1351, 1352, 1353, 1356, 1357, 1358, 1359, - 1360, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1371, - 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1382, 1383, 1384, - 1385, 1386, 1387, 1389, 1391, 1392, 1394, 1395, 1397, 1398, - 1400, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, - 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1433, - 1434, 1435, 1436, 1437, 1438, 1442, 1443, 1444, 1445, 1447, - 1448, 1450, 1451, 1452, 1453, 1454, 1456, 1457, 1460, 1460, - 1460, 1460, 1460, 1461, 1461, 1461, 1461, 1461, 1462, 1468, - - 1462, 1462, 1462, 1463, 1469, 1463, 1470, 1463, 1464, 1464, - 1464, 1464, 1464, 1465, 1465, 1465, 1465, 1465, 1466, 1471, - 1466, 1466, 1466, 1467, 1467, 1467, 729, 728, 727, 726, - 725, 724, 723, 722, 721, 720, 718, 717, 716, 714, - 712, 711, 710, 709, 708, 707, 706, 705, 702, 701, - 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, - 688, 687, 686, 685, 684, 683, 682, 680, 679, 678, - 677, 676, 675, 674, 673, 671, 670, 669, 668, 667, - 666, 664, 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, 625, 624, - 620, 619, 618, 615, 614, 613, 612, 611, 608, 607, - 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, - 595, 594, 593, 592, 591, 590, 589, 588, 586, 585, - 583, 582, 581, 580, 579, 577, 576, 575, 573, 572, - 570, 569, 568, 567, 566, 565, 564, 563, 562, 560, - 559, 558, 557, 556, 554, 553, 552, 551, 550, 549, - 548, 546, 545, 544, 543, 542, 541, 540, 539, 538, - 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, - - 527, 521, 519, 516, 515, 513, 512, 511, 509, 505, - 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, - 494, 493, 492, 491, 489, 488, 487, 486, 485, 484, - 483, 482, 481, 480, 479, 477, 475, 474, 473, 472, - 471, 470, 469, 468, 467, 466, 465, 464, 462, 461, - 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, - 450, 449, 448, 447, 446, 445, 444, 443, 441, 440, - 439, 437, 436, 435, 434, 433, 432, 430, 429, 427, - 426, 425, 423, 422, 421, 420, 419, 418, 416, 415, - 410, 409, 407, 406, 405, 404, 403, 400, 397, 395, - - 394, 393, 392, 390, 389, 388, 387, 386, 385, 384, - 383, 382, 380, 379, 378, 376, 375, 374, 373, 372, - 371, 369, 368, 366, 365, 364, 363, 362, 361, 360, - 359, 358, 354, 353, 352, 351, 350, 348, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 336, 335, - 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, - 323, 322, 321, 320, 319, 316, 315, 314, 313, 312, - 311, 307, 305, 302, 300, 297, 294, 287, 286, 285, - 284, 283, 282, 280, 279, 278, 277, 276, 275, 274, - 273, 272, 271, 270, 269, 268, 266, 265, 264, 263, - - 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, - 251, 250, 249, 247, 246, 245, 244, 242, 241, 240, - 239, 238, 237, 236, 235, 234, 232, 231, 230, 229, - 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, - 218, 217, 216, 215, 214, 213, 212, 211, 209, 208, - 207, 206, 204, 201, 199, 197, 195, 194, 189, 188, - 184, 176, 175, 174, 173, 172, 171, 169, 168, 167, - 166, 164, 162, 161, 160, 158, 157, 155, 154, 153, - 152, 151, 149, 148, 147, 146, 144, 143, 142, 141, - 140, 139, 138, 136, 135, 133, 129, 128, 127, 125, - - 124, 123, 121, 120, 116, 110, 106, 105, 104, 98, - 97, 78, 73, 67, 64, 50, 49, 48, 43, 41, - 39, 38, 24, 14, 11, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459 - + 72, 71, 71, 72, 72, 75, 92, 319, 76, 75, - 91, 108, 75, 131, 72, 93, 95, 72, 736, 75, ++ 91, 108, 75, 131, 72, 93, 95, 72, 737, 75, + 75, 76, 77, 76, 319, 75, 131, 76, 80, 80, + 80, 81, 77, 81, 81, 81, 76, 77, 108, 80, + 82, 93, 82, 76, 81, 82, 82, 82, 83, 94, + 83, 83, 83, 84, 84, 84, 89, 89, 89, 102, + + 103, 83, 80, 107, 84, 111, 102, 81, 109, 112, + 122, 113, 115, 114, 298, 94, 126, 126, 151, 122, + 122, 138, 157, 157, 83, 132, 126, 84, 103, 107, - 130, 737, 130, 111, 102, 115, 112, 109, 102, 113, - 114, 132, 102, 298, 119, 135, 151, 738, 135, 130, ++ 130, 738, 130, 111, 102, 115, 112, 109, 102, 113, ++ 114, 132, 102, 298, 119, 135, 151, 739, 135, 130, + 102, 164, 135, 171, 102, 179, 102, 102, 118, 118, - 118, 119, 739, 138, 181, 118, 118, 118, 118, 118, ++ 118, 119, 740, 138, 181, 118, 118, 118, 118, 118, + 118, 160, 119, 166, 160, 160, 193, 166, 180, 182, + 171, 166, 183, 179, 164, 164, 164, 181, 118, 118, + 118, 118, 118, 118, 184, 164, 188, 164, 192, 164, + + 164, 197, 164, 193, 180, 199, 201, 182, 183, 206, + 352, 352, 305, 211, 250, 290, 293, 184, 312, 188, + 245, 211, 300, 300, 197, 301, 192, 211, 199, 359, - 740, 300, 206, 201, 204, 204, 204, 250, 290, 293, ++ 741, 300, 206, 201, 204, 204, 204, 250, 290, 293, + 305, 204, 204, 204, 204, 204, 204, 312, 301, 358, + 373, 405, 380, 417, 373, 370, 380, 359, 384, 358, - 394, 582, 384, 394, 204, 204, 204, 204, 204, 204, ++ 394, 742, 384, 394, 204, 204, 204, 204, 204, 204, + 415, 245, 415, 340, 245, 310, 310, 310, 340, 405, - 742, 417, 310, 310, 310, 310, 310, 310, 399, 441, - 494, 527, 528, 399, 441, 494, 529, 415, 582, 415, - - 625, 529, 565, 565, 614, 310, 310, 310, 310, 310, - 310, 370, 591, 626, 614, 627, 667, 591, 527, 667, - 528, 630, 630, 743, 340, 627, 703, 744, 625, 340, - 416, 416, 416, 703, 745, 746, 626, 416, 416, 416, - 416, 416, 416, 707, 704, 719, 748, 747, 749, 707, - 750, 704, 747, 751, 591, 704, 752, 753, 754, 755, - 416, 416, 416, 416, 416, 416, 756, 759, 760, 761, - 762, 765, 766, 719, 767, 768, 769, 770, 771, 768, - 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, 801, 802, - 803, 805, 806, 807, 808, 809, 797, 810, 812, 813, - 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, - 824, 825, 826, 827, 829, 830, 831, 832, 833, 834, - 835, 836, 813, 837, 838, 812, 840, 841, 842, 843, - 844, 845, 847, 848, 849, 844, 850, 851, 852, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 865, - 866, 867, 869, 870, 871, 873, 874, 875, 861, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 891, 892, 893, 894, 895, 896, 897, - - 898, 899, 900, 902, 901, 903, 844, 904, 905, 906, - 907, 908, 909, 910, 911, 912, 913, 915, 916, 917, - 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - 900, 901, 928, 929, 931, 932, 933, 934, 935, 936, - 932, 937, 938, 939, 940, 941, 942, 943, 944, 945, - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 969, 972, 973, 974, 975, 976, 977, 933, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 995, 996, 997, 998, 999, 1000, - - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 983, 1008, 1009, - 1012, 1014, 1016, 984, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1025, 1026, 1027, 1029, 1030, 1031, 1032, 1035, 1037, - 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, - 1048, 1049, 1050, 1051, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1062, 1092, 1094, 1095, 1096, 1097, 1098, 1101, 1102, - 1103, 1048, 1095, 1104, 1105, 1106, 1107, 1108, 1066, 1109, - - 1110, 1111, 1113, 1114, 1115, 1116, 1117, 1118, 1121, 1124, - 1126, 1127, 1128, 1129, 1130, 1132, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1143, 1144, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1152, 1153, 1155, 1158, 1130, 1160, 1161, - 1162, 1163, 1165, 1166, 1167, 1168, 1169, 1170, 1173, 1174, - 1176, 1177, 1178, 1179, 1180, 1182, 1183, 1184, 1185, 1187, - 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1199, - 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1208, 1209, - 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1189, 1217, 1218, - 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, - - 1230, 1232, 1233, 1234, 1235, 1238, 1239, 1242, 1244, 1245, - 1246, 1247, 1248, 1244, 1249, 1250, 1251, 1252, 1254, 1255, - 1258, 1259, 1260, 1261, 1263, 1264, 1265, 1266, 1267, 1268, - 1269, 1234, 1270, 1271, 1272, 1209, 1273, 1274, 1275, 1277, - 1278, 1279, 1281, 1283, 1284, 1285, 1286, 1287, 1289, 1290, - 1291, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, - 1302, 1303, 1304, 1305, 1307, 1308, 1310, 1312, 1314, 1315, - 1316, 1317, 1319, 1320, 1321, 1322, 1323, 1324, 1326, 1328, - 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1338, 1339, - 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1349, 1350, 1351, - - 1352, 1353, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, - 1363, 1364, 1365, 1366, 1367, 1368, 1370, 1371, 1374, 1375, - 1376, 1377, 1378, 1379, 1381, 1383, 1384, 1386, 1387, 1389, - 1390, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1422, - 1425, 1426, 1427, 1428, 1429, 1430, 1434, 1435, 1436, 1437, - 1439, 1440, 1442, 1443, 1444, 1445, 1446, 1448, 1449, 1452, - 1452, 1452, 1452, 1452, 1453, 1453, 1453, 1453, 1453, 1454, - 1460, 1454, 1454, 1454, 1455, 1461, 1455, 1462, 1455, 1456, - - 1456, 1456, 1456, 1456, 1457, 1457, 1457, 1457, 1457, 1458, - 1463, 1458, 1458, 1458, 1459, 1459, 1459, 730, 729, 728, - 727, 726, 725, 724, 722, 721, 720, 718, 716, 715, - 714, 713, 712, 711, 710, 709, 706, 705, 702, 701, - 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, - 690, 689, 688, 687, 686, 684, 683, 682, 681, 680, - 679, 678, 677, 675, 674, 673, 672, 671, 670, 668, - 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, - 656, 655, 654, 653, 652, 651, 650, 648, 647, 646, - 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, - - 635, 634, 633, 632, 631, 629, 628, 624, 623, 622, - 619, 618, 617, 616, 615, 612, 611, 610, 609, 608, - 607, 606, 605, 604, 603, 602, 601, 599, 598, 597, - 596, 595, 594, 593, 592, 590, 589, 587, 586, 585, - 584, 583, 581, 580, 579, 577, 576, 574, 573, 572, - 571, 570, 569, 568, 567, 566, 564, 563, 562, 561, - 560, 558, 557, 556, 555, 554, 553, 552, 551, 549, - 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 525, 523, - 520, 519, 517, 516, 515, 513, 509, 508, 507, 506, - - 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, - 495, 493, 492, 491, 490, 489, 488, 487, 486, 485, - 484, 483, 481, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 469, 468, 466, 465, 464, 463, 462, - 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 445, 444, 443, 442, 440, - 439, 438, 437, 436, 435, 433, 432, 431, 430, 429, - 428, 426, 425, 424, 423, 422, 421, 419, 418, 413, - 412, 410, 409, 408, 407, 406, 403, 400, 398, 397, - 396, 395, 393, 392, 391, 390, 389, 388, 387, 386, - - 385, 383, 382, 381, 379, 378, 377, 376, 375, 374, - 372, 371, 369, 368, 367, 366, 365, 364, 363, 362, - 361, 357, 356, 355, 354, 353, 351, 350, 349, 348, - 347, 346, 345, 344, 343, 342, 341, 339, 338, 337, - 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, - 325, 324, 323, 322, 321, 318, 317, 316, 315, 314, - 313, 309, 307, 304, 302, 299, 296, 289, 288, 287, - 286, 285, 284, 282, 281, 280, 279, 278, 277, 276, - 275, 274, 273, 272, 271, 270, 268, 267, 266, 265, - 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, - - 253, 252, 251, 249, 248, 247, 246, 244, 243, 242, - 241, 240, 239, 238, 237, 236, 234, 233, 232, 231, - 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, - 220, 219, 218, 217, 216, 215, 214, 213, 212, 210, - 209, 208, 207, 205, 202, 200, 198, 196, 195, 190, - 189, 185, 177, 176, 175, 174, 173, 172, 170, 169, - 168, 167, 165, 163, 162, 161, 159, 158, 156, 155, - 154, 153, 152, 150, 149, 148, 147, 145, 144, 143, - 142, 141, 140, 139, 137, 136, 134, 133, 129, 128, - 127, 125, 124, 123, 121, 120, 116, 110, 106, 105, - - 104, 98, 97, 78, 73, 67, 50, 49, 48, 43, - 41, 39, 38, 24, 14, 11, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451 ++ 583, 417, 310, 310, 310, 310, 310, 310, 399, 431, ++ 441, 494, 527, 399, 528, 441, 494, 415, 529, 415, ++ ++ 566, 566, 431, 529, 615, 310, 310, 310, 310, 310, ++ 310, 370, 627, 592, 615, 626, 628, 583, 592, 527, ++ 631, 631, 528, 721, 340, 669, 628, 705, 669, 340, ++ 416, 416, 416, 743, 705, 627, 745, 416, 416, 416, ++ 416, 416, 416, 626, 709, 706, 746, 747, 748, 749, ++ 709, 721, 706, 750, 751, 592, 706, 752, 750, 753, ++ 416, 416, 416, 416, 416, 416, 754, 755, 756, 757, ++ 758, 759, 762, 763, 764, 765, 768, 769, 770, 771, ++ 772, 773, 774, 771, 775, 776, 777, 779, 780, 781, ++ 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, ++ ++ 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, ++ 802, 803, 804, 805, 806, 808, 809, 810, 811, 812, ++ 800, 813, 815, 816, 817, 818, 819, 820, 821, 822, ++ 823, 824, 825, 826, 827, 828, 829, 830, 831, 833, ++ 834, 835, 836, 837, 838, 839, 816, 840, 841, 815, ++ 842, 844, 845, 846, 847, 848, 849, 851, 852, 853, ++ 848, 854, 855, 856, 857, 858, 859, 860, 861, 862, ++ 863, 864, 865, 866, 869, 870, 871, 873, 874, 875, ++ 877, 878, 879, 865, 880, 881, 882, 883, 884, 885, ++ 886, 887, 888, 889, 890, 891, 892, 893, 895, 896, ++ ++ 897, 898, 899, 900, 901, 902, 903, 904, 906, 905, ++ 907, 848, 908, 909, 910, 911, 912, 913, 914, 915, ++ 916, 917, 919, 920, 921, 922, 923, 924, 925, 926, ++ 927, 928, 929, 930, 931, 904, 905, 932, 933, 934, ++ 936, 937, 938, 939, 940, 941, 937, 942, 943, 944, ++ 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, ++ 955, 956, 957, 958, 959, 960, 962, 963, 964, 965, ++ 966, 967, 968, 969, 970, 971, 972, 974, 977, 978, ++ 979, 980, 981, 982, 938, 983, 984, 985, 986, 987, ++ 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, ++ ++ 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, ++ 1010, 1011, 1012, 988, 1013, 1014, 1015, 1018, 1020, 989, ++ 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1031, 1032, ++ 1033, 1035, 1036, 1037, 1038, 1041, 1043, 1044, 1045, 1046, ++ 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, ++ 1057, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, ++ 1068, 1069, 1070, 1072, 1073, 1074, 1075, 1076, 1077, 1078, ++ 1079, 1080, 1081, 1082, 1084, 1085, 1086, 1087, 1088, 1089, ++ 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1068, 1098, ++ 1099, 1101, 1102, 1103, 1104, 1105, 1108, 1109, 1054, 1110, ++ ++ 1102, 1111, 1112, 1113, 1114, 1072, 1115, 1116, 1117, 1118, ++ 1120, 1121, 1122, 1123, 1124, 1125, 1128, 1131, 1133, 1134, ++ 1135, 1136, 1137, 1139, 1141, 1142, 1143, 1144, 1145, 1146, ++ 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1155, 1156, 1157, ++ 1158, 1159, 1160, 1161, 1163, 1137, 1166, 1168, 1169, 1170, ++ 1171, 1173, 1174, 1175, 1176, 1177, 1178, 1181, 1182, 1184, ++ 1185, 1186, 1187, 1188, 1190, 1191, 1192, 1193, 1195, 1197, ++ 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1207, 1208, ++ 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1217, 1218, ++ 1219, 1220, 1221, 1222, 1223, 1224, 1197, 1225, 1226, 1227, ++ ++ 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, ++ 1239, 1241, 1242, 1243, 1244, 1247, 1248, 1251, 1252, 1254, ++ 1255, 1256, 1257, 1258, 1254, 1259, 1260, 1261, 1262, 1264, ++ 1265, 1268, 1269, 1270, 1271, 1273, 1274, 1275, 1276, 1277, ++ 1278, 1243, 1279, 1280, 1281, 1218, 1282, 1283, 1284, 1285, ++ 1287, 1288, 1289, 1291, 1292, 1294, 1295, 1296, 1297, 1298, ++ 1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1310, ++ 1311, 1312, 1313, 1314, 1315, 1316, 1318, 1319, 1321, 1323, ++ 1325, 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1334, 1335, ++ 1336, 1338, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, ++ ++ 1348, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, ++ 1359, 1362, 1363, 1364, 1365, 1366, 1368, 1369, 1370, 1371, ++ 1372, 1373, 1374, 1375, 1377, 1378, 1379, 1380, 1381, 1382, ++ 1384, 1385, 1388, 1389, 1390, 1391, 1392, 1393, 1395, 1397, ++ 1398, 1400, 1401, 1403, 1404, 1406, 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, 1436, 1439, 1440, 1441, 1442, 1443, 1444, ++ 1448, 1449, 1450, 1451, 1453, 1454, 1456, 1457, 1458, 1459, ++ 1460, 1462, 1463, 1466, 1466, 1466, 1466, 1466, 1467, 1467, ++ ++ 1467, 1467, 1467, 1468, 1474, 1468, 1468, 1468, 1469, 1475, ++ 1469, 1476, 1469, 1470, 1470, 1470, 1470, 1470, 1471, 1471, ++ 1471, 1471, 1471, 1472, 1477, 1472, 1472, 1472, 1473, 1473, ++ 1473, 731, 730, 729, 728, 727, 726, 724, 723, 722, ++ 720, 718, 717, 716, 715, 714, 713, 712, 711, 708, ++ 707, 704, 703, 702, 701, 700, 699, 698, 697, 696, ++ 695, 694, 693, 692, 691, 690, 689, 688, 686, 685, ++ 684, 683, 682, 681, 680, 679, 677, 676, 675, 674, ++ 673, 672, 670, 668, 667, 666, 665, 664, 663, 662, ++ 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, ++ ++ 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, ++ 640, 639, 638, 637, 636, 635, 634, 633, 632, 630, ++ 629, 625, 624, 623, 620, 619, 618, 617, 616, 613, ++ 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, ++ 602, 600, 599, 598, 597, 596, 595, 594, 593, 591, ++ 590, 588, 587, 586, 585, 584, 582, 581, 580, 578, ++ 577, 575, 574, 573, 572, 571, 570, 569, 568, 567, ++ 565, 564, 563, 562, 561, 559, 558, 557, 556, 555, ++ 554, 553, 552, 550, 549, 548, 547, 546, 545, 544, ++ 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, ++ ++ 533, 532, 531, 525, 523, 520, 519, 517, 516, 515, ++ 513, 509, 508, 507, 506, 505, 504, 503, 502, 501, ++ 500, 499, 498, 497, 496, 495, 493, 492, 491, 490, ++ 489, 488, 487, 486, 485, 484, 483, 481, 479, 478, ++ 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, ++ 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, ++ 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, ++ 445, 444, 443, 442, 440, 439, 438, 437, 436, 435, ++ 433, 432, 430, 429, 428, 426, 425, 424, 423, 422, ++ 421, 419, 418, 413, 412, 410, 409, 408, 407, 406, ++ ++ 403, 400, 398, 397, 396, 395, 393, 392, 391, 390, ++ 389, 388, 387, 386, 385, 383, 382, 381, 379, 378, ++ 377, 376, 375, 374, 372, 371, 369, 368, 367, 366, ++ 365, 364, 363, 362, 361, 357, 356, 355, 354, 353, ++ 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, ++ 341, 339, 338, 337, 336, 335, 334, 333, 332, 331, ++ 330, 329, 328, 327, 325, 324, 323, 322, 321, 318, ++ 317, 316, 315, 314, 313, 309, 307, 304, 302, 299, ++ 296, 289, 288, 287, 286, 285, 284, 282, 281, 280, ++ 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, ++ ++ 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, ++ 258, 257, 256, 255, 253, 252, 251, 249, 248, 247, ++ 246, 244, 243, 242, 241, 240, 239, 238, 237, 236, ++ 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, ++ 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, ++ 214, 213, 212, 210, 209, 208, 207, 205, 202, 200, ++ 198, 196, 195, 190, 189, 185, 177, 176, 175, 174, ++ 173, 172, 170, 169, 168, 167, 165, 163, 162, 161, ++ 159, 158, 156, 155, 154, 153, 152, 150, 149, 148, ++ 147, 145, 144, 143, 142, 141, 140, 139, 137, 136, ++ ++ 134, 133, 129, 128, 127, 125, 124, 123, 121, 120, ++ 116, 110, 106, 105, 104, 98, 97, 78, 73, 67, ++ 50, 49, 48, 43, 41, 39, 38, 24, 14, 11, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, ++ ++ 1465, 1465 } ; static yy_state_type yy_last_accepting_state; @@@ -1666,7 -1672,7 +1675,7 @@@ static char *yy_last_accepting_cpos extern int yy_flex_debug; int yy_flex_debug = 1; --static const flex_int16_t yy_rule_linenum[179] = ++static const flex_int16_t yy_rule_linenum[180] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, 184, 191, 200, 209, 218, 227, 236, 245, 254, 263, @@@ -1679,14 -1685,14 +1688,14 @@@ 877, 886, 895, 904, 913, 922, 931, 940, 949, 958, 980, 1002, 1011, 1021, 1031, 1040, 1050, 1060, 1069, 1078, - 1087, 1096, 1106, 1115, 1124, 1133, 1142, 1151, 1160, 1169, - 1178, 1187, 1197, 1206, 1215, 1225, 1237, 1250, 1259, 1268, - 1278, 1288, 1297, 1308, 1318, 1327, 1337, 1347, 1356, 1365, - 1374, 1383, 1393, 1402, 1412, 1421, 1430, 1439, 1448, 1457, + 1087, 1096, 1105, 1115, 1124, 1133, 1142, 1151, 1160, 1169, + 1178, 1187, 1196, 1206, 1215, 1224, 1234, 1246, 1259, 1268, + 1277, 1287, 1297, 1306, 1317, 1327, 1336, 1346, 1356, 1365, + 1374, 1383, 1392, 1402, 1411, 1421, 1430, 1439, 1448, 1457, 1466, 1475, 1484, 1493, 1502, 1511, 1520, 1529, 1538, 1547, 1556, 1565, 1574, 1583, 1592, 1601, 1610, 1619, 1628, 1637, -- 1647, 1746, 1751, 1756, 1761, 1762, 1763, 1764, 1765, 1766, -- 1768, 1786, 1799, 1804, 1808, 1810, 1812, 1814 ++ 1646, 1656, 1755, 1760, 1765, 1770, 1771, 1772, 1773, 1774, ++ 1775, 1777, 1795, 1808, 1813, 1817, 1819, 1821, 1823 } ; /* The intent behind this definition is that it'll catch @@@ -1739,7 -1745,7 +1748,7 @@@ using namespace isc::dhcp /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) - #line 1743 "dhcp6_lexer.cc" -#line 1749 "dhcp6_lexer.cc" ++#line 1752 "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 @@@ -1765,8 -1771,8 +1774,8 @@@ 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 1769 "dhcp6_lexer.cc" - #line 1770 "dhcp6_lexer.cc" -#line 1775 "dhcp6_lexer.cc" -#line 1776 "dhcp6_lexer.cc" ++#line 1778 "dhcp6_lexer.cc" ++#line 1779 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@@ -2096,7 -2102,7 +2105,7 @@@ YY_DEC } - #line 2100 "dhcp6_lexer.cc" -#line 2106 "dhcp6_lexer.cc" ++#line 2109 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@@ -2125,13 -2131,13 +2134,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 >= 1452 ) - if ( yy_current_state >= 1460 ) ++ if ( yy_current_state >= 1466 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1451 ); - while ( yy_current_state != 1459 ); ++ while ( yy_current_state != 1465 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@@ -2150,13 -2156,13 +2159,13 @@@ do_action: /* This label is used only t { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); -- else if ( yy_act < 179 ) ++ else if ( yy_act < 180 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); -- else if ( yy_act == 179 ) ++ else if ( yy_act == 180 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); -- else if ( yy_act == 180 ) ++ else if ( yy_act == 181 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@@ -4123,9 -4117,21 +4132,21 @@@ YY_RULE_SETU } } YY_BREAK -case 157: +case 158: YY_RULE_SETUP -#line 1610 "dhcp6_lexer.ll" +#line 1619 "dhcp6_lexer.ll" + { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + return isc::dhcp::Dhcp6Parser::make_DHCP_DDNS(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-ddns", driver.loc_); + } + } + YY_BREAK -case 158: ++case 159: + YY_RULE_SETUP -#line 1619 "dhcp6_lexer.ll" ++#line 1628 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@@ -4135,9 -4141,9 +4156,9 @@@ } } YY_BREAK --case 159: ++case 160: YY_RULE_SETUP --#line 1628 "dhcp6_lexer.ll" ++#line 1637 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@@ -4147,9 -4153,9 +4168,9 @@@ } } YY_BREAK --case 160: ++case 161: YY_RULE_SETUP --#line 1637 "dhcp6_lexer.ll" ++#line 1646 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@@ -4159,9 -4165,9 +4180,9 @@@ } } YY_BREAK --case 161: ++case 162: YY_RULE_SETUP --#line 1647 "dhcp6_lexer.ll" ++#line 1656 "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. @@@ -4261,65 -4267,65 +4282,65 @@@ return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK --case 162: --/* rule 162 can match eol */ ++case 163: ++/* rule 163 can match eol */ YY_RULE_SETUP --#line 1746 "dhcp6_lexer.ll" ++#line 1755 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK --case 163: --/* rule 163 can match eol */ ++case 164: ++/* rule 164 can match eol */ YY_RULE_SETUP --#line 1751 "dhcp6_lexer.ll" ++#line 1760 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK --case 164: ++case 165: YY_RULE_SETUP --#line 1756 "dhcp6_lexer.ll" ++#line 1765 "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 165: ++case 166: YY_RULE_SETUP --#line 1761 "dhcp6_lexer.ll" ++#line 1770 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK --case 166: ++case 167: YY_RULE_SETUP --#line 1762 "dhcp6_lexer.ll" ++#line 1771 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK --case 167: ++case 168: YY_RULE_SETUP --#line 1763 "dhcp6_lexer.ll" ++#line 1772 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK --case 168: ++case 169: YY_RULE_SETUP --#line 1764 "dhcp6_lexer.ll" ++#line 1773 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK --case 169: ++case 170: YY_RULE_SETUP --#line 1765 "dhcp6_lexer.ll" ++#line 1774 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK --case 170: ++case 171: YY_RULE_SETUP --#line 1766 "dhcp6_lexer.ll" ++#line 1775 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK --case 171: ++case 172: YY_RULE_SETUP --#line 1768 "dhcp6_lexer.ll" ++#line 1777 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@@ -4338,9 -4344,9 +4359,9 @@@ return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK --case 172: ++case 173: YY_RULE_SETUP --#line 1786 "dhcp6_lexer.ll" ++#line 1795 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@@ -4354,43 -4360,43 +4375,43 @@@ return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK --case 173: ++case 174: YY_RULE_SETUP --#line 1799 "dhcp6_lexer.ll" ++#line 1808 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK --case 174: ++case 175: YY_RULE_SETUP --#line 1804 "dhcp6_lexer.ll" ++#line 1813 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK --case 175: ++case 176: YY_RULE_SETUP --#line 1808 "dhcp6_lexer.ll" ++#line 1817 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK --case 176: ++case 177: YY_RULE_SETUP --#line 1810 "dhcp6_lexer.ll" ++#line 1819 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK --case 177: ++case 178: YY_RULE_SETUP --#line 1812 "dhcp6_lexer.ll" ++#line 1821 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK --case 178: ++case 179: YY_RULE_SETUP --#line 1814 "dhcp6_lexer.ll" ++#line 1823 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): --#line 1816 "dhcp6_lexer.ll" ++#line 1825 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@@ -4414,12 -4420,12 +4435,12 @@@ BEGIN(DIR_EXIT); } YY_BREAK --case 179: ++case 180: YY_RULE_SETUP --#line 1839 "dhcp6_lexer.ll" ++#line 1848 "dhcp6_lexer.ll" ECHO; YY_BREAK - #line 4423 "dhcp6_lexer.cc" -#line 4429 "dhcp6_lexer.cc" ++#line 4444 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@@ -4738,7 -4744,7 +4759,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 >= 1452 ) - if ( yy_current_state >= 1460 ) ++ if ( yy_current_state >= 1466 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@@ -4771,11 -4777,11 +4792,11 @@@ 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 >= 1452 ) - if ( yy_current_state >= 1460 ) ++ if ( yy_current_state >= 1466 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1451); - yy_is_jam = (yy_current_state == 1459); ++ yy_is_jam = (yy_current_state == 1465); return yy_is_jam ? 0 : yy_current_state; } @@@ -5524,7 -5530,7 +5545,7 @@@ void yyfree (void * ptr /* %ok-for-header */ --#line 1839 "dhcp6_lexer.ll" ++#line 1848 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --cc src/bin/dhcp6/dhcp6_parser.cc index a70cf10173,4a0fde67e2..3b6755872f --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@@ -253,29 -253,29 +253,29 @@@ namespace isc { namespace dhcp { switch (that.type_get ()) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.move< ElementPtr > (that.value); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.move< bool > (that.value); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.move< double > (that.value); break; -- case 171: // "integer" ++ case 172: // "integer" value.move< int64_t > (that.value); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.move< std::string > (that.value); break; @@@ -294,29 -294,29 +294,29 @@@ state = that.state; switch (that.type_get ()) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.copy< ElementPtr > (that.value); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.copy< bool > (that.value); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.copy< double > (that.value); break; -- case 171: // "integer" ++ case 172: // "integer" value.copy< int64_t > (that.value); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.copy< std::string > (that.value); break; @@@ -356,79 -356,79 +356,79 @@@ << yysym.location << ": "; switch (yytype) { -- case 170: // "constant string" ++ case 171: // "constant string" - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 364 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 171: // "integer" ++ case 172: // "integer" - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } #line 371 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 172: // "floating point" ++ case 173: // "floating point" - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } #line 378 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 173: // "boolean" ++ case 174: // "boolean" - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } #line 385 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 191: // value ++ case 192: // value - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 392 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 195: // map_value ++ case 196: // map_value - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 399 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 247: // db_type ++ case 248: // db_type - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 406 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 336: // hr_mode ++ case 337: // hr_mode - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 413 "dhcp6_parser.cc" // lalr1.cc:636 break; -- case 472: // duid_type ++ case 473: // duid_type - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 420 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 505: // ncr_protocol_value - case 507: // ncr_protocol_value ++ case 508: // ncr_protocol_value - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 427 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 513: // replace_client_name_value - case 515: // replace_client_name_value ++ case 516: // replace_client_name_value - #line 247 "dhcp6_parser.yy" // lalr1.cc:636 -#line 248 "dhcp6_parser.yy" // lalr1.cc:636 ++#line 249 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 434 "dhcp6_parser.cc" // lalr1.cc:636 break; @@@ -630,29 -630,29 +630,29 @@@ when using variants. */ switch (yyr1_[yyn]) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value yylhs.value.build< ElementPtr > (); break; -- case 173: // "boolean" ++ case 174: // "boolean" yylhs.value.build< bool > (); break; -- case 172: // "floating point" ++ case 173: // "floating point" yylhs.value.build< double > (); break; -- case 171: // "integer" ++ case 172: // "integer" yylhs.value.build< int64_t > (); break; -- case 170: // "constant string" ++ case 171: // "constant string" yylhs.value.build< std::string > (); break; @@@ -674,139 -674,139 +674,139 @@@ switch (yyn) { case 2: - #line 256 "dhcp6_parser.yy" // lalr1.cc:859 -#line 257 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 258 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORD; } #line 680 "dhcp6_parser.cc" // lalr1.cc:859 break; case 4: - #line 257 "dhcp6_parser.yy" // lalr1.cc:859 -#line 258 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 259 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG; } #line 686 "dhcp6_parser.cc" // lalr1.cc:859 break; case 6: - #line 258 "dhcp6_parser.yy" // lalr1.cc:859 -#line 259 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 260 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP6; } #line 692 "dhcp6_parser.cc" // lalr1.cc:859 break; case 8: - #line 259 "dhcp6_parser.yy" // lalr1.cc:859 -#line 260 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 261 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 698 "dhcp6_parser.cc" // lalr1.cc:859 break; case 10: - #line 260 "dhcp6_parser.yy" // lalr1.cc:859 -#line 261 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 262 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.SUBNET6; } #line 704 "dhcp6_parser.cc" // lalr1.cc:859 break; case 12: - #line 261 "dhcp6_parser.yy" // lalr1.cc:859 -#line 262 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 263 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.POOLS; } #line 710 "dhcp6_parser.cc" // lalr1.cc:859 break; case 14: - #line 262 "dhcp6_parser.yy" // lalr1.cc:859 -#line 263 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 264 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.PD_POOLS; } #line 716 "dhcp6_parser.cc" // lalr1.cc:859 break; case 16: - #line 263 "dhcp6_parser.yy" // lalr1.cc:859 -#line 264 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 265 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.RESERVATIONS; } #line 722 "dhcp6_parser.cc" // lalr1.cc:859 break; case 18: - #line 264 "dhcp6_parser.yy" // lalr1.cc:859 -#line 265 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 266 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP6; } #line 728 "dhcp6_parser.cc" // lalr1.cc:859 break; case 20: - #line 265 "dhcp6_parser.yy" // lalr1.cc:859 -#line 266 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 267 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DEF; } #line 734 "dhcp6_parser.cc" // lalr1.cc:859 break; case 22: - #line 266 "dhcp6_parser.yy" // lalr1.cc:859 -#line 267 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 268 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DATA; } #line 740 "dhcp6_parser.cc" // lalr1.cc:859 break; case 24: - #line 267 "dhcp6_parser.yy" // lalr1.cc:859 -#line 268 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 269 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 746 "dhcp6_parser.cc" // lalr1.cc:859 break; case 26: - #line 268 "dhcp6_parser.yy" // lalr1.cc:859 -#line 269 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 270 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP_DDNS; } #line 752 "dhcp6_parser.cc" // lalr1.cc:859 break; case 28: - #line 269 "dhcp6_parser.yy" // lalr1.cc:859 -#line 270 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 271 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.LOGGING; } #line 758 "dhcp6_parser.cc" // lalr1.cc:859 break; case 30: - #line 270 "dhcp6_parser.yy" // lalr1.cc:859 -#line 271 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 272 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 764 "dhcp6_parser.cc" // lalr1.cc:859 break; case 32: - #line 278 "dhcp6_parser.yy" // lalr1.cc:859 -#line 279 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 280 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 770 "dhcp6_parser.cc" // lalr1.cc:859 break; case 33: - #line 279 "dhcp6_parser.yy" // lalr1.cc:859 -#line 280 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 281 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } #line 776 "dhcp6_parser.cc" // lalr1.cc:859 break; case 34: - #line 280 "dhcp6_parser.yy" // lalr1.cc:859 -#line 281 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 282 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } #line 782 "dhcp6_parser.cc" // lalr1.cc:859 break; case 35: - #line 281 "dhcp6_parser.yy" // lalr1.cc:859 -#line 282 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 283 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 788 "dhcp6_parser.cc" // lalr1.cc:859 break; case 36: - #line 282 "dhcp6_parser.yy" // lalr1.cc:859 -#line 283 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 284 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 794 "dhcp6_parser.cc" // lalr1.cc:859 break; case 37: - #line 283 "dhcp6_parser.yy" // lalr1.cc:859 -#line 284 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 285 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 800 "dhcp6_parser.cc" // lalr1.cc:859 break; case 38: - #line 284 "dhcp6_parser.yy" // lalr1.cc:859 -#line 285 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 286 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 806 "dhcp6_parser.cc" // lalr1.cc:859 break; case 39: - #line 287 "dhcp6_parser.yy" // lalr1.cc:859 -#line 288 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 289 "dhcp6_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); @@@ -815,7 -815,7 +815,7 @@@ break; case 40: - #line 292 "dhcp6_parser.yy" // lalr1.cc:859 -#line 293 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 294 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -826,7 -826,7 +826,7 @@@ break; case 41: - #line 297 "dhcp6_parser.yy" // lalr1.cc:859 -#line 298 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 299 "dhcp6_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@@ -836,13 -836,13 +836,13 @@@ break; case 42: - #line 303 "dhcp6_parser.yy" // lalr1.cc:859 -#line 304 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 305 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 842 "dhcp6_parser.cc" // lalr1.cc:859 break; case 45: - #line 310 "dhcp6_parser.yy" // lalr1.cc:859 -#line 311 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 312 "dhcp6_parser.yy" // lalr1.cc:859 { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); @@@ -851,7 -851,7 +851,7 @@@ break; case 46: - #line 314 "dhcp6_parser.yy" // lalr1.cc:859 -#line 315 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 316 "dhcp6_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value @@@ -861,7 -861,7 +861,7 @@@ break; case 47: - #line 321 "dhcp6_parser.yy" // lalr1.cc:859 -#line 322 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 323 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@@ -870,7 -870,7 +870,7 @@@ break; case 48: - #line 324 "dhcp6_parser.yy" // lalr1.cc:859 -#line 325 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 326 "dhcp6_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here } @@@ -878,7 -878,7 +878,7 @@@ break; case 51: - #line 332 "dhcp6_parser.yy" // lalr1.cc:859 -#line 333 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 334 "dhcp6_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@@ -887,7 -887,7 +887,7 @@@ break; case 52: - #line 336 "dhcp6_parser.yy" // lalr1.cc:859 -#line 337 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 338 "dhcp6_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@@ -896,7 -896,7 +896,7 @@@ break; case 53: - #line 343 "dhcp6_parser.yy" // lalr1.cc:859 -#line 344 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 345 "dhcp6_parser.yy" // lalr1.cc:859 { // List parsing about to start } @@@ -904,7 -904,7 +904,7 @@@ break; case 54: - #line 345 "dhcp6_parser.yy" // lalr1.cc:859 -#line 346 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 347 "dhcp6_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@@ -913,7 -913,7 +913,7 @@@ break; case 57: - #line 354 "dhcp6_parser.yy" // lalr1.cc:859 -#line 355 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 356 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@@ -922,7 -922,7 +922,7 @@@ break; case 58: - #line 358 "dhcp6_parser.yy" // lalr1.cc:859 -#line 359 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 360 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@@ -931,7 -931,7 +931,7 @@@ break; case 59: - #line 369 "dhcp6_parser.yy" // lalr1.cc:859 -#line 370 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 371 "dhcp6_parser.yy" // lalr1.cc:859 { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); @@@ -942,7 -942,7 +942,7 @@@ break; case 60: - #line 379 "dhcp6_parser.yy" // lalr1.cc:859 -#line 380 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 381 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -953,7 -953,7 +953,7 @@@ break; case 61: - #line 384 "dhcp6_parser.yy" // lalr1.cc:859 -#line 385 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 386 "dhcp6_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@@ -966,7 -966,7 +966,7 @@@ break; case 70: - #line 407 "dhcp6_parser.yy" // lalr1.cc:859 -#line 408 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 409 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@@ -979,7 -979,7 +979,7 @@@ break; case 71: - #line 414 "dhcp6_parser.yy" // lalr1.cc:859 -#line 415 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 416 "dhcp6_parser.yy" // lalr1.cc:859 { // No global parameter is required ctx.stack_.pop_back(); @@@ -989,7 -989,7 +989,7 @@@ break; case 72: - #line 422 "dhcp6_parser.yy" // lalr1.cc:859 -#line 423 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 424 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@@ -999,7 -999,7 +999,7 @@@ break; case 73: - #line 426 "dhcp6_parser.yy" // lalr1.cc:859 -#line 427 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 428 "dhcp6_parser.yy" // lalr1.cc:859 { // No global parameter is required // parsing completed @@@ -1007,8 -1007,8 +1007,8 @@@ #line 1008 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 106: - #line 469 "dhcp6_parser.yy" // lalr1.cc:859 + case 107: -#line 471 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 472 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("preferred-lifetime", prf); @@@ -1016,8 -1016,8 +1016,8 @@@ #line 1017 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 107: - #line 474 "dhcp6_parser.yy" // lalr1.cc:859 + case 108: -#line 476 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 477 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); @@@ -1025,8 -1025,8 +1025,8 @@@ #line 1026 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 108: - #line 479 "dhcp6_parser.yy" // lalr1.cc:859 + case 109: -#line 481 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 482 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); @@@ -1034,8 -1034,8 +1034,8 @@@ #line 1035 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 109: - #line 484 "dhcp6_parser.yy" // lalr1.cc:859 + case 110: -#line 486 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 487 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); @@@ -1043,8 -1043,8 +1043,8 @@@ #line 1044 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 110: - #line 489 "dhcp6_parser.yy" // lalr1.cc:859 + case 111: -#line 491 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 492 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); @@@ -1052,16 -1052,16 +1052,16 @@@ #line 1053 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 111: - #line 494 "dhcp6_parser.yy" // lalr1.cc:859 + case 112: -#line 496 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 497 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1061 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 112: - #line 496 "dhcp6_parser.yy" // lalr1.cc:859 + case 113: -#line 498 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 499 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr stag(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@@ -1070,8 -1070,8 +1070,8 @@@ #line 1071 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 113: - #line 502 "dhcp6_parser.yy" // lalr1.cc:859 + case 114: -#line 504 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 505 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); @@@ -1081,8 -1081,8 +1081,8 @@@ #line 1082 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 114: - #line 507 "dhcp6_parser.yy" // lalr1.cc:859 + case 115: -#line 509 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 510 "dhcp6_parser.yy" // lalr1.cc:859 { // No interfaces config param is required ctx.stack_.pop_back(); @@@ -1091,8 -1091,8 +1091,8 @@@ #line 1092 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 115: - #line 513 "dhcp6_parser.yy" // lalr1.cc:859 + case 116: -#line 515 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 516 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@@ -1101,8 -1101,8 +1101,8 @@@ #line 1102 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 116: - #line 517 "dhcp6_parser.yy" // lalr1.cc:859 + case 117: -#line 519 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 520 "dhcp6_parser.yy" // lalr1.cc:859 { // No interfaces config param is required // parsing completed @@@ -1110,8 -1110,8 +1110,8 @@@ #line 1111 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 124: - #line 533 "dhcp6_parser.yy" // lalr1.cc:859 + case 125: -#line 535 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 536 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); @@@ -1121,8 -1121,8 +1121,8 @@@ #line 1122 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 125: - #line 538 "dhcp6_parser.yy" // lalr1.cc:859 + case 126: -#line 540 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 541 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1130,8 -1130,8 +1130,8 @@@ #line 1131 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 126: - #line 543 "dhcp6_parser.yy" // lalr1.cc:859 + case 127: -#line 545 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 546 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); @@@ -1139,8 -1139,8 +1139,8 @@@ #line 1140 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 127: - #line 549 "dhcp6_parser.yy" // lalr1.cc:859 + case 128: -#line 551 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 552 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); @@@ -1150,8 -1150,8 +1150,8 @@@ #line 1151 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 128: - #line 554 "dhcp6_parser.yy" // lalr1.cc:859 + case 129: -#line 556 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 557 "dhcp6_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@@ -1161,8 -1161,8 +1161,8 @@@ #line 1162 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 129: - #line 561 "dhcp6_parser.yy" // lalr1.cc:859 + case 130: -#line 563 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 564 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); @@@ -1172,8 -1172,8 +1172,8 @@@ #line 1173 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 130: - #line 566 "dhcp6_parser.yy" // lalr1.cc:859 + case 131: -#line 568 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 569 "dhcp6_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@@ -1183,8 -1183,8 +1183,8 @@@ #line 1184 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 131: - #line 573 "dhcp6_parser.yy" // lalr1.cc:859 + case 132: -#line 575 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 576 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-databases", l); @@@ -1194,8 -1194,8 +1194,8 @@@ #line 1195 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 132: - #line 578 "dhcp6_parser.yy" // lalr1.cc:859 + case 133: -#line 580 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 581 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1203,8 -1203,8 +1203,8 @@@ #line 1204 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 137: - #line 591 "dhcp6_parser.yy" // lalr1.cc:859 + case 138: -#line 593 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 594 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@@ -1213,8 -1213,8 +1213,8 @@@ #line 1214 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 138: - #line 595 "dhcp6_parser.yy" // lalr1.cc:859 + case 139: -#line 597 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 598 "dhcp6_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -1223,16 -1223,16 +1223,16 @@@ #line 1224 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 159: - #line 625 "dhcp6_parser.yy" // lalr1.cc:859 + case 160: -#line 627 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 628 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DATABASE_TYPE); } #line 1232 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 160: - #line 627 "dhcp6_parser.yy" // lalr1.cc:859 + case 161: -#line 629 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 630 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@@ -1240,40 -1240,40 +1240,40 @@@ #line 1241 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 161: - #line 632 "dhcp6_parser.yy" // lalr1.cc:859 + case 162: -#line 634 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 635 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1247 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 162: - #line 633 "dhcp6_parser.yy" // lalr1.cc:859 + case 163: -#line 635 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 636 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1253 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 163: - #line 634 "dhcp6_parser.yy" // lalr1.cc:859 + case 164: -#line 636 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 637 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1259 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 164: - #line 635 "dhcp6_parser.yy" // lalr1.cc:859 + case 165: -#line 637 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 638 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } #line 1265 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 165: - #line 638 "dhcp6_parser.yy" // lalr1.cc:859 + case 166: -#line 640 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 641 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1273 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 166: - #line 640 "dhcp6_parser.yy" // lalr1.cc:859 + case 167: -#line 642 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 643 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@@ -1282,16 -1282,16 +1282,16 @@@ #line 1283 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 167: - #line 646 "dhcp6_parser.yy" // lalr1.cc:859 + case 168: -#line 648 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 649 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1291 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 168: - #line 648 "dhcp6_parser.yy" // lalr1.cc:859 + case 169: -#line 650 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 651 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@@ -1300,16 -1300,16 +1300,16 @@@ #line 1301 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 169: - #line 654 "dhcp6_parser.yy" // lalr1.cc:859 + case 170: -#line 656 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 657 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1309 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 170: - #line 656 "dhcp6_parser.yy" // lalr1.cc:859 + case 171: -#line 658 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 659 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@@ -1318,8 -1318,8 +1318,8 @@@ #line 1319 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 171: - #line 662 "dhcp6_parser.yy" // lalr1.cc:859 + case 172: -#line 664 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 665 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); @@@ -1327,16 -1327,16 +1327,16 @@@ #line 1328 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 172: - #line 667 "dhcp6_parser.yy" // lalr1.cc:859 + case 173: -#line 669 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 670 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1336 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 173: - #line 669 "dhcp6_parser.yy" // lalr1.cc:859 + case 174: -#line 671 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 672 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); @@@ -1345,8 -1345,8 +1345,8 @@@ #line 1346 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 174: - #line 675 "dhcp6_parser.yy" // lalr1.cc:859 + case 175: -#line 677 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 678 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); @@@ -1354,8 -1354,8 +1354,8 @@@ #line 1355 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 175: - #line 680 "dhcp6_parser.yy" // lalr1.cc:859 + case 176: -#line 682 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 683 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); @@@ -1363,8 -1363,8 +1363,8 @@@ #line 1364 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 176: - #line 685 "dhcp6_parser.yy" // lalr1.cc:859 + case 177: -#line 687 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 688 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); @@@ -1372,8 -1372,8 +1372,8 @@@ #line 1373 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 177: - #line 690 "dhcp6_parser.yy" // lalr1.cc:859 + case 178: -#line 692 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 693 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); @@@ -1381,8 -1381,8 +1381,8 @@@ #line 1382 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 178: - #line 695 "dhcp6_parser.yy" // lalr1.cc:859 + case 179: -#line 697 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 698 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); @@@ -1390,8 -1390,8 +1390,8 @@@ #line 1391 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 179: - #line 700 "dhcp6_parser.yy" // lalr1.cc:859 + case 180: -#line 702 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 703 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); @@@ -1399,8 -1399,8 +1399,8 @@@ #line 1400 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 180: - #line 705 "dhcp6_parser.yy" // lalr1.cc:859 + case 181: -#line 707 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 708 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); @@@ -1408,8 -1408,8 +1408,8 @@@ #line 1409 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 181: - #line 710 "dhcp6_parser.yy" // lalr1.cc:859 + case 182: -#line 712 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 713 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); @@@ -1417,16 -1417,16 +1417,16 @@@ #line 1418 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 182: - #line 715 "dhcp6_parser.yy" // lalr1.cc:859 + case 183: -#line 717 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 718 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1426 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 183: - #line 717 "dhcp6_parser.yy" // lalr1.cc:859 + case 184: -#line 719 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 720 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); @@@ -1435,8 -1435,8 +1435,8 @@@ #line 1436 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 184: - #line 723 "dhcp6_parser.yy" // lalr1.cc:859 + case 185: -#line 725 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 726 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); @@@ -1444,16 -1444,16 +1444,16 @@@ #line 1445 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 185: - #line 728 "dhcp6_parser.yy" // lalr1.cc:859 + case 186: -#line 730 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 731 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1453 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 186: - #line 730 "dhcp6_parser.yy" // lalr1.cc:859 + case 187: -#line 732 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 733 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); @@@ -1462,8 -1462,8 +1462,8 @@@ #line 1463 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 187: - #line 736 "dhcp6_parser.yy" // lalr1.cc:859 + case 188: -#line 738 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 739 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sanity-checks", m); @@@ -1473,8 -1473,8 +1473,8 @@@ #line 1474 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 188: - #line 741 "dhcp6_parser.yy" // lalr1.cc:859 + case 189: -#line 743 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 744 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1482,16 -1482,16 +1482,16 @@@ #line 1483 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 192: - #line 751 "dhcp6_parser.yy" // lalr1.cc:859 + case 193: -#line 753 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 754 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1491 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 193: - #line 753 "dhcp6_parser.yy" // lalr1.cc:859 + case 194: -#line 755 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 756 "dhcp6_parser.yy" // lalr1.cc:859 { if ( (string(yystack_[0].value.as< std::string > ()) == "none") || @@@ -1510,8 -1510,8 +1510,8 @@@ #line 1511 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 194: - #line 769 "dhcp6_parser.yy" // lalr1.cc:859 + case 195: -#line 771 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 772 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("mac-sources", l); @@@ -1521,8 -1521,8 +1521,8 @@@ #line 1522 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 195: - #line 774 "dhcp6_parser.yy" // lalr1.cc:859 + case 196: -#line 776 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 777 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1530,8 -1530,8 +1530,8 @@@ #line 1531 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 200: - #line 787 "dhcp6_parser.yy" // lalr1.cc:859 + case 201: -#line 789 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 790 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@@ -1539,8 -1539,8 +1539,8 @@@ #line 1540 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 201: - #line 792 "dhcp6_parser.yy" // lalr1.cc:859 + case 202: -#line 794 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 795 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@@ -1548,8 -1548,8 +1548,8 @@@ #line 1549 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 202: - #line 797 "dhcp6_parser.yy" // lalr1.cc:859 + case 203: -#line 799 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 800 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); @@@ -1559,8 -1559,8 +1559,8 @@@ #line 1560 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 203: - #line 802 "dhcp6_parser.yy" // lalr1.cc:859 + case 204: -#line 804 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 805 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1568,8 -1568,8 +1568,8 @@@ #line 1569 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 209: - #line 816 "dhcp6_parser.yy" // lalr1.cc:859 + case 210: -#line 818 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 819 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@@ -1577,8 -1577,8 +1577,8 @@@ #line 1578 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 210: - #line 821 "dhcp6_parser.yy" // lalr1.cc:859 + case 211: -#line 823 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 824 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@@ -1586,8 -1586,8 +1586,8 @@@ #line 1587 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 211: - #line 828 "dhcp6_parser.yy" // lalr1.cc:859 + case 212: -#line 830 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 831 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay-supplied-options", l); @@@ -1597,8 -1597,8 +1597,8 @@@ #line 1598 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 212: - #line 833 "dhcp6_parser.yy" // lalr1.cc:859 + case 213: -#line 835 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 836 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1606,8 -1606,8 +1606,8 @@@ #line 1607 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 213: - #line 838 "dhcp6_parser.yy" // lalr1.cc:859 + case 214: -#line 840 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 841 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); @@@ -1617,8 -1617,8 +1617,8 @@@ #line 1618 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 214: - #line 843 "dhcp6_parser.yy" // lalr1.cc:859 + case 215: -#line 845 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 846 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1626,8 -1626,8 +1626,8 @@@ #line 1627 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 219: - #line 856 "dhcp6_parser.yy" // lalr1.cc:859 + case 220: -#line 858 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 859 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@@ -1636,8 -1636,8 +1636,8 @@@ #line 1637 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 220: - #line 860 "dhcp6_parser.yy" // lalr1.cc:859 + case 221: -#line 862 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 863 "dhcp6_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -1646,8 -1646,8 +1646,8 @@@ #line 1647 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 221: - #line 866 "dhcp6_parser.yy" // lalr1.cc:859 + case 222: -#line 868 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 869 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@@ -1656,8 -1656,8 +1656,8 @@@ #line 1657 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 222: - #line 870 "dhcp6_parser.yy" // lalr1.cc:859 + case 223: -#line 872 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 873 "dhcp6_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -1666,16 -1666,16 +1666,16 @@@ #line 1667 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 228: - #line 885 "dhcp6_parser.yy" // lalr1.cc:859 + case 229: -#line 887 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 888 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1675 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 229: - #line 887 "dhcp6_parser.yy" // lalr1.cc:859 + case 230: -#line 889 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 890 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); @@@ -1684,16 -1684,16 +1684,16 @@@ #line 1685 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 230: - #line 893 "dhcp6_parser.yy" // lalr1.cc:859 + case 231: -#line 895 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 896 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1693 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 231: - #line 895 "dhcp6_parser.yy" // lalr1.cc:859 + case 232: -#line 897 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 898 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@@ -1701,8 -1701,8 +1701,8 @@@ #line 1702 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 232: - #line 901 "dhcp6_parser.yy" // lalr1.cc:859 + case 233: -#line 903 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 904 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); @@@ -1712,8 -1712,8 +1712,8 @@@ #line 1713 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 233: - #line 906 "dhcp6_parser.yy" // lalr1.cc:859 + case 234: -#line 908 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 909 "dhcp6_parser.yy" // lalr1.cc:859 { // No expired lease parameter is required ctx.stack_.pop_back(); @@@ -1722,8 -1722,8 +1722,8 @@@ #line 1723 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 242: - #line 924 "dhcp6_parser.yy" // lalr1.cc:859 + case 243: -#line 926 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 927 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); @@@ -1731,8 -1731,8 +1731,8 @@@ #line 1732 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 243: - #line 929 "dhcp6_parser.yy" // lalr1.cc:859 + case 244: -#line 931 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 932 "dhcp6_parser.yy" // lalr1.cc:859 { 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); @@@ -1740,8 -1740,8 +1740,8 @@@ #line 1741 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 244: - #line 934 "dhcp6_parser.yy" // lalr1.cc:859 + case 245: -#line 936 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 937 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); @@@ -1749,8 -1749,8 +1749,8 @@@ #line 1750 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 245: - #line 939 "dhcp6_parser.yy" // lalr1.cc:859 + case 246: -#line 941 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 942 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); @@@ -1758,8 -1758,8 +1758,8 @@@ #line 1759 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 246: - #line 944 "dhcp6_parser.yy" // lalr1.cc:859 + case 247: -#line 946 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 947 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); @@@ -1767,8 -1767,8 +1767,8 @@@ #line 1768 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 247: - #line 949 "dhcp6_parser.yy" // lalr1.cc:859 + case 248: -#line 951 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 952 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); @@@ -1776,8 -1776,8 +1776,8 @@@ #line 1777 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 248: - #line 957 "dhcp6_parser.yy" // lalr1.cc:859 + case 249: -#line 959 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 960 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet6", l); @@@ -1787,8 -1787,8 +1787,8 @@@ #line 1788 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 249: - #line 962 "dhcp6_parser.yy" // lalr1.cc:859 + case 250: -#line 964 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 965 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1796,8 -1796,8 +1796,8 @@@ #line 1797 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 254: - #line 982 "dhcp6_parser.yy" // lalr1.cc:859 + case 255: -#line 984 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 985 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@@ -1806,8 -1806,8 +1806,8 @@@ #line 1807 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 255: - #line 986 "dhcp6_parser.yy" // lalr1.cc:859 + case 256: -#line 988 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 989 "dhcp6_parser.yy" // lalr1.cc:859 { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@@ -1832,8 -1832,8 +1832,8 @@@ #line 1833 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 256: - #line 1008 "dhcp6_parser.yy" // lalr1.cc:859 + case 257: -#line 1010 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1011 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@@ -1842,8 -1842,8 +1842,8 @@@ #line 1843 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 257: - #line 1012 "dhcp6_parser.yy" // lalr1.cc:859 + case 258: -#line 1014 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1015 "dhcp6_parser.yy" // lalr1.cc:859 { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -1852,16 -1852,16 +1852,16 @@@ #line 1853 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 280: - #line 1046 "dhcp6_parser.yy" // lalr1.cc:859 + case 281: -#line 1048 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1049 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1861 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 281: - #line 1048 "dhcp6_parser.yy" // lalr1.cc:859 + case 282: -#line 1050 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1051 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@@ -1870,16 -1870,16 +1870,16 @@@ #line 1871 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 282: - #line 1054 "dhcp6_parser.yy" // lalr1.cc:859 + case 283: -#line 1056 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1057 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1879 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 283: - #line 1056 "dhcp6_parser.yy" // lalr1.cc:859 + case 284: -#line 1058 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1059 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@@ -1888,16 -1888,16 +1888,16 @@@ #line 1889 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 284: - #line 1062 "dhcp6_parser.yy" // lalr1.cc:859 + case 285: -#line 1064 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1065 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1897 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 285: - #line 1064 "dhcp6_parser.yy" // lalr1.cc:859 + case 286: -#line 1066 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1067 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); @@@ -1906,16 -1906,16 +1906,16 @@@ #line 1907 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 286: - #line 1070 "dhcp6_parser.yy" // lalr1.cc:859 + case 287: -#line 1072 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1073 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1915 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 287: - #line 1072 "dhcp6_parser.yy" // lalr1.cc:859 + case 288: -#line 1074 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1075 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@@ -1924,8 -1924,8 +1924,8 @@@ #line 1925 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 288: - #line 1078 "dhcp6_parser.yy" // lalr1.cc:859 + case 289: -#line 1080 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1081 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("require-client-classes", c); @@@ -1935,8 -1935,8 +1935,8 @@@ #line 1936 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 289: - #line 1083 "dhcp6_parser.yy" // lalr1.cc:859 + case 290: -#line 1085 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1086 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@@ -1944,16 -1944,16 +1944,16 @@@ #line 1945 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 290: - #line 1088 "dhcp6_parser.yy" // lalr1.cc:859 + case 291: -#line 1090 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1091 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.RESERVATION_MODE); } #line 1953 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 291: - #line 1090 "dhcp6_parser.yy" // lalr1.cc:859 + case 292: -#line 1092 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1093 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@@ -1961,135 -1961,129 +1961,135 @@@ #line 1962 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 292: - #line 1095 "dhcp6_parser.yy" // lalr1.cc:859 + case 293: -#line 1097 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1098 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } #line 1968 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 293: - #line 1096 "dhcp6_parser.yy" // lalr1.cc:859 + case 294: -#line 1098 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1099 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } #line 1974 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 294: - #line 1097 "dhcp6_parser.yy" // lalr1.cc:859 + case 295: -#line 1099 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } ++#line 1100 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } #line 1980 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 295: - #line 1098 "dhcp6_parser.yy" // lalr1.cc:859 + case 296: -#line 1102 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1101 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } +#line 1986 "dhcp6_parser.cc" // lalr1.cc:859 + break; + - case 296: - #line 1101 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 297: ++#line 1104 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 1989 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1995 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 297: - #line 1106 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1107 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 298: ++#line 1109 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 1998 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2004 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 298: - #line 1114 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1115 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 299: ++#line 1117 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2009 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2015 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 299: - #line 1119 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1120 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 300: ++#line 1122 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2018 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2024 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 304: - #line 1134 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1135 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 305: ++#line 1137 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2028 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2034 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 305: - #line 1138 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1139 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 306: ++#line 1141 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 2036 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2042 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 325: - #line 1169 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1170 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 326: ++#line 1172 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2047 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2053 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 326: - #line 1174 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1175 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 327: ++#line 1177 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2056 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2062 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 327: - #line 1182 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1183 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 328: ++#line 1185 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2065 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2071 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 328: - #line 1185 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1186 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 329: ++#line 1188 "dhcp6_parser.yy" // lalr1.cc:859 { // parsing completed } -#line 2073 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2079 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 333: - #line 1201 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1202 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 334: ++#line 1204 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2083 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2089 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 334: - #line 1205 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1206 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 335: ++#line 1208 "dhcp6_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2097,21 -2091,21 +2097,21 @@@ ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2095 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2101 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 335: - #line 1216 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1217 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 336: ++#line 1219 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2105 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2111 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 336: - #line 1220 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1221 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 337: ++#line 1223 "dhcp6_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2119,280 -2113,280 +2119,280 @@@ ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2117 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2123 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 352: - #line 1252 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1253 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 353: ++#line 1255 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2126 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2132 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 354: - #line 1259 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1260 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 355: ++#line 1262 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2134 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2140 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 355: - #line 1261 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1262 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 356: ++#line 1264 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2144 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2150 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 356: - #line 1267 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1268 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 357: ++#line 1270 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2152 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2158 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 357: - #line 1269 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1270 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 358: ++#line 1272 "dhcp6_parser.yy" // lalr1.cc:859 { 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 2162 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2168 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 358: - #line 1275 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1276 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 359: ++#line 1278 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2170 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2176 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 359: - #line 1277 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1278 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 360: ++#line 1280 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2180 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2186 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 361: - #line 1285 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1286 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 362: ++#line 1288 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2188 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2194 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 362: - #line 1287 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1288 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 363: ++#line 1290 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2198 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2204 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 363: - #line 1293 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1294 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 364: ++#line 1296 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2207 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2213 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 364: - #line 1302 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1303 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 365: ++#line 1305 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2218 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2224 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 365: - #line 1307 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1308 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 366: ++#line 1310 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2227 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2233 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 370: - #line 1326 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1327 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 371: ++#line 1329 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2237 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2243 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 371: - #line 1330 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1331 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 372: ++#line 1333 "dhcp6_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2246 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2252 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 372: - #line 1338 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1339 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 373: ++#line 1341 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2256 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2262 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 373: - #line 1342 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1343 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 374: ++#line 1345 "dhcp6_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. // parsing completed } -#line 2265 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2271 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 388: - #line 1375 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1376 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 389: ++#line 1378 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2273 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2279 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 389: - #line 1377 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1378 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 390: ++#line 1380 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2283 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2289 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 392: - #line 1387 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1388 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 393: ++#line 1390 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2292 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2298 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 393: - #line 1392 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1393 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 394: ++#line 1395 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2301 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2307 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 394: - #line 1400 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1401 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 395: ++#line 1403 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2312 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2318 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 395: - #line 1405 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1406 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 396: ++#line 1408 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2321 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2327 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 400: - #line 1420 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1421 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 401: ++#line 1423 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2331 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2337 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 401: - #line 1424 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1425 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 402: ++#line 1427 "dhcp6_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2341 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2347 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 402: - #line 1430 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1431 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 403: ++#line 1433 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2351 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2357 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 403: - #line 1434 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1435 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 404: ++#line 1437 "dhcp6_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 2360 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2366 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 413: - #line 1452 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1453 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 414: ++#line 1455 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2368 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2374 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 414: - #line 1454 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1455 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 415: ++#line 1457 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2378 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2384 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 415: - #line 1460 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1461 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 416: ++#line 1463 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2386 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2392 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 416: - #line 1462 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1463 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 417: ++#line 1465 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as< ElementPtr > (); @@@ -2415,19 -2409,19 +2415,19 @@@ parent->set("user-context", user_context); ctx.leave(); } -#line 2413 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2419 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 417: - #line 1485 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1486 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 418: ++#line 1488 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2421 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2427 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 418: - #line 1487 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1488 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 419: ++#line 1490 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@@ -2452,41 -2446,41 +2452,41 @@@ parent->set("user-context", user_context); ctx.leave(); } -#line 2450 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2456 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 419: - #line 1515 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1516 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 420: ++#line 1518 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pd-pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 2461 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2467 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 420: - #line 1520 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1521 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 421: ++#line 1523 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2470 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2476 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 425: - #line 1535 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1536 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 426: ++#line 1538 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2480 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2486 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 426: - #line 1539 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1540 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 427: ++#line 1542 "dhcp6_parser.yy" // lalr1.cc:859 { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2494,21 -2488,21 +2494,21 @@@ ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2492 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2498 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 427: - #line 1547 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1548 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 428: ++#line 1550 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2502 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2508 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 428: - #line 1551 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1552 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 429: ++#line 1554 "dhcp6_parser.yy" // lalr1.cc:859 { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@@ -2516,399 -2510,399 +2516,399 @@@ ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2514 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2520 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 442: - #line 1576 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1577 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 443: ++#line 1579 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2522 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2528 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 443: - #line 1578 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1579 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 444: ++#line 1581 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 2532 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2538 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 444: - #line 1584 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1585 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 445: ++#line 1587 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 2541 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2547 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 445: - #line 1589 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1590 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 446: ++#line 1592 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2549 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2555 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 446: - #line 1591 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1592 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 447: ++#line 1594 "dhcp6_parser.yy" // lalr1.cc:859 { 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 2559 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2565 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 447: - #line 1597 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1598 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 448: ++#line 1600 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 2568 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2574 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 448: - #line 1602 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1603 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 449: ++#line 1605 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 2577 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2583 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 449: - #line 1610 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1611 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 450: ++#line 1613 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 2588 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2594 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 450: - #line 1615 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1616 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 451: ++#line 1618 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2597 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2603 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 455: - #line 1628 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1629 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 456: ++#line 1631 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2607 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2613 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 456: - #line 1632 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1633 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 457: ++#line 1635 "dhcp6_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 2616 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2622 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 457: - #line 1637 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1638 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 458: ++#line 1640 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2626 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2632 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 458: - #line 1641 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1642 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 459: ++#line 1644 "dhcp6_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. // parsing completed } -#line 2635 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2641 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 474: - #line 1668 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1669 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 475: ++#line 1671 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-addresses", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2646 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2652 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 475: - #line 1673 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1674 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 476: ++#line 1676 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2655 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2661 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 476: - #line 1678 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1679 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 477: ++#line 1681 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefixes", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2666 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2672 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 477: - #line 1683 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1684 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 478: ++#line 1686 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2675 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2681 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 478: - #line 1688 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1689 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 479: ++#line 1691 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2683 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2689 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 479: - #line 1690 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1691 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 480: ++#line 1693 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 2693 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2699 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 480: - #line 1696 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1697 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 481: ++#line 1699 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2701 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2707 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 481: - #line 1698 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1699 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 482: ++#line 1701 "dhcp6_parser.yy" // lalr1.cc:859 { 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 2711 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2717 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 482: - #line 1704 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1705 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 483: ++#line 1707 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2719 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2725 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 483: - #line 1706 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1707 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 484: ++#line 1709 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 2729 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2735 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 484: - #line 1712 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1713 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 485: ++#line 1715 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2737 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2743 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 485: - #line 1714 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1715 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 486: ++#line 1717 "dhcp6_parser.yy" // lalr1.cc:859 { 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 2747 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2753 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 486: - #line 1720 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1721 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 487: ++#line 1723 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2758 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2764 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 487: - #line 1725 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1726 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 488: ++#line 1728 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2767 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2773 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 488: - #line 1733 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1734 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 489: ++#line 1736 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 2778 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2784 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 489: - #line 1738 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1739 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 490: ++#line 1741 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2787 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2793 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 492: - #line 1747 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1748 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 493: ++#line 1750 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2795 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2801 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 493: - #line 1749 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1750 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 494: ++#line 1752 "dhcp6_parser.yy" // lalr1.cc:859 { 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 2805 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2811 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 494: - #line 1758 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1759 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 495: ++#line 1761 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 2816 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2822 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 495: - #line 1763 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1764 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 496: ++#line 1766 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2825 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2831 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 498: - #line 1772 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1773 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 499: ++#line 1775 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2835 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2841 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 499: - #line 1776 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1777 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 500: ++#line 1779 "dhcp6_parser.yy" // lalr1.cc:859 { // 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 2845 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2851 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 512: - #line 1801 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1802 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 513: ++#line 1804 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2853 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2859 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 513: - #line 1803 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1804 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 514: ++#line 1806 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 2863 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2869 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 514: - #line 1809 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1810 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 515: ++#line 1812 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 2872 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2878 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 515: - #line 1817 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1818 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 516: ++#line 1820 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-id", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 2883 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2889 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 516: - #line 1822 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1823 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 517: ++#line 1825 "dhcp6_parser.yy" // lalr1.cc:859 { // 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 2894 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2900 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 528: - #line 1844 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1845 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 529: ++#line 1847 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DUID_TYPE); } -#line 2902 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2908 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 529: - #line 1846 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1847 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 530: ++#line 1849 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@@ -2916,769 -2910,795 +2916,795 @@@ #line 2917 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 530: - #line 1851 "dhcp6_parser.yy" // lalr1.cc:859 + case 531: -#line 1853 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } ++#line 1854 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } #line 2923 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 531: - #line 1852 "dhcp6_parser.yy" // lalr1.cc:859 + case 532: -#line 1854 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } ++#line 1855 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } #line 2929 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 532: - #line 1853 "dhcp6_parser.yy" // lalr1.cc:859 + case 533: -#line 1857 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 1856 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } +#line 2935 "dhcp6_parser.cc" // lalr1.cc:859 + break; + - case 533: - #line 1856 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 534: ++#line 1859 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 2938 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2944 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 534: - #line 1861 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1862 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 535: ++#line 1864 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2946 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2952 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 535: - #line 1863 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1864 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 536: ++#line 1866 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 2956 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2962 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 536: - #line 1869 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1870 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 537: ++#line 1872 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 2965 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2971 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 537: - #line 1874 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1875 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 538: ++#line 1877 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 2974 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2980 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 538: - #line 1881 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1882 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 539: ++#line 1884 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 2983 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2989 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 539: - #line 1888 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1889 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 540: ++#line 1891 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 2994 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3000 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 540: - #line 1893 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1894 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 541: ++#line 1896 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3003 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3009 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 548: - #line 1909 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1910 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 549: ++#line 1912 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3011 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3017 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 549: - #line 1911 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1912 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 550: ++#line 1914 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3021 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3027 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 550: - #line 1917 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1918 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 551: ++#line 1920 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3029 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3035 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 551: - #line 1919 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1920 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 552: ++#line 1922 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3039 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3045 "dhcp6_parser.cc" // lalr1.cc:859 break; -- case 552: - #line 1927 "dhcp6_parser.yy" // lalr1.cc:859 -#line 1928 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 553: ++#line 1930 "dhcp6_parser.yy" // lalr1.cc:859 + { + ctx.enter(ctx.NO_KEYWORD); + } -#line 3047 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3053 "dhcp6_parser.cc" // lalr1.cc:859 + break; + - case 553: -#line 1930 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 554: ++#line 1932 "dhcp6_parser.yy" // lalr1.cc:859 + { + ElementPtr qc = yystack_[0].value.as< ElementPtr > (); + ctx.stack_.back()->set("dhcp-queue-control", qc); + + if (!qc->contains("queue-type")) { + std::stringstream msg; + msg << "'queue-type' is required: "; + msg << qc->getPosition().str() << ")"; + error(yystack_[3].location, msg.str()); + } + + ctx.leave(); + } -#line 3065 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3071 "dhcp6_parser.cc" // lalr1.cc:859 + break; + - case 554: -#line 1946 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 555: ++#line 1948 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } - #line 3056 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3076 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3082 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 553: - #line 1932 "dhcp6_parser.yy" // lalr1.cc:859 - case 555: -#line 1951 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 556: ++#line 1953 "dhcp6_parser.yy" // lalr1.cc:859 { // 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 3067 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3087 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3093 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 554: - #line 1939 "dhcp6_parser.yy" // lalr1.cc:859 - case 556: -#line 1958 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 557: ++#line 1960 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3077 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3097 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3103 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 555: - #line 1943 "dhcp6_parser.yy" // lalr1.cc:859 - case 557: -#line 1962 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 558: ++#line 1964 "dhcp6_parser.yy" // lalr1.cc:859 { // 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 3087 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3107 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3113 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 577: - #line 1974 "dhcp6_parser.yy" // lalr1.cc:859 - case 579: -#line 1993 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 580: ++#line 1995 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } - #line 3096 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3116 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3122 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 578: - #line 1979 "dhcp6_parser.yy" // lalr1.cc:859 - case 580: -#line 1998 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 581: ++#line 2000 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3104 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3124 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3130 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 579: - #line 1981 "dhcp6_parser.yy" // lalr1.cc:859 - case 581: -#line 2000 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 582: ++#line 2002 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3114 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3134 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3140 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 580: - #line 1987 "dhcp6_parser.yy" // lalr1.cc:859 - case 582: -#line 2006 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 583: ++#line 2008 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3122 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3142 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3148 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 581: - #line 1989 "dhcp6_parser.yy" // lalr1.cc:859 - case 583: -#line 2008 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 584: ++#line 2010 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3132 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3152 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3158 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 582: - #line 1995 "dhcp6_parser.yy" // lalr1.cc:859 - case 584: -#line 2014 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 585: ++#line 2016 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } - #line 3141 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3161 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3167 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 583: - #line 2000 "dhcp6_parser.yy" // lalr1.cc:859 - case 585: -#line 2019 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 586: ++#line 2021 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3149 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3169 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3175 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 584: - #line 2002 "dhcp6_parser.yy" // lalr1.cc:859 - case 586: -#line 2021 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 587: ++#line 2023 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3159 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3179 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3185 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 585: - #line 2008 "dhcp6_parser.yy" // lalr1.cc:859 - case 587: -#line 2027 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 588: ++#line 2029 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } - #line 3168 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3188 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3194 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 586: - #line 2013 "dhcp6_parser.yy" // lalr1.cc:859 - case 588: -#line 2032 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 589: ++#line 2034 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } - #line 3177 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3197 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3203 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 587: - #line 2018 "dhcp6_parser.yy" // lalr1.cc:859 - case 589: -#line 2037 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 590: ++#line 2039 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_PROTOCOL); } - #line 3185 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3205 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3211 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 588: - #line 2020 "dhcp6_parser.yy" // lalr1.cc:859 - case 590: -#line 2039 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 591: ++#line 2041 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3194 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3214 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 591: -#line 2045 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } + #line 3220 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 589: - #line 2026 "dhcp6_parser.yy" // lalr1.cc:859 + case 592: -#line 2046 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } ++#line 2047 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } - #line 3200 "dhcp6_parser.cc" // lalr1.cc:859 + #line 3226 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 590: - #line 2027 "dhcp6_parser.yy" // lalr1.cc:859 + case 593: -#line 2049 "dhcp6_parser.yy" // lalr1.cc:859 ++#line 2048 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } - #line 3206 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3232 "dhcp6_parser.cc" // lalr1.cc:859 + break; + - case 591: - #line 2030 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 594: ++#line 2051 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_FORMAT); } - #line 3214 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3234 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3240 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 592: - #line 2032 "dhcp6_parser.yy" // lalr1.cc:859 - case 594: -#line 2051 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 595: ++#line 2053 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } - #line 3224 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3244 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3250 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 593: - #line 2038 "dhcp6_parser.yy" // lalr1.cc:859 - case 595: -#line 2057 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 596: ++#line 2059 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-include-fqdn", b); } - #line 3233 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3253 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3259 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 594: - #line 2043 "dhcp6_parser.yy" // lalr1.cc:859 - case 596: -#line 2062 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 597: ++#line 2064 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } - #line 3242 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3262 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3268 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 595: - #line 2048 "dhcp6_parser.yy" // lalr1.cc:859 - case 597: -#line 2067 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 598: ++#line 2069 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } - #line 3251 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3271 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3277 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 596: - #line 2053 "dhcp6_parser.yy" // lalr1.cc:859 - case 598: -#line 2072 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 599: ++#line 2074 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.REPLACE_CLIENT_NAME); } - #line 3259 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3279 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3285 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 597: - #line 2055 "dhcp6_parser.yy" // lalr1.cc:859 - case 599: -#line 2074 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 600: ++#line 2076 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3268 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3288 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3294 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 598: - #line 2061 "dhcp6_parser.yy" // lalr1.cc:859 - case 600: -#line 2080 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 601: ++#line 2082 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } - #line 3276 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3296 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3302 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 599: - #line 2064 "dhcp6_parser.yy" // lalr1.cc:859 - case 601: -#line 2083 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 602: ++#line 2085 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } - #line 3284 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3304 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3310 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 600: - #line 2067 "dhcp6_parser.yy" // lalr1.cc:859 - case 602: -#line 2086 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 603: ++#line 2088 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } - #line 3292 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3312 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3318 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 601: - #line 2070 "dhcp6_parser.yy" // lalr1.cc:859 - case 603: -#line 2089 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 604: ++#line 2091 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } - #line 3300 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3320 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3326 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 602: - #line 2073 "dhcp6_parser.yy" // lalr1.cc:859 - case 604: -#line 2092 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 605: ++#line 2094 "dhcp6_parser.yy" // lalr1.cc:859 { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } - #line 3309 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3329 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3335 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 603: - #line 2079 "dhcp6_parser.yy" // lalr1.cc:859 - case 605: -#line 2098 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 606: ++#line 2100 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3317 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3337 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3343 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 604: - #line 2081 "dhcp6_parser.yy" // lalr1.cc:859 - case 606: -#line 2100 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 607: ++#line 2102 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3327 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3347 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3353 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 605: - #line 2087 "dhcp6_parser.yy" // lalr1.cc:859 - case 607: -#line 2106 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 608: ++#line 2108 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3335 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3355 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3361 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 606: - #line 2089 "dhcp6_parser.yy" // lalr1.cc:859 - case 608: -#line 2108 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 609: ++#line 2110 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3345 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3365 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3371 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 607: - #line 2095 "dhcp6_parser.yy" // lalr1.cc:859 - case 609: -#line 2114 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 610: ++#line 2116 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3353 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3373 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3379 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 608: - #line 2097 "dhcp6_parser.yy" // lalr1.cc:859 - case 610: -#line 2116 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 611: ++#line 2118 "dhcp6_parser.yy" // lalr1.cc:859 { 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 3363 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3383 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3389 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 609: - #line 2105 "dhcp6_parser.yy" // lalr1.cc:859 - case 611: -#line 2124 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 612: ++#line 2126 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3371 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3391 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3397 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 610: - #line 2107 "dhcp6_parser.yy" // lalr1.cc:859 - case 612: -#line 2126 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 613: ++#line 2128 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3380 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3400 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3406 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 611: - #line 2112 "dhcp6_parser.yy" // lalr1.cc:859 - case 613: -#line 2131 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 614: ++#line 2133 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3388 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3408 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3414 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 612: - #line 2114 "dhcp6_parser.yy" // lalr1.cc:859 - case 614: -#line 2133 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 615: ++#line 2135 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3397 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3417 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3423 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 613: - #line 2119 "dhcp6_parser.yy" // lalr1.cc:859 - case 615: -#line 2138 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 616: ++#line 2140 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3405 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3425 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3431 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 614: - #line 2121 "dhcp6_parser.yy" // lalr1.cc:859 - case 616: -#line 2140 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 617: ++#line 2142 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } - #line 3414 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3434 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3440 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 615: - #line 2128 "dhcp6_parser.yy" // lalr1.cc:859 - case 617: -#line 2147 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 618: ++#line 2149 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 3424 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3444 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3450 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 616: - #line 2132 "dhcp6_parser.yy" // lalr1.cc:859 - case 618: -#line 2151 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 619: ++#line 2153 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3432 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3452 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3458 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 617: - #line 2137 "dhcp6_parser.yy" // lalr1.cc:859 - case 619: -#line 2156 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 620: ++#line 2158 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-control", i); ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } - #line 3443 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3463 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3469 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 618: - #line 2142 "dhcp6_parser.yy" // lalr1.cc:859 - case 620: -#line 2161 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 621: ++#line 2163 "dhcp6_parser.yy" // lalr1.cc:859 { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } - #line 3453 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3473 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3479 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 619: - #line 2148 "dhcp6_parser.yy" // lalr1.cc:859 - case 621: -#line 2167 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 622: ++#line 2169 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3463 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3483 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3489 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 620: - #line 2152 "dhcp6_parser.yy" // lalr1.cc:859 - case 622: -#line 2171 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 623: ++#line 2173 "dhcp6_parser.yy" // lalr1.cc:859 { // No config_control params are required // parsing completed } - #line 3472 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3492 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3498 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 625: - #line 2167 "dhcp6_parser.yy" // lalr1.cc:859 - case 627: -#line 2186 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 628: ++#line 2188 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } - #line 3483 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3503 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3509 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 626: - #line 2172 "dhcp6_parser.yy" // lalr1.cc:859 - case 628: -#line 2191 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 629: ++#line 2193 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3492 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3512 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3518 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 627: - #line 2182 "dhcp6_parser.yy" // lalr1.cc:859 - case 629: -#line 2201 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 630: ++#line 2203 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } - #line 3503 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3523 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3529 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 628: - #line 2187 "dhcp6_parser.yy" // lalr1.cc:859 - case 630: -#line 2206 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 631: ++#line 2208 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3512 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3532 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3538 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 629: - #line 2192 "dhcp6_parser.yy" // lalr1.cc:859 - case 631: -#line 2211 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 632: ++#line 2213 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the Logging map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } - #line 3522 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3542 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3548 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 630: - #line 2196 "dhcp6_parser.yy" // lalr1.cc:859 - case 632: -#line 2215 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 633: ++#line 2217 "dhcp6_parser.yy" // lalr1.cc:859 { // parsing completed } - #line 3530 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3550 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3556 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 634: - #line 2212 "dhcp6_parser.yy" // lalr1.cc:859 - case 636: -#line 2231 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 637: ++#line 2233 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } - #line 3541 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3561 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3567 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 635: - #line 2217 "dhcp6_parser.yy" // lalr1.cc:859 - case 637: -#line 2236 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 638: ++#line 2238 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3550 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3570 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3576 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 638: - #line 2229 "dhcp6_parser.yy" // lalr1.cc:859 - case 640: -#line 2248 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 641: ++#line 2250 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } - #line 3560 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3580 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3586 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 639: - #line 2233 "dhcp6_parser.yy" // lalr1.cc:859 - case 641: -#line 2252 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 642: ++#line 2254 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3568 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3588 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3594 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 649: - #line 2250 "dhcp6_parser.yy" // lalr1.cc:859 - case 651: -#line 2269 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 652: ++#line 2271 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } - #line 3577 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3597 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3603 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 650: - #line 2255 "dhcp6_parser.yy" // lalr1.cc:859 - case 652: -#line 2274 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 653: ++#line 2276 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3585 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3605 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3611 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 651: - #line 2257 "dhcp6_parser.yy" // lalr1.cc:859 - case 653: -#line 2276 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 654: ++#line 2278 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } - #line 3595 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3615 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3621 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 652: - #line 2263 "dhcp6_parser.yy" // lalr1.cc:859 - case 654: -#line 2282 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 655: ++#line 2284 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } - #line 3606 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3626 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3632 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 653: - #line 2268 "dhcp6_parser.yy" // lalr1.cc:859 - case 655: -#line 2287 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 656: ++#line 2289 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } - #line 3615 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3635 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3641 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 656: - #line 2277 "dhcp6_parser.yy" // lalr1.cc:859 - case 658: -#line 2296 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 659: ++#line 2298 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } - #line 3625 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3645 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3651 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 657: - #line 2281 "dhcp6_parser.yy" // lalr1.cc:859 - case 659: -#line 2300 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 660: ++#line 2302 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } - #line 3633 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3653 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3659 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 664: - #line 2295 "dhcp6_parser.yy" // lalr1.cc:859 - case 666: -#line 2314 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 667: ++#line 2316 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } - #line 3641 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3661 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3667 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 665: - #line 2297 "dhcp6_parser.yy" // lalr1.cc:859 - case 667: -#line 2316 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 668: ++#line 2318 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } - #line 3651 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3671 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3677 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 666: - #line 2303 "dhcp6_parser.yy" // lalr1.cc:859 - case 668: -#line 2322 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 669: ++#line 2324 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } - #line 3660 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3680 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3686 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 667: - #line 2308 "dhcp6_parser.yy" // lalr1.cc:859 - case 669: -#line 2327 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 670: ++#line 2329 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } - #line 3669 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3689 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3695 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 668: - #line 2313 "dhcp6_parser.yy" // lalr1.cc:859 - case 670: -#line 2332 "dhcp6_parser.yy" // lalr1.cc:859 ++ case 671: ++#line 2334 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } - #line 3678 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3698 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3704 "dhcp6_parser.cc" // lalr1.cc:859 break; - #line 3682 "dhcp6_parser.cc" // lalr1.cc:859 -#line 3702 "dhcp6_parser.cc" // lalr1.cc:859 ++#line 3708 "dhcp6_parser.cc" // lalr1.cc:859 default: break; } @@@ -3933,122 -3953,123 +3959,123 @@@ } - const short int Dhcp6Parser::yypact_ninf_ = -822; - const short int Dhcp6Parser::yypact_ninf_ = -823; ++ const short int Dhcp6Parser::yypact_ninf_ = -824; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short int Dhcp6Parser::yypact_[] = { - 413, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, 57, 46, 66, 106, - 142, 144, 146, 158, 179, 188, 198, 204, 227, 229, - 239, 252, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, 46, -64, 44, 45, 55, 232, 200, 177, - 65, 202, 53, 203, -23, 362, 63, 52, -822, 257, - 274, 282, 284, 291, -822, -822, -822, -822, -822, 292, - -822, 71, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, 311, 313, 320, 322, 324, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, 326, -822, -822, -822, 91, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, 344, -822, 124, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, 345, 355, -822, -822, -822, -822, - -822, -822, -822, -822, -822, 126, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, 135, -822, -822, - -822, -822, -822, 367, -822, 389, 391, -822, -822, -822, - -822, -822, -822, 136, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, 332, 364, -822, -822, -822, -822, -822, -822, -822, - -822, 398, -822, -822, 393, -822, -822, -822, 395, -822, - -822, 404, 410, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, 411, 412, -822, -822, - -822, -822, 432, 418, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, 182, -822, -822, -822, - 437, -822, -822, 438, -822, 441, 444, -822, -822, 451, - 452, 453, -822, -822, -822, -822, -822, -822, -822, 186, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, 196, -822, - -822, -822, -822, 205, -822, -822, -822, 46, 46, -822, - 288, 455, 456, 457, 459, 460, -822, 44, -822, 52, - 462, 463, 464, 465, 466, 300, 301, 303, 305, 306, - 471, 474, 475, 476, 477, 492, 493, 494, 495, 496, - 497, 498, 501, 502, 503, 504, 338, 506, 507, 45, - -822, 508, 340, 55, -822, 511, 512, 513, 520, 521, - 356, 353, 524, 525, 526, 527, 232, -822, 530, 200, - -822, 531, 365, 533, 368, 369, 177, -822, 534, 540, - 542, 543, 545, 546, 547, -822, 65, -822, 548, 552, - 386, 554, 555, 556, 388, -822, 53, 558, 390, 414, - -822, 203, 560, 579, -3, -822, 415, 580, 581, 419, - 582, 420, 421, 585, 589, 422, 423, 425, 590, 595, - 596, 597, 362, -822, 598, 63, -822, 599, 52, -822, - -822, -822, 600, 601, 602, 46, 46, 46, -822, 225, - 603, 604, 605, 606, 609, -822, -822, -822, -822, -822, - 435, 610, 611, 612, 614, 436, 613, 617, 618, 619, - 620, 621, 623, 624, 625, 626, -822, 627, 628, -822, - 631, -822, -822, 632, 633, 449, 461, 469, -822, -822, - 363, 631, 470, 634, -822, 472, -822, 473, -822, 478, - -822, -822, -822, 631, 631, 631, 479, 480, 481, 482, - -822, 483, 484, -822, 485, 486, 487, -822, -822, 488, - -822, -822, -822, 489, 46, -822, -822, 490, 491, -822, - 499, -822, -822, 1, 509, -822, -822, -822, -57, 500, - 505, 510, -822, 639, -822, 641, -822, 46, 45, 63, - -822, -822, -822, -822, 52, 55, 143, 143, 640, -822, - 655, 656, 657, -822, -822, -822, 658, -20, 46, 23, - 584, 660, 661, 664, 231, 118, 75, 362, -822, -822, - 665, 666, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, 4, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, 667, 640, -822, - 241, 267, 273, 275, -822, -822, -822, -822, 672, 673, - 674, 675, 677, -822, 678, 679, -822, 680, 681, 682, - -822, 277, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - 287, -822, 683, 622, -822, -822, 684, 685, -822, -822, - 686, 688, -822, -822, 687, 691, -822, -822, 689, 693, - -822, -822, -822, 99, -822, -822, -822, 692, -822, -822, - -822, 160, -822, -822, -822, -822, 302, -822, -822, -822, - 254, -822, -822, 694, 696, -822, -822, 695, 699, -822, - 700, 701, 702, 703, 704, 705, 304, -822, -822, -822, - -822, -822, -822, -822, -822, -822, 706, 707, 708, -822, - -822, -822, -822, 335, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, 336, -822, -822, -822, 347, - 517, -822, 697, 710, -822, -822, 709, 711, -822, -822, - -822, 712, -822, -822, 308, -822, 713, -822, -822, -822, - -822, 714, 717, 718, 719, 553, 434, 557, 544, 559, - 721, 561, 562, 722, 563, 564, 565, 143, -822, -822, - 143, -822, 640, 232, -822, 655, 53, -822, 656, 203, - -822, 657, 378, -822, 658, -20, -822, -822, 23, -822, - 723, 584, -822, 12, 660, -822, 65, -822, 661, -23, - -822, 664, 566, 568, 569, 570, 571, 572, 231, -822, - 725, 727, 573, 574, 575, 118, -822, 732, 743, 75, - -822, -822, -822, 742, 746, 200, -822, 665, 177, -822, - 666, 747, -822, 161, 667, -822, -822, 431, 583, 586, - 587, -822, -822, -822, -822, -822, 588, -822, -822, 591, - -822, -822, -822, -822, 348, -822, 357, -822, 744, -822, - 751, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, 360, -822, -822, -822, -822, - -822, -822, -822, -822, 592, -822, -822, 750, -822, -822, - -822, -822, -822, 752, 761, -822, -822, -822, -822, -822, - 757, -822, 372, -822, -822, -822, -822, -822, -822, -822, - -822, 323, 607, -822, -822, -822, -822, 616, 642, -822, - -822, 649, 380, -822, 400, -822, 652, -822, 763, -822, - -822, -822, -822, -822, 426, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, 378, -822, -822, 764, 577, -822, - 12, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, 766, 608, 767, 161, -822, -822, - 662, -822, -822, 769, -822, 668, -822, -822, 690, -822, - -822, 376, -822, 172, 690, -822, -822, 772, 776, 779, - 427, -822, -822, -822, -822, -822, -822, 787, 637, 654, - 659, 172, -822, 676, -822, -822, -822, -822, -822 - 316, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, 64, 46, 50, 68, - 86, 119, 129, 141, 143, 145, 184, 188, 192, 198, - 202, 204, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, 46, -64, 44, 45, 63, 206, 236, 34, - 65, 88, 53, 189, -27, 328, 69, 57, -823, 201, - 229, 230, 228, 248, -823, -823, -823, -823, -823, 260, - -823, 130, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, 262, 266, 275, 280, 286, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, 307, -823, -823, -823, -823, - 132, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, 310, -823, 178, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, 313, 323, -823, -823, - -823, -823, -823, -823, -823, -823, -823, 186, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, 200, - -823, -823, -823, -823, -823, 331, -823, 342, 346, -823, - -823, -823, -823, -823, -823, 277, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, 273, 318, -823, -823, -823, -823, -823, - -823, -823, -823, 362, -823, -823, 378, -823, -823, -823, - 381, -823, -823, 388, 395, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, 382, 398, - -823, -823, -823, -823, 401, 415, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, 288, -823, - -823, -823, 418, -823, -823, 464, -823, 484, 489, -823, - -823, 490, 491, 492, -823, -823, -823, -823, -823, -823, - -823, 295, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - 296, -823, -823, -823, -823, 315, -823, -823, -823, 46, - 46, -823, 249, 493, 495, 496, 497, 501, -823, 44, - -823, 57, 502, 503, 504, 505, 506, 272, 340, 341, - 343, 345, 509, 511, 513, 515, 516, 517, 518, 519, - 520, 524, 525, 526, 527, 528, 529, 530, 364, 532, - 534, 535, 45, -823, 536, 368, 63, -823, 538, 539, - 540, 543, 546, 380, 379, 549, 550, 551, 552, 206, - -823, 555, 236, -823, 557, 391, 559, 393, 394, 34, - -823, 562, 563, 564, 567, 569, 570, 571, -823, 65, - -823, 572, 573, 407, 575, 576, 577, 410, -823, 53, - 580, 413, 414, -823, 189, 581, 584, 152, -823, 416, - 586, 587, 421, 589, 424, 428, 590, 592, 430, 431, - 434, 593, 594, 596, 597, 328, -823, 598, 69, -823, - 602, 57, -823, -823, -823, 604, 603, 605, 46, 46, - 46, -823, 317, 606, 607, 608, 609, 612, -823, -823, - -823, -823, -823, 441, 613, 614, 615, 616, 451, 617, - 619, 620, 621, 622, 623, 625, 626, 627, 628, -823, - 629, 616, 630, -823, 633, -823, -823, 634, 635, 457, - 462, 463, -823, -823, 151, 633, 471, 636, -823, 472, - -823, 474, -823, 475, -823, -823, -823, 633, 633, 633, - 476, 477, 478, 479, -823, 480, 481, -823, 482, 483, - 485, -823, -823, 486, -823, -823, -823, 487, 46, -823, - -823, 488, 494, -823, 498, -823, -823, -52, 473, -823, - -823, -823, -24, 499, 500, 507, -823, 649, -823, 654, - -823, 46, 45, 69, -823, -823, -823, -823, 57, 63, - 142, 142, 653, -823, 655, 656, 658, -823, -823, -823, - 659, -31, 46, 396, 591, 660, 664, 666, 156, 118, - 127, -823, 328, -823, -823, 667, 668, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -15, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, 669, 653, -823, 335, 344, 350, 360, -823, -823, - -823, -823, 657, 674, 675, 676, 677, -823, 678, 679, - -823, 680, 681, 682, -823, 363, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, 375, -823, 683, 684, -823, -823, - 685, 687, -823, -823, 686, 690, -823, -823, 688, 692, - -823, -823, 691, 693, -823, -823, -823, 73, -823, -823, - -823, 694, -823, -823, -823, 99, -823, -823, -823, -823, - 397, -823, -823, -823, 139, -823, -823, 695, 696, -823, - -823, 697, 699, -823, 700, 701, 702, 703, 704, 705, - 408, -823, -823, -823, -823, -823, -823, -823, -823, -823, - 706, 707, 708, -823, -823, -823, -823, 412, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, 423, - -823, -823, -823, 425, 544, -823, 709, 710, -823, -823, - 711, 713, -823, -823, -823, 712, -823, -823, 159, -823, - 715, -823, -823, -823, -823, 714, 718, 719, 720, 548, - 553, 554, 556, 560, 723, 561, 565, 724, 566, 568, - 574, 142, -823, -823, 142, -823, 653, 206, -823, 655, - 53, -823, 656, 189, -823, 658, 268, -823, 659, -31, - -823, -823, 396, -823, 726, 591, -823, 221, 660, -823, - 65, -823, 664, -27, -823, 666, 578, 579, 582, 583, - 585, 588, 156, -823, 729, 730, 595, 600, 601, 118, - -823, 731, 734, 127, -823, -823, -823, 735, 737, 236, - -823, 667, 34, -823, 668, 738, -823, 276, 669, -823, - -823, 443, 599, 610, 611, -823, -823, -823, -823, -823, - 632, -823, -823, 644, -823, -823, -823, -823, 426, -823, - 427, -823, 736, -823, 740, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, 429, - -823, -823, -823, -823, -823, -823, -823, -823, 646, -823, - -823, 739, -823, -823, -823, -823, -823, 743, 742, -823, - -823, -823, -823, -823, 744, -823, 433, -823, -823, -823, - -823, -823, -823, -823, -823, 383, 662, -823, -823, -823, - -823, 671, 672, -823, -823, 689, 436, -823, 437, -823, - 716, -823, 751, -823, -823, -823, -823, -823, 439, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, 268, -823, - -823, 753, 650, -823, 221, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, 754, 624, - 756, 276, -823, -823, 721, -823, -823, 741, -823, 722, - -823, -823, 755, -823, -823, 179, -823, 180, 755, -823, - -823, 757, 759, 760, 459, -823, -823, -823, -823, -823, - -823, 761, 661, 665, 698, 180, -823, 725, -823, -823, - -823, -823, -823 ++ 321, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, 51, 52, 47, 53, ++ 70, 80, 84, 91, 104, 108, 122, 124, 128, 141, ++ 172, 180, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, 52, -107, 42, 62, 48, 231, 89, 371, ++ 27, 148, 34, 151, -27, 464, 64, 43, -824, 205, ++ 228, 281, 300, 311, -824, -824, -824, -824, -824, 319, ++ -824, 78, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, 320, 323, 335, 336, 339, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, 346, -824, -824, -824, -824, ++ 129, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, 347, -824, 157, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, 358, 362, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, 160, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, 177, ++ -824, -824, -824, -824, -824, 366, -824, 367, 372, -824, ++ -824, -824, -824, -824, -824, 224, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, 309, 375, -824, -824, -824, -824, -824, ++ -824, -824, -824, 377, -824, -824, 379, -824, -824, -824, ++ 382, -824, -824, 383, 390, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, 392, 394, ++ -824, -824, -824, -824, 386, 397, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, 226, -824, ++ -824, -824, 401, -824, -824, 402, -824, 405, 407, -824, ++ -824, 411, 412, 415, -824, -824, -824, -824, -824, -824, ++ -824, 266, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ 272, -824, -824, -824, -824, 273, -824, -824, -824, 52, ++ 52, -824, 253, 426, 444, 447, 450, 452, -824, 42, ++ -824, 43, 453, 457, 459, 460, 462, 295, 322, 324, ++ 325, 329, 468, 469, 470, 471, 488, 489, 491, 494, ++ 495, 496, 501, 502, 503, 504, 505, 506, 340, 507, ++ 509, 510, 62, -824, 511, 342, 48, -824, 513, 515, ++ 516, 517, 518, 352, 349, 524, 527, 528, 529, 231, ++ -824, 530, 89, -824, 531, 364, 534, 369, 378, 371, ++ -824, 535, 536, 539, 540, 543, 547, 549, -824, 27, ++ -824, 550, 551, 384, 555, 557, 558, 389, -824, 34, ++ 560, 391, 393, -824, 151, 562, 564, 152, -824, 399, ++ 567, 570, 403, 572, 406, 408, 573, 575, 409, 410, ++ 425, 577, 596, 597, 598, 464, -824, 599, 64, -824, ++ 600, 43, -824, -824, -824, 604, 602, 603, 52, 52, ++ 52, -824, 274, 605, 606, 607, 608, 611, -824, -824, ++ -824, -824, -824, 440, 612, 613, 614, 615, 449, 616, ++ 618, 619, 620, 621, 622, 624, 625, 626, 627, -824, ++ 629, 615, 630, -824, 633, -824, -824, 634, 635, 455, ++ 461, 472, -824, -824, 365, 633, 473, 638, -824, 475, ++ -824, 476, -824, 477, -824, -824, -824, 633, 633, 633, ++ 478, 479, 480, 481, -824, 482, 483, -824, 484, 485, ++ 486, -824, -824, 487, -824, -824, -824, 490, 52, -824, ++ -824, 492, 493, -824, 497, -824, -824, 158, 522, -824, ++ -824, -824, -44, 498, 499, 500, -824, 636, -824, 637, ++ -824, 52, 62, 64, -824, -824, -824, -824, 43, 48, ++ 211, 211, 653, -824, 655, 658, 659, -824, -824, -824, ++ 660, -33, 52, 368, 590, 666, 667, 668, 87, 142, ++ 57, -824, 464, -824, -824, 669, 670, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -13, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, 671, 653, -824, 276, 283, 284, 301, -824, ++ -824, -824, -824, 675, 676, 677, 678, 679, -824, 680, ++ 681, -824, 682, 683, 684, -824, 302, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, 303, -824, 685, 628, -824, ++ -824, 686, 687, -824, -824, 688, 690, -824, -824, 689, ++ 693, -824, -824, 691, 695, -824, -824, -824, 143, -824, ++ -824, -824, 694, -824, -824, -824, 161, -824, -824, -824, ++ -824, 304, -824, -824, -824, 212, -824, -824, 696, 698, ++ -824, -824, 697, 701, -824, 702, 703, 704, 705, 706, ++ 707, 313, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, 708, 709, 710, -824, -824, -824, -824, 317, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ 326, -824, -824, -824, 327, 544, -824, 699, 713, -824, ++ -824, 711, 715, -824, -824, -824, 712, -824, -824, 255, ++ -824, 716, -824, -824, -824, -824, 717, 719, 720, 721, ++ 554, 525, 556, 545, 559, 723, 561, 563, 725, 565, ++ 566, 568, 211, -824, -824, 211, -824, 653, 231, -824, ++ 655, 34, -824, 658, 151, -824, 659, 381, -824, 660, ++ -33, -824, -824, 368, -824, 726, 590, -824, 86, 666, ++ -824, 27, -824, 667, -27, -824, 668, 569, 571, 574, ++ 576, 578, 579, 87, -824, 728, 730, 580, 581, 582, ++ 142, -824, 732, 735, 57, -824, -824, -824, 734, 741, ++ 89, -824, 669, 371, -824, 670, 743, -824, 118, 671, ++ -824, -824, 422, 584, 585, 586, -824, -824, -824, -824, ++ -824, 587, -824, -824, 588, -824, -824, -824, -824, 328, ++ -824, 330, -824, 737, -824, 752, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ 334, -824, -824, -824, -824, -824, -824, -824, -824, 591, ++ -824, -824, 745, -824, -824, -824, -824, -824, 753, 760, ++ -824, -824, -824, -824, -824, 756, -824, 338, -824, -824, ++ -824, -824, -824, -824, -824, -824, 361, 594, -824, -824, ++ -824, -824, 595, 601, -824, -824, 610, 344, -824, 350, ++ -824, 617, -824, 763, -824, -824, -824, -824, -824, 351, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, 381, ++ -824, -824, 765, 641, -824, 86, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, 766, ++ 631, 769, 118, -824, -824, 646, -824, -824, 770, -824, ++ 656, -824, -824, 772, -824, -824, 259, -824, 6, 772, ++ -824, -824, 778, 780, 781, 360, -824, -824, -824, -824, ++ -824, -824, 787, 650, 661, 663, 6, -824, 672, -824, ++ -824, -824, -824, -824 }; const unsigned short int @@@ -4058,155 -4079,157 +4085,157 @@@ 20, 22, 24, 26, 28, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 47, 40, 36, 35, 32, 33, 34, - 39, 3, 37, 38, 60, 5, 72, 7, 115, 9, - 256, 11, 402, 13, 427, 15, 457, 17, 327, 19, - 335, 21, 372, 23, 221, 25, 554, 27, 629, 29, - 619, 31, 49, 43, 0, 0, 0, 0, 0, 0, - 459, 0, 337, 374, 0, 0, 0, 0, 51, 0, - 50, 0, 0, 44, 70, 627, 609, 611, 613, 0, - 69, 0, 62, 64, 66, 67, 68, 65, 615, 617, - 113, 127, 129, 131, 0, 0, 0, 0, 0, 111, - 248, 325, 364, 415, 417, 298, 194, 211, 202, 187, - 494, 449, 213, 232, 515, 0, 539, 552, 105, 0, - 74, 76, 77, 78, 79, 80, 104, 83, 84, 85, - 86, 101, 87, 89, 88, 93, 94, 81, 82, 91, - 92, 99, 100, 102, 90, 95, 96, 97, 98, 103, - 124, 0, 123, 0, 117, 119, 120, 121, 122, 394, - 419, 280, 282, 284, 0, 0, 290, 288, 286, 488, - 279, 260, 261, 262, 263, 0, 258, 267, 268, 269, - 272, 273, 275, 270, 271, 264, 265, 277, 278, 266, - 274, 276, 413, 412, 408, 409, 407, 0, 404, 406, - 410, 411, 442, 0, 445, 0, 0, 441, 435, 436, - 434, 439, 440, 0, 429, 431, 432, 437, 438, 433, - 486, 474, 476, 478, 480, 482, 484, 473, 470, 471, - 472, 0, 460, 461, 465, 466, 463, 467, 468, 469, - 464, 0, 354, 172, 0, 358, 356, 361, 0, 350, - 351, 0, 338, 339, 341, 353, 342, 343, 344, 360, - 345, 346, 347, 348, 349, 388, 0, 0, 386, 387, - 390, 391, 0, 375, 376, 378, 379, 380, 381, 382, - 383, 384, 385, 228, 230, 225, 0, 223, 226, 227, - 0, 578, 580, 0, 583, 0, 0, 587, 591, 0, - 0, 0, 596, 603, 605, 607, 576, 574, 575, 0, - 556, 558, 559, 560, 561, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 573, 634, 0, 631, - 633, 625, 624, 0, 621, 623, 48, 0, 0, 41, - 0, 0, 0, 0, 0, 0, 59, 0, 61, 0, + 39, 3, 37, 38, 60, 5, 72, 7, 116, 9, - 257, 11, 402, 13, 427, 15, 457, 17, 327, 19, - 335, 21, 372, 23, 222, 25, 556, 27, 631, 29, - 621, 31, 49, 43, 0, 0, 0, 0, 0, 0, - 459, 0, 337, 374, 0, 0, 0, 0, 51, 0, - 50, 0, 0, 44, 70, 629, 611, 613, 615, 0, - 69, 0, 62, 64, 66, 67, 68, 65, 617, 619, ++ 257, 11, 403, 13, 428, 15, 458, 17, 328, 19, ++ 336, 21, 373, 23, 222, 25, 557, 27, 632, 29, ++ 622, 31, 49, 43, 0, 0, 0, 0, 0, 0, ++ 460, 0, 338, 375, 0, 0, 0, 0, 51, 0, ++ 50, 0, 0, 44, 70, 630, 612, 614, 616, 0, ++ 69, 0, 62, 64, 66, 67, 68, 65, 618, 620, + 114, 128, 130, 132, 0, 0, 0, 0, 0, 112, - 249, 325, 364, 415, 417, 298, 195, 212, 203, 188, - 494, 449, 214, 233, 515, 0, 539, 552, 554, 106, ++ 249, 326, 365, 416, 418, 299, 195, 212, 203, 188, ++ 495, 450, 214, 233, 516, 0, 540, 553, 555, 106, + 0, 74, 76, 77, 78, 79, 80, 105, 83, 84, + 85, 86, 102, 87, 89, 88, 93, 94, 81, 82, + 91, 92, 100, 101, 103, 90, 95, 96, 97, 98, + 99, 104, 125, 0, 124, 0, 118, 120, 121, 122, - 123, 394, 419, 281, 283, 285, 0, 0, 291, 289, - 287, 488, 280, 261, 262, 263, 264, 0, 259, 268, ++ 123, 395, 420, 281, 283, 285, 0, 0, 291, 289, ++ 287, 489, 280, 261, 262, 263, 264, 0, 259, 268, + 269, 270, 273, 274, 276, 271, 272, 265, 266, 278, - 279, 267, 275, 277, 413, 412, 408, 409, 407, 0, - 404, 406, 410, 411, 442, 0, 445, 0, 0, 441, - 435, 436, 434, 439, 440, 0, 429, 431, 432, 437, - 438, 433, 486, 474, 476, 478, 480, 482, 484, 473, - 470, 471, 472, 0, 460, 461, 465, 466, 463, 467, - 468, 469, 464, 0, 354, 173, 0, 358, 356, 361, - 0, 350, 351, 0, 338, 339, 341, 353, 342, 343, - 344, 360, 345, 346, 347, 348, 349, 388, 0, 0, - 386, 387, 390, 391, 0, 375, 376, 378, 379, 380, - 381, 382, 383, 384, 385, 229, 231, 226, 0, 224, - 227, 228, 0, 580, 582, 0, 585, 0, 0, 589, - 593, 0, 0, 0, 598, 605, 607, 609, 578, 576, - 577, 0, 558, 560, 561, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 573, 574, 575, 636, - 0, 633, 635, 627, 626, 0, 623, 625, 48, 0, ++ 279, 267, 275, 277, 414, 413, 409, 410, 408, 0, ++ 405, 407, 411, 412, 443, 0, 446, 0, 0, 442, ++ 436, 437, 435, 440, 441, 0, 430, 432, 433, 438, ++ 439, 434, 487, 475, 477, 479, 481, 483, 485, 474, ++ 471, 472, 473, 0, 461, 462, 466, 467, 464, 468, ++ 469, 470, 465, 0, 355, 173, 0, 359, 357, 362, ++ 0, 351, 352, 0, 339, 340, 342, 354, 343, 344, ++ 345, 361, 346, 347, 348, 349, 350, 389, 0, 0, ++ 387, 388, 391, 392, 0, 376, 377, 379, 380, 381, ++ 382, 383, 384, 385, 386, 229, 231, 226, 0, 224, ++ 227, 228, 0, 581, 583, 0, 586, 0, 0, 590, ++ 594, 0, 0, 0, 599, 606, 608, 610, 579, 577, ++ 578, 0, 559, 561, 562, 563, 564, 565, 566, 567, ++ 568, 569, 570, 571, 572, 573, 574, 575, 576, 637, ++ 0, 634, 636, 628, 627, 0, 624, 626, 48, 0, + 0, 41, 0, 0, 0, 0, 0, 0, 59, 0, + 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 73, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 0, 0, 0, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 403, 0, 0, 0, 0, 0, 0, 428, 0, 0, - 0, 0, 0, 0, 0, 458, 0, 328, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 373, 0, 0, 0, 0, 222, 0, 0, 0, 0, - 258, 0, 0, 403, 0, 0, 0, 0, 0, 0, - 428, 0, 0, 0, 0, 0, 0, 0, 458, 0, - 328, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 373, 0, 0, 0, 0, 223, 0, ++ 258, 0, 0, 404, 0, 0, 0, 0, 0, 0, ++ 429, 0, 0, 0, 0, 0, 0, 0, 459, 0, ++ 329, 0, 0, 0, 0, 0, 0, 0, 337, 0, ++ 0, 0, 0, 374, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 555, 0, 0, 630, 0, 0, 620, - 52, 45, 0, 0, 0, 0, 0, 0, 63, 0, - 0, 0, 0, 0, 0, 106, 107, 108, 109, 110, - 0, 0, 0, 0, 0, 0, 557, 0, 0, 632, - 0, 0, 622, 52, 45, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 558, 0, 0, 633, ++ 0, 0, 623, 52, 45, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 0, 0, 0, 0, 107, 108, + 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, + 0, 0, 0, 75, 0, 127, 119, 0, 0, 0, - 0, 0, 296, 297, 0, 0, 0, 0, 260, 0, - 405, 0, 444, 0, 447, 448, 430, 0, 0, 0, - 0, 0, 0, 0, 462, 0, 0, 352, 0, 0, - 0, 363, 340, 0, 392, 393, 377, 0, 0, 225, - 579, 0, 0, 584, 0, 587, 588, 0, 0, 595, - 596, 597, 0, 0, 0, 0, 559, 0, 634, 0, - 624, 0, 0, 0, 612, 614, 616, 618, 0, 0, - 0, 0, 134, 113, 251, 329, 366, 42, 416, 418, - 300, 0, 49, 0, 0, 0, 451, 216, 0, 0, - 0, 553, 0, 53, 126, 396, 421, 282, 284, 286, - 293, 294, 295, 292, 290, 288, 0, 414, 443, 446, - 487, 475, 477, 479, 481, 483, 485, 355, 174, 359, - 357, 362, 389, 230, 232, 581, 583, 586, 591, 592, - 590, 594, 600, 601, 602, 603, 604, 599, 606, 608, - 610, 0, 134, 46, 0, 0, 0, 0, 160, 166, - 168, 170, 0, 0, 0, 0, 0, 183, 0, 0, - 186, 0, 0, 0, 159, 0, 140, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 154, 155, 156, - 157, 152, 153, 158, 0, 138, 0, 135, 136, 255, - 0, 252, 253, 333, 0, 330, 331, 370, 0, 367, - 368, 304, 0, 301, 302, 201, 202, 0, 197, 199, - 200, 0, 210, 211, 207, 0, 205, 208, 209, 193, - 0, 190, 192, 498, 0, 496, 455, 0, 452, 453, - 220, 0, 217, 218, 0, 0, 0, 0, 0, 0, - 0, 235, 237, 238, 239, 240, 241, 242, 528, 534, - 0, 0, 0, 527, 524, 525, 526, 0, 517, 519, - 522, 520, 521, 523, 548, 550, 547, 545, 546, 0, - 541, 543, 544, 0, 55, 400, 0, 397, 398, 425, - 0, 422, 423, 492, 491, 0, 490, 640, 0, 638, - 0, 71, 630, 620, 115, 0, 0, 0, 0, 0, ++ 0, 0, 297, 298, 0, 0, 0, 0, 260, 0, ++ 406, 0, 445, 0, 448, 449, 431, 0, 0, 0, ++ 0, 0, 0, 0, 463, 0, 0, 353, 0, 0, ++ 0, 364, 341, 0, 393, 394, 378, 0, 0, 225, ++ 580, 0, 0, 585, 0, 588, 589, 0, 0, 596, ++ 597, 598, 0, 0, 0, 0, 560, 0, 635, 0, ++ 625, 0, 0, 0, 613, 615, 617, 619, 0, 0, ++ 0, 0, 134, 113, 251, 330, 367, 42, 417, 419, ++ 301, 0, 49, 0, 0, 0, 452, 216, 0, 0, ++ 0, 554, 0, 53, 126, 397, 422, 282, 284, 286, ++ 293, 294, 295, 296, 292, 290, 288, 0, 415, 444, ++ 447, 488, 476, 478, 480, 482, 484, 486, 356, 174, ++ 360, 358, 363, 390, 230, 232, 582, 584, 587, 592, ++ 593, 591, 595, 601, 602, 603, 604, 605, 600, 607, ++ 609, 611, 0, 134, 46, 0, 0, 0, 0, 160, ++ 166, 168, 170, 0, 0, 0, 0, 0, 183, 0, ++ 0, 186, 0, 0, 0, 159, 0, 140, 142, 143, ++ 144, 145, 146, 147, 148, 149, 150, 151, 154, 155, ++ 156, 157, 152, 153, 158, 0, 138, 0, 135, 136, ++ 255, 0, 252, 253, 334, 0, 331, 332, 371, 0, ++ 368, 369, 305, 0, 302, 303, 201, 202, 0, 197, ++ 199, 200, 0, 210, 211, 207, 0, 205, 208, 209, ++ 193, 0, 190, 192, 499, 0, 497, 456, 0, 453, ++ 454, 220, 0, 217, 218, 0, 0, 0, 0, 0, ++ 0, 0, 235, 237, 238, 239, 240, 241, 242, 529, ++ 535, 0, 0, 0, 528, 525, 526, 527, 0, 518, ++ 520, 523, 521, 522, 524, 549, 551, 548, 546, 547, ++ 0, 542, 544, 545, 0, 55, 401, 0, 398, 399, ++ 426, 0, 423, 424, 493, 492, 0, 491, 641, 0, ++ 639, 0, 71, 631, 621, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 538, 0, 0, 75, - 0, 126, 118, 0, 0, 0, 0, 0, 296, 297, - 0, 0, 0, 0, 259, 0, 405, 0, 444, 0, - 447, 448, 430, 0, 0, 0, 0, 0, 0, 0, - 462, 0, 0, 352, 0, 0, 0, 363, 340, 0, - 392, 393, 377, 0, 0, 224, 577, 0, 0, 582, - 0, 585, 586, 0, 0, 593, 594, 595, 0, 0, - 0, 0, 557, 0, 632, 0, 622, 0, 0, 0, - 610, 612, 614, 616, 0, 0, 0, 0, 133, 112, - 250, 329, 366, 42, 416, 418, 300, 0, 49, 0, - 0, 0, 451, 215, 0, 0, 0, 0, 53, 125, - 396, 421, 281, 283, 285, 292, 293, 294, 295, 291, - 289, 287, 0, 414, 443, 446, 487, 475, 477, 479, - 481, 483, 485, 355, 173, 359, 357, 362, 389, 229, - 231, 579, 581, 584, 589, 590, 588, 592, 598, 599, - 600, 601, 602, 597, 604, 606, 608, 0, 133, 46, - 0, 0, 0, 0, 159, 165, 167, 169, 0, 0, - 0, 0, 0, 182, 0, 0, 185, 0, 0, 0, - 158, 0, 139, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 153, 154, 155, 156, 151, 152, 157, - 0, 137, 0, 134, 135, 254, 0, 251, 252, 333, - 0, 330, 331, 370, 0, 367, 368, 304, 0, 301, - 302, 200, 201, 0, 196, 198, 199, 0, 209, 210, - 206, 0, 204, 207, 208, 192, 0, 189, 191, 498, - 0, 496, 455, 0, 452, 453, 219, 0, 216, 217, - 0, 0, 0, 0, 0, 0, 0, 234, 236, 237, - 238, 239, 240, 241, 528, 534, 0, 0, 0, 527, - 524, 525, 526, 0, 517, 519, 522, 520, 521, 523, - 548, 550, 547, 545, 546, 0, 541, 543, 544, 0, - 55, 400, 0, 397, 398, 425, 0, 422, 423, 492, - 491, 0, 490, 638, 0, 636, 0, 71, 628, 618, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, - 0, 132, 0, 0, 249, 0, 337, 326, 0, 374, - 365, 0, 0, 299, 0, 0, 195, 212, 0, 203, - 0, 0, 188, 500, 0, 495, 459, 450, 0, 0, - 214, 0, 0, 0, 0, 0, 0, 0, 0, 233, - 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, - 540, 553, 57, 0, 56, 0, 395, 0, 0, 420, - 0, 0, 489, 0, 0, 635, 626, 0, 0, 0, - 0, 171, 174, 175, 176, 177, 0, 184, 178, 0, - 179, 180, 181, 140, 0, 136, 0, 253, 0, 332, - 0, 369, 324, 319, 321, 312, 313, 308, 309, 310, - 311, 317, 318, 316, 320, 0, 306, 314, 322, 323, - 315, 303, 197, 205, 0, 190, 512, 0, 510, 511, - 507, 508, 509, 0, 501, 502, 504, 505, 506, 497, - 0, 454, 0, 218, 242, 243, 244, 245, 246, 247, - 235, 0, 0, 533, 536, 537, 518, 0, 0, 542, - 54, 0, 0, 399, 0, 424, 0, 652, 0, 650, - 648, 642, 646, 647, 0, 640, 644, 645, 643, 637, - 161, 162, 163, 164, 160, 166, 168, 170, 183, 186, - 138, 255, 334, 371, 0, 305, 193, 0, 0, 499, - 0, 456, 220, 530, 531, 532, 529, 535, 549, 551, - 58, 401, 426, 493, 0, 0, 0, 0, 639, 307, - 0, 514, 503, 0, 649, 0, 641, 513, 0, 651, - 656, 0, 654, 0, 0, 653, 664, 0, 0, 0, - 0, 658, 660, 661, 662, 663, 655, 0, 0, 0, - 0, 0, 657, 0, 666, 667, 668, 659, 665 - 0, 0, 129, 131, 0, 133, 0, 0, 250, 0, - 337, 326, 0, 374, 365, 0, 0, 299, 0, 0, - 196, 213, 0, 204, 0, 0, 189, 500, 0, 495, - 459, 450, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, - 516, 0, 0, 0, 540, 555, 57, 0, 56, 0, - 395, 0, 0, 420, 0, 0, 489, 0, 0, 637, - 628, 0, 0, 0, 0, 172, 175, 176, 177, 178, - 0, 185, 179, 0, 180, 181, 182, 141, 0, 137, - 0, 254, 0, 332, 0, 369, 324, 319, 321, 312, - 313, 308, 309, 310, 311, 317, 318, 316, 320, 0, - 306, 314, 322, 323, 315, 303, 198, 206, 0, 191, - 512, 0, 510, 511, 507, 508, 509, 0, 501, 502, - 504, 505, 506, 497, 0, 454, 0, 219, 243, 244, - 245, 246, 247, 248, 236, 0, 0, 533, 536, 537, - 518, 0, 0, 542, 54, 0, 0, 399, 0, 424, - 0, 654, 0, 652, 650, 644, 648, 649, 0, 642, - 646, 647, 645, 639, 162, 163, 164, 165, 161, 167, - 169, 171, 184, 187, 139, 256, 334, 371, 0, 305, - 194, 0, 0, 499, 0, 456, 221, 530, 531, 532, - 529, 535, 549, 551, 58, 401, 426, 493, 0, 0, - 0, 0, 641, 307, 0, 514, 503, 0, 651, 0, - 643, 513, 0, 653, 658, 0, 656, 0, 0, 655, - 666, 0, 0, 0, 0, 660, 662, 663, 664, 665, - 657, 0, 0, 0, 0, 0, 659, 0, 668, 669, - 670, 661, 667 ++ 0, 0, 0, 129, 131, 0, 133, 0, 0, 250, ++ 0, 338, 327, 0, 375, 366, 0, 0, 300, 0, ++ 0, 196, 213, 0, 204, 0, 0, 189, 501, 0, ++ 496, 460, 451, 0, 0, 215, 0, 0, 0, 0, ++ 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, ++ 0, 517, 0, 0, 0, 541, 556, 57, 0, 56, ++ 0, 396, 0, 0, 421, 0, 0, 490, 0, 0, ++ 638, 629, 0, 0, 0, 0, 172, 175, 176, 177, ++ 178, 0, 185, 179, 0, 180, 181, 182, 141, 0, ++ 137, 0, 254, 0, 333, 0, 370, 325, 320, 322, ++ 313, 314, 309, 310, 311, 312, 318, 319, 317, 321, ++ 0, 307, 315, 323, 324, 316, 304, 198, 206, 0, ++ 191, 513, 0, 511, 512, 508, 509, 510, 0, 502, ++ 503, 505, 506, 507, 498, 0, 455, 0, 219, 243, ++ 244, 245, 246, 247, 248, 236, 0, 0, 534, 537, ++ 538, 519, 0, 0, 543, 54, 0, 0, 400, 0, ++ 425, 0, 655, 0, 653, 651, 645, 649, 650, 0, ++ 643, 647, 648, 646, 640, 162, 163, 164, 165, 161, ++ 167, 169, 171, 184, 187, 139, 256, 335, 372, 0, ++ 306, 194, 0, 0, 500, 0, 457, 221, 531, 532, ++ 533, 530, 536, 550, 552, 58, 402, 427, 494, 0, ++ 0, 0, 0, 642, 308, 0, 515, 504, 0, 652, ++ 0, 644, 514, 0, 654, 659, 0, 657, 0, 0, ++ 656, 667, 0, 0, 0, 0, 661, 663, 664, 665, ++ 666, 658, 0, 0, 0, 0, 0, 660, 0, 669, ++ 670, 671, 662, 668 }; const short int Dhcp6Parser::yypgoto_[] = { - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, 33, -822, 212, - -822, -822, -822, -822, -822, -822, 22, -822, -343, -822, - -822, -822, -74, -822, -822, -822, 467, -822, -822, -822, - -822, 167, 399, -70, -58, -55, -38, -822, -822, -822, - -822, -822, -822, -822, 233, 439, -822, -822, -822, -822, - -822, -822, -822, -822, -822, 169, -822, -16, -822, -573, - 6, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -46, -822, -603, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -17, - -822, -822, -822, -822, -822, -8, -596, -822, -822, -822, - -822, -9, -822, -822, -822, -822, -822, -822, -822, -822, - -21, -822, -822, -822, -14, 402, -822, -822, -822, -822, - -822, -822, -822, -26, -822, -822, -822, -822, -822, -822, - -821, -822, -822, -822, 13, -822, -822, -822, 16, 446, - -822, -822, -818, -822, -814, -822, -34, -822, -32, -822, - -812, -822, -822, -822, -804, -822, -822, -822, -822, 11, - -822, -822, -164, 786, -822, -822, -822, -822, -822, 20, - -822, -822, -822, 24, -822, 428, -822, -42, -822, -822, - -822, -822, -822, -40, -822, -822, -822, -822, -822, -12, - -822, -822, -822, 18, -822, -822, -822, 26, -822, 429, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -25, -822, -822, -822, -24, 454, -822, -822, -62, - -822, -50, -822, -822, -822, -822, -822, -22, -822, -822, - -822, -19, 450, -822, -822, -822, -822, -822, -822, -822, - -35, -822, -822, -822, 9, -822, -822, -822, 15, -822, - 448, 250, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -803, -822, -822, -822, -822, - -822, -822, -822, 21, -822, -822, -822, -143, -822, -822, - -822, -822, -822, -822, -822, 3, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, 0, -822, - -822, -822, -822, -822, -822, -822, -822, 276, 424, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, - -822, -822, -822, -822, -822, -822, -822, -344, 416, -822, - -822, -822, -822, -822, -822, 309, 417, -822, -822, -822, - -13, -822, -822, -157, -822, -822, -822, -822, -822, -822, - -169, -822, -822, -184, -822, -822, -822, -822, -822 - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, 14, -823, -447, - -823, 167, -823, -823, -823, -823, 162, -823, -347, -823, - -823, -823, -74, -823, -823, -823, 329, -823, -823, -823, - -823, 176, 373, -70, -58, -55, -38, -823, -823, -823, - -823, -823, -823, -823, 185, 372, -823, -823, -823, -823, - -823, -823, -823, -823, -823, 111, -823, -59, -823, -577, - -51, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -46, -823, -607, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -39, - -823, -823, -823, -823, -823, -30, -600, -823, -823, -823, - -823, -16, -823, -823, -823, -823, -823, -823, -823, -823, - -45, -823, -823, -823, -26, 399, -823, -823, -823, -823, - -823, -823, -823, -44, -823, -823, -823, -823, -823, -823, - -822, -823, -823, -823, -1, -823, -823, -823, 3, 432, - -823, -823, -818, -823, -816, -823, -34, -823, -32, -823, - -808, -823, -823, -823, -807, -823, -823, -823, -823, -5, - -823, -823, -174, 779, -823, -823, -823, -823, -823, 10, - -823, -823, -823, 13, -823, 417, -823, -42, -823, -823, - -823, -823, -823, -40, -823, -823, -823, -823, -823, -12, - -823, -823, -823, 9, -823, -823, -823, 18, -823, 419, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -29, -823, -823, -823, -25, 453, -823, -823, -62, - -823, -50, -823, -823, -823, -823, -823, -28, -823, -823, - -823, -23, 448, -823, -823, -823, -823, -823, -823, -823, - -35, -823, -823, -823, 6, -823, -823, -823, 11, -823, - 444, 244, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -806, -823, -823, -823, -823, - -823, -823, -823, 16, -823, -823, -823, -152, -823, -823, - -823, -823, -823, -823, -823, -4, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, 0, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, 267, - 422, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -823, - -823, -823, -823, -823, -823, -823, -823, -823, -823, -346, - 420, -823, -823, -823, -823, -823, -823, 301, 435, -823, - -823, -823, -20, -823, -823, -155, -823, -823, -823, -823, - -823, -823, -170, -823, -823, -186, -823, -823, -823, -823, - -823 ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, 14, -824, -451, ++ -824, 168, -824, -824, -824, -824, 164, -824, -423, -824, ++ -824, -824, -74, -824, -824, -824, 427, -824, -824, -824, ++ -824, 238, 429, -70, -58, -55, -38, -824, -824, -824, ++ -824, -824, -824, -824, 240, 431, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, 169, -824, 0, -824, -577, ++ 7, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -46, -824, -607, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -18, ++ -824, -824, -824, -824, -824, -9, -600, -824, -824, -824, ++ -824, -11, -824, -824, -824, -824, -824, -824, -824, -824, ++ -22, -824, -824, -824, -19, 400, -824, -824, -824, -824, ++ -824, -824, -824, -23, -824, -824, -824, -824, -824, -824, ++ -823, -824, -824, -824, 11, -824, -824, -824, 15, 445, ++ -824, -824, -819, -824, -817, -824, -34, -824, -32, -824, ++ -809, -824, -824, -824, -808, -824, -824, -824, -824, 8, ++ -824, -824, -164, 789, -824, -824, -824, -824, -824, 19, ++ -824, -824, -824, 22, -824, 428, -824, -42, -824, -824, ++ -824, -824, -824, -40, -824, -824, -824, -824, -824, -12, ++ -824, -824, -824, 18, -824, -824, -824, 21, -824, 424, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -26, -824, -824, -824, -21, 458, -824, -824, -62, ++ -824, -50, -824, -824, -824, -824, -824, -24, -824, -824, ++ -824, -20, 456, -824, -824, -824, -824, -824, -824, -824, ++ -35, -824, -824, -824, 9, -824, -824, -824, 13, -824, ++ 448, 249, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -807, -824, -824, -824, -824, ++ -824, -824, -824, 20, -824, -824, -824, -145, -824, -824, ++ -824, -824, -824, -824, -824, 2, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -1, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, 275, ++ 419, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -824, ++ -824, -824, -824, -824, -824, -824, -824, -824, -824, -346, ++ 414, -824, -824, -824, -824, -824, -824, 305, 418, -824, ++ -824, -824, -10, -824, -824, -152, -824, -824, -824, -824, ++ -824, -824, -168, -824, -824, -184, -824, -824, -824, -824, ++ -824 }; const short int @@@ -4214,443 -4237,448 +4243,448 @@@ { -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 88, 41, 42, - 73, 604, 92, 93, 43, 72, 89, 90, 619, 800, - 893, 894, 352, 45, 74, 101, 102, 103, 361, 47, - 75, 139, 140, 141, 142, 143, 144, 145, 146, 380, - 147, 371, 49, 76, 173, 174, 175, 401, 176, 148, - 372, 149, 373, 150, 374, 712, 713, 714, 840, 691, - 692, 693, 821, 1014, 694, 822, 695, 823, 696, 824, - 697, 698, 439, 699, 700, 701, 702, 703, 704, 705, - 706, 707, 830, 708, 709, 833, 151, 390, 746, 747, - 748, 860, 152, 387, 733, 734, 735, 736, 153, 389, - 741, 742, 743, 744, 154, 388, 155, 393, 757, 758, - 759, 869, 65, 84, 306, 307, 308, 452, 309, 453, - 156, 394, 766, 767, 768, 769, 770, 771, 772, 773, - 157, 381, 716, 717, 718, 843, 51, 77, 195, 196, - 197, 407, 198, 408, 199, 409, 200, 414, 201, 413, - 202, 412, 629, 203, 204, 158, 386, 728, 729, 730, - 852, 945, 946, 159, 382, 59, 81, 720, 721, 722, - 846, 61, 82, 271, 272, 273, 274, 275, 276, 277, - 438, 278, 442, 279, 441, 280, 281, 443, 282, 160, - 383, 724, 725, 726, 849, 63, 83, 292, 293, 294, - 295, 296, 447, 297, 298, 299, 300, 206, 405, 802, - 803, 804, 895, 53, 78, 217, 218, 219, 418, 161, - 384, 162, 385, 209, 406, 806, 807, 808, 898, 55, - 79, 233, 234, 235, 421, 236, 237, 423, 238, 239, - 163, 392, 753, 754, 755, 866, 57, 80, 251, 252, - 253, 254, 429, 255, 430, 256, 431, 257, 432, 258, - 433, 259, 434, 260, 428, 211, 415, 811, 812, 901, - 164, 391, 750, 751, 863, 963, 964, 965, 966, 967, - 1027, 968, 165, 395, 783, 784, 785, 880, 1036, 786, - 787, 881, 788, 789, 166, 167, 397, 795, 796, 797, - 887, 798, 888, 168, 398, 67, 85, 329, 330, 331, - 332, 457, 333, 458, 334, 335, 460, 336, 337, 338, - 463, 656, 339, 464, 340, 341, 342, 343, 468, 663, - 344, 469, 345, 470, 346, 471, 104, 363, 105, 364, - 106, 365, 169, 369, 370, 71, 87, 353, 354, 355, - 477, 107, 362, 69, 86, 348, 349, 350, 474, 814, - 815, 903, 1004, 1005, 1006, 1007, 1046, 1008, 1044, 1061, - 1062, 1063, 1070, 1071, 1072, 1077, 1073, 1074, 1075 - 73, 608, 92, 93, 43, 72, 89, 90, 624, 804, - 897, 898, 354, 45, 74, 101, 102, 103, 363, 47, ++ 73, 608, 92, 93, 43, 72, 89, 90, 624, 805, ++ 898, 899, 354, 45, 74, 101, 102, 103, 363, 47, + 75, 140, 141, 142, 143, 144, 145, 146, 147, 382, + 148, 373, 49, 76, 175, 176, 177, 404, 178, 149, - 374, 150, 375, 151, 376, 716, 717, 718, 844, 695, - 696, 697, 825, 1018, 698, 826, 699, 827, 700, 828, - 701, 702, 442, 703, 704, 705, 706, 707, 708, 709, - 710, 711, 834, 712, 713, 837, 152, 392, 750, 751, - 752, 864, 153, 389, 737, 738, 739, 740, 154, 391, - 745, 746, 747, 748, 155, 390, 156, 395, 761, 762, - 763, 873, 65, 84, 308, 309, 310, 455, 311, 456, - 157, 396, 770, 771, 772, 773, 774, 775, 776, 777, - 158, 383, 720, 721, 722, 847, 51, 77, 197, 198, ++ 374, 150, 375, 151, 376, 717, 718, 719, 845, 696, ++ 697, 698, 826, 1019, 699, 827, 700, 828, 701, 829, ++ 702, 703, 442, 704, 705, 706, 707, 708, 709, 710, ++ 711, 712, 835, 713, 714, 838, 152, 392, 751, 752, ++ 753, 865, 153, 389, 738, 739, 740, 741, 154, 391, ++ 746, 747, 748, 749, 155, 390, 156, 395, 762, 763, ++ 764, 874, 65, 84, 308, 309, 310, 455, 311, 456, ++ 157, 396, 771, 772, 773, 774, 775, 776, 777, 778, ++ 158, 383, 721, 722, 723, 848, 51, 77, 197, 198, + 199, 410, 200, 411, 201, 412, 202, 417, 203, 416, - 204, 415, 633, 205, 206, 159, 388, 732, 733, 734, - 856, 949, 950, 160, 384, 59, 81, 724, 725, 726, - 850, 61, 82, 273, 274, 275, 276, 277, 278, 279, ++ 204, 415, 634, 205, 206, 159, 388, 733, 734, 735, ++ 857, 950, 951, 160, 384, 59, 81, 725, 726, 727, ++ 851, 61, 82, 273, 274, 275, 276, 277, 278, 279, + 441, 280, 445, 281, 444, 282, 283, 446, 284, 161, - 385, 728, 729, 730, 853, 63, 83, 294, 295, 296, - 297, 298, 450, 299, 300, 301, 302, 208, 408, 806, - 807, 808, 899, 53, 78, 219, 220, 221, 421, 162, - 386, 163, 387, 211, 409, 810, 811, 812, 902, 55, ++ 385, 729, 730, 731, 854, 63, 83, 294, 295, 296, ++ 297, 298, 450, 299, 300, 301, 302, 208, 408, 807, ++ 808, 809, 900, 53, 78, 219, 220, 221, 421, 162, ++ 386, 163, 387, 211, 409, 811, 812, 813, 903, 55, + 79, 235, 236, 237, 424, 238, 239, 426, 240, 241, - 164, 394, 757, 758, 759, 870, 57, 80, 253, 254, ++ 164, 394, 758, 759, 760, 871, 57, 80, 253, 254, + 255, 256, 432, 257, 433, 258, 434, 259, 435, 260, - 436, 261, 437, 262, 431, 213, 418, 815, 816, 905, - 165, 393, 754, 755, 867, 967, 968, 969, 970, 971, - 1031, 972, 166, 397, 787, 788, 789, 884, 1040, 790, - 791, 885, 792, 793, 167, 168, 399, 799, 800, 801, - 891, 802, 892, 169, 400, 170, 401, 67, 85, 331, ++ 436, 261, 437, 262, 431, 213, 418, 816, 817, 906, ++ 165, 393, 755, 756, 868, 968, 969, 970, 971, 972, ++ 1032, 973, 166, 397, 788, 789, 790, 885, 1041, 791, ++ 792, 886, 793, 794, 167, 168, 399, 800, 801, 802, ++ 892, 803, 893, 169, 400, 170, 401, 67, 85, 331, + 332, 333, 334, 460, 335, 461, 336, 337, 463, 338, - 339, 340, 466, 660, 341, 467, 342, 343, 344, 345, - 471, 667, 346, 472, 347, 473, 348, 474, 104, 365, ++ 339, 340, 466, 661, 341, 467, 342, 343, 344, 345, ++ 471, 668, 346, 472, 347, 473, 348, 474, 104, 365, + 105, 366, 106, 367, 171, 371, 372, 71, 87, 355, + 356, 357, 480, 107, 364, 69, 86, 350, 351, 352, - 477, 818, 819, 907, 1008, 1009, 1010, 1011, 1050, 1012, - 1048, 1065, 1066, 1067, 1074, 1075, 1076, 1081, 1077, 1078, - 1079 ++ 477, 819, 820, 908, 1009, 1010, 1011, 1012, 1051, 1013, ++ 1049, 1066, 1067, 1068, 1075, 1076, 1077, 1082, 1078, 1079, ++ 1080 }; const unsigned short int Dhcp6Parser::yytable_[] = { - 100, 138, 172, 190, 213, 227, 247, 191, 269, 288, - 305, 326, 780, 740, 177, 207, 220, 231, 249, 192, - 283, 301, 193, 327, 710, 489, 178, 208, 221, 232, - 250, 938, 284, 302, 939, 328, 270, 289, 940, 194, - 943, 290, 210, 291, 214, 228, 215, 229, 944, 950, - 40, 33, 108, 34, 94, 35, 109, 32, 110, 122, - 263, 111, 112, 113, 351, 205, 216, 230, 248, 170, - 171, 731, 262, 44, 367, 303, 304, 123, 124, 368, - 658, 659, 660, 661, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 241, 399, 303, 304, 956, 957, 400, - 809, 263, 855, 264, 265, 856, 91, 266, 267, 268, - 123, 124, 122, 46, 731, 738, 662, 739, 123, 124, - 123, 124, 125, 126, 127, 128, 129, 403, 130, 416, - 123, 124, 404, 131, 417, 654, 655, 774, 419, 426, - 123, 124, 132, 420, 427, 133, 679, 99, 240, 48, - 732, 50, 134, 52, 241, 242, 243, 244, 245, 246, - 135, 136, 674, 858, 137, 54, 859, 675, 676, 677, - 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, - 688, 689, 99, 123, 124, 454, 56, 95, 630, 472, - 455, 263, 790, 791, 473, 58, 96, 97, 98, 475, - 636, 637, 638, 938, 476, 60, 939, 347, 478, 263, - 940, 62, 943, 479, 99, 99, 36, 37, 38, 39, - 944, 950, 99, 99, 122, 99, 123, 124, 478, 775, - 776, 777, 778, 593, 64, 99, 66, 222, 223, 224, - 225, 226, 123, 124, 399, 99, 68, 122, 121, 817, - 672, 263, 285, 264, 265, 286, 287, 864, 212, 70, - 865, 187, 740, 356, 188, 123, 124, 924, 123, 124, - 475, 114, 115, 116, 117, 818, 478, 357, 403, 122, - 837, 819, 780, 820, 187, 838, 358, 188, 99, 179, - 837, 180, 359, 100, 360, 839, 366, 123, 124, 181, - 182, 183, 184, 185, 186, 861, 997, 878, 998, 999, - 862, 904, 879, 99, 905, 375, 187, 376, 1066, 188, - 131, 1067, 1068, 1069, 377, 138, 378, 189, 379, 172, - 396, 99, 760, 761, 762, 763, 764, 765, 885, 889, - 435, 177, 190, 886, 890, 213, 191, 99, 402, 410, - 472, 837, 227, 178, 207, 891, 1020, 220, 192, 411, - 416, 193, 247, 1024, 231, 1021, 208, 436, 1025, 221, - 99, 422, 269, 99, 249, 454, 232, 288, 194, 1064, - 1032, 210, 1065, 419, 283, 214, 250, 215, 1041, 301, - 480, 481, 228, 424, 229, 425, 284, 440, 326, 444, - 270, 302, 99, 426, 205, 289, 437, 216, 1042, 290, - 327, 291, 445, 446, 230, 448, 449, 114, 115, 116, - 117, 451, 328, 120, 248, 122, 263, 123, 124, 1047, - 1081, 1033, 1034, 1035, 1048, 1082, 625, 626, 627, 628, - 450, 456, 459, 123, 124, 461, 182, 183, 462, 185, - 186, 1010, 1011, 1012, 1013, 465, 466, 467, 482, 483, - 484, 485, 187, 486, 487, 188, 490, 491, 492, 493, - 494, 495, 496, 189, 497, 500, 498, 499, 501, 502, - 503, 504, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 505, 506, 507, 508, - 509, 510, 511, 324, 325, 512, 513, 514, 515, 516, - 517, 518, 520, 521, 138, 523, 524, 525, 590, 591, - 592, 172, 690, 690, 526, 527, 529, 528, 530, 531, - 532, 533, 99, 177, 535, 537, 538, 539, 543, 540, - 541, 779, 792, 326, 544, 178, 545, 546, 99, 547, - 548, 549, 551, 781, 793, 327, 552, 553, 554, 555, - 556, 557, 559, 560, 563, 782, 794, 328, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 564, 567, 568, 570, 561, 566, 573, - 569, 571, 572, 574, 578, 575, 576, 650, 577, 579, - 580, 581, 583, 585, 587, 599, 605, 912, 588, 589, - 594, 595, 596, 597, 598, 600, 601, 602, 606, 622, - 669, 34, 607, 608, 609, 842, 611, 610, 612, 613, - 737, 623, 614, 615, 616, 617, 618, 620, 621, 624, - 631, 632, 633, 634, 667, 657, 668, 711, 635, 639, - 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 651, 652, 715, 719, 723, 727, 745, 749, 752, 653, - 664, 756, 801, 805, 813, 665, 825, 826, 827, 828, - 666, 829, 831, 832, 834, 835, 836, 892, 845, 841, - 844, 848, 847, 850, 851, 853, 854, 1060, 857, 868, - 867, 870, 871, 896, 872, 873, 874, 875, 876, 877, - 882, 883, 884, 897, 900, 899, 603, 914, 907, 906, - 902, 908, 909, 910, 911, 916, 919, 954, 913, 981, - 915, 982, 917, 918, 920, 921, 987, 974, 922, 975, - 976, 977, 978, 979, 983, 984, 985, 988, 990, 991, - 1051, 996, 1022, 1015, 1028, 670, 1016, 1017, 1018, 1023, - 1029, 1019, 1026, 690, 1030, 1031, 690, 1045, 1050, 190, - 1053, 1055, 269, 191, 1058, 288, 1078, 1037, 932, 1054, - 1079, 207, 933, 1080, 283, 192, 1038, 301, 193, 958, - 948, 1083, 247, 208, 934, 305, 284, 935, 519, 302, - 270, 961, 949, 289, 249, 194, 937, 290, 210, 291, - 1084, 779, 1039, 962, 936, 792, 250, 959, 941, 1040, - 942, 213, 1043, 781, 227, 1085, 925, 793, 673, 1000, - 1086, 205, 1057, 220, 488, 782, 231, 816, 1059, 794, - 947, 1002, 522, 923, 955, 221, 1088, 952, 232, 953, - 973, 960, 980, 1003, 248, 972, 565, 1001, 927, 926, - 1049, 214, 534, 215, 228, 951, 229, 261, 929, 931, - 928, 992, 993, 536, 558, 930, 542, 971, 995, 994, - 562, 970, 810, 216, 550, 969, 230, 1052, 986, 989, - 1056, 1009, 584, 799, 586, 1076, 582, 1087, 671, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 139, 174, 192, 215, 229, 249, 193, 271, 290, - 307, 328, 784, 744, 179, 209, 222, 233, 251, 194, - 285, 303, 195, 329, 714, 492, 180, 210, 223, 234, - 252, 40, 286, 304, 942, 330, 272, 291, 943, 196, - 944, 292, 212, 293, 216, 230, 217, 231, 947, 948, - 954, 33, 108, 34, 94, 35, 109, 44, 110, 735, - 607, 111, 112, 113, 32, 207, 218, 232, 250, 353, - 305, 306, 264, 243, 607, 46, 859, 172, 173, 860, - 813, 122, 658, 659, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 48, 224, 225, 226, 227, 228, 123, - 124, 265, 862, 266, 267, 863, 91, 268, 269, 270, - 123, 124, 122, 662, 663, 664, 665, 189, 123, 124, - 190, 125, 126, 127, 128, 129, 50, 130, 123, 124, - 123, 124, 131, 369, 121, 402, 52, 778, 370, 736, - 403, 132, 868, 99, 133, 869, 683, 242, 54, 666, - 56, 134, 58, 243, 244, 245, 246, 247, 248, 135, - 136, 678, 908, 137, 138, 909, 679, 680, 681, 682, - 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, - 693, 406, 1068, 123, 124, 1069, 407, 95, 634, 419, - 265, 60, 123, 124, 420, 62, 96, 97, 98, 64, - 640, 641, 642, 422, 99, 66, 942, 358, 423, 68, - 943, 70, 944, 349, 99, 99, 36, 37, 38, 39, - 947, 948, 954, 99, 630, 631, 632, 99, 779, 780, - 781, 782, 359, 99, 360, 99, 361, 265, 287, 266, - 267, 288, 289, 794, 795, 114, 115, 116, 117, 305, - 306, 362, 676, 122, 123, 124, 764, 765, 766, 767, - 768, 769, 744, 181, 368, 182, 377, 928, 122, 265, - 378, 123, 124, 183, 184, 185, 186, 187, 188, 379, - 429, 438, 784, 122, 380, 430, 123, 124, 99, 189, - 381, 457, 190, 131, 214, 100, 458, 99, 475, 478, - 191, 123, 124, 476, 479, 960, 961, 114, 115, 116, - 117, 398, 99, 120, 405, 122, 265, 413, 481, 189, - 481, 439, 190, 482, 265, 597, 1070, 414, 139, 1071, - 1072, 1073, 174, 123, 124, 425, 184, 185, 402, 187, - 188, 123, 124, 821, 179, 192, 427, 478, 215, 193, - 428, 189, 822, 481, 190, 229, 180, 209, 823, 99, - 222, 194, 191, 406, 195, 249, 841, 233, 824, 210, - 440, 842, 223, 483, 484, 271, 99, 251, 841, 234, - 290, 196, 443, 843, 212, 447, 451, 285, 216, 252, - 217, 99, 303, 123, 124, 230, 448, 231, 449, 286, - 865, 328, 452, 272, 304, 866, 99, 207, 291, 453, - 218, 882, 292, 329, 293, 889, 883, 232, 454, 485, - 890, 1001, 459, 1002, 1003, 330, 893, 250, 475, 841, - 419, 894, 1028, 895, 1024, 1025, 457, 1029, 99, 422, - 429, 1036, 1051, 498, 1045, 1046, 99, 1052, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 1085, 1014, 1015, 1016, 1017, 1086, 462, 326, - 327, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 735, 742, 464, 743, - 1037, 1038, 1039, 465, 468, 469, 470, 486, 99, 487, - 488, 489, 594, 595, 596, 490, 493, 494, 495, 496, - 497, 499, 500, 503, 501, 504, 502, 505, 139, 506, - 507, 508, 509, 510, 511, 174, 694, 694, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 179, 521, 522, - 524, 525, 527, 528, 529, 783, 796, 530, 328, 180, - 531, 532, 533, 534, 535, 536, 537, 785, 797, 539, - 329, 541, 542, 543, 544, 545, 547, 548, 549, 786, - 798, 550, 330, 551, 552, 553, 555, 556, 557, 558, - 559, 560, 654, 561, 563, 567, 564, 565, 568, 570, - 571, 572, 573, 574, 577, 575, 578, 582, 583, 576, - 584, 585, 587, 579, 580, 673, 589, 581, 591, 661, - 592, 603, 593, 598, 599, 600, 601, 602, 604, 605, - 606, 609, 610, 34, 611, 612, 613, 627, 615, 614, - 616, 617, 628, 629, 618, 619, 620, 622, 623, 625, - 626, 635, 637, 636, 638, 639, 643, 644, 645, 646, - 647, 648, 649, 650, 671, 651, 652, 653, 655, 672, - 715, 829, 719, 723, 656, 727, 731, 753, 657, 668, - 669, 756, 749, 760, 805, 809, 817, 670, 830, 831, - 832, 833, 835, 836, 838, 839, 840, 846, 621, 845, - 849, 848, 851, 852, 854, 855, 858, 857, 491, 872, - 861, 871, 875, 874, 876, 877, 878, 879, 880, 881, - 886, 887, 888, 901, 896, 900, 904, 903, 911, 915, - 906, 910, 912, 913, 914, 917, 916, 920, 923, 918, - 958, 919, 921, 985, 986, 991, 922, 924, 992, 925, - 995, 994, 1000, 1032, 1026, 1034, 1062, 926, 1027, 978, - 979, 1033, 1035, 980, 981, 1049, 982, 1054, 1057, 983, - 1059, 1082, 1064, 1083, 1084, 1087, 987, 694, 674, 1019, - 694, 988, 989, 192, 741, 523, 271, 193, 526, 290, - 1020, 1021, 936, 820, 677, 209, 937, 929, 285, 194, - 927, 303, 195, 962, 952, 1058, 249, 210, 938, 307, - 286, 939, 1022, 304, 272, 965, 953, 291, 251, 196, - 941, 292, 212, 293, 1023, 783, 1030, 966, 940, 796, - 252, 963, 945, 1055, 946, 215, 959, 785, 229, 956, - 977, 797, 1041, 1004, 1088, 207, 1089, 222, 984, 786, - 233, 1042, 1043, 798, 951, 1006, 957, 976, 931, 223, - 930, 538, 234, 955, 1053, 964, 569, 1007, 250, 1044, - 263, 1005, 933, 932, 935, 216, 562, 217, 230, 1090, - 231, 934, 997, 566, 996, 540, 999, 546, 975, 998, - 814, 974, 1056, 554, 973, 990, 1047, 218, 1013, 803, - 232, 1061, 1063, 993, 675, 1092, 1060, 586, 1080, 1091, - 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 588, 0, 0, 0, 0, 0, 0, ++ 307, 328, 785, 745, 179, 209, 222, 233, 251, 194, ++ 285, 303, 195, 329, 715, 492, 180, 210, 223, 234, ++ 252, 40, 286, 304, 943, 330, 272, 291, 944, 196, ++ 945, 292, 212, 293, 216, 230, 217, 231, 948, 949, ++ 955, 32, 94, 264, 44, 353, 607, 33, 736, 34, ++ 46, 35, 172, 173, 91, 207, 218, 232, 250, 108, ++ 607, 305, 306, 109, 122, 110, 243, 48, 111, 112, ++ 113, 369, 265, 814, 266, 267, 370, 50, 268, 269, ++ 270, 52, 123, 124, 663, 664, 665, 666, 54, 123, ++ 124, 114, 115, 116, 117, 118, 119, 120, 121, 122, ++ 242, 56, 635, 123, 124, 58, 243, 244, 245, 246, ++ 247, 248, 123, 124, 641, 642, 643, 123, 124, 60, ++ 667, 62, 402, 122, 265, 64, 122, 403, 737, 125, ++ 126, 127, 128, 129, 99, 130, 860, 214, 66, 861, ++ 131, 123, 124, 1071, 123, 124, 1072, 1073, 1074, 132, ++ 406, 779, 133, 419, 863, 407, 265, 864, 420, 134, ++ 684, 961, 962, 189, 795, 796, 190, 135, 136, 68, ++ 422, 137, 138, 123, 124, 423, 95, 70, 765, 766, ++ 767, 768, 769, 770, 121, 96, 97, 98, 99, 265, ++ 287, 266, 267, 288, 289, 99, 943, 123, 124, 349, ++ 944, 358, 945, 99, 99, 869, 123, 124, 870, 99, ++ 948, 949, 955, 36, 37, 38, 39, 429, 99, 457, ++ 679, 359, 430, 99, 458, 680, 681, 682, 683, 684, ++ 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, ++ 305, 306, 677, 780, 781, 782, 783, 99, 909, 265, ++ 99, 910, 1069, 745, 1002, 1070, 1003, 1004, 929, 475, ++ 114, 115, 116, 117, 476, 478, 481, 481, 122, 402, ++ 479, 482, 597, 785, 822, 360, 478, 481, 181, 99, ++ 182, 823, 824, 659, 660, 100, 123, 124, 183, 184, ++ 185, 186, 187, 188, 406, 842, 842, 866, 361, 825, ++ 843, 844, 867, 99, 362, 189, 883, 438, 190, 131, ++ 890, 884, 99, 368, 377, 891, 191, 378, 139, 894, ++ 475, 842, 174, 419, 895, 896, 1025, 1029, 1026, 379, ++ 380, 457, 1030, 381, 179, 192, 1037, 422, 215, 193, ++ 398, 405, 1046, 429, 1052, 229, 180, 209, 1047, 1053, ++ 222, 194, 413, 1086, 195, 249, 414, 233, 1087, 210, ++ 425, 427, 223, 483, 484, 271, 428, 251, 439, 234, ++ 290, 196, 99, 443, 212, 440, 447, 285, 216, 252, ++ 217, 448, 303, 449, 453, 230, 451, 231, 452, 286, ++ 454, 328, 99, 272, 304, 459, 462, 207, 291, 464, ++ 218, 465, 292, 329, 293, 468, 469, 232, 122, 470, ++ 114, 115, 116, 117, 485, 330, 120, 250, 122, 265, ++ 486, 224, 225, 226, 227, 228, 123, 124, 630, 631, ++ 632, 633, 1015, 1016, 1017, 1018, 123, 124, 487, 184, ++ 185, 488, 187, 188, 489, 189, 490, 493, 190, 736, ++ 743, 494, 744, 495, 496, 189, 497, 498, 190, 1038, ++ 1039, 1040, 503, 504, 505, 506, 191, 1, 2, 3, ++ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ++ 14, 15, 507, 508, 499, 509, 500, 501, 510, 511, ++ 512, 502, 594, 595, 596, 513, 514, 515, 516, 517, ++ 518, 520, 519, 521, 522, 524, 525, 527, 139, 528, ++ 529, 530, 531, 533, 532, 174, 695, 695, 534, 123, ++ 124, 535, 536, 537, 539, 541, 542, 179, 543, 547, ++ 548, 544, 99, 549, 550, 784, 797, 551, 328, 180, ++ 545, 552, 99, 553, 555, 556, 557, 786, 798, 558, ++ 329, 559, 560, 561, 563, 564, 567, 565, 568, 787, ++ 799, 571, 330, 570, 572, 573, 574, 577, 575, 578, ++ 576, 582, 655, 579, 580, 312, 313, 314, 315, 316, ++ 317, 318, 319, 320, 321, 322, 323, 324, 325, 581, ++ 583, 584, 585, 587, 589, 674, 326, 327, 591, 592, ++ 593, 603, 598, 599, 600, 601, 602, 604, 605, 606, ++ 609, 610, 34, 611, 612, 613, 627, 615, 614, 616, ++ 617, 847, 628, 618, 619, 99, 620, 622, 623, 625, ++ 626, 672, 673, 629, 636, 637, 638, 639, 640, 644, ++ 645, 646, 647, 648, 649, 650, 651, 652, 653, 662, ++ 716, 654, 720, 656, 657, 724, 728, 732, 658, 669, ++ 670, 671, 750, 754, 757, 761, 806, 810, 818, 830, ++ 831, 832, 833, 834, 836, 837, 839, 840, 841, 621, ++ 850, 846, 849, 853, 852, 855, 856, 858, 859, 917, ++ 862, 873, 872, 875, 876, 901, 877, 878, 879, 880, ++ 881, 882, 887, 888, 889, 897, 902, 904, 905, 919, ++ 907, 912, 911, 913, 914, 915, 916, 921, 918, 924, ++ 959, 920, 986, 922, 987, 923, 992, 925, 926, 993, ++ 995, 979, 927, 980, 996, 1027, 981, 1001, 982, 1033, ++ 983, 984, 988, 989, 990, 1020, 1021, 1022, 1023, 1024, ++ 1028, 1034, 1031, 1035, 1036, 1042, 1043, 1050, 695, 1055, ++ 1058, 695, 1044, 1060, 192, 1063, 742, 271, 193, 1065, ++ 290, 1045, 1083, 937, 1084, 1085, 209, 938, 1048, 285, ++ 194, 1088, 303, 195, 963, 953, 491, 249, 210, 939, ++ 307, 286, 940, 1059, 304, 272, 966, 954, 291, 251, ++ 196, 942, 292, 212, 293, 1056, 784, 1062, 967, 941, ++ 797, 252, 964, 946, 1089, 947, 215, 1064, 786, 229, ++ 675, 523, 798, 1090, 1005, 1091, 207, 526, 222, 678, ++ 787, 233, 821, 1093, 799, 952, 1007, 930, 960, 928, ++ 223, 957, 958, 234, 978, 977, 965, 569, 1008, 250, ++ 985, 932, 1006, 931, 538, 1054, 216, 956, 217, 230, ++ 263, 231, 934, 933, 936, 935, 998, 562, 566, 997, ++ 540, 1000, 976, 999, 975, 546, 815, 554, 218, 974, ++ 1057, 232, 991, 994, 586, 590, 588, 804, 676, 1014, ++ 1061, 1081, 1092, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 932, 0, 0, 0, 933, 0, 958, 0, 0, 0, - 0, 0, 948, 0, 0, 0, 934, 0, 961, 935, - 0, 0, 0, 1000, 949, 0, 0, 0, 937, 0, - 962, 0, 0, 0, 959, 1002, 936, 0, 0, 0, - 941, 0, 942, 0, 0, 0, 0, 1003, 0, 0, - 0, 1001, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 947, 0, 0, 0, 0, 0, 960 - 0, 0, 0, 0, 936, 0, 0, 0, 937, 0, - 962, 0, 0, 0, 0, 0, 952, 0, 0, 0, - 938, 0, 965, 939, 0, 0, 0, 1004, 953, 0, - 0, 0, 941, 0, 966, 0, 0, 0, 963, 1006, - 940, 0, 0, 0, 945, 0, 946, 0, 0, 0, - 0, 1007, 0, 0, 0, 1005, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, - 0, 0, 964 ++ 0, 0, 0, 0, 0, 937, 0, 0, 0, 938, ++ 0, 963, 0, 0, 0, 0, 0, 953, 0, 0, ++ 0, 939, 0, 966, 940, 0, 0, 0, 1005, 954, ++ 0, 0, 0, 942, 0, 967, 0, 0, 0, 964, ++ 1007, 941, 0, 0, 0, 946, 0, 947, 0, 0, ++ 0, 0, 1008, 0, 0, 0, 1006, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 952, 0, 0, ++ 0, 0, 0, 965 }; const short int Dhcp6Parser::yycheck_[] = { 74, 75, 76, 77, 78, 79, 80, 77, 82, 83, - 84, 85, 615, 609, 76, 77, 78, 79, 80, 77, - 82, 83, 77, 85, 597, 369, 76, 77, 78, 79, - 80, 852, 82, 83, 852, 85, 82, 83, 852, 77, - 852, 83, 77, 83, 78, 79, 78, 79, 852, 852, - 17, 5, 7, 7, 10, 9, 11, 0, 13, 47, - 48, 16, 17, 18, 12, 77, 78, 79, 80, 14, - 15, 91, 19, 7, 3, 98, 99, 65, 66, 8, - 137, 138, 139, 140, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 89, 3, 98, 99, 85, 86, 8, - 96, 48, 3, 50, 51, 6, 170, 54, 55, 56, - 65, 66, 47, 7, 91, 92, 173, 94, 65, 66, - 65, 66, 77, 78, 79, 80, 81, 3, 83, 3, - 65, 66, 8, 88, 8, 134, 135, 19, 3, 3, - 65, 66, 97, 8, 8, 100, 28, 170, 83, 7, - 170, 7, 107, 7, 89, 90, 91, 92, 93, 94, - 115, 116, 19, 3, 119, 7, 6, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 170, 65, 66, 3, 7, 143, 531, 3, - 8, 48, 117, 118, 8, 7, 152, 153, 154, 3, - 543, 544, 545, 1024, 8, 7, 1024, 144, 3, 48, - 1024, 7, 1024, 8, 170, 170, 170, 171, 172, 173, - 1024, 1024, 170, 170, 47, 170, 65, 66, 3, 111, - 112, 113, 114, 8, 7, 170, 7, 60, 61, 62, - 63, 64, 65, 66, 3, 170, 7, 47, 46, 8, - 594, 48, 49, 50, 51, 52, 53, 3, 58, 7, - 6, 84, 858, 6, 87, 65, 66, 840, 65, 66, - 3, 39, 40, 41, 42, 8, 3, 3, 3, 47, - 3, 8, 885, 8, 84, 8, 4, 87, 170, 57, - 3, 59, 8, 367, 3, 8, 4, 65, 66, 67, - 68, 69, 70, 71, 72, 3, 145, 3, 147, 148, - 8, 3, 8, 170, 6, 4, 84, 4, 146, 87, - 88, 149, 150, 151, 4, 399, 4, 95, 4, 403, - 4, 170, 101, 102, 103, 104, 105, 106, 3, 3, - 8, 403, 416, 8, 8, 419, 416, 170, 4, 4, - 3, 3, 426, 403, 416, 8, 8, 419, 416, 4, - 3, 416, 436, 3, 426, 8, 416, 3, 8, 419, - 170, 4, 446, 170, 436, 3, 426, 451, 416, 3, - 8, 416, 6, 3, 446, 419, 436, 419, 8, 451, - 357, 358, 426, 4, 426, 4, 446, 4, 472, 4, - 446, 451, 170, 3, 416, 451, 8, 419, 8, 451, - 472, 451, 8, 3, 426, 4, 4, 39, 40, 41, - 42, 3, 472, 45, 436, 47, 48, 65, 66, 3, - 3, 108, 109, 110, 8, 8, 73, 74, 75, 76, - 8, 4, 4, 65, 66, 4, 68, 69, 4, 71, - 72, 20, 21, 22, 23, 4, 4, 4, 170, 4, - 4, 4, 84, 4, 4, 87, 4, 4, 4, 4, - 4, 171, 171, 95, 171, 4, 171, 171, 4, 4, - 4, 4, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 4, 4, 4, 4, - 4, 4, 4, 141, 142, 4, 4, 4, 4, 171, - 4, 4, 4, 173, 588, 4, 4, 4, 485, 486, - 487, 595, 596, 597, 4, 4, 173, 171, 4, 4, - 4, 4, 170, 595, 4, 4, 171, 4, 4, 171, - 171, 615, 616, 617, 4, 595, 4, 4, 170, 4, - 4, 4, 4, 615, 616, 617, 4, 171, 4, 4, - 4, 173, 4, 173, 4, 615, 616, 617, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 4, 4, 4, 4, 173, 173, 4, - 171, 171, 171, 4, 4, 173, 173, 564, 173, 4, - 4, 4, 4, 4, 4, 170, 170, 173, 7, 7, - 7, 7, 7, 7, 5, 5, 5, 5, 5, 170, - 587, 7, 5, 5, 5, 3, 5, 7, 5, 5, - 608, 170, 7, 7, 7, 7, 5, 5, 5, 170, - 170, 7, 170, 170, 5, 136, 5, 7, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 7, 7, 7, 7, 82, 7, 7, 170, - 170, 7, 7, 7, 7, 170, 4, 4, 4, 4, - 170, 4, 4, 4, 4, 4, 4, 170, 3, 6, - 6, 3, 6, 6, 3, 6, 3, 7, 6, 3, - 6, 6, 3, 6, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 3, 3, 6, 504, 173, 4, 6, - 8, 4, 4, 4, 171, 4, 4, 4, 171, 4, - 171, 4, 171, 171, 171, 171, 4, 171, 173, 171, - 171, 171, 171, 171, 171, 171, 171, 4, 6, 3, - 173, 4, 8, 170, 4, 588, 170, 170, 170, 8, - 8, 170, 170, 837, 3, 8, 840, 4, 4, 843, - 4, 4, 846, 843, 5, 849, 4, 170, 852, 171, - 4, 843, 852, 4, 846, 843, 170, 849, 843, 863, - 852, 4, 866, 843, 852, 869, 846, 852, 399, 849, - 846, 863, 852, 849, 866, 843, 852, 849, 843, 849, - 173, 885, 170, 863, 852, 889, 866, 863, 852, 170, - 852, 895, 170, 885, 898, 171, 842, 889, 595, 903, - 171, 843, 170, 895, 367, 885, 898, 668, 170, 889, - 852, 903, 403, 837, 861, 895, 170, 855, 898, 858, - 871, 863, 878, 903, 866, 869, 454, 903, 845, 843, - 1024, 895, 416, 895, 898, 854, 898, 81, 848, 851, - 846, 895, 897, 419, 446, 849, 426, 868, 900, 898, - 451, 866, 632, 895, 436, 864, 898, 1030, 885, 889, - 1047, 904, 475, 617, 478, 1064, 472, 1081, 589, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, 85, 619, 613, 76, 77, 78, 79, 80, 77, + 82, 83, 77, 85, 601, 371, 76, 77, 78, 79, - 80, 17, 82, 83, 856, 85, 82, 83, 856, 77, - 856, 83, 77, 83, 78, 79, 78, 79, 856, 856, - 856, 5, 7, 7, 10, 9, 11, 7, 13, 90, - 507, 16, 17, 18, 0, 77, 78, 79, 80, 12, - 97, 98, 19, 88, 521, 7, 3, 14, 15, 6, - 95, 47, 134, 135, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 7, 60, 61, 62, 63, 64, 65, - 66, 48, 3, 50, 51, 6, 170, 54, 55, 56, - 65, 66, 47, 137, 138, 139, 140, 83, 65, 66, - 86, 76, 77, 78, 79, 80, 7, 82, 65, 66, - 65, 66, 87, 3, 46, 3, 7, 19, 8, 170, - 8, 96, 3, 170, 99, 6, 28, 82, 7, 173, - 7, 106, 7, 88, 89, 90, 91, 92, 93, 114, - 115, 19, 3, 118, 119, 6, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 3, 3, 65, 66, 6, 8, 143, 535, 3, - 48, 7, 65, 66, 8, 7, 152, 153, 154, 7, - 547, 548, 549, 3, 170, 7, 1028, 6, 8, 7, - 1028, 7, 1028, 144, 170, 170, 170, 171, 172, 173, - 1028, 1028, 1028, 170, 73, 74, 75, 170, 110, 111, - 112, 113, 3, 170, 4, 170, 8, 48, 49, 50, - 51, 52, 53, 116, 117, 39, 40, 41, 42, 97, - 98, 3, 598, 47, 65, 66, 100, 101, 102, 103, - 104, 105, 862, 57, 4, 59, 4, 844, 47, 48, - 4, 65, 66, 67, 68, 69, 70, 71, 72, 4, - 3, 8, 889, 47, 4, 8, 65, 66, 170, 83, - 4, 3, 86, 87, 58, 369, 8, 170, 3, 3, - 94, 65, 66, 8, 8, 84, 85, 39, 40, 41, - 42, 4, 170, 45, 4, 47, 48, 4, 3, 83, - 3, 3, 86, 8, 48, 8, 146, 4, 402, 149, - 150, 151, 406, 65, 66, 4, 68, 69, 3, 71, - 72, 65, 66, 8, 406, 419, 4, 3, 422, 419, - 4, 83, 8, 3, 86, 429, 406, 419, 8, 170, - 422, 419, 94, 3, 419, 439, 3, 429, 8, 419, - 8, 8, 422, 359, 360, 449, 170, 439, 3, 429, - 454, 419, 4, 8, 419, 4, 4, 449, 422, 439, - 422, 170, 454, 65, 66, 429, 8, 429, 3, 449, - 3, 475, 4, 449, 454, 8, 170, 419, 454, 8, - 422, 3, 454, 475, 454, 3, 8, 429, 3, 170, - 8, 145, 4, 147, 148, 475, 3, 439, 3, 3, - 3, 8, 3, 8, 8, 8, 3, 8, 170, 3, - 3, 8, 3, 171, 8, 8, 170, 8, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 3, 20, 21, 22, 23, 8, 4, 141, - 142, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 90, 91, 4, 93, - 107, 108, 109, 4, 4, 4, 4, 4, 170, 4, - 4, 4, 488, 489, 490, 4, 4, 4, 4, 4, - 4, 171, 171, 4, 171, 4, 171, 4, 592, 4, - 4, 4, 4, 4, 4, 599, 600, 601, 4, 4, - 4, 4, 4, 4, 4, 171, 4, 599, 4, 4, - 4, 173, 4, 4, 4, 619, 620, 4, 622, 599, - 4, 171, 173, 4, 4, 4, 4, 619, 620, 4, - 622, 4, 171, 4, 171, 171, 4, 4, 4, 619, - 620, 4, 622, 4, 4, 4, 4, 4, 171, 4, - 4, 4, 568, 173, 4, 4, 173, 173, 4, 173, - 4, 4, 171, 4, 4, 171, 4, 4, 4, 171, - 4, 4, 4, 173, 173, 591, 4, 173, 4, 136, - 7, 170, 7, 7, 7, 7, 7, 5, 5, 5, - 5, 170, 5, 7, 5, 5, 5, 170, 5, 7, - 5, 5, 170, 170, 7, 7, 7, 7, 5, 5, - 5, 170, 170, 7, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 5, 170, 170, 170, 170, 5, - 7, 4, 7, 7, 170, 7, 7, 7, 170, 170, - 170, 7, 81, 7, 7, 7, 7, 170, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 3, 521, 6, - 3, 6, 6, 3, 6, 3, 3, 6, 369, 3, - 6, 6, 3, 6, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 3, 170, 6, 3, 6, 4, 171, - 8, 6, 4, 4, 4, 171, 173, 4, 4, 173, - 4, 171, 171, 4, 4, 4, 171, 171, 4, 171, - 3, 6, 4, 4, 8, 3, 5, 173, 8, 171, - 171, 8, 8, 171, 171, 4, 171, 4, 4, 171, - 4, 4, 7, 4, 4, 4, 171, 841, 592, 170, - 844, 171, 171, 847, 612, 402, 850, 847, 406, 853, - 170, 170, 856, 672, 599, 847, 856, 846, 850, 847, - 841, 853, 847, 867, 856, 171, 870, 847, 856, 873, - 850, 856, 170, 853, 850, 867, 856, 853, 870, 847, - 856, 853, 847, 853, 170, 889, 170, 867, 856, 893, - 870, 867, 856, 173, 856, 899, 865, 889, 902, 859, - 875, 893, 170, 907, 173, 847, 171, 899, 882, 889, - 902, 170, 170, 893, 856, 907, 862, 873, 849, 899, - 847, 419, 902, 858, 1028, 867, 457, 907, 870, 170, - 81, 907, 852, 850, 855, 899, 449, 899, 902, 171, - 902, 853, 901, 454, 899, 422, 904, 429, 872, 902, - 636, 870, 1034, 439, 868, 889, 170, 899, 908, 622, - 902, 170, 170, 893, 593, 170, 1051, 475, 1068, 1085, - -1, 481, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 478, -1, -1, -1, -1, -1, -1, ++ 80, 17, 82, 83, 857, 85, 82, 83, 857, 77, ++ 857, 83, 77, 83, 78, 79, 78, 79, 857, 857, ++ 857, 0, 10, 19, 7, 12, 507, 5, 91, 7, ++ 7, 9, 14, 15, 171, 77, 78, 79, 80, 7, ++ 521, 98, 99, 11, 47, 13, 89, 7, 16, 17, ++ 18, 3, 48, 96, 50, 51, 8, 7, 54, 55, ++ 56, 7, 65, 66, 138, 139, 140, 141, 7, 65, ++ 66, 39, 40, 41, 42, 43, 44, 45, 46, 47, ++ 83, 7, 535, 65, 66, 7, 89, 90, 91, 92, ++ 93, 94, 65, 66, 547, 548, 549, 65, 66, 7, ++ 174, 7, 3, 47, 48, 7, 47, 8, 171, 77, ++ 78, 79, 80, 81, 171, 83, 3, 58, 7, 6, ++ 88, 65, 66, 147, 65, 66, 150, 151, 152, 97, ++ 3, 19, 100, 3, 3, 8, 48, 6, 8, 107, ++ 28, 85, 86, 84, 117, 118, 87, 115, 116, 7, ++ 3, 119, 120, 65, 66, 8, 144, 7, 101, 102, ++ 103, 104, 105, 106, 46, 153, 154, 155, 171, 48, ++ 49, 50, 51, 52, 53, 171, 1029, 65, 66, 145, ++ 1029, 6, 1029, 171, 171, 3, 65, 66, 6, 171, ++ 1029, 1029, 1029, 171, 172, 173, 174, 3, 171, 3, ++ 19, 3, 8, 171, 8, 24, 25, 26, 27, 28, ++ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, ++ 98, 99, 598, 111, 112, 113, 114, 171, 3, 48, ++ 171, 6, 3, 863, 146, 6, 148, 149, 845, 3, ++ 39, 40, 41, 42, 8, 3, 3, 3, 47, 3, ++ 8, 8, 8, 890, 8, 4, 3, 3, 57, 171, ++ 59, 8, 8, 135, 136, 369, 65, 66, 67, 68, ++ 69, 70, 71, 72, 3, 3, 3, 3, 8, 8, ++ 8, 8, 8, 171, 3, 84, 3, 8, 87, 88, ++ 3, 8, 171, 4, 4, 8, 95, 4, 402, 3, ++ 3, 3, 406, 3, 8, 8, 8, 3, 8, 4, ++ 4, 3, 8, 4, 406, 419, 8, 3, 422, 419, ++ 4, 4, 8, 3, 3, 429, 406, 419, 8, 8, ++ 422, 419, 4, 3, 419, 439, 4, 429, 8, 419, ++ 4, 4, 422, 359, 360, 449, 4, 439, 3, 429, ++ 454, 419, 171, 4, 419, 8, 4, 449, 422, 439, ++ 422, 8, 454, 3, 8, 429, 4, 429, 4, 449, ++ 3, 475, 171, 449, 454, 4, 4, 419, 454, 4, ++ 422, 4, 454, 475, 454, 4, 4, 429, 47, 4, ++ 39, 40, 41, 42, 171, 475, 45, 439, 47, 48, ++ 4, 60, 61, 62, 63, 64, 65, 66, 73, 74, ++ 75, 76, 20, 21, 22, 23, 65, 66, 4, 68, ++ 69, 4, 71, 72, 4, 84, 4, 4, 87, 91, ++ 92, 4, 94, 4, 4, 84, 4, 172, 87, 108, ++ 109, 110, 4, 4, 4, 4, 95, 156, 157, 158, ++ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, ++ 169, 170, 4, 4, 172, 4, 172, 172, 4, 4, ++ 4, 172, 488, 489, 490, 4, 4, 4, 4, 4, ++ 4, 4, 172, 4, 4, 4, 174, 4, 592, 4, ++ 4, 4, 4, 174, 172, 599, 600, 601, 4, 65, ++ 66, 4, 4, 4, 4, 4, 172, 599, 4, 4, ++ 4, 172, 171, 4, 4, 619, 620, 4, 622, 599, ++ 172, 4, 171, 4, 4, 4, 172, 619, 620, 4, ++ 622, 4, 4, 174, 4, 174, 4, 174, 4, 619, ++ 620, 4, 622, 174, 4, 172, 4, 4, 172, 4, ++ 172, 4, 568, 174, 174, 121, 122, 123, 124, 125, ++ 126, 127, 128, 129, 130, 131, 132, 133, 134, 174, ++ 4, 4, 4, 4, 4, 591, 142, 143, 4, 7, ++ 7, 171, 7, 7, 7, 7, 5, 5, 5, 5, ++ 171, 5, 7, 5, 5, 5, 171, 5, 7, 5, ++ 5, 3, 171, 7, 7, 171, 7, 7, 5, 5, ++ 5, 5, 5, 171, 171, 7, 171, 171, 171, 171, ++ 171, 171, 171, 171, 171, 171, 171, 171, 171, 137, ++ 7, 171, 7, 171, 171, 7, 7, 7, 171, 171, ++ 171, 171, 82, 7, 7, 7, 7, 7, 7, 4, ++ 4, 4, 4, 4, 4, 4, 4, 4, 4, 521, ++ 3, 6, 6, 3, 6, 6, 3, 6, 3, 174, ++ 6, 3, 6, 6, 3, 6, 4, 4, 4, 4, ++ 4, 4, 4, 4, 4, 171, 3, 6, 3, 174, ++ 8, 4, 6, 4, 4, 4, 172, 4, 172, 4, ++ 4, 172, 4, 172, 4, 172, 4, 172, 172, 4, ++ 6, 172, 174, 172, 3, 8, 172, 4, 172, 4, ++ 172, 172, 172, 172, 172, 171, 171, 171, 171, 171, ++ 8, 8, 171, 3, 8, 171, 171, 4, 842, 4, ++ 4, 845, 171, 4, 848, 5, 612, 851, 848, 7, ++ 854, 171, 4, 857, 4, 4, 848, 857, 171, 851, ++ 848, 4, 854, 848, 868, 857, 369, 871, 848, 857, ++ 874, 851, 857, 172, 854, 851, 868, 857, 854, 871, ++ 848, 857, 854, 848, 854, 174, 890, 171, 868, 857, ++ 894, 871, 868, 857, 174, 857, 900, 171, 890, 903, ++ 592, 402, 894, 172, 908, 172, 848, 406, 900, 599, ++ 890, 903, 673, 171, 894, 857, 908, 847, 866, 842, ++ 900, 860, 863, 903, 876, 874, 868, 457, 908, 871, ++ 883, 850, 908, 848, 419, 1029, 900, 859, 900, 903, ++ 81, 903, 853, 851, 856, 854, 902, 449, 454, 900, ++ 422, 905, 873, 903, 871, 429, 637, 439, 900, 869, ++ 1035, 903, 890, 894, 475, 481, 478, 622, 593, 909, ++ 1052, 1069, 1086, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1028, -1, -1, -1, 1028, -1, - 1034, -1, -1, -1, -1, -1, 1028, -1, -1, -1, - 1028, -1, 1034, 1028, -1, -1, -1, 1051, 1028, -1, - -1, -1, 1028, -1, 1034, -1, -1, -1, 1034, 1051, - 1028, -1, -1, -1, 1028, -1, 1028, -1, -1, -1, - -1, 1051, -1, -1, -1, 1051, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1028, -1, -1, -1, - -1, -1, 1034 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1024, -1, -1, -1, 1024, -1, 1030, -1, -1, -1, - -1, -1, 1024, -1, -1, -1, 1024, -1, 1030, 1024, - -1, -1, -1, 1047, 1024, -1, -1, -1, 1024, -1, - 1030, -1, -1, -1, 1030, 1047, 1024, -1, -1, -1, - 1024, -1, 1024, -1, -1, -1, -1, 1047, -1, -1, - -1, 1047, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1024, -1, -1, -1, -1, -1, 1030 ++ -1, -1, -1, -1, -1, 1029, -1, -1, -1, 1029, ++ -1, 1035, -1, -1, -1, -1, -1, 1029, -1, -1, ++ -1, 1029, -1, 1035, 1029, -1, -1, -1, 1052, 1029, ++ -1, -1, -1, 1029, -1, 1035, -1, -1, -1, 1035, ++ 1052, 1029, -1, -1, -1, 1029, -1, 1029, -1, -1, ++ -1, -1, 1052, -1, -1, -1, 1052, -1, -1, -1, ++ -1, -1, -1, -1, -1, -1, -1, 1029, -1, -1, ++ -1, -1, -1, 1035 }; const unsigned short int Dhcp6Parser::yystos_[] = { -- 0, 155, 156, 157, 158, 159, 160, 161, 162, 163, -- 164, 165, 166, 167, 168, 169, 175, 176, 177, 178, -- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -- 189, 190, 0, 5, 7, 9, 170, 171, 172, 173, -- 191, 192, 193, 198, 7, 207, 7, 213, 7, 226, -- 7, 320, 7, 397, 7, 413, 7, 430, 7, 349, - 7, 355, 7, 379, 7, 296, 7, 489, 7, 537, - 7, 529, 199, 194, 208, 214, 227, 321, 398, 414, - 431, 350, 356, 380, 297, 490, 538, 530, 191, 200, - 7, 355, 7, 379, 7, 296, 7, 491, 7, 539, - 7, 531, 199, 194, 208, 214, 227, 321, 398, 414, - 431, 350, 356, 380, 297, 492, 540, 532, 191, 200, -- 201, 170, 196, 197, 10, 143, 152, 153, 154, 170, - 206, 209, 210, 211, 520, 522, 524, 535, 7, 11, - 206, 209, 210, 211, 522, 524, 526, 537, 7, 11, ++ 0, 156, 157, 158, 159, 160, 161, 162, 163, 164, ++ 165, 166, 167, 168, 169, 170, 176, 177, 178, 179, ++ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, ++ 190, 191, 0, 5, 7, 9, 171, 172, 173, 174, ++ 192, 193, 194, 199, 7, 208, 7, 214, 7, 227, ++ 7, 321, 7, 398, 7, 414, 7, 431, 7, 350, ++ 7, 356, 7, 380, 7, 297, 7, 492, 7, 540, ++ 7, 532, 200, 195, 209, 215, 228, 322, 399, 415, ++ 432, 351, 357, 381, 298, 493, 541, 533, 192, 201, ++ 202, 171, 197, 198, 10, 144, 153, 154, 155, 171, ++ 207, 210, 211, 212, 523, 525, 527, 538, 7, 11, 13, 16, 17, 18, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 65, 66, 76, 77, 78, 79, 80, - 82, 87, 96, 99, 106, 114, 115, 118, 119, 206, - 215, 216, 217, 218, 219, 220, 221, 222, 224, 233, - 235, 237, 270, 276, 282, 288, 290, 304, 314, 339, - 347, 373, 403, 405, 424, 454, 466, 478, 479, 487, - 489, 528, 14, 15, 206, 228, 229, 230, 232, 403, - 405, 57, 59, 67, 68, 69, 70, 71, 72, 83, - 86, 94, 206, 217, 218, 219, 220, 322, 323, 324, - 326, 328, 330, 332, 334, 337, 338, 373, 391, 403, - 405, 407, 424, 449, 58, 206, 330, 332, 373, 399, - 400, 401, 403, 405, 60, 61, 62, 63, 64, 206, - 330, 332, 373, 403, 405, 415, 416, 417, 419, 420, - 422, 423, 82, 88, 89, 90, 91, 92, 93, 206, - 373, 403, 405, 432, 433, 434, 435, 437, 439, 441, - 443, 445, 447, 347, 19, 48, 50, 51, 54, 55, - 56, 206, 255, 357, 358, 359, 360, 361, 362, 363, - 365, 367, 369, 370, 372, 403, 405, 49, 52, 53, - 206, 255, 361, 367, 381, 382, 383, 384, 385, 387, - 388, 389, 390, 403, 405, 97, 98, 206, 298, 299, - 300, 302, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 141, 142, 206, 403, - 405, 493, 494, 495, 496, 498, 500, 501, 503, 504, - 505, 508, 510, 511, 512, 513, 516, 518, 520, 144, - 541, 542, 543, 12, 206, 533, 534, 535, 6, 3, - 4, 8, 3, 212, 538, 523, 525, 527, 4, 3, - 8, 529, 530, 225, 234, 236, 238, 4, 4, 4, - 4, 4, 223, 315, 348, 374, 404, 406, 340, 277, - 289, 283, 271, 455, 425, 291, 305, 467, 4, 480, - 488, 490, 3, 8, 231, 4, 3, 8, 392, 408, - 325, 327, 329, 4, 4, 335, 333, 331, 450, 3, - 8, 402, 3, 8, 418, 4, 421, 4, 4, 3, - 8, 448, 436, 438, 440, 442, 444, 446, 8, 3, - 8, 364, 256, 4, 368, 366, 371, 4, 8, 3, - 386, 4, 4, 8, 3, 301, 303, 3, 8, 4, - 497, 499, 4, 502, 4, 4, 506, 509, 4, 4, - 4, 514, 517, 519, 521, 3, 8, 544, 3, 8, - 536, 3, 8, 191, 191, 170, 4, 4, 4, 4, - 4, 210, 533, 4, 4, 4, 4, 4, 171, 171, - 171, 171, 171, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 171, - 4, 4, 4, 216, 4, 173, 229, 4, 4, 4, - 4, 4, 171, 173, 4, 4, 4, 4, 323, 4, - 400, 4, 171, 4, 171, 171, 416, 4, 4, 4, - 4, 4, 4, 4, 434, 4, 4, 171, 4, 4, - 4, 173, 359, 4, 173, 173, 383, 4, 4, 299, - 173, 4, 4, 171, 4, 171, 171, 4, 4, 173, - 173, 173, 4, 4, 4, 4, 494, 4, 542, 4, - 534, 4, 7, 7, 191, 191, 191, 8, 7, 7, - 7, 7, 5, 170, 5, 5, 5, 193, 195, 170, + 45, 46, 47, 65, 66, 77, 78, 79, 80, 81, - 83, 88, 97, 100, 107, 115, 116, 119, 206, 215, - 216, 217, 218, 219, 220, 221, 222, 224, 233, 235, - 237, 270, 276, 282, 288, 290, 304, 314, 339, 347, - 373, 403, 405, 424, 454, 466, 478, 479, 487, 526, - 14, 15, 206, 228, 229, 230, 232, 403, 405, 57, - 59, 67, 68, 69, 70, 71, 72, 84, 87, 95, - 206, 217, 218, 219, 220, 322, 323, 324, 326, 328, - 330, 332, 334, 337, 338, 373, 391, 403, 405, 407, - 424, 449, 58, 206, 330, 332, 373, 399, 400, 401, - 403, 405, 60, 61, 62, 63, 64, 206, 330, 332, - 373, 403, 405, 415, 416, 417, 419, 420, 422, 423, - 83, 89, 90, 91, 92, 93, 94, 206, 373, 403, - 405, 432, 433, 434, 435, 437, 439, 441, 443, 445, - 447, 347, 19, 48, 50, 51, 54, 55, 56, 206, - 255, 357, 358, 359, 360, 361, 362, 363, 365, 367, - 369, 370, 372, 403, 405, 49, 52, 53, 206, 255, - 361, 367, 381, 382, 383, 384, 385, 387, 388, 389, - 390, 403, 405, 98, 99, 206, 298, 299, 300, 302, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 141, 142, 206, 403, 405, 491, - 492, 493, 494, 496, 498, 499, 501, 502, 503, 506, - 508, 509, 510, 511, 514, 516, 518, 144, 539, 540, - 541, 12, 206, 531, 532, 533, 6, 3, 4, 8, - 3, 212, 536, 521, 523, 525, 4, 3, 8, 527, - 528, 225, 234, 236, 238, 4, 4, 4, 4, 4, - 223, 315, 348, 374, 404, 406, 340, 277, 289, 283, - 271, 455, 425, 291, 305, 467, 4, 480, 488, 3, - 8, 231, 4, 3, 8, 392, 408, 325, 327, 329, - 4, 4, 335, 333, 331, 450, 3, 8, 402, 3, - 8, 418, 4, 421, 4, 4, 3, 8, 448, 436, - 438, 440, 442, 444, 446, 8, 3, 8, 364, 256, - 4, 368, 366, 371, 4, 8, 3, 386, 4, 4, - 8, 3, 301, 303, 3, 8, 4, 495, 497, 4, - 500, 4, 4, 504, 507, 4, 4, 4, 512, 515, - 517, 519, 3, 8, 542, 3, 8, 534, 3, 8, - 191, 191, 170, 4, 4, 4, 4, 4, 210, 531, - 4, 4, 4, 4, 4, 171, 171, 171, 171, 171, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 171, 4, 4, 216, - 4, 173, 229, 4, 4, 4, 4, 4, 171, 173, - 4, 4, 4, 4, 323, 4, 400, 4, 171, 4, - 171, 171, 416, 4, 4, 4, 4, 4, 4, 4, - 434, 4, 4, 171, 4, 4, 4, 173, 359, 4, - 173, 173, 383, 4, 4, 299, 173, 4, 4, 171, - 4, 171, 171, 4, 4, 173, 173, 173, 4, 4, - 4, 4, 492, 4, 540, 4, 532, 4, 7, 7, - 191, 191, 191, 8, 7, 7, 7, 7, 5, 170, - 5, 5, 5, 193, 195, 170, 5, 5, 5, 5, - 7, 5, 5, 5, 7, 7, 7, 7, 5, 202, - 5, 5, 170, 170, 170, 73, 74, 75, 76, 336, - 202, 170, 7, 170, 170, 170, 202, 202, 202, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 191, 170, 170, 170, 134, 135, 505, 136, 137, 138, - 139, 140, 173, 513, 170, 170, 170, 5, 5, 191, - 215, 539, 531, 228, 19, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 206, 243, 244, 245, 248, 250, 252, 254, 255, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, - 243, 7, 239, 240, 241, 7, 316, 317, 318, 7, - 351, 352, 353, 7, 375, 376, 377, 7, 341, 342, - 343, 91, 170, 278, 279, 280, 281, 200, 92, 94, - 280, 284, 285, 286, 287, 82, 272, 273, 274, 7, - 456, 457, 7, 426, 427, 428, 7, 292, 293, 294, - 101, 102, 103, 104, 105, 106, 306, 307, 308, 309, - 310, 311, 312, 313, 19, 111, 112, 113, 114, 206, - 257, 403, 405, 468, 469, 470, 473, 474, 476, 477, - 117, 118, 206, 403, 405, 481, 482, 483, 485, 491, - 203, 7, 393, 394, 395, 7, 409, 410, 411, 96, - 435, 451, 452, 7, 543, 544, 239, 8, 8, 8, - 8, 246, 249, 251, 253, 4, 4, 4, 4, 4, - 266, 4, 4, 269, 4, 4, 4, 3, 8, 8, - 242, 6, 3, 319, 6, 3, 354, 6, 3, 378, - 6, 3, 344, 6, 3, 3, 6, 6, 3, 6, - 275, 3, 8, 458, 3, 6, 429, 6, 3, 295, - 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 471, 475, 4, 4, 4, 3, 8, 484, 486, 3, - 8, 8, 170, 204, 205, 396, 6, 3, 412, 6, - 3, 453, 8, 545, 3, 6, 6, 4, 4, 4, - 4, 171, 173, 171, 173, 171, 4, 171, 171, 4, - 171, 171, 173, 244, 243, 241, 322, 318, 357, 353, - 381, 377, 206, 217, 218, 219, 220, 255, 314, 326, - 328, 330, 332, 334, 338, 345, 346, 373, 403, 405, - 449, 343, 279, 285, 4, 273, 85, 86, 206, 255, - 373, 403, 405, 459, 460, 461, 462, 463, 465, 457, - 432, 428, 298, 294, 171, 171, 171, 171, 171, 171, - 307, 4, 4, 171, 171, 171, 469, 4, 4, 482, - 6, 3, 399, 395, 415, 411, 4, 145, 147, 148, - 206, 255, 403, 405, 546, 547, 548, 549, 551, 544, - 20, 21, 22, 23, 247, 170, 170, 170, 170, 170, - 8, 8, 8, 8, 3, 8, 170, 464, 4, 8, - 3, 8, 8, 108, 109, 110, 472, 170, 170, 170, - 170, 8, 8, 170, 552, 4, 550, 3, 8, 346, - 4, 173, 461, 4, 171, 4, 547, 170, 5, 170, - 7, 553, 554, 555, 3, 6, 146, 149, 150, 151, - 556, 557, 558, 560, 561, 562, 554, 559, 4, 4, - 4, 3, 8, 4, 173, 171, 171, 557, 170 ++ 83, 88, 97, 100, 107, 115, 116, 119, 120, 207, ++ 216, 217, 218, 219, 220, 221, 222, 223, 225, 234, ++ 236, 238, 271, 277, 283, 289, 291, 305, 315, 340, ++ 348, 374, 404, 406, 425, 455, 467, 479, 480, 488, ++ 490, 529, 14, 15, 207, 229, 230, 231, 233, 404, ++ 406, 57, 59, 67, 68, 69, 70, 71, 72, 84, ++ 87, 95, 207, 218, 219, 220, 221, 323, 324, 325, ++ 327, 329, 331, 333, 335, 338, 339, 374, 392, 404, ++ 406, 408, 425, 450, 58, 207, 331, 333, 374, 400, ++ 401, 402, 404, 406, 60, 61, 62, 63, 64, 207, ++ 331, 333, 374, 404, 406, 416, 417, 418, 420, 421, ++ 423, 424, 83, 89, 90, 91, 92, 93, 94, 207, ++ 374, 404, 406, 433, 434, 435, 436, 438, 440, 442, ++ 444, 446, 448, 348, 19, 48, 50, 51, 54, 55, ++ 56, 207, 256, 358, 359, 360, 361, 362, 363, 364, ++ 366, 368, 370, 371, 373, 404, 406, 49, 52, 53, ++ 207, 256, 362, 368, 382, 383, 384, 385, 386, 388, ++ 389, 390, 391, 404, 406, 98, 99, 207, 299, 300, ++ 301, 303, 121, 122, 123, 124, 125, 126, 127, 128, ++ 129, 130, 131, 132, 133, 134, 142, 143, 207, 404, ++ 406, 494, 495, 496, 497, 499, 501, 502, 504, 505, ++ 506, 509, 511, 512, 513, 514, 517, 519, 521, 145, ++ 542, 543, 544, 12, 207, 534, 535, 536, 6, 3, ++ 4, 8, 3, 213, 539, 524, 526, 528, 4, 3, ++ 8, 530, 531, 226, 235, 237, 239, 4, 4, 4, ++ 4, 4, 224, 316, 349, 375, 405, 407, 341, 278, ++ 290, 284, 272, 456, 426, 292, 306, 468, 4, 481, ++ 489, 491, 3, 8, 232, 4, 3, 8, 393, 409, ++ 326, 328, 330, 4, 4, 336, 334, 332, 451, 3, ++ 8, 403, 3, 8, 419, 4, 422, 4, 4, 3, ++ 8, 449, 437, 439, 441, 443, 445, 447, 8, 3, ++ 8, 365, 257, 4, 369, 367, 372, 4, 8, 3, ++ 387, 4, 4, 8, 3, 302, 304, 3, 8, 4, ++ 498, 500, 4, 503, 4, 4, 507, 510, 4, 4, ++ 4, 515, 518, 520, 522, 3, 8, 545, 3, 8, ++ 537, 3, 8, 192, 192, 171, 4, 4, 4, 4, ++ 4, 211, 534, 4, 4, 4, 4, 4, 172, 172, ++ 172, 172, 172, 4, 4, 4, 4, 4, 4, 4, ++ 4, 4, 4, 4, 4, 4, 4, 4, 4, 172, ++ 4, 4, 4, 217, 4, 174, 230, 4, 4, 4, ++ 4, 4, 172, 174, 4, 4, 4, 4, 324, 4, ++ 401, 4, 172, 4, 172, 172, 417, 4, 4, 4, ++ 4, 4, 4, 4, 435, 4, 4, 172, 4, 4, ++ 4, 174, 360, 4, 174, 174, 384, 4, 4, 300, ++ 174, 4, 4, 172, 4, 172, 172, 4, 4, 174, ++ 174, 174, 4, 4, 4, 4, 495, 4, 543, 4, ++ 535, 4, 7, 7, 192, 192, 192, 8, 7, 7, ++ 7, 7, 5, 171, 5, 5, 5, 194, 196, 171, + 5, 5, 5, 5, 7, 5, 5, 5, 7, 7, - 7, 195, 7, 5, 202, 5, 5, 170, 170, 170, - 73, 74, 75, 336, 202, 170, 7, 170, 170, 170, - 202, 202, 202, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 191, 170, 170, 170, 134, 135, - 507, 136, 137, 138, 139, 140, 173, 515, 170, 170, - 170, 5, 5, 191, 215, 541, 533, 228, 19, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 206, 243, 244, 245, 248, 250, - 252, 254, 255, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 267, 268, 243, 7, 239, 240, 241, 7, - 316, 317, 318, 7, 351, 352, 353, 7, 375, 376, - 377, 7, 341, 342, 343, 90, 170, 278, 279, 280, - 281, 200, 91, 93, 280, 284, 285, 286, 287, 81, - 272, 273, 274, 7, 456, 457, 7, 426, 427, 428, - 7, 292, 293, 294, 100, 101, 102, 103, 104, 105, - 306, 307, 308, 309, 310, 311, 312, 313, 19, 110, - 111, 112, 113, 206, 257, 403, 405, 468, 469, 470, - 473, 474, 476, 477, 116, 117, 206, 403, 405, 481, - 482, 483, 485, 493, 203, 7, 393, 394, 395, 7, - 409, 410, 411, 95, 435, 451, 452, 7, 545, 546, - 239, 8, 8, 8, 8, 246, 249, 251, 253, 4, - 4, 4, 4, 4, 266, 4, 4, 269, 4, 4, - 4, 3, 8, 8, 242, 6, 3, 319, 6, 3, - 354, 6, 3, 378, 6, 3, 344, 6, 3, 3, - 6, 6, 3, 6, 275, 3, 8, 458, 3, 6, - 429, 6, 3, 295, 6, 3, 4, 4, 4, 4, - 4, 4, 3, 8, 471, 475, 4, 4, 4, 3, - 8, 484, 486, 3, 8, 8, 170, 204, 205, 396, - 6, 3, 412, 6, 3, 453, 8, 547, 3, 6, - 6, 4, 4, 4, 4, 171, 173, 171, 173, 171, - 4, 171, 171, 4, 171, 171, 173, 244, 243, 241, - 322, 318, 357, 353, 381, 377, 206, 217, 218, 219, - 220, 255, 314, 326, 328, 330, 332, 334, 338, 345, - 346, 373, 403, 405, 449, 343, 279, 285, 4, 273, - 84, 85, 206, 255, 373, 403, 405, 459, 460, 461, - 462, 463, 465, 457, 432, 428, 298, 294, 171, 171, - 171, 171, 171, 171, 307, 4, 4, 171, 171, 171, - 469, 4, 4, 482, 6, 3, 399, 395, 415, 411, - 4, 145, 147, 148, 206, 255, 403, 405, 548, 549, - 550, 551, 553, 546, 20, 21, 22, 23, 247, 170, - 170, 170, 170, 170, 8, 8, 8, 8, 3, 8, - 170, 464, 4, 8, 3, 8, 8, 107, 108, 109, - 472, 170, 170, 170, 170, 8, 8, 170, 554, 4, - 552, 3, 8, 346, 4, 173, 461, 4, 171, 4, - 549, 170, 5, 170, 7, 555, 556, 557, 3, 6, - 146, 149, 150, 151, 558, 559, 560, 562, 563, 564, - 556, 561, 4, 4, 4, 3, 8, 4, 173, 171, - 171, 559, 170 ++ 7, 196, 7, 5, 203, 5, 5, 171, 171, 171, ++ 73, 74, 75, 76, 337, 203, 171, 7, 171, 171, ++ 171, 203, 203, 203, 171, 171, 171, 171, 171, 171, ++ 171, 171, 171, 171, 171, 192, 171, 171, 171, 135, ++ 136, 508, 137, 138, 139, 140, 141, 174, 516, 171, ++ 171, 171, 5, 5, 192, 216, 542, 534, 229, 19, ++ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, ++ 34, 35, 36, 37, 38, 207, 244, 245, 246, 249, ++ 251, 253, 255, 256, 258, 259, 260, 261, 262, 263, ++ 264, 265, 266, 268, 269, 244, 7, 240, 241, 242, ++ 7, 317, 318, 319, 7, 352, 353, 354, 7, 376, ++ 377, 378, 7, 342, 343, 344, 91, 171, 279, 280, ++ 281, 282, 201, 92, 94, 281, 285, 286, 287, 288, ++ 82, 273, 274, 275, 7, 457, 458, 7, 427, 428, ++ 429, 7, 293, 294, 295, 101, 102, 103, 104, 105, ++ 106, 307, 308, 309, 310, 311, 312, 313, 314, 19, ++ 111, 112, 113, 114, 207, 258, 404, 406, 469, 470, ++ 471, 474, 475, 477, 478, 117, 118, 207, 404, 406, ++ 482, 483, 484, 486, 494, 204, 7, 394, 395, 396, ++ 7, 410, 411, 412, 96, 436, 452, 453, 7, 546, ++ 547, 240, 8, 8, 8, 8, 247, 250, 252, 254, ++ 4, 4, 4, 4, 4, 267, 4, 4, 270, 4, ++ 4, 4, 3, 8, 8, 243, 6, 3, 320, 6, ++ 3, 355, 6, 3, 379, 6, 3, 345, 6, 3, ++ 3, 6, 6, 3, 6, 276, 3, 8, 459, 3, ++ 6, 430, 6, 3, 296, 6, 3, 4, 4, 4, ++ 4, 4, 4, 3, 8, 472, 476, 4, 4, 4, ++ 3, 8, 485, 487, 3, 8, 8, 171, 205, 206, ++ 397, 6, 3, 413, 6, 3, 454, 8, 548, 3, ++ 6, 6, 4, 4, 4, 4, 172, 174, 172, 174, ++ 172, 4, 172, 172, 4, 172, 172, 174, 245, 244, ++ 242, 323, 319, 358, 354, 382, 378, 207, 218, 219, ++ 220, 221, 256, 315, 327, 329, 331, 333, 335, 339, ++ 346, 347, 374, 404, 406, 450, 344, 280, 286, 4, ++ 274, 85, 86, 207, 256, 374, 404, 406, 460, 461, ++ 462, 463, 464, 466, 458, 433, 429, 299, 295, 172, ++ 172, 172, 172, 172, 172, 308, 4, 4, 172, 172, ++ 172, 470, 4, 4, 483, 6, 3, 400, 396, 416, ++ 412, 4, 146, 148, 149, 207, 256, 404, 406, 549, ++ 550, 551, 552, 554, 547, 20, 21, 22, 23, 248, ++ 171, 171, 171, 171, 171, 8, 8, 8, 8, 3, ++ 8, 171, 465, 4, 8, 3, 8, 8, 108, 109, ++ 110, 473, 171, 171, 171, 171, 8, 8, 171, 555, ++ 4, 553, 3, 8, 347, 4, 174, 462, 4, 172, ++ 4, 550, 171, 5, 171, 7, 556, 557, 558, 3, ++ 6, 147, 150, 151, 152, 559, 560, 561, 563, 564, ++ 565, 557, 562, 4, 4, 4, 3, 8, 4, 174, ++ 172, 172, 560, 171 }; const unsigned short int Dhcp6Parser::yyr1_[] = { -- 0, 174, 176, 175, 177, 175, 178, 175, 179, 175, -- 180, 175, 181, 175, 182, 175, 183, 175, 184, 175, -- 185, 175, 186, 175, 187, 175, 188, 175, 189, 175, -- 190, 175, 191, 191, 191, 191, 191, 191, 191, 192, -- 194, 193, 195, 196, 196, 197, 197, 199, 198, 200, -- 200, 201, 201, 203, 202, 204, 204, 205, 205, 206, -- 208, 207, 209, 209, 210, 210, 210, 210, 210, 210, -- 212, 211, 214, 213, 215, 215, 216, 216, 216, 216, -- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, -- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 217, 218, 219, 220, - 221, 223, 222, 225, 224, 227, 226, 228, 228, 229, - 229, 229, 229, 229, 231, 230, 232, 234, 233, 236, - 235, 238, 237, 239, 239, 240, 240, 242, 241, 243, - 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 246, - 245, 247, 247, 247, 247, 249, 248, 251, 250, 253, - 252, 254, 256, 255, 257, 258, 259, 260, 261, 262, - 263, 264, 266, 265, 267, 269, 268, 271, 270, 272, - 272, 273, 275, 274, 277, 276, 278, 278, 279, 279, - 280, 281, 283, 282, 284, 284, 285, 285, 285, 286, - 287, 289, 288, 291, 290, 292, 292, 293, 293, 295, - 294, 297, 296, 298, 298, 298, 299, 299, 301, 300, - 303, 302, 305, 304, 306, 306, 307, 307, 307, 307, - 307, 307, 308, 309, 310, 311, 312, 313, 315, 314, - 316, 316, 317, 317, 319, 318, 321, 320, 322, 322, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 216, 216, 216, 216, 216, 216, 216, 217, 218, 219, - 220, 221, 223, 222, 225, 224, 227, 226, 228, 228, - 229, 229, 229, 229, 229, 231, 230, 232, 234, 233, - 236, 235, 238, 237, 239, 239, 240, 240, 242, 241, - 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 246, 245, 247, 247, 247, 247, 249, 248, 251, 250, - 253, 252, 254, 256, 255, 257, 258, 259, 260, 261, - 262, 263, 264, 266, 265, 267, 269, 268, 271, 270, - 272, 272, 273, 275, 274, 277, 276, 278, 278, 279, - 279, 280, 281, 283, 282, 284, 284, 285, 285, 285, - 286, 287, 289, 288, 291, 290, 292, 292, 293, 293, - 295, 294, 297, 296, 298, 298, 298, 299, 299, 301, - 300, 303, 302, 305, 304, 306, 306, 307, 307, 307, - 307, 307, 307, 308, 309, 310, 311, 312, 313, 315, - 314, 316, 316, 317, 317, 319, 318, 321, 320, 322, - 322, 323, 323, 323, 323, 323, 323, 323, 323, 323, -- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 325, 324, 327, 326, 329, 328, 331, 330, 333, 332, - 335, 334, 336, 336, 336, 336, 337, 338, 340, 339, - 323, 325, 324, 327, 326, 329, 328, 331, 330, 333, - 332, 335, 334, 336, 336, 336, 337, 338, 340, 339, -- 341, 341, 342, 342, 344, 343, 345, 345, 346, 346, -- 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, -- 346, 346, 346, 346, 346, 348, 347, 350, 349, 351, -- 351, 352, 352, 354, 353, 356, 355, 357, 357, 358, -- 358, 359, 359, 359, 359, 359, 359, 359, 359, 359, -- 359, 360, 361, 362, 364, 363, 366, 365, 368, 367, -- 369, 371, 370, 372, 374, 373, 375, 375, 376, 376, -- 378, 377, 380, 379, 381, 381, 382, 382, 383, 383, -- 383, 383, 383, 383, 383, 383, 383, 384, 386, 385, -- 387, 388, 389, 390, 392, 391, 393, 393, 394, 394, -- 396, 395, 398, 397, 399, 399, 400, 400, 400, 400, -- 400, 400, 400, 402, 401, 404, 403, 406, 405, 408, -- 407, 409, 409, 410, 410, 412, 411, 414, 413, 415, -- 415, 416, 416, 416, 416, 416, 416, 416, 416, 416, -- 416, 416, 418, 417, 419, 421, 420, 422, 423, 425, -- 424, 426, 426, 427, 427, 429, 428, 431, 430, 432, -- 432, 433, 433, 434, 434, 434, 434, 434, 434, 434, -- 434, 434, 434, 434, 436, 435, 438, 437, 440, 439, -- 442, 441, 444, 443, 446, 445, 448, 447, 450, 449, -- 451, 451, 453, 452, 455, 454, 456, 456, 458, 457, -- 459, 459, 460, 460, 461, 461, 461, 461, 461, 461, -- 461, 462, 464, 463, 465, 467, 466, 468, 468, 469, -- 469, 469, 469, 469, 469, 469, 469, 469, 471, 470, -- 472, 472, 472, 473, 475, 474, 476, 477, 478, 480, -- 479, 481, 481, 482, 482, 482, 482, 482, 484, 483, - 486, 485, 488, 487, 490, 489, 491, 491, 492, 492, - 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, - 492, 492, 492, 492, 492, 492, 492, 493, 495, 494, - 497, 496, 498, 500, 499, 501, 502, 504, 503, 505, - 505, 507, 506, 508, 509, 510, 512, 511, 513, 513, - 513, 513, 513, 515, 514, 517, 516, 519, 518, 521, - 520, 523, 522, 525, 524, 527, 526, 528, 526, 530, - 529, 531, 531, 532, 532, 534, 533, 536, 535, 538, - 537, 539, 539, 540, 542, 541, 543, 543, 545, 544, - 546, 546, 547, 547, 547, 547, 547, 547, 547, 548, - 550, 549, 552, 551, 553, 553, 555, 554, 556, 556, - 557, 557, 557, 557, 559, 558, 560, 561, 562 - 486, 485, 488, 487, 490, 489, 492, 491, 493, 493, - 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, - 494, 494, 494, 494, 494, 494, 494, 494, 494, 495, - 497, 496, 499, 498, 500, 502, 501, 503, 504, 506, - 505, 507, 507, 509, 508, 510, 511, 512, 514, 513, - 515, 515, 515, 515, 515, 517, 516, 519, 518, 521, - 520, 523, 522, 525, 524, 527, 526, 529, 528, 530, - 528, 532, 531, 533, 533, 534, 534, 536, 535, 538, - 537, 540, 539, 541, 541, 542, 544, 543, 545, 545, - 547, 546, 548, 548, 549, 549, 549, 549, 549, 549, - 549, 550, 552, 551, 554, 553, 555, 555, 557, 556, - 558, 558, 559, 559, 559, 559, 561, 560, 562, 563, - 564 ++ 0, 175, 177, 176, 178, 176, 179, 176, 180, 176, ++ 181, 176, 182, 176, 183, 176, 184, 176, 185, 176, ++ 186, 176, 187, 176, 188, 176, 189, 176, 190, 176, ++ 191, 176, 192, 192, 192, 192, 192, 192, 192, 193, ++ 195, 194, 196, 197, 197, 198, 198, 200, 199, 201, ++ 201, 202, 202, 204, 203, 205, 205, 206, 206, 207, ++ 209, 208, 210, 210, 211, 211, 211, 211, 211, 211, ++ 213, 212, 215, 214, 216, 216, 217, 217, 217, 217, ++ 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, ++ 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, ++ 217, 217, 217, 217, 217, 217, 217, 218, 219, 220, ++ 221, 222, 224, 223, 226, 225, 228, 227, 229, 229, ++ 230, 230, 230, 230, 230, 232, 231, 233, 235, 234, ++ 237, 236, 239, 238, 240, 240, 241, 241, 243, 242, ++ 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, ++ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, ++ 247, 246, 248, 248, 248, 248, 250, 249, 252, 251, ++ 254, 253, 255, 257, 256, 258, 259, 260, 261, 262, ++ 263, 264, 265, 267, 266, 268, 270, 269, 272, 271, ++ 273, 273, 274, 276, 275, 278, 277, 279, 279, 280, ++ 280, 281, 282, 284, 283, 285, 285, 286, 286, 286, ++ 287, 288, 290, 289, 292, 291, 293, 293, 294, 294, ++ 296, 295, 298, 297, 299, 299, 299, 300, 300, 302, ++ 301, 304, 303, 306, 305, 307, 307, 308, 308, 308, ++ 308, 308, 308, 309, 310, 311, 312, 313, 314, 316, ++ 315, 317, 317, 318, 318, 320, 319, 322, 321, 323, ++ 323, 324, 324, 324, 324, 324, 324, 324, 324, 324, ++ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, ++ 324, 326, 325, 328, 327, 330, 329, 332, 331, 334, ++ 333, 336, 335, 337, 337, 337, 337, 338, 339, 341, ++ 340, 342, 342, 343, 343, 345, 344, 346, 346, 347, ++ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, ++ 347, 347, 347, 347, 347, 347, 349, 348, 351, 350, ++ 352, 352, 353, 353, 355, 354, 357, 356, 358, 358, ++ 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, ++ 360, 360, 361, 362, 363, 365, 364, 367, 366, 369, ++ 368, 370, 372, 371, 373, 375, 374, 376, 376, 377, ++ 377, 379, 378, 381, 380, 382, 382, 383, 383, 384, ++ 384, 384, 384, 384, 384, 384, 384, 384, 385, 387, ++ 386, 388, 389, 390, 391, 393, 392, 394, 394, 395, ++ 395, 397, 396, 399, 398, 400, 400, 401, 401, 401, ++ 401, 401, 401, 401, 403, 402, 405, 404, 407, 406, ++ 409, 408, 410, 410, 411, 411, 413, 412, 415, 414, ++ 416, 416, 417, 417, 417, 417, 417, 417, 417, 417, ++ 417, 417, 417, 419, 418, 420, 422, 421, 423, 424, ++ 426, 425, 427, 427, 428, 428, 430, 429, 432, 431, ++ 433, 433, 434, 434, 435, 435, 435, 435, 435, 435, ++ 435, 435, 435, 435, 435, 437, 436, 439, 438, 441, ++ 440, 443, 442, 445, 444, 447, 446, 449, 448, 451, ++ 450, 452, 452, 454, 453, 456, 455, 457, 457, 459, ++ 458, 460, 460, 461, 461, 462, 462, 462, 462, 462, ++ 462, 462, 463, 465, 464, 466, 468, 467, 469, 469, ++ 470, 470, 470, 470, 470, 470, 470, 470, 470, 472, ++ 471, 473, 473, 473, 474, 476, 475, 477, 478, 479, ++ 481, 480, 482, 482, 483, 483, 483, 483, 483, 485, ++ 484, 487, 486, 489, 488, 491, 490, 493, 492, 494, ++ 494, 495, 495, 495, 495, 495, 495, 495, 495, 495, ++ 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, ++ 496, 498, 497, 500, 499, 501, 503, 502, 504, 505, ++ 507, 506, 508, 508, 510, 509, 511, 512, 513, 515, ++ 514, 516, 516, 516, 516, 516, 518, 517, 520, 519, ++ 522, 521, 524, 523, 526, 525, 528, 527, 530, 529, ++ 531, 529, 533, 532, 534, 534, 535, 535, 537, 536, ++ 539, 538, 541, 540, 542, 542, 543, 545, 544, 546, ++ 546, 548, 547, 549, 549, 550, 550, 550, 550, 550, ++ 550, 550, 551, 553, 552, 555, 554, 556, 556, 558, ++ 557, 559, 559, 560, 560, 560, 560, 562, 561, 563, ++ 564, 565 }; const unsigned char @@@ -4666,63 -4694,64 +4700,64 @@@ 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, 3, 3, 3, 3, - 3, 0, 4, 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, 0, - 4, 1, 1, 1, 1, 0, 4, 0, 4, 0, - 4, 3, 0, 4, 3, 3, 3, 3, 3, 3, - 3, 3, 0, 4, 3, 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, 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, 3, 3, 3, + 3, 3, 0, 4, 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, 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, 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, + 0, 4, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, + 3, 3, 3, 0, 4, 3, 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, 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, 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, 1, 1, 1, 1, 1, 1, + 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 1, 1, 1, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, ++ 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, 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, 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, 4, 0, 4, 0, 4, 0, 4, 0, 6, -- 1, 1, 0, 4, 0, 6, 1, 3, 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, 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, 0, 4, 1, 3, 1, 1, - 0, 4, 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, 3, - 0, 4, 0, 4, 3, 0, 4, 3, 3, 0, - 4, 1, 1, 0, 4, 3, 3, 3, 0, 4, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 6, 0, 4, 1, 3, 1, 1, 0, 6, 0, - 6, 0, 4, 1, 3, 1, 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, 0, 4, 3, 3, - 3 ++ 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, 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, 3, 0, 4, - 0, 4, 3, 0, 4, 3, 3, 0, 4, 1, - 1, 0, 4, 3, 3, 3, 0, 4, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 6, 0, - 4, 1, 3, 1, 1, 0, 6, 0, 6, 0, - 4, 1, 3, 1, 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, 0, 4, 3, 3, 3 ++ 3, 0, 4, 0, 4, 3, 0, 4, 3, 3, ++ 0, 4, 1, 1, 0, 4, 3, 3, 3, 0, ++ 4, 1, 1, 1, 1, 1, 0, 4, 0, 4, ++ 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, ++ 0, 6, 0, 4, 1, 3, 1, 1, 0, 6, ++ 0, 6, 0, 4, 1, 3, 1, 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, 0, 4, 3, ++ 3, 3 }; @@@ -4751,34 -4780,33 +4786,34 @@@ "\"excluded-prefix-len\"", "\"delegated-len\"", "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"", "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", "\"disabled\"", - "\"out-of-pool\"", "\"all\"", "\"shared-networks\"", "\"mac-sources\"", - "\"relay-supplied-options\"", "\"host-reservation-identifiers\"", - "\"sanity-checks\"", "\"lease-checks\"", "\"client-classes\"", - "\"require-client-classes\"", "\"test\"", "\"only-if-required\"", - "\"client-class\"", "\"reservations\"", "\"ip-addresses\"", - "\"prefixes\"", "\"duid\"", "\"hw-address\"", "\"hostname\"", - "\"flex-id\"", "\"relay\"", "\"ip-address\"", "\"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\"", "\"server-id\"", - "\"LLT\"", "\"EN\"", "\"LL\"", "\"identifier\"", "\"htype\"", "\"time\"", - "\"enterprise-id\"", "\"dhcp4o6-port\"", "\"control-socket\"", - "\"socket-type\"", "\"socket-name\"", "\"dhcp-queue-control\"", - "\"dhcp-ddns\"", "\"enable-updates\"", "\"qualifying-suffix\"", - "\"server-ip\"", "\"server-port\"", "\"sender-ip\"", "\"sender-port\"", + "\"out-of-pool\"", "\"global\"", "\"all\"", "\"shared-networks\"", + "\"mac-sources\"", "\"relay-supplied-options\"", + "\"host-reservation-identifiers\"", "\"sanity-checks\"", + "\"lease-checks\"", "\"client-classes\"", "\"require-client-classes\"", + "\"test\"", "\"only-if-required\"", "\"client-class\"", + "\"reservations\"", "\"ip-addresses\"", "\"prefixes\"", "\"duid\"", + "\"hw-address\"", "\"hostname\"", "\"flex-id\"", "\"relay\"", + "\"ip-address\"", "\"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\"", "\"server-id\"", "\"LLT\"", "\"EN\"", + "\"LL\"", "\"identifier\"", "\"htype\"", "\"time\"", "\"enterprise-id\"", + "\"dhcp4o6-port\"", "\"control-socket\"", "\"socket-type\"", - "\"socket-name\"", "\"dhcp-ddns\"", "\"enable-updates\"", - "\"qualifying-suffix\"", "\"server-ip\"", "\"server-port\"", - "\"sender-ip\"", "\"sender-port\"", "\"max-queue-size\"", - "\"ncr-protocol\"", "\"ncr-format\"", "\"always-include-fqdn\"", - "\"override-no-update\"", "\"override-client-update\"", - "\"replace-client-name\"", "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", - "\"JSON\"", "\"when-present\"", "\"never\"", "\"always\"", - "\"when-not-present\"", "\"hostname-char-set\"", - "\"hostname-char-replacement\"", "\"Logging\"", "\"loggers\"", - "\"output_options\"", "\"output\"", "\"debuglevel\"", "\"severity\"", - "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"Dhcp4\"", "\"DhcpDdns\"", - "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP6", "SUB_DHCP6", - "SUB_INTERFACES6", "SUB_SUBNET6", "SUB_POOL6", "SUB_PD_POOL", - "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", ++ "\"socket-name\"", "\"dhcp-queue-control\"", "\"dhcp-ddns\"", ++ "\"enable-updates\"", "\"qualifying-suffix\"", "\"server-ip\"", ++ "\"server-port\"", "\"sender-ip\"", "\"sender-port\"", + "\"max-queue-size\"", "\"ncr-protocol\"", "\"ncr-format\"", + "\"always-include-fqdn\"", "\"override-no-update\"", + "\"override-client-update\"", "\"replace-client-name\"", + "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", "\"JSON\"", + "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"", + "\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"", + "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", + "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"Dhcp4\"", + "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP6", + "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6", "SUB_POOL6", + "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING", "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", @@@ -4880,73 -4908,74 +4915,74 @@@ const unsigned short int Dhcp6Parser::yyrline_[] = { - 0, 256, 256, 256, 257, 257, 258, 258, 259, 259, - 260, 260, 261, 261, 262, 262, 263, 263, 264, 264, - 265, 265, 266, 266, 267, 267, 268, 268, 269, 269, - 270, 270, 278, 279, 280, 281, 282, 283, 284, 287, - 292, 292, 303, 306, 307, 310, 314, 321, 321, 328, - 329, 332, 336, 343, 343, 350, 351, 354, 358, 369, - 379, 379, 394, 395, 399, 400, 401, 402, 403, 404, - 407, 407, 422, 422, 431, 432, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, - 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 469, 474, 479, 484, - 489, 494, 494, 502, 502, 513, 513, 522, 523, 526, - 527, 528, 529, 530, 533, 533, 543, 549, 549, 561, - 561, 573, 573, 583, 584, 587, 588, 591, 591, 601, - 602, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 618, 619, 620, 621, 622, 625, - 625, 632, 633, 634, 635, 638, 638, 646, 646, 654, - 654, 662, 667, 667, 675, 680, 685, 690, 695, 700, - 705, 710, 715, 715, 723, 728, 728, 736, 736, 746, - 747, 749, 751, 751, 769, 769, 779, 780, 783, 784, - 787, 792, 797, 797, 807, 808, 811, 812, 813, 816, - 821, 828, 828, 838, 838, 848, 849, 852, 853, 856, - 856, 866, 866, 876, 877, 878, 881, 882, 885, 885, - 893, 893, 901, 901, 912, 913, 916, 917, 918, 919, - 920, 921, 924, 929, 934, 939, 944, 949, 957, 957, - 970, 971, 974, 975, 982, 982, 1008, 1008, 1019, 1020, - 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, - 1046, 1046, 1054, 1054, 1062, 1062, 1070, 1070, 1078, 1078, - 1088, 1088, 1095, 1096, 1097, 1098, 1101, 1106, 1114, 1114, - 1125, 1126, 1130, 1131, 1134, 1134, 1142, 1143, 1146, 1147, - 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, - 1158, 1159, 1160, 1161, 1162, 1169, 1169, 1182, 1182, 1191, - 1192, 1195, 1196, 1201, 1201, 1216, 1216, 1230, 1231, 1234, - 1235, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, - 1247, 1250, 1252, 1257, 1259, 1259, 1267, 1267, 1275, 1275, - 1283, 1285, 1285, 1293, 1302, 1302, 1314, 1315, 1320, 1321, - 1326, 1326, 1338, 1338, 1350, 1351, 1356, 1357, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1373, 1375, 1375, - 1383, 1385, 1387, 1392, 1400, 1400, 1412, 1413, 1416, 1417, - 1420, 1420, 1430, 1430, 1439, 1440, 1443, 1444, 1445, 1446, - 1447, 1448, 1449, 1452, 1452, 1460, 1460, 1485, 1485, 1515, - 1515, 1527, 1528, 1531, 1532, 1535, 1535, 1547, 1547, 1559, - 1560, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, - 1572, 1573, 1576, 1576, 1584, 1589, 1589, 1597, 1602, 1610, - 1610, 1620, 1621, 1624, 1625, 1628, 1628, 1637, 1637, 1646, - 1647, 1650, 1651, 1655, 1656, 1657, 1658, 1659, 1660, 1661, - 1662, 1663, 1664, 1665, 1668, 1668, 1678, 1678, 1688, 1688, - 1696, 1696, 1704, 1704, 1712, 1712, 1720, 1720, 1733, 1733, - 1743, 1744, 1747, 1747, 1758, 1758, 1768, 1769, 1772, 1772, - 1782, 1783, 1786, 1787, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1799, 1801, 1801, 1809, 1817, 1817, 1829, 1830, 1833, - 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1844, 1844, - 1851, 1852, 1853, 1856, 1861, 1861, 1869, 1874, 1881, 1888, - 1888, 1898, 1899, 1902, 1903, 1904, 1905, 1906, 1909, 1909, - 1917, 1917, 1927, 1927, 1939, 1939, 1949, 1950, 1953, 1954, - 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, - 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1974, 1979, 1979, - 1987, 1987, 1995, 2000, 2000, 2008, 2013, 2018, 2018, 2026, - 2027, 2030, 2030, 2038, 2043, 2048, 2053, 2053, 2061, 2064, - 2067, 2070, 2073, 2079, 2079, 2087, 2087, 2095, 2095, 2105, - 2105, 2112, 2112, 2119, 2119, 2128, 2128, 2137, 2137, 2148, - 2148, 2158, 2159, 2163, 2164, 2167, 2167, 2182, 2182, 2192, - 2192, 2203, 2204, 2208, 2212, 2212, 2224, 2225, 2229, 2229, - 2237, 2238, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2250, - 2255, 2255, 2263, 2263, 2273, 2274, 2277, 2277, 2285, 2286, - 2289, 2290, 2291, 2292, 2295, 2295, 2303, 2308, 2313 - 0, 257, 257, 257, 258, 258, 259, 259, 260, 260, - 261, 261, 262, 262, 263, 263, 264, 264, 265, 265, - 266, 266, 267, 267, 268, 268, 269, 269, 270, 270, - 271, 271, 279, 280, 281, 282, 283, 284, 285, 288, - 293, 293, 304, 307, 308, 311, 315, 322, 322, 329, - 330, 333, 337, 344, 344, 351, 352, 355, 359, 370, - 380, 380, 395, 396, 400, 401, 402, 403, 404, 405, - 408, 408, 423, 423, 432, 433, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 471, 476, 481, - 486, 491, 496, 496, 504, 504, 515, 515, 524, 525, - 528, 529, 530, 531, 532, 535, 535, 545, 551, 551, - 563, 563, 575, 575, 585, 586, 589, 590, 593, 593, - 603, 604, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 627, 627, 634, 635, 636, 637, 640, 640, 648, 648, - 656, 656, 664, 669, 669, 677, 682, 687, 692, 697, - 702, 707, 712, 717, 717, 725, 730, 730, 738, 738, - 748, 749, 751, 753, 753, 771, 771, 781, 782, 785, - 786, 789, 794, 799, 799, 809, 810, 813, 814, 815, - 818, 823, 830, 830, 840, 840, 850, 851, 854, 855, - 858, 858, 868, 868, 878, 879, 880, 883, 884, 887, - 887, 895, 895, 903, 903, 914, 915, 918, 919, 920, - 921, 922, 923, 926, 931, 936, 941, 946, 951, 959, - 959, 972, 973, 976, 977, 984, 984, 1010, 1010, 1021, - 1022, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - 1045, 1048, 1048, 1056, 1056, 1064, 1064, 1072, 1072, 1080, - 1080, 1090, 1090, 1097, 1098, 1099, 1102, 1107, 1115, 1115, - 1126, 1127, 1131, 1132, 1135, 1135, 1143, 1144, 1147, 1148, - 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, - 1159, 1160, 1161, 1162, 1163, 1170, 1170, 1183, 1183, 1192, - 1193, 1196, 1197, 1202, 1202, 1217, 1217, 1231, 1232, 1235, - 1236, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, - 1248, 1251, 1253, 1258, 1260, 1260, 1268, 1268, 1276, 1276, - 1284, 1286, 1286, 1294, 1303, 1303, 1315, 1316, 1321, 1322, - 1327, 1327, 1339, 1339, 1351, 1352, 1357, 1358, 1363, 1364, - 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1374, 1376, 1376, - 1384, 1386, 1388, 1393, 1401, 1401, 1413, 1414, 1417, 1418, - 1421, 1421, 1431, 1431, 1440, 1441, 1444, 1445, 1446, 1447, - 1448, 1449, 1450, 1453, 1453, 1461, 1461, 1486, 1486, 1516, - 1516, 1528, 1529, 1532, 1533, 1536, 1536, 1548, 1548, 1560, - 1561, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, - 1573, 1574, 1577, 1577, 1585, 1590, 1590, 1598, 1603, 1611, - 1611, 1621, 1622, 1625, 1626, 1629, 1629, 1638, 1638, 1647, - 1648, 1651, 1652, 1656, 1657, 1658, 1659, 1660, 1661, 1662, - 1663, 1664, 1665, 1666, 1669, 1669, 1679, 1679, 1689, 1689, - 1697, 1697, 1705, 1705, 1713, 1713, 1721, 1721, 1734, 1734, - 1744, 1745, 1748, 1748, 1759, 1759, 1769, 1770, 1773, 1773, - 1783, 1784, 1787, 1788, 1791, 1792, 1793, 1794, 1795, 1796, - 1797, 1800, 1802, 1802, 1810, 1818, 1818, 1830, 1831, 1834, - 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1845, 1845, - 1852, 1853, 1854, 1857, 1862, 1862, 1870, 1875, 1882, 1889, - 1889, 1899, 1900, 1903, 1904, 1905, 1906, 1907, 1910, 1910, - 1918, 1918, 1928, 1928, 1946, 1946, 1958, 1958, 1968, 1969, - 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, - 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1993, - 1998, 1998, 2006, 2006, 2014, 2019, 2019, 2027, 2032, 2037, - 2037, 2045, 2046, 2049, 2049, 2057, 2062, 2067, 2072, 2072, - 2080, 2083, 2086, 2089, 2092, 2098, 2098, 2106, 2106, 2114, - 2114, 2124, 2124, 2131, 2131, 2138, 2138, 2147, 2147, 2156, - 2156, 2167, 2167, 2177, 2178, 2182, 2183, 2186, 2186, 2201, - 2201, 2211, 2211, 2222, 2223, 2227, 2231, 2231, 2243, 2244, - 2248, 2248, 2256, 2257, 2260, 2261, 2262, 2263, 2264, 2265, - 2266, 2269, 2274, 2274, 2282, 2282, 2292, 2293, 2296, 2296, - 2304, 2305, 2308, 2309, 2310, 2311, 2314, 2314, 2322, 2327, - 2332 ++ 0, 258, 258, 258, 259, 259, 260, 260, 261, 261, ++ 262, 262, 263, 263, 264, 264, 265, 265, 266, 266, ++ 267, 267, 268, 268, 269, 269, 270, 270, 271, 271, ++ 272, 272, 280, 281, 282, 283, 284, 285, 286, 289, ++ 294, 294, 305, 308, 309, 312, 316, 323, 323, 330, ++ 331, 334, 338, 345, 345, 352, 353, 356, 360, 371, ++ 381, 381, 396, 397, 401, 402, 403, 404, 405, 406, ++ 409, 409, 424, 424, 433, 434, 439, 440, 441, 442, ++ 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, ++ 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, ++ 463, 464, 465, 466, 467, 468, 469, 472, 477, 482, ++ 487, 492, 497, 497, 505, 505, 516, 516, 525, 526, ++ 529, 530, 531, 532, 533, 536, 536, 546, 552, 552, ++ 564, 564, 576, 576, 586, 587, 590, 591, 594, 594, ++ 604, 605, 608, 609, 610, 611, 612, 613, 614, 615, ++ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, ++ 628, 628, 635, 636, 637, 638, 641, 641, 649, 649, ++ 657, 657, 665, 670, 670, 678, 683, 688, 693, 698, ++ 703, 708, 713, 718, 718, 726, 731, 731, 739, 739, ++ 749, 750, 752, 754, 754, 772, 772, 782, 783, 786, ++ 787, 790, 795, 800, 800, 810, 811, 814, 815, 816, ++ 819, 824, 831, 831, 841, 841, 851, 852, 855, 856, ++ 859, 859, 869, 869, 879, 880, 881, 884, 885, 888, ++ 888, 896, 896, 904, 904, 915, 916, 919, 920, 921, ++ 922, 923, 924, 927, 932, 937, 942, 947, 952, 960, ++ 960, 973, 974, 977, 978, 985, 985, 1011, 1011, 1022, ++ 1023, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, ++ 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, ++ 1046, 1049, 1049, 1057, 1057, 1065, 1065, 1073, 1073, 1081, ++ 1081, 1091, 1091, 1098, 1099, 1100, 1101, 1104, 1109, 1117, ++ 1117, 1128, 1129, 1133, 1134, 1137, 1137, 1145, 1146, 1149, ++ 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, ++ 1160, 1161, 1162, 1163, 1164, 1165, 1172, 1172, 1185, 1185, ++ 1194, 1195, 1198, 1199, 1204, 1204, 1219, 1219, 1233, 1234, ++ 1237, 1238, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, ++ 1249, 1250, 1253, 1255, 1260, 1262, 1262, 1270, 1270, 1278, ++ 1278, 1286, 1288, 1288, 1296, 1305, 1305, 1317, 1318, 1323, ++ 1324, 1329, 1329, 1341, 1341, 1353, 1354, 1359, 1360, 1365, ++ 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1376, 1378, ++ 1378, 1386, 1388, 1390, 1395, 1403, 1403, 1415, 1416, 1419, ++ 1420, 1423, 1423, 1433, 1433, 1442, 1443, 1446, 1447, 1448, ++ 1449, 1450, 1451, 1452, 1455, 1455, 1463, 1463, 1488, 1488, ++ 1518, 1518, 1530, 1531, 1534, 1535, 1538, 1538, 1550, 1550, ++ 1562, 1563, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, ++ 1574, 1575, 1576, 1579, 1579, 1587, 1592, 1592, 1600, 1605, ++ 1613, 1613, 1623, 1624, 1627, 1628, 1631, 1631, 1640, 1640, ++ 1649, 1650, 1653, 1654, 1658, 1659, 1660, 1661, 1662, 1663, ++ 1664, 1665, 1666, 1667, 1668, 1671, 1671, 1681, 1681, 1691, ++ 1691, 1699, 1699, 1707, 1707, 1715, 1715, 1723, 1723, 1736, ++ 1736, 1746, 1747, 1750, 1750, 1761, 1761, 1771, 1772, 1775, ++ 1775, 1785, 1786, 1789, 1790, 1793, 1794, 1795, 1796, 1797, ++ 1798, 1799, 1802, 1804, 1804, 1812, 1820, 1820, 1832, 1833, ++ 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1847, ++ 1847, 1854, 1855, 1856, 1859, 1864, 1864, 1872, 1877, 1884, ++ 1891, 1891, 1901, 1902, 1905, 1906, 1907, 1908, 1909, 1912, ++ 1912, 1920, 1920, 1930, 1930, 1948, 1948, 1960, 1960, 1970, ++ 1971, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, ++ 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, ++ 1995, 2000, 2000, 2008, 2008, 2016, 2021, 2021, 2029, 2034, ++ 2039, 2039, 2047, 2048, 2051, 2051, 2059, 2064, 2069, 2074, ++ 2074, 2082, 2085, 2088, 2091, 2094, 2100, 2100, 2108, 2108, ++ 2116, 2116, 2126, 2126, 2133, 2133, 2140, 2140, 2149, 2149, ++ 2158, 2158, 2169, 2169, 2179, 2180, 2184, 2185, 2188, 2188, ++ 2203, 2203, 2213, 2213, 2224, 2225, 2229, 2233, 2233, 2245, ++ 2246, 2250, 2250, 2258, 2259, 2262, 2263, 2264, 2265, 2266, ++ 2267, 2268, 2271, 2276, 2276, 2284, 2284, 2294, 2295, 2298, ++ 2298, 2306, 2307, 2310, 2311, 2312, 2313, 2316, 2316, 2324, ++ 2329, 2334 }; // Print the state stack on the debug stream. @@@ -4981,8 -5010,8 +5017,8 @@@ #line 14 "dhcp6_parser.yy" // lalr1.cc:1167 } } // isc::dhcp - #line 4985 "dhcp6_parser.cc" // lalr1.cc:1167 - #line 2318 "dhcp6_parser.yy" // lalr1.cc:1168 -#line 5014 "dhcp6_parser.cc" // lalr1.cc:1167 -#line 2337 "dhcp6_parser.yy" // lalr1.cc:1168 ++#line 5021 "dhcp6_parser.cc" // lalr1.cc:1167 ++#line 2339 "dhcp6_parser.yy" // lalr1.cc:1168 void diff --cc src/bin/dhcp6/dhcp6_parser.h index 5a4bbb1e74,2d00d89b35..8680ab58f9 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@@ -419,105 -419,105 +419,106 @@@ namespace isc { namespace dhcp TOKEN_RESERVATION_MODE = 327, TOKEN_DISABLED = 328, TOKEN_OUT_OF_POOL = 329, - TOKEN_ALL = 330, - TOKEN_SHARED_NETWORKS = 331, - TOKEN_MAC_SOURCES = 332, - TOKEN_RELAY_SUPPLIED_OPTIONS = 333, - TOKEN_HOST_RESERVATION_IDENTIFIERS = 334, - TOKEN_SANITY_CHECKS = 335, - TOKEN_LEASE_CHECKS = 336, - TOKEN_CLIENT_CLASSES = 337, - TOKEN_REQUIRE_CLIENT_CLASSES = 338, - TOKEN_TEST = 339, - TOKEN_ONLY_IF_REQUIRED = 340, - TOKEN_CLIENT_CLASS = 341, - TOKEN_RESERVATIONS = 342, - TOKEN_IP_ADDRESSES = 343, - TOKEN_PREFIXES = 344, - TOKEN_DUID = 345, - TOKEN_HW_ADDRESS = 346, - TOKEN_HOSTNAME = 347, - TOKEN_FLEX_ID = 348, - TOKEN_RELAY = 349, - TOKEN_IP_ADDRESS = 350, - TOKEN_HOOKS_LIBRARIES = 351, - TOKEN_LIBRARY = 352, - TOKEN_PARAMETERS = 353, - TOKEN_EXPIRED_LEASES_PROCESSING = 354, - TOKEN_RECLAIM_TIMER_WAIT_TIME = 355, - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 356, - TOKEN_HOLD_RECLAIMED_TIME = 357, - TOKEN_MAX_RECLAIM_LEASES = 358, - TOKEN_MAX_RECLAIM_TIME = 359, - TOKEN_UNWARNED_RECLAIM_CYCLES = 360, - TOKEN_SERVER_ID = 361, - TOKEN_LLT = 362, - TOKEN_EN = 363, - TOKEN_LL = 364, - TOKEN_IDENTIFIER = 365, - TOKEN_HTYPE = 366, - TOKEN_TIME = 367, - TOKEN_ENTERPRISE_ID = 368, - TOKEN_DHCP4O6_PORT = 369, - TOKEN_CONTROL_SOCKET = 370, - TOKEN_SOCKET_TYPE = 371, - TOKEN_SOCKET_NAME = 372, - TOKEN_DHCP_QUEUE_CONTROL = 373, - TOKEN_DHCP_DDNS = 374, - TOKEN_ENABLE_UPDATES = 375, - TOKEN_QUALIFYING_SUFFIX = 376, - TOKEN_SERVER_IP = 377, - TOKEN_SERVER_PORT = 378, - TOKEN_SENDER_IP = 379, - TOKEN_SENDER_PORT = 380, - TOKEN_MAX_QUEUE_SIZE = 381, - TOKEN_NCR_PROTOCOL = 382, - TOKEN_NCR_FORMAT = 383, - TOKEN_ALWAYS_INCLUDE_FQDN = 384, - TOKEN_OVERRIDE_NO_UPDATE = 385, - TOKEN_OVERRIDE_CLIENT_UPDATE = 386, - TOKEN_REPLACE_CLIENT_NAME = 387, - TOKEN_GENERATED_PREFIX = 388, - TOKEN_UDP = 389, - TOKEN_TCP = 390, - TOKEN_JSON = 391, - TOKEN_WHEN_PRESENT = 392, - TOKEN_NEVER = 393, - TOKEN_ALWAYS = 394, - TOKEN_WHEN_NOT_PRESENT = 395, - TOKEN_HOSTNAME_CHAR_SET = 396, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 397, - TOKEN_LOGGING = 398, - TOKEN_LOGGERS = 399, - TOKEN_OUTPUT_OPTIONS = 400, - TOKEN_OUTPUT = 401, - TOKEN_DEBUGLEVEL = 402, - TOKEN_SEVERITY = 403, - TOKEN_FLUSH = 404, - TOKEN_MAXSIZE = 405, - TOKEN_MAXVER = 406, - TOKEN_DHCP4 = 407, - TOKEN_DHCPDDNS = 408, - TOKEN_CONTROL_AGENT = 409, - TOKEN_TOPLEVEL_JSON = 410, - TOKEN_TOPLEVEL_DHCP6 = 411, - TOKEN_SUB_DHCP6 = 412, - TOKEN_SUB_INTERFACES6 = 413, - TOKEN_SUB_SUBNET6 = 414, - TOKEN_SUB_POOL6 = 415, - TOKEN_SUB_PD_POOL = 416, - TOKEN_SUB_RESERVATION = 417, - TOKEN_SUB_OPTION_DEFS = 418, - TOKEN_SUB_OPTION_DEF = 419, - TOKEN_SUB_OPTION_DATA = 420, - TOKEN_SUB_HOOKS_LIBRARY = 421, - TOKEN_SUB_DHCP_DDNS = 422, - TOKEN_SUB_LOGGING = 423, - TOKEN_SUB_CONFIG_CONTROL = 424, - TOKEN_STRING = 425, - TOKEN_INTEGER = 426, - TOKEN_FLOAT = 427, - TOKEN_BOOLEAN = 428 + TOKEN_GLOBAL = 330, + TOKEN_ALL = 331, + TOKEN_SHARED_NETWORKS = 332, + TOKEN_MAC_SOURCES = 333, + TOKEN_RELAY_SUPPLIED_OPTIONS = 334, + TOKEN_HOST_RESERVATION_IDENTIFIERS = 335, + TOKEN_SANITY_CHECKS = 336, + TOKEN_LEASE_CHECKS = 337, + TOKEN_CLIENT_CLASSES = 338, + TOKEN_REQUIRE_CLIENT_CLASSES = 339, + TOKEN_TEST = 340, + TOKEN_ONLY_IF_REQUIRED = 341, + TOKEN_CLIENT_CLASS = 342, + TOKEN_RESERVATIONS = 343, + TOKEN_IP_ADDRESSES = 344, + TOKEN_PREFIXES = 345, + TOKEN_DUID = 346, + TOKEN_HW_ADDRESS = 347, + TOKEN_HOSTNAME = 348, + TOKEN_FLEX_ID = 349, + TOKEN_RELAY = 350, + TOKEN_IP_ADDRESS = 351, + TOKEN_HOOKS_LIBRARIES = 352, + TOKEN_LIBRARY = 353, + TOKEN_PARAMETERS = 354, + TOKEN_EXPIRED_LEASES_PROCESSING = 355, + TOKEN_RECLAIM_TIMER_WAIT_TIME = 356, + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 357, + TOKEN_HOLD_RECLAIMED_TIME = 358, + TOKEN_MAX_RECLAIM_LEASES = 359, + TOKEN_MAX_RECLAIM_TIME = 360, + TOKEN_UNWARNED_RECLAIM_CYCLES = 361, + TOKEN_SERVER_ID = 362, + TOKEN_LLT = 363, + TOKEN_EN = 364, + TOKEN_LL = 365, + TOKEN_IDENTIFIER = 366, + TOKEN_HTYPE = 367, + TOKEN_TIME = 368, + TOKEN_ENTERPRISE_ID = 369, + TOKEN_DHCP4O6_PORT = 370, + TOKEN_CONTROL_SOCKET = 371, + TOKEN_SOCKET_TYPE = 372, + TOKEN_SOCKET_NAME = 373, - TOKEN_DHCP_DDNS = 374, - TOKEN_ENABLE_UPDATES = 375, - TOKEN_QUALIFYING_SUFFIX = 376, - TOKEN_SERVER_IP = 377, - TOKEN_SERVER_PORT = 378, - TOKEN_SENDER_IP = 379, - TOKEN_SENDER_PORT = 380, - TOKEN_MAX_QUEUE_SIZE = 381, - TOKEN_NCR_PROTOCOL = 382, - TOKEN_NCR_FORMAT = 383, - TOKEN_ALWAYS_INCLUDE_FQDN = 384, - TOKEN_OVERRIDE_NO_UPDATE = 385, - TOKEN_OVERRIDE_CLIENT_UPDATE = 386, - TOKEN_REPLACE_CLIENT_NAME = 387, - TOKEN_GENERATED_PREFIX = 388, - TOKEN_UDP = 389, - TOKEN_TCP = 390, - TOKEN_JSON = 391, - TOKEN_WHEN_PRESENT = 392, - TOKEN_NEVER = 393, - TOKEN_ALWAYS = 394, - TOKEN_WHEN_NOT_PRESENT = 395, - TOKEN_HOSTNAME_CHAR_SET = 396, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 397, - TOKEN_LOGGING = 398, - TOKEN_LOGGERS = 399, - TOKEN_OUTPUT_OPTIONS = 400, - TOKEN_OUTPUT = 401, - TOKEN_DEBUGLEVEL = 402, - TOKEN_SEVERITY = 403, - TOKEN_FLUSH = 404, - TOKEN_MAXSIZE = 405, - TOKEN_MAXVER = 406, - TOKEN_DHCP4 = 407, - TOKEN_DHCPDDNS = 408, - TOKEN_CONTROL_AGENT = 409, - TOKEN_TOPLEVEL_JSON = 410, - TOKEN_TOPLEVEL_DHCP6 = 411, - TOKEN_SUB_DHCP6 = 412, - TOKEN_SUB_INTERFACES6 = 413, - TOKEN_SUB_SUBNET6 = 414, - TOKEN_SUB_POOL6 = 415, - TOKEN_SUB_PD_POOL = 416, - TOKEN_SUB_RESERVATION = 417, - TOKEN_SUB_OPTION_DEFS = 418, - TOKEN_SUB_OPTION_DEF = 419, - TOKEN_SUB_OPTION_DATA = 420, - TOKEN_SUB_HOOKS_LIBRARY = 421, - TOKEN_SUB_DHCP_DDNS = 422, - TOKEN_SUB_LOGGING = 423, - TOKEN_SUB_CONFIG_CONTROL = 424, - TOKEN_STRING = 425, - TOKEN_INTEGER = 426, - TOKEN_FLOAT = 427, - TOKEN_BOOLEAN = 428 ++ TOKEN_DHCP_QUEUE_CONTROL = 374, ++ TOKEN_DHCP_DDNS = 375, ++ TOKEN_ENABLE_UPDATES = 376, ++ TOKEN_QUALIFYING_SUFFIX = 377, ++ TOKEN_SERVER_IP = 378, ++ TOKEN_SERVER_PORT = 379, ++ TOKEN_SENDER_IP = 380, ++ TOKEN_SENDER_PORT = 381, ++ TOKEN_MAX_QUEUE_SIZE = 382, ++ TOKEN_NCR_PROTOCOL = 383, ++ TOKEN_NCR_FORMAT = 384, ++ TOKEN_ALWAYS_INCLUDE_FQDN = 385, ++ TOKEN_OVERRIDE_NO_UPDATE = 386, ++ TOKEN_OVERRIDE_CLIENT_UPDATE = 387, ++ TOKEN_REPLACE_CLIENT_NAME = 388, ++ TOKEN_GENERATED_PREFIX = 389, ++ TOKEN_UDP = 390, ++ TOKEN_TCP = 391, ++ TOKEN_JSON = 392, ++ TOKEN_WHEN_PRESENT = 393, ++ TOKEN_NEVER = 394, ++ TOKEN_ALWAYS = 395, ++ TOKEN_WHEN_NOT_PRESENT = 396, ++ TOKEN_HOSTNAME_CHAR_SET = 397, ++ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 398, ++ TOKEN_LOGGING = 399, ++ TOKEN_LOGGERS = 400, ++ TOKEN_OUTPUT_OPTIONS = 401, ++ TOKEN_OUTPUT = 402, ++ TOKEN_DEBUGLEVEL = 403, ++ TOKEN_SEVERITY = 404, ++ TOKEN_FLUSH = 405, ++ TOKEN_MAXSIZE = 406, ++ TOKEN_MAXVER = 407, ++ TOKEN_DHCP4 = 408, ++ TOKEN_DHCPDDNS = 409, ++ TOKEN_CONTROL_AGENT = 410, ++ TOKEN_TOPLEVEL_JSON = 411, ++ TOKEN_TOPLEVEL_DHCP6 = 412, ++ TOKEN_SUB_DHCP6 = 413, ++ TOKEN_SUB_INTERFACES6 = 414, ++ TOKEN_SUB_SUBNET6 = 415, ++ TOKEN_SUB_POOL6 = 416, ++ TOKEN_SUB_PD_POOL = 417, ++ TOKEN_SUB_RESERVATION = 418, ++ TOKEN_SUB_OPTION_DEFS = 419, ++ TOKEN_SUB_OPTION_DEF = 420, ++ TOKEN_SUB_OPTION_DATA = 421, ++ TOKEN_SUB_HOOKS_LIBRARY = 422, ++ TOKEN_SUB_DHCP_DDNS = 423, ++ TOKEN_SUB_LOGGING = 424, ++ TOKEN_SUB_CONFIG_CONTROL = 425, ++ TOKEN_STRING = 426, ++ TOKEN_INTEGER = 427, ++ TOKEN_FLOAT = 428, ++ TOKEN_BOOLEAN = 429 }; }; @@@ -1525,12 -1525,12 +1530,12 @@@ enum { yyeof_ = 0, - yylast_ = 1018, ///< Last index in yytable_. - yynnts_ = 389, ///< Number of nonterminal symbols. - yylast_ = 1022, ///< Last index in yytable_. ++ yylast_ = 1023, ///< Last index in yytable_. + yynnts_ = 391, ///< Number of nonterminal symbols. yyfinal_ = 32, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, -- yyntokens_ = 174 ///< Number of tokens. ++ yyntokens_ = 175 ///< Number of tokens. }; @@@ -1589,9 -1589,9 +1594,9 @@@ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, -- 165, 166, 167, 168, 169, 170, 171, 172, 173 ++ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174 }; -- const unsigned int user_token_number_max_ = 428; ++ const unsigned int user_token_number_max_ = 429; const token_number_type undef_token_ = 2; if (static_cast(t) <= yyeof_) @@@ -1624,29 -1624,29 +1629,29 @@@ { switch (other.type_get ()) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.copy< ElementPtr > (other.value); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.copy< bool > (other.value); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.copy< double > (other.value); break; -- case 171: // "integer" ++ case 172: // "integer" value.copy< int64_t > (other.value); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.copy< std::string > (other.value); break; @@@ -1667,29 -1667,29 +1672,29 @@@ (void) v; switch (this->type_get ()) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.copy< ElementPtr > (v); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.copy< bool > (v); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.copy< double > (v); break; -- case 171: // "integer" ++ case 172: // "integer" value.copy< int64_t > (v); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.copy< std::string > (v); break; @@@ -1769,29 -1769,29 +1774,29 @@@ // Type destructor. switch (yytype) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.template destroy< ElementPtr > (); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.template destroy< bool > (); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.template destroy< double > (); break; -- case 171: // "integer" ++ case 172: // "integer" value.template destroy< int64_t > (); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.template destroy< std::string > (); break; @@@ -1818,29 -1818,29 +1823,29 @@@ super_type::move(s); switch (this->type_get ()) { -- case 191: // value -- case 195: // map_value -- case 247: // db_type -- case 336: // hr_mode -- case 472: // duid_type - case 505: // ncr_protocol_value - case 513: // replace_client_name_value - case 507: // ncr_protocol_value - case 515: // replace_client_name_value ++ case 192: // value ++ case 196: // map_value ++ case 248: // db_type ++ case 337: // hr_mode ++ case 473: // duid_type ++ case 508: // ncr_protocol_value ++ case 516: // replace_client_name_value value.move< ElementPtr > (s.value); break; -- case 173: // "boolean" ++ case 174: // "boolean" value.move< bool > (s.value); break; -- case 172: // "floating point" ++ case 173: // "floating point" value.move< double > (s.value); break; -- case 171: // "integer" ++ case 172: // "integer" value.move< int64_t > (s.value); break; -- case 170: // "constant string" ++ case 171: // "constant string" value.move< std::string > (s.value); break; @@@ -1916,7 -1916,7 +1921,7 @@@ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, -- 425, 426, 427, 428 ++ 425, 426, 427, 428, 429 }; return static_cast (yytoken_number_[type]); } @@@ -2956,7 -2956,7 +2967,7 @@@ #line 14 "dhcp6_parser.yy" // lalr1.cc:377 } } // isc::dhcp --#line 2960 "dhcp6_parser.h" // lalr1.cc:377 ++#line 2971 "dhcp6_parser.h" // lalr1.cc:377